Rhinoceros

design, model, present, analyze, realize...

Print VersionDeveloper Tools

Overview

Major goals for Rhino 5
  • The world's most robust 3‑D development platform for specialty modeling, rendering, analysis, and fabrication tools across a wide variety of disciplines.
  • More accessible development tools: Grasshopper, rhino.Python, the RhinoScript editor, the Zoo license manager for plug‑ins, and the Rhino Installer Engine are key ingredients.
  • Compatibility with Rhino 4 plug-ins. All 32‑bit Rhino 4 plug-ins should run in 32‑bit Rhino 5 without modification or recompiling.
  • Open source more of the Rhino development tools, including rhino.Python, RhinoCommon, and the 3DM viewer on iOS.
  • Free‑of‑charge developer tools, including technical support, marketing support, and training. All of our development tools are available to everyone with a valid Rhino license. No special program registration, contracts, license agreement, or approval is needed.
  • Localization and translation services available. Details...

Toolbars, Buttons, and Macros

Toolbars have been completely rewritten to provide these new features:

  • Toolbar Groups
    • Contain tabbed toolbars
    • Mouse wheel scrolls through tabs
    • Move tabs within group, between groups, or float
    • Dock and lock groups
    • Size toolbar to contents
    • Group properties - name, tabs contained, bitmap for tab, button appearance (image, text, or both), and sidebar assignment
    • Import/export toolbars and groups
    • Click gear icon or right-click a tab for menu - show toolbars, add toolbars and buttons, delete, edit, show/hide tabs
  • Sidebars - A special toolbar that swaps out depending on which parent toolbar is open
  • Reset to factory defaults
  • Recently-used-buttons toolbar - populates with buttons as they are used
  • Button Editor with rotate and flip, transparency, antialiasing, filled rectangle and circle/ellipse tools, three buttons sizes with separate graphics supported, enhanced import with fit-to-button option, paste to fit, enhanced export with all three sizes saved
  • Workspace Editor - Edit toolbars and macros, add to menus

Macros enhancements include:

  • Macro library allows sharing macros between toolbar buttons
  • Macro Editor with real-time testing
  • Macros can include these new special commands:
    • Repeat - the macro will automatically repeat until the user cancels the command
    • EnterEnd - Ends macro that would otherwise require multiple Enters to end
  • IdleProcessor automatically runs a macro whenever Rhino has been idle for a specified time

Grasshopper

GrasshopperGrasshopper is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools.

Unlike RhinoScript, rhino.Python, or other programming languages, Grasshopper requires no knowledge of programming or scripting, but still allows developers and designers to develop form generation algorithms without writing code.

RhinoScript

Enhancements include:

Note: While RhinoScript is still widely used, supported, and is being in enhanced in Rhino 5, we are recommending that users and developers move to rhino.Python. See below.

rhino.Python

Grasshopper

rhino.Python is a powerful scripting language in Rhino 5 for 32‑ and 64‑bit Windows and Rhino for Mac. rhino.Python scripts will run on both platforms. rhino.Python is built for flexibility and clear syntax.

If you would like to give rhino.Python a try, explore some of the links on the rhino.Python site.

.NET Plug-ins

RhinoCommon
  • The new .NET plug-in SDK for Rhino 5
  • Available for Rhino 5, Rhino for Mac, rhino.Python, and Grasshopper
  • Faster in many ways than the Rhino 4 .NET SDK
  • A true .NET style SDK, better organized, easier to learn
  • Improved documentation. Details...
.Net and C#
  • Can be used to build both 32‑ and 64‑bit .NET plug-ins for Rhino 5
  • Plug-ins can be created with a compiler that compiles assemblies using .NET V4
  • Updated documentation and examples

C++ Plug-ins

  • Supports building both 32‑ and 64‑bit Rhino 5 plug‑ins
  • Microsoft Visual C++ 2010 for 64‑bit Rhino 5
  • Microsoft Visual C++ 2005 for 32‑bit Rhino 5
  • New plug-in wizard creates multi-targeted projects for easy project and platform support
  • Dozens of SDK additions and enhancements to help create more powerful plug-ins
  • New lightweight extrusion object for creating simple extruded shapes
  • New double-precision meshes allow mesh computations to be more accurate
  • Renderer Development Kit (RDK) now integrated with SDK
  • Updated documentation
  • Updated knowledge base
  • Updated samples

Renderer Development Kit

The RDK now includes a rich set of functionality for renderer developers.

Language support
  • Support for C++, RhinoCommon and RhinoScript
Materials
  • Define custom material types that fully integrate into the Rhino 5 material editor
  • Leave all of the material management, assignment, storage, and viewport representation to Rhino
  • Built-in support for HDR, bitmap, and procedural textures
  • Automate material creation and assignment
Environments
  • Define custom environment types that fully integrate into the Rhino 5 environment editor
  • Leave assignment, storage, and viewport representation to Rhino
  • Support multiple environment switching
  • Automate environment creation and switching
Textures
  • Define custom texture types that fully integrate into the Rhino 5 material, environment, and texture editors
  • Define procedural textures that can work across multiple renderers
  • Use built‑in optimized procedural primitives to build complex textures
  • Procedural textures are rendered into the viewport using Advanced Texture Preview
Built‑in Render Window
  • New Rhino 5 Render Window complete with tone operators, post-effects, multiple channel support, recall of recent renders, built-in zooming, support for HDR output, and window cloning
  • Much easier to use than the V4 RDK
  • Support for asynchronous modeless rendering
  • Customize the render window with additional menus, buttons, and docking containers
Sun system
  • Automate the new Rhino sun control
  • Full access to the sun position calculation tools for your own plug-ins
Custom render meshes
  • Plug‑in system for defining render-time custom render meshes that can be used by any render plug-in or exported to mesh formats
  • Built‑in viewport preview
Post‑effects
  • Plug‑in system for defining post-render frame buffer effects that can be used by a any render plug-in
  • Access is available to any color, alpha, or distance channel after the image is rendered.
  • Post‑effects work on recalled renders
Many minor renderer tools
  • Access to many UI controls, such as the new Rhino 5 color button, material drop-down, subnode, and curve graph controls
  • Ground plane automation
  • Render mesh iterator with automatic support for custom render meshes
  • Optional automatic user-interface generation for materials, environments, and textures
  • Access to Rhino 5 decals
  • Define output types for animation, render window, and so on
  • View properties panel customization
  • Customize the Rhino UI to fit your render plug-ins capabilities

Rhino Skins

You can now completely wrap your plug‑in application around Rhino. Here is how using C++ or .NET (new).  Details...

Zoo License Management for Plug-ins

The Zoo V5 is a complete rewrite of the Zoo with many new features:

The Rhino Installer Engine

The Rhino Installer Engine simplifies distribution, installation, and updating of Rhino 5 both 32‑ and 64‑bit plug-ins. The Rhino Installer Engine is compatible with the McNeel Update System - a system that keeps Rhino 5 and Rhino plug‑ins up to date.

Food4Rhino

Food4Rhino is the place to post the details about your plug‑ins for Rhino and Grasshopper. Details...

openNURBS

The openNURBS developer toolkit now supports Rhino 5 (and earlier) native 3DM files. Other 2‑D and 3‑D CAD/CAM/CAE and graphic applications can read and write Rhino 3DM files directly. These development tools are free to all software developers.

Localization Services

Our regional office in Europe provides a translation and localization service for third-party developers and anyone else interested in translating their products to French, German, Italian, or Spanish. Details...

Marketing Support

If you have developed a Rhino add‑on that you would like to make available to other Rhino users, post the details on the Rhino Resources page. It is free.