Scripting

Customize and extend Rhino to suit your workflows using Python 3 and .NET with a common editor in Grasshopper and Rhino on Windows and Mac.

Unified Script Editor

Customize and extend Rhino to suit your workflows using Python 3 and .NET, in a single editor that works the same in Rhino and Grasshopper (1 and 2), on Windows and macOS. Write, run, and debug your scripts: set breakpoints, step through your code, and inspect variables while your script runs, right inside Rhino.

Learn more about the Script Editor

Python 3

Use scientific libraries like NumPy and OpenSeesPy alongside Rhino geometry. Add any package from PyPI with a single line at the top of your script and the editor installs it for you. No setup, no separate environments to manage.

Learn more about Python 3 in Rhino

Modern C#

Script in modern C# with the full power of .NET and RhinoCommon. Reference NuGet packages directly from your script and get to work without building a project or leaving Rhino.

Learn more about modern C# features

Debug

Set breakpoints, step through your code line by line, and inspect variables as your script runs. Debugging works the same in Grasshopper: pause a script component mid-solution and see exactly what flows in and out, right on the canvas. You can even preview geometry in Variables panel.

Learn more about debugging

Test

Write unit and regression tests in any editor language and run them from the Tests panel. Catch problems early, see results at a glance, and keep your tools working as they grow.

Learn more about testing

Publish

Turn your scripts into Rhino commands and Grasshopper components, then package them as plugins to share with your team or publish on the Rhino Package Manager. Your users install them like any other plugin, no scripting required.

Learn more about publishing

Rhino 7 Scripting Tools: Still Available

MacroEditor RhinoScript GhPython Rhino Script Compiler
  • MacroEditor
  • RhinoScript
  • IronPython 2.7 in Rhino (Legacy Editor)
  • IronPython 2.7, C#, VB.Net Scripting in Grasshopper (Legacy Editor)
  • Rhino Script Compiler (Legacy Interface)

Try It

  1. Download Rhino 9 Evaluation for Windows or Mac.

In Rhino

  1. Type ScriptEditor in the command prompt to open Script Editor. The Editor begins initializing Python 3 runtime (this only happens after a fresh install and can take a few moments to complete).
  2. When ready, click the New button and create a new Python 3 or C# script from Examples.
  3. Click the Run (play) button to execute the script.
  4. Explore other examples to see how you can use third-party packages in your scripts.
  5. See how to use ScriptEditor command in macros

In Grasshopper 1

  1. Type Grasshopper in the command prompt to open Grasshopper.
  2. When ready, from the Maths panel, add a new Script component to the canvas. The Editor begins initializing Python 3 runtime (this only happens after a fresh install and can take a few moments to complete).
  3. On the script component, click on a language to start a new editor with a default script.
  4. Add a few inputs and outputs to the component. Pass data to the inputs.
  5. Now click the Solve button in Grasshopper.

In Grasshopper 2

  1. Type GH2 in the command prompt to open Grasshopper 2.
  2. When ready, from the Maths panel, add a new Script component to the canvas. The Editor begins initializing Python 3 runtime (this only happens after a fresh install and can take a few moments to complete).
  3. On the script component, click on a language to start a new editor with a default script.
  4. Add a few inputs and outputs to the component. Pass data to the inputs.
  5. Now click the Solve button in Grasshopper menus.

For more extensive tutorials and documentation see the Scripting Guides.

Ask questions and give feedback on the Discourse Forum.