Skip to main content


C# Scripting and Plug-in Development for Grasshopper

Intermediate/Advanced Course with Long Nguyen

Image shows Mesh Subdivsion and Growth inspired by Differential Growth in Nature


Cost for this training course:

Commercial place: £650 + VAT

Lecturer place: £500 + VAT

Student place: £400 + VAT

No VAT options are available for those booking from outside the EU.

Upcoming Course Dates

New course dates coming soon. See our full schedule for all current courses.

Advanced Scripting and Plug-in Programming

This intermediate/advanced course will focus on advanced aspects of C# scripting and plug-in programming for Grasshopper. In addition to going in-depth with Rhino geometries, custom graphics display, and Rhino-Grasshopper interaction, we will learn various techniques that can vastly improve code performance and significantly speed up execution time (including using multi-thread parallel computing and using spatial data structures e.g. R-Tree to accelerate 3D search operations). We will also discuss and demonstrate good programming practices for organizing and structuring code to allow more reusability, extensibility and maintainability.

Intermediate/Advanced C# Scripting Course

To take part in this course you should already know the basics of C# programming (including objected-oriented programming) and some very basic C# scripting with RhinoCommon library (such as creating simple points, lines). If you would like to learn the basics or need to refresh your basic skills prior to starting this course, you can watch AND follow this free video tutorial series "C# Scripting and Plugin Development for Grasshopper" by Long Nguyen LINK: The video was a recording of a 3-day course at University of Stuttgart (Germany) in 2018. Generally, watching ONLY the first one-and-a-half day should be enough to cover most of the basic topics already. The handouts (e.g. Slides, Grasshopper files) are also included in the link above.

Course Section #1

  • Working with string (text data)Programmatically read and write to a text file
  • Custom graphics display in Grasshopper
  • Working with DataTree programmatically
  • Working with mesh topology
  • Programmatically interacting with Rhino environment (objects, layers, materials)

Course Section #2

  • C# delegates and anonymous function
  • Parallel Computation
  • Spatial Data Structures
  • Fast spatial relationship querying using R-Tree in RhinoCommon
  • Live debugging C# code using the Visual Studio
  • Using external C# libraries
  • Interop between C# and Python (useful for sharing high-performance C# code with Python users)

Course Section #3

  • Personal project development
  • (Optionally discuss topics requested by the participants)
Request a call from Simply Rhino