A Rhino plug-in is a software module that extends the functionality of Rhino by adding commands, features, or capabilities.
A Rhino plug-in is a Windows Dynamic Link Libraries (DLL).
For the C++ SDK, this is a regular DLL using shared MFC DLL. For more information on MFC DLLs, read MFC Technical Notes 33 and 58 on MSDN.
For the .NET SDK, this is a .NET assembly
Examples of Rhino plug-ins include Bongo, Flamingo, and Penguin.
What types of plug-ins are supported?
Rhino supports five different types of plug-ins.
General Utility. A general purpose plug-in that can contain one or more commands.
File Import. A plug-in that imports data from other file formats into Rhino. A single File Import plug-in can support more that one file type.
File Export. A plug-in that exports data from Rhino to other file formats. A single File Export plug-in can support more than one file type.
Custom Rendering. A plug-in that applies materials, textures, and lights to a scene to produce rendered images.
3D Digitizing. A plug-in that interfaces with 3D digitizing devices, such as those manufactured by Immersion and Faro.
What is required to build a plug-in?
Standard Rhino plug-ins are written in the C++ programming language. Thus, a knowledge of C++ is essential.
Microsoft Visual C++ 6.0 is required to build a Rhino 3 plug-in.
Microsoft Visual C++ 2005 is required to build a Rhino 4 plug-in.
The Rhino C++ Software Development Kit (SDK). The SDK can be freely downloaded.
Rhino.NET plug-ins are written using any compiler that will compile against the .NET 2.0 Framework. Common examples for this are VB.NET 2005 and C# 2005. This is for Rhino 4 only
What comes with the SDK (C++)?
C++ header files to include in your plug-in project.
Library files to link with your plug-in project.
Documentation, in HTML help format, that provides information on SDK classes and their hierarchy.
Getting started sample projects that demonstrate plug-in basics.
A Visual C++ AppWizard that allows you to quickly build a skeleton plug-in project.
A Visual C++ Add-in that provides tools to prototype new command classes and create unique identifiers (uuid).
How to get development support?
The getting started samples, included with the SDK, demonstrate plug-in basics.
The HTML help documentation, included with the SDK, provides information on SDK classes and their hierarchy.
The Rhino plug-ins newsgroup, either the news reader or the web browser version, allows you to post questions to and read responses from other plug-in developers.
Use the web browser version to search the Rhino plug-ins newsgroup archive for previously posted questions or samples.
Email developer support directly.
Frequent this location, the Rhino Developer Resources wiki site.