Rhino developer tools are royalty free and include support.
This site is the future home of all Developer Documentation relating to Rhinoceros 3D. This website is a work-in-progress. The entire site is open source on GitHub. If you find errors or think a page could be improved, just click the “Edit page on GitHub” link at the bottom of the page. See contributing to this website below for more details.
If you want to…
The above three paths are not the only options! Keep reading for more…
Rhino exposes purpose-built SDKs in C#, C/C++, VB.NET, VBScript, and Python…
|RhinoCommon||The cross-platform .NET API for Rhino and Grasshopper|
|openNURBS||openNURBS 3dm file IO outside Rhino.|
|RhinoScript||Rhino for Windows scripting.|
|C/C++||Rhino for Windows plugins.|
|RDK||Renderer plugin development on Windows.|
|Zoo||Zoo license manager plugins on Windows.|
|RhinoMobile||3D mobile application development.|
Hey, make yourself useful!
Many McNeel projects are open-source and on GitHub. RhinoCommon - our cross-platform .NET API - is a great example. Even this very website you are reading now. Browse source, fork a repo, correct a typo: we welcome participation and pull-requests.
discourse.mcneel.com is the McNeel forum. This is the fastest place to get help. Specific categories to post in are:
- Rhino Developer: Customizing Rhino through VB.NET, C#, C++, RhinoScript, and Python.
- Scripting: Topics related to RhinoScript and Python scripting.
- openNURBS: Topics related to the openNURBS toolkit.
- Grasshopper developer: VB.NET, C#, and Python in Grasshopper components.
Whenever you encounter something that doesn’t work as it should, we’d love it if you could file a bug report. At McNeel, we use YouTrack to track issues and bugs. YouTrack requires that you create a login. The vast majority of bugs are visible to the public. Please report issues or bugs with our APIs or SDKs on YouTrack.
This website is open source on GitHub. If you find errors or think a page could be improved, just click the “Edit page on GitHub” link at the bottom of any page. If you are a McNeel employee, you should already have permissions to commit to this repository. If you are a Rhino Plugin Developer, you can request permissions to commit. Anyone can clone the repository and submit a pull-request.
This site uses Markdown - specifically Kramdown - as the base-format for all content. In the Guides area of the site, in the Developer Docs section, you will find a number of references to get started contributing to this site.
Who to talk to for what:
- Steve Baer (RhinoCommon) - @stevebaer on Discourse
- Alain Cormier (Rhino.Python) - @alain on Discourse
- Dale Fugier (C/C++ SDK, Zoo, RAP) - @dale on Discourse
- Dale Lear (openNURBS) - @dalelear on Discourse
- David Rutten (Grasshopper) - David Rutten on the Grasshopper 3D forum
- Giulio Piacentino (GhPython) - @piac on Discourse
- Andy le Bihan (RDK) - @andy on Discourse
- Curtis Wensley (Eto) - @curtisw on Discourse
- Dan Belcher (RhinoMobile) - @dan on Discourse
Developer training is a custom, one-on-one session designed to help you become more familiar with the Rhino C++ SDK or the RhinoCommon (.NET) SDK, and to get help in improving your Rhino plug-in product.
Rhino Developer Training is available at both the McNeel Headquarters in Seattle, and at our European Headquarters in Barcelona.
- A room and a desk for you to set up your computer.
- A high-speed Internet connection.
- Access to senior Rhino developers for questions and support.
- Inexpensive lodging may be available.
You should bring
Your computer with:
- Rhino C++ SDK:
- Microsoft Visual C++ 2010 for Rhino 5 64-bit.
- Microsoft Visual C++ 2005 for Rhino 5 32-bit.
- The Rhino C++ SDK.
- Note, Visual C++ 2008, 2012, 2013, and the Express Editions of Visual C++ will not work.
- RhinoCommon SDK:
- Microsoft Visual Studio 2010, 2012 or 2013, with either C# or Visual Basic; or
- Xamarin Studio (for Mac plugin development).
- The RhinoCommon Templates.
Note, the Express Editions of Visual Studio 2010, 2012, 2013 will work.
- Your Rhino plug-in project source code.
- Any software you will need to test your plug-in, including copies of your own software.
Pricing and scheduling
Developer training is free. You are responsible for paying for travel, lodging, and any other expenses.
For scheduling and travel arrangements in Seattle, contact Janet Brock.
For scheduling and travel arrangements in Barcelona, contact Carlos Pérez.
Which SDK is right for me?
It all depends on what you want to do. If you are looking to automate repetitive tasks in Rhino, writing a Python script is the way to go. If you are looking to write a full-fledged plugin or Grasshopper component, we strongly suggest the RhinoCommon SDK. If you are very proficient with C/C++, you should consider the native C/C++ SDK (only supported on Rhino for Windows).
Can I write plugins that run on both Windows and Mac?
Yes…even using the same code.
What is Mono/Xamarin?
Mono is an open-source version of Microsoft’s .NET runtime that runs on Linux, Mac OS X, iOS, and Android. Check out the What are Mono and Xamarin? guide for more information.