Grasshopper Archive

Rhino error - This object cannot be modified because it is controlled by a document

So it's been a bit busy recently at work writing up literature review notes, preparing for a visit to Trondheim, Norway, and continuing my research into operational modelling and planning for NHS hospitals. One of the key concepts of the development work I am currently undertaking to solve a research aim is the use of

A research update

It's been a while since my last post here, mainly because I haven't been working on anything overly complicated. Since June, I've been working mostly on a dashboard and paper writing/editing (including the European Healthcare Design Conference), so there hasn't been much interesting to write. Today though I've had a little switch back into some

Use images as button icons in Dynamo components

Dynamo is becoming a bit of a 'thing' in the office recently, with a shift in some technology focus as Dynamo and the rest of BIM begin to really take hold in industry. As such, some people are trying to get ahead of the game and make sure their Grasshopper components can also work in

Random string generator for Grasshopper

As a bit of something quick and fun, I produced a random string generator component for Grasshopper. It's a simple component with three inputs to control the number, length and chars included of strings and returns one output, a list of randomly generated strings. Quite what you'd wish to use this for I don't know,

How should you be coding Grasshopper components?

Grasshopper has evolved somewhat since its beginnings and it's becoming increasingly common to find Grasshopper developers out there looking to push the boundaries of visual programming/modelling. For the most part, scripting for Grasshopper was done within the built-in scripting components (for Python, C#, etc). It allows people with little programming knowledge to create their custom

Quickly obtain every file name in a directory with C#

A quick post today showing how we can obtain the file name for every file in a given directory using C#. This might be useful for any kit where reading every file, or every kind of file in a directory is needed - e.g. reading in various data files. In this weeks research work, I

How to stop a Grasshopper component in the middle of calculations

Moving away from the recent work in NodeJS back to Grasshopper has brought me onto a sore point with the majority of calculations I try to perform. Most of my work requires some intense spatial analysis but can take a rather long time to complete. Sometimes I connect incorrect data by mistake and calculations try

How to prevent multiple instances of a Grasshopper component being added to the canvas

Grasshopper components typically have the ability to be added to the canvas multiple times to allow different calculations to be performed depending on what it is your Grasshopper document is doing. However, there may occasionally be a need for your component to only be allowed on the canvas once. There could be many reasons for

How to stop specific outputs of a Grasshopper component from displaying results automatically

In this previous post, a way to stop a component from automatically displaying results on calculation was shown. This put the onus of previewing results directly onto the user. However, there may be a time when you wish for the user to view some results, but not all of them. For example, maybe you have

How to obtain minimum and maximum values from lists in Grasshopper - Version 2

In this previous post I showed the ways in which we can obtain the minimum and maximum values from lists of numbers in Grasshopper. I presented three solutions, using native Grasshopper components (with unintuitive naming), building your own using a C# script, or using a component which I offered for download. Since then, I found