Where is grasshopper components folder

Grasshopper library folders

I am a newbie to grasshopper but did not find this simple topic anywhere

Making a new component

This component links to a lot of dll’s so i would like to keep a clean

folder with all these files

How can i add a new library Folder to grassopper so it loads

my component at runtime ?

there are some solutions:

  • Implement an Assembly Resolver in your GHA and load the referenced dlls from the appropriate location.
  • Put all your files into a subfolder of the Libraries folder.
  • Change the Assemblies:Folders entry in the grasshopper_kernel.xml file to include your folder (legacy solution, not recommended).
  • Install your files using an RHI installer, Grasshopper will automatically peruse those locations.
  • Put a *.ghlink file into the Libraries folder which contains a line of text with your actual folder location. This is the recommended solution to be used for GHA installers.

If this is just for you personally rather than for your users, you can add an extra search folder via the GrasshopperDeveloperSettings command. This basically amounts to doing option 3, but nicely through the Grasshopper UI rather than dicking about with xml files.

Options 4 and 5 are definitely my recommendation. They are clean solutions that use the SDK the way it has been designed.

A GHLINK file can contain any number (including zero) of lines. When a line starts with “#” or “//” then it will be ignored. Every other line is presumed to indicate a folder from which GHA files ought to be loaded. If the folder doesn’t exist it is simply skipped.


ClusterTools v0.29

A collection of Grasshopper User Objects, which enable a lot of nice features on clusters.

Download: ClusterTools 0.29

Tutorial: Cluster Tools examples


Cluster Tools is a set of UserObjects, that allows you to enhance the capabilities of a Grasshopper Cluster.

Release Notes:

This is the first public release of ClusterTools.


  • McNeel Rhinoceros 5×64 SR11 or higher.
  • Grasshopper 0.9.0076 or higher.


  1. Download the “ClusterTools.zip”, from the link above.
  2. Extract the downloaded .zip file and drag and drop the containing “ClusterTools.gha” file in the Grasshopper Window.

Note: Even if ClusterTools is a set of User Objects (.ghuser) files, you can install it via the ClusterTools.gha. Once installed the .gha will take care of the .ghuser files and constantly look for updates. Once an update is available you will get prompted on the start of Grasshopper. By clicking on “Accept” the update will be finished after some seconds, thats it. No need to replace .ghuser files manually anymore πŸ˜‰

To completely uninstall ClusterTools, you have to delete both the ClusterTools Folder (subfolder of blickfeld7) in Special Folders – Components Folder and Special Folders – User Object Folder


How to write a Grasshopper Plugin

This is a small guide for how to write a Grasshopper plug-in, based on my extremely limited experience with both Grasshopper, Visual Studio, and coding. The Grasshopper forums were extremely helpful, but I still had some technical issues I needed friends to figure out with me. So I am writing this small guide to writing your own custom components for Grasshopper.

Note that I am using the following:

  • Rhino 5, 64-bit, Educational License for Windows
  • Grasshopper 0.9
  • Visual Studio 2015 Community (Free)
  • Grasshopper Assembly Wizard: this adds a ready made template for GH plugins in Visual Studio
  • Some familiarity with C#, and a bit of technical reading comprehension.

I am using C#, but I assume the process is fairly similar for those of you who use Visual Basic. All the software I am using is up to date as of the date of writing (Feb 27, 2016). I also assume the Educational License is identical in functionality to the professional license, and the difference is purely about licensure. Finally, this is more or less an explained version of David Rutten’s answer to my question in the Grasshopper forums.

You will need the documentation for the Rhino SDK (RhinoCommon), and the Grasshopper SDK. Unlike the Rhino SDK, you will not find the Grasshopper SDK online. Instead, in Grasshopper, you will find a link to download it in Help > Download SDK Help. This downloads a Windows Help file that contains all the necessary examples and documentation.

It will not hurt if you go through the exquisitely and extensively detailed guide for RhinoCommon found here, including creating your first Windows plug in and the other examples. From the Visual Studio end of things, the process is incredibly similar. It also serves as a quick crash to the functions of Visual Studio if you are, like me, unfamiliar with it. (Feb29 Edit: Check this illustrated guide by Giulio Piancentino.)

So without further ado, you need to do the following:

Create a new project in Visual Studio

If you installed the assembly wizard, you will find the necessary template as shown in this image:

Make sure the file path in Location is easily accessible. Also make sure that the name you use is recognizable. When you click OK, you will see this window:

This dialog basically fills up the code for you. The fields Name, Nickname, and Description are how your component is described in words inside the Grasshopper user interface. Category and Subcategory determine which tab and panel your component shows up. If you tick the Provide sample code tickbox, it will fill your code up with already existing and well explained code for an Archimedean Spiral component. This component, when compiled and installed, will show up under the Curve tab, inside the Primitive panel. For the purposes of this exercise, I will leave the box unticked, but make sure to look at the code provided at your leisure, as it is quite educational. If you did not change of the default settings, your Visual Studio window should look something like this:

You can see all the necessary methods to fill out and how they work. They are self-explanatory enough in my opinion that if you know any C# they are easy enough to follow. Make sure you go through the examples in the Grasshopper SDK help files. With all the little tricks and components on what each method does.

Make sure your debugging settings are correct

This is something I needed to figure out by trial and error. Because the Grasshopper Assembly Wizard was written a while ago, the default setting for debugging is, well, not what you would expect if you are using Rhino 5. Either by pressing Alt + Enter, or right-clicking the project name (the blue-highlighted MyProject2 in the screenshot above), open the project’s properties. This will open a new tab, which you do not want to mess with if you do not know what you are doing. (I certainly do not). Click the Debug option. You will see these default options:

You will notice that the default option is for Visual Studio to open Rhino 4. If you are using Rhino 5, like I am, you do not want that for obvious reasons. Find out where Rhino 5 is located on your system, and change the Start external program field to the Rhino 5 file path. On my system it is:

This does not open Grasshopper automatically. You will still need to open Grasshopper yourself by typing the command in Rhino. Typing “Grasshopper” in the Command line arguments text box does not seem to work. This does not impede debugging, as Grasshopper hits the Visual Studio breakpoints and everything you would expect. If you know of what to type exactly to have Grasshopper start automatically, please mention it in the comments.

Now your project is set up, more or less, from the Visual Studio side of things. You still need Grasshopper to load the assemblies (dll files) that you are creating with Visual Studio. You need to set that up from Rhino.

Add your project to Grasshopper Developer folders

Remember the location you set up earlier when creating the project? You need to have Rhino read that folder for you to check your code. For our project, on my PC, the folder was in:

You will notice there is a bin folder. This is the folder you want. The full file path would be:

Copy this path (from your computer, not from above, unless your name is Abdurrahman, too). Now open Rhino and type GrasshopperDeveloperSettings in the command line. You will find it in the autocomplete. This will open this window:

(Feb29 Edit: You must uncheck the tickbox above for debugging). Anyway, if you click the Valid Folders button, you will see where all your existing Grasshopper plugins are installed around the system. This is useless to you, what you want to do is click the Add Folder button, and write the name of your bin folder above there.

There. You’re done. Now Grasshopper will load whatever files are in that folder. Now you will find your custom components as you create them where you specify their location to be. Congratulations.


Grasshopper Exporter

The Grasshopper exporter lets you publish 3D models straight from Grasshopper to Sketchfab.

How to install

  1. Download and unzip the ZIP file.
  2. Move the DLL and GHA files to Grasshopper’s Components folder, which you can get to from File β†’ Special Folders β†’ Components folder, or you can navigate to it manually: C:Program FilesRhinoceros 4.0Plug-insGrasshopperComponents
  3. Right-click the DLL and the GHA files and select Unblock.
  4. Restart Grasshopper.
  5. The exporter should now be available under the S tab.

How to use

  1. You will need these components in your Grasshopper Canvas:
    • The Sketchfab Exporter, found in its own component tab
    • Model geometry
    • Optional: colors / textures / object attributes
    • A boolean toggle to activate the exporter
    • Your API token
    • Text for a model title (required), description, and tags (optional)
    • A folder path to store temporary model files
    • Optional for Pro members: a boolean toggle for setting Private
    • Optional for Pro members with Private enabled: text for a model password
  2. Use the boolean toggle as the Run input, but don’t set it to true until you’re ready!
  3. Use your model geometry as the Geo input, meshes are preferred.
  4. Optional: use your colors as the Att input, or more advanced textures and object attributes if you have additional plug-ins
  5. Use your API token text as the Tkn input.
  6. Use your Folder Path as the Dir input.
  7. Use your Title, Description, and Tag text as the Ttl, Dsc, and tgs inputs, respectively.
  8. Optional: use your boolean toggle and password text as the Prv and PW inputs, respectively.
  9. Change your Run boolean to True to convert your model and start the upload!

When the upload is complete, you can view your model on Sketchfab, adjust rendering settings, and save the default view.

For more detailed instructions and other information, visit the blog or watch the video above.


Download & Install Robots for Grasshopper

Robots is the plugin the MSD Robotics Lab uses to program some robotic fabrication processes such as Plastic and Ceramic 3D Printing.

To use our scripts we recommend you have Rhino 6 installed on Windows. Rhino for Mac won’t work. If you don’t have Rhino 6 you can download a 90 day trial from:

Download the latest Robots plugin for Grasshopper. Select the Robots.zip in the latest release (7.0 as of 13/02/2019). You do not need to download the source code.

Download the UniMelb robot configuration files from the bottom of the page at the following link:

Open Grasshopper, open file (1), special folders (2) then components folder (3).

Drag Robots.dll and Robots.gha into this folder.

Place the unimelb.3dm and unimelb.xml into a folder called “Robots” in the Documents folder.

It is important that you make sure the files are put in the Documents folder under your username and not the public folder. Do not use the Quick Access links on the left side of the window.

You do not need to install additional plugins at this stage.


Supported third-party Grasshopper plugins

The growing list of Grasshopper plugins you can use with ShapeDiver. Check this page out regularly!

While we definitely want to support lots of great plugins in the near future, for now ShapeDiver can only handle built-in Grasshopper components and selected plugins. Some plugins of the list are only partially supported, when they contain components we can’t allow yet. Find under each plugin a Grasshopper definition that contains all its components that aren’t allowed on our platform.

Plugin versions

We try to stay up to date with most plugins, when it is possible. Nevertheless, the current version of a plugin supported by our servers is not always the latest one, make sure you check if it matches before downloading.

Plugin Package for ShapeDiver
For convenience, we have built an archive containing all the third-party plugins that are supported on ShapeDiver’s servers. The archive contains version compatible with both Rhino 5 and Rhino 6. Uncompress the files, make sure they are unblocked in the Properties (Right-click – > Properties – > Unblock) and copy them to the Libraries folder of Grasshopper. You’ll be set with a full set of ShapeDiver-compatible tools. Download it here.

Some plugins like Peacock and Lunchbox consist of a set of clusters. In that case, all versions of the plugin are supported, but each cluster that our system doesn’t know yet will need to be validated, in the same way that script components are handled. Find more information about model checking here.

Python scripting

Rhino 6 supports Python scripting natively, and so does ShapeDiver. Users of Rhino 5 can use the official interpreter plugin developed by Giulio Piacentino.

List of supported plugins

Exoskeleton is a free plug-in for creating meshes. It is currently comprised of two components: Exo Wireframe and Cytoskeleton. Exo Wireframe thickens line/node into watertight meshes. Cytoskeleton thickens the edge network of any existing mesh into a thickened mesh.

All components allowed.

Plugin name Author Version
Daniel Piker and David Stasiuk

Plankton is a flexible and efficient library for handling n-gonal meshes. Plankton is written in C# and implements the halfedge data structure. The structure of the library is loosely based on Rhinocommon’s mesh classes and was originally created for use within C#/VB scripting components in Grasshopper.

Library for use within scripting components.

Plugin name Author Version
Daniel Piker and Will Pearson 0.4.2

Weaverbird is a topological modeler that contains many of the known subdivision and transformation operators, readily usable by designers. Instead of doing the work repeatedly, or sometimes using complicated scripts, this plug-in reconstructs the shape, subdivides any mesh, even made by polylines, and helps preparing for fabrication.


Where is grasshopper components folder

The SortalGI Grasshopper plug-in encapsulates the SortalGI sortal grammar interpreter and makes part of its functionality available within Rhino/Grasshopper.

The SortalGI Grasshopper plug-in supports points, line segments, plane segments, circles, ellipses, (circular) arcs and quadratic Bezier curves, labelled points and descriptions. It supports both parametric-associative and non-parametric rules, and emergence.

Download the SortalGI Grasshopper plug-in: sgi_gh_v060.zip (version 0.6.0)
This is the latest version. The number of components has been extended with new predicates and directives, as well as components to help specify shape descriptions. At the same time, a number of important bugs have been addressed, for example, the use of quadratic Bezier curves and, specifically, the Celtic knotwork demo is working again in this version. Also, it is now possible to search and replace quadrilaterals and other polygonal shapes. Together with the predicates and directives this should allow to explore generative urban massing using shape grammars rather than procedural (CGA shape) grammars.

The SortalGI Grasshopper plug-in is made available as a .zip file. After unzipping it, you will find a folder containing the following components: a sortal-setup folder, a components folder, a sample folder and a user manual (PDF document).

  • The sortal-setup folder contains a setup batch file and a number of support packages, including the SortalGI (Python) library.
  • The components folder contains the Grasshopper user objects that give access to (part of) the functionality of the SortalGI (Python) sortal grammar interpreter.
  • The sample folder offers a few demonstrations of the use of the SortalGI Grasshopper plug-in.
  • SortalGI plug-in user manual 06 prov >The installation involves two steps. The first step is the installation of the SortalGI library, the second step is the installation of the SortalGI plug-in user objects. These steps are also explained in the SortalGI plug-in user manual 06 instructions.

  1. In case of Rhino 5, make sure to download the GhPython Grasshopper Assembly file (gha) from Food4Rhino, choose File > Special Folders > Components folder in Grasshopper and save the gha file in this folder.
  2. Execute the setup.bat batch file which can be found in the sortal-setup folder. This will copy the content of the sortal-setupsite-packages folder into the Plug-insIronPythonLibsite-packages folder of your Rhino installation folder, as well as copy the sortal-setupsortal-packagessortal folder into the Plug-insIronPythonLib folder. Alternatively, you can do so manually.
  3. Next, add the Plug-insIronPythonLibsite-packages folder of your Rhino installation folder into Rhino’s Module Search Paths.
    • Launch Rhino
    • Type EditPythonScript in the Command box
    • In the Rhino Python Editor window, select ‘Options. ‘ from the Tools menu
    • Add the Plug-insIronPythonLibsite-packages folder of your Rhino installation folder into the ‘Module Search Paths’
    • Select the Script Engine tab, check the ‘Frames Enabled’ option and click ‘OK’.
  4. Open Grasshopper and select the ‘User Object Folder’, under ‘Special Folders’, from the File menu. Copy the content of the components folder into the UserObjects folder.
  5. Exit Rhino and relaunch Rhino. The SortalGI plug-in should now be present as a specific tab in the Grasshopper Components Tab Panel, called ‘SGI’.

You are now set to go.

Please refer to the SortalGI plug-in user manual 06 for information on the different components available and their usage.

The demo folder contains a number of grasshopper demonstration files

  • rules 1 creation.gh shows the creation of two rules using only line segments (the points that are drawn are not part of the respective shape, these serve as reference points). One rule moves a square diagonally and another moves an L-shape diagonally.
  • rules 2 application.gh illustrates the concept of emergence. It shows a derivation (Knight, 2003) 1 applying the two rules created above, using a series of Apply nodes.
  • rules 3 exploration.gh shows an extended derivation of all possible rule applications over two steps, applying the two rules created above, using two Apply All nodes.
  • inscribed square.gh illustrates the use of a point to constrain rule application. It shows a derivation (Stiny, 1985) applying a rule to inscribe a square with a rotated square.

    froebel blocks.gh illustrates the use of labelled points, descriptions and plane segments in 3D. It shows a derivation (Stiny, 1981) composing a design made up of blocks (‘oblongs’, ‘pillars’ and ‘squares’) from Froebel’s building gift 6. The parallel description rules extract information form the shape to prov >

  • curves.gh illustrates the use of quadratic bezier curves. It shows a derivation (Jowers and Earl, 2011) of a Celtic knotwork.

    ice_ray_lattice.gh illustrates the specification and application of parametric-associative rules. It shows a derivation (Stiny, 1977) of a Chinese ice-ray lattice from five rules, each splitting a triangle, quadrilateral or pentagon into two polygons from among triangles, quadrilaterals and pentagons. Note that at this point it is hard to ensure a ‘nice’ ice-ray lattice, because the splitting points are randomly >

    quad_massing.gh illustrates the specification and application of parametric-associative rules using descriptions, predicates and directives. It determines all vo >


No Comments

Leave a Reply

Your e-mail will not be published. All fields are required.

Plugin name Author Version
Giulio Piacentino