The Rhino 4.0 Software Development Kit (SDK) provides the tools to develop native C++ plug-ins for Rhino 4.0.
The change to Microsoft Visual C++ 2005 requires existing plug-ins to be ported to Rhino 4.0, not just recompiled. Fortunately, the basic structure of a Rhino plug-in has not changed. Most Rhino 3.0 plug-ins will port to Rhino 4.0 with very little effort.
| Info: Finding and fixing memory leaks |
How to find and fix memory leaks in Rhino 4.0 plug-ins |
| Adding command line options |
Demonstrates how to add a different type of command line options to a custom command. |
| Splitting a Curve into Multiple Curve Segments |
Demonstrates how to split a curve into multiple curve segments using the Rhino SDK. |
| Creating Sublayers |
Demonstrates how to create sublayers using the Rhino SDK. |
| Replacing a Hatch Object's Pattern |
Demonstrates how to replace a Hatch Object's pattern using the Rhino SDK. |
| Loading Plug-ins at Startup |
Discusses how to configure plug-ins to load at startup. |
| How To: Display MFC Dialogs |
How to display both an MFC modal dialog and an MFC modeless dialog from a Rhino plug-in. |
| Extracting Isoparametric Curves from Surfaces |
Demonstrates how to extract isoparametric curves from surfaces using the Rhino SDK. |
| Crash Dump Analysis |
Discusses how to analyze crash dump files in Visual Studio. |
| How To: Run a Rhino Command from a Plug-in Command |
Discusses the proper techniques to use when running Rhino command from within the context of a plug-in command. |
| How To: Iterate through Rhino's Geometry Table. |
Demonstrates how to use the CRhinoObjectIterator class to iterate through the document. |
| How To: Pre-Pick and Post-Pick Objects |
Demonstrates how to both pre-pick and post-pick objects using a single CRhinoGetObject object. |
| How To: Pick Point Objects |
Demonstrates how to use CRhinoGetObject to pick point objects. |
| How To: Create a Custom CRhinoGetObject Class |
Demonstrates how to derive a class from CRhinoGetObject to handle special case object picking. |
| Adding Plug-in RhinoScript to Monkey |
Demonstrates how to add your plug-in RhinoScript support to Monkey editor tree. |
| Reading/Writing plug-in user data to a Rhino .3dm file |
Demonstrates how to save a restore document data |
| How To: Dynamically Draw Geometry when Picking Points |
Demonstrates how to derive a new class from CRhinoGetPoint to dynamically draw geometry during a point picking operation. |
| How To: Determine Rhino's Language Setting |
How to determine Rhino's current language setting when developing localized plug-ins. |
| How To: Dynamically Drawing a Polyline |
Demonstrates how to derive a new class from CRhinoGetPoint to dynamically draw a polyline. |
| Info: What is a Rhino Plug-in? |
Overview of Rhino plug-ins and how to get started in plug-in development. |
| How To: Visual Studio IntelliSense |
Discuss how to enable Visual Studio's IntelliSense feature with the Rhino SDK. |
| How To: Display a Toolbar in a Workspace File |
Demonstrates how to display a toolbar in a toolbar collection, or workspace, file. |
| Add a Custom Menu to Rhino's Menu |
Demonstrates how to add a custom menu to Rhino's menu using the Rhino SDK. |
| Using CRhinoGetFileDialog to Preview Bitmaps |
Demonstrates how to use the CRhinoGetFileDialog class to preview bitmap images. |
| How To: Add a Brep Box Rhino |
Demonstrates how to add a Brep Box from a Rhino plug-in. |
| Project Curves onto Breps |
Demonstrates how to project a curve onto a brep using the Rhino SDK. |
| How To: Mesh Objects using RhinoMeshObjects |
Demonstrates how to mesh surface and polysurface objects using the RhinoMeshObjects SDK function. |
| Mesh Boolean Difference |
Demonstrates how to use the RhinoMeshBooleanDifference SDK function. |
| Info: Modeless Dialog Box in Plug-In Does Not Process TAB Key |
Information on how to make the TAB key work from modeless dialog boxes. |
| Plug-in Search Order |
A brief discussion on how Rhino loads plug-ins and their dependencies. |
| Info: Plug-in Loading |
A brief discussion on how Rhino loads plug-ins. |
| Transform Screen Coordinates to World Coordinates |
Demonstrates how to transform Screen coordinates to world coordinates using Rhino 4 SDK. |
| Orienting Objects on a Surface |
Demonstrates how to orient objects on a surface using Rhino 4 SDK. |
| Info: Creating Your First Plug-in |
Overview of creating plug-ins with the Rhino SDK's plug-in wizard. |
| Show or Hide Rhino's Status Bar |
Demonstrates how to show or hide Rhino's status bar using the Rhino SDK. |
| Calculating the Volumes of Mesh Objects |
Demonstrates how to calculating the volumes of mesh objects using Rhino 4.0 SDK. |
| Detecting Custom Texture Mapping |
Demonstrates how detect if an object uses a custom texture map using the Rhino SDK. |
| Creating a Leader |
Demonstrates how to an annotation leader using the Rhino 4 SDK. |
| Intersecting Line Curves |
Demonstrates how to intersect line curves using the Rhino SDK. |
| Calculating Curve Intersections |
Demonstrates how to calculate the intersection of two curves. |
| Adding RhinoScript support to Rhino Plug-ins |
Demonstrates how to add RhinoScript support to C++ plug-ins. |
| Determining the Normal Direction of a Brep Face |
Discusses how to determine the normal direction of a brep face using the Rhino SDK. |
| Determine the Maximum Z Coordinate Value of a Surface |
Demonstrates how determine the maximum Z coordinate of a surface using the Rhino SDK. |
| Create a Bounding Polyline of a Mesh Object |
Demonstrates how to create a bounding polyline of a mesh object using the Rhino SDK. |
| Dynamically Drawing Text Strings |
Demonstrates how to dynamically draw text strings using the Rhino SDK. |
| Adding Curve Objects |
Discusses how to add curve objects to Rhino using the Rhino 4.0 SDK. |
| Creating Blocks |
Demonstrates how to create an instance definition using the Rhino 4.0 SDK. |
| Changing the Display Precision |
Demonstrates how to change the unit's display precision of the current document using the Rhino SDK. |
| Determine the Deviation between two Curves |
Demonstrates how to determine the deviation between two curves using the RhinoGetOverlapDistance() SDK function. |
| Adjusting Clipping Planes from a Conduit |
How to adjust Rhino's near and far clipping planes from CRhinoDisplayConduit object. |
| Calculating the Volume Centroid of Solid Objects |
Demonstrates how to calculating the volume centroid of closed surface and polysurface objects using Rhino 4 SDK. |
| Calculate the angle between two vectors |
Demonstrates how to calculate the angle between two 3-D vectors using the Rhino SDK. |
| Adding Background Bitmaps to Viewports |
Demonstrates how to add a background bitmap to a viewport using the SDK function. |
| Calculating the Volumes of Solid Objects |
Demonstrates how to calculating the volumes of closed surface, polysurface, and mesh objects using Rhino 4.0 SDK. |
| Command Prompt Window Moves when Setting Language |
Demonstrates how to prevent the command prompt from moving when setting application settings. |
| Window Selecting Objects |
Demonstrates how object selection routine using the Rhino SDK. |
| Enabling Orthogonal Mode |
Demonstrates how enable and disable ortho mode using the Rhino SDK. |
| Adding Arrowheads to Curves |
Discusses how to add arrowheads to curve objects using the Rhino SDK. |
| How To: Sweeping Surfaces using RhinoSweep1 |
Demonstrates how perform a one-rail sweep using the RhinoSweep1 SDK function. |
| Computing Radius of Curvature |
How to compute the radius of curvature of a curve object. |
| OpenNURBS Brep Data Structure |
Illustrates OpenNURBS B-Rep Data Structure. |
| Comparing Planar Surfaces and Planes |
Demonstrates how to see if a planar surface lies in a specific plane. |
| Info: Defining New Plug-in Commands |
How to add new command classes to Rhino plug-ins. |
| Triangulating Polygons |
Demonstrates how to triangulate polygons using the Rhino SDK. |
| Handling Enter and Escape from Modal Dialogs |
Preventing modal dialogs from closing when the Enter or Escape key is pressed. |
| Modifying Advanced Display Settings |
Demonstrates how to modify advanced display settings using the Rhino SDK. |
| Picking Text Dots with CRhinoGetObject |
Demonstrates how to interactively select Text Dot objects with CRhinoGetObject. |
| Dynamically Inserting Blocks |
Demonstrates how to insert a block instance at a user specified location using the Rhino 4.0 SDK. |
| How To: Get an Object's UUID |
Demonstrates how to get an object's UUID using the Rhino SDK. |
| Lofting Surfaces that Maintain Tangency |
Demonstrates how to loft surfaces that maintain tangency with adjacent surfaces using the RhinoSdkLoftSurface SDK function. |
| Info: Registering Plug-ins |
Step-by-step instructions for registering your plug-in. |
| Shading Individual Objects |
Demonstrates how to shade individual objects using the Rhino SDK. |
| Info: Loading Wizard-Generated Plug-ins |
Information on what version of Rhino to use to test your wizard-generated plug-ins. |
| Rotate Objects Around Center |
Demonstrates how rotate objects around the center point of their bounding box using the Rhino SDK. |
| How To: Add a Mesh Object to Rhino |
Demonstrates how to add a simple mesh object to Rhino. |
| Split a Brep |
Demonstrates how split a brep with another brep using the Rhino SDK. |
| Canceling Long Processes with the ESC Key |
Demonstrates how to cancel a long process by detecting the ESC key using the Rhino SDK. |
| Adding User Strings to Objects |
Demonstrates how to add user strings to objects. |
| Info: User Data Options in Rhino 4.0 |
Overview of user data options in Rhino 4.0 |
| How To: Add a Linear Dimension to Rhino |
Demonstrates how to add a linear dimension object to Rhino. |
| How To: Select Objects |
How to interactively select objects from a Rhino plug-in. |
| How To: Loft Surfaces using RhinoSdkLoftSurface |
Demonstrates how to loft surfaces using the RhinoSdkLoftSurface SDK function. |
| Info: Rhino 4.0 plug-in user data |
How to use user data in Rhino 4.0 plug-ins |
| Info: Attaching User Data to Brep Components |
Demonstrates how to attach object user data to components of a Brep. |
| Info: Rhino 4.0 Plug-ins & Visual C++ 2005 Service Pack 1 |
Information on using Visual C++ 2005 Service Pack 1 to build Rhino plug-ins. |
| Info: Rhino 4.0 SDK: Textures and Mappings |
How to set texture coordinates and texture mappings. |
| Displaying Toolbars in Rhino 4.0 |
Demonstrates how to open a toolbar collection and display a toolbar in Rhino 4.0. |
| How To: Create Contour Curves |
Demonstrates how to create contour curves through surfaces, breps, and meshes using the MakeRhinoContours() SDK function. |
| Retrieving Rhino Data from the Clipboard |
How to access Rhino data from the Windows Clipboard. |
| Info: Rhino 4.0 saving plug-in user data in V3 files. |
How to get V4 to save your plug-in user data in V3 files. |
| How To: Modify an Object's Color |
Discuss how to modify an object's color with the Rhino SDK. |
| How To: Add a Custom Menu to Rhino |
How to add a custom popup menu to Rhino's main menu from a Rhino plug-in. |
| How To: Select All Objects on a Layer. |
Demonstrates how to select all of the objects on a specified layer. |
| How To: Modify the Weight of a Grip Object |
Demonstrates how to modify the weight of a grip object using the Rhino 4.0 SDK. |
| How To: Synchronize a Layer's Rendering Color |
Demonstrates how to synchronize the basic material color of a layer with the layer's color. |
| How To: Synchronize an Object's Rendering Color |
Demonstrates how to synchronize the basic material color of an object with the object's display color. |
| How To: Dump Debug Information to a Log File |
Discusses the use of the ON_TextLog class for debugging plug-ins. |
| Transforming Brep Objects |
Demonstrates how to transform brep, or boundary representation, objects using the Rhino SDK. |
| How To: Retrieve the Unit System of the Active Document |
Demonstrates how to determine the current unit system of the current document using the Rhino SDK. |
| How To: Set a View's Construction Plane |
Demonstrates how to set a view's construction plane. |
| How To: Show All Hidden Objects |
Demonstrates how to iterate throught the geometry table an unhide hidden objects. |
| How To: Get and Set the Active View |
Demonstrates how to get and set the active view using the Rhino SDK. |
| How To: Replace Rhino's Color Picking Dialog |
Demonstrates how to replace Rhino's color picking dialog using the Rhino 4.0 SDK. |
| How To: Reparameterize a Curve |
Demonstrates how to reparameterize a curve objeect. |
| How To: Rename a Layer |
Discusses how to rename a layer using the Rhino SDK. |
| How To: Create a Plane Surface |
Demonstrates how to create a plane surface using the Rhino SDK. |
| How To: Modify an Object's Name |
Demonstrates how to modify an object's user-defined name. |
| How To: Determine an Object's Layer Name |
Demonstrates how to determine a selected object's layer name using the Rhino SDK. |
| How To: Maximize a View |
Demonstrates how to maximize a view using the Rhino SDK. |
| How To: Interactively Pick an Angle |
Demonstrates how to use the CRhinoGetAngle class to pick an angle. |
| How To: Extend a Surface |
Demonstrates how to use RhinoExtendSurface() to extend a surface object. |
| How To: Extend a Curve Object |
Demonstrates how to extend a curve by a line, arc or smooth extension until it intersects a collection of objects. |
| How To: Create a Surface from Edge Curves |
Demonstrates how to create a surface object from four edge curves. |
| How To: Copy a CRhinoObject Object |
Demonstrates how to make a copy of a CRhinoObject-derived object. |
| Duplicate the Borders of Surfaces |
Demonstrates how to duplicate the borders of surfaces and polysurfaces. |
| How To: Divide a Curve by Segments |
Demonstrates how to divide a curve object by a specified number of segments. |
| How To: Divide a Curve by Length |
Demonstrates how to divide a curve object by a specified length. |
| Supporting Custom Undo Events in Rhino 4.0 |
How to support custom undo events in Rhino 4.0 using the Rhino SDK. |
| How To: Find the Parameter of a Curve at a Point |
Demonstrates how to find the parameter of a curve at a given 3D point. |
| Info: Using the sizeof operator with TCHAR and wchar_t |
Discusses the sizeof operator and UNICODE strings. |
| How To: Convert an Arc curve to a NURBS curve |
Demonstrates how to convert an ON_ArcCurve object to an ON_NurbsCurve object. |
| How To: Clear Rhino's Undo and Redo Lists |
Demonstrates how to clear Rhino's Undo and Redo lists. |
| How To: Boolean Difference |
How to perform a Boolean Difference using the Rhino 4.0 SDK |
| How To: Add a Truncated Cone to Rhino |
Demonstrates how to create a truncated cone ON_BrepRevSurface and add it to Rhino. |
| How To: Add a Torus to Rhino |
Demonstrates how to create a torus using ON_BrepTorus and add it to Rhino. |
| How To: Add Objects to a Group |
Demonstrates how to add selected objects to an object group. |
| How To: Add a Line Curve Object |
Demonstrates how to add a line curve to Rhino using the Rhino SDK. |
| How To: Add a New Layer |
Demonstrates how to add a new layer to Rhino. |
| How To: Add a Cylinder to Rhino |
Demonstrates how to create a cylinder using ON_BrepCylinder and add it to Rhino. |
| How To: Move Objects to the Current Layer |
Discusses how to iterate through the Rhino geometry table and modify the layer of selected objects. |
| How To: Move a Construction Plane |
Demonstrates how to move the origin of a construction plane. |
| How To: Test if an Object is a Circle |
Demonstrates how to test if an object looks like a circle. |
| CreatingInstallationIndependentProjects |
How to set up DevStudio and Rhino projects to be independent of user SDK installation choices. |
| How To: Create a NURBS Circle |
Demonstrates how to use ON_NurbsCurve to create a circle. |
| How To: Set a CPlane to a View |
Demonstrates how to set the construction plane in the active viewport parallel to the view. |
| How To: Modify a Light's Color |
How to modify the diffuse color of an exising CRhinoLight object. |
| How To: Insert a Block |
Demonstrates how to insert a block instance at a user specified location. |
| How To: Add Text to Rhino |
Demonstrates how to use ON_TextEntity2 to add text to Rhino. |
| How To: Add a Spherical Surface to Rhino |
Demonstrates how to create a sphere using ON_RevSurface and add it to Rhino. |
| How To: Pull a Curve to a Surface |
Demonstrates how to use ON_Surface::Pullback() to pull a curve object to a surface object. |
| Showing Objects Transforming Dynamically |
Demonstrates how to dynamically draw transforming objects. |
RhinoScript is a scripting language based on Microsoft's ""VBScript"" language. With RhinoScript, you can quickly add functionality to Rhino, or automate repetitive tasks.
5/8/2008 10:24:30 AM - -204.177.179.86
RhinoScript is a scripting language based on Microsoft's ""VBScript"" language. With RhinoScript, you can quickly add functionality to Rhino, or automate repetitive tasks.
5/8/2008 10:24:30 AM - -204.177.179.86
Developer support for the openNURBS Toolkit.
4/3/2008 10:38:01 AM - dale@mcneel.com-204.177.179.143
How to set up DevStudio and Rhino projects to be independent of user SDK installation choices.
1/5/2007 9:04:53 AM - stevebaer-204.177.179.132