Table of Contents
Info: What is a Rhino Plug-in?
C++, .NET
What is a Rhino plug-in?
- 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.
Note: File Import, File Export, Custom Rendering and 3D Digitizing plug-ins are all specialized enhancements to the General Utility plug-in. Thus, all plug-in types can contain commands.
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
C++
- 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.