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.
| Creating New Views |
Demonstrates how to create a new view that has the properties of an existing view. |
| ON_SimpleArray Questions |
Demonstrates how to sort and cull simple arrays. |
| Mesh Types |
Discusses the types of meshes found in Rhino. |
| Projecting Points to Breps |
Demonstrates how to project points onto Brep objects. |
| Another Approach to Picking Objects |
Demonstrates how to pick objects without using CRhinoGetObject. |
| Adding command line options |
Demonstrates how to add a different type of command line options to a custom command. |
| Hatching Boundaries |
Demonstrates how to hatch a closed planar boundary using the Rhino SDK. |
| Obtaining the Insertion Point of a Block |
Demonstrates how to obtain the insertion point of a block. |
| Adjusting Surface Isocurve Density |
Demonstrates how to modify the isocurve density of a surface. |
| How To: Add a Mesh Object to Rhino |
Demonstrates how to add a simple mesh object to Rhino. |
| How To: Sweeping Surfaces using RhinoSweep2 |
Demonstrates how perform a two-rail sweep using the RhinoSweep2 SDK function. |
| How To: Sweeping Surfaces using RhinoSweep1 |
Demonstrates how perform a one-rail sweep using the RhinoSweep1 SDK function. |
| How To: Add a Line Curve Object |
Demonstrates how to add a line curve to Rhino 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. |
| How To: Divide a Curve by Segments |
Demonstrates how to divide a curve object by a specified number of segments. |
| How To: Modify an Object's Name |
Demonstrates how to modify an object's user-defined name. |
| Moving Curve and Surface Grips |
Demonstrates how to move curve and surface object grips. |
| Info: Using the sizeof operator with TCHAR and wchar_t |
Discusses the sizeof operator and UNICODE strings. |
| How To: Add a New Layer |
Demonstrates how to add a new layer to Rhino. |
| How To: Determine Rhino's Language Setting |
How to determine Rhino's current language setting when developing localized plug-ins. |
| Setting Rhino's Command Prompt Text |
Demonstrates how to set Rhino's command prompt text to show the progress of long processes. |
| 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. |
| Creating NURBS Surfaces |
Demonstrates how to create a NURBS surface using the Rhino SDK. |
| Ghosting Viewports |
Demonstrates how to set a viewport to ghosted display 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. |
| Calculate the angle between two points. |
Demonstrates how to calculate the angle between two 3-D points that lie on a plane. |
| Calculate the angle between two vectors |
Demonstrates how to calculate the angle between two 3-D vectors using the Rhino SDK. |
| Adding Clipping Plane Objects |
Demonstrates how to add a viewport clipping plane object using the Rhino 4.0 SDK. |
| Rhino Plug-in Build Configurations |
Discusses Rhino C++ plug-in build configurations and how to use them. |
| How To: Get and Set the Active View |
Demonstrates how to get and set the active view using the Rhino SDK. |
| Testing for Curves on Surfaces |
Discusses how to test to see if a curve lies on a surface. |
| Info: Registering Plug-ins |
Step-by-step instructions for registering your plug-in. |
| Moving Mesh Vertices |
Demonstrates how to move mesh vertices using the Rhino SDK. |
| Intersecting Meshes |
Demonstrates how to intersect two meshes using the Rhino SDK. |
| How To: Modify a Light's Color |
How to modify the diffuse color of an exising CRhinoLight object. |
| Splitting Brep Edges |
Demonstrates how to split the edges of breps using the Rhino SDK. |
| Screen Capture All Viewports |
Demonstrates how to screen capture all the visible viewports using the Rhino SDK. |
| Screen Capture a Viewport |
Demonstrates how to screen capture a viewport using the Rhino SDK. |
| Sharing User Data Between Plug-ins |
Discuss how to share object user data between plug-ins using the Rhino SDK. |
| Extracting Curve Edit Points |
Demonstrates how to extract a curve's edit points using the Rhino SDK. |
| Creating NURBS Cage Objects |
Demonstrates how to create a NURBS Cage objects using the Rhino SDK. |
| How To: Create a NURBS Curve from Control Points |
Demonstrates two ways to create clamped ON_NurbsCurve from a set of control points. |
| Zooming to the extends of 3-D points |
Demonstrates how to zoom to the extends of an array of 3-D points using the Rhino SDK. |
| Info: Defining New Plug-in Commands |
How to add new command classes to Rhino plug-ins. |
| Offsetting Curves on Surfaces |
Demonstrates how to offset a curve on a surface using the Rhino SDK. |
| Intersecting Curves with Meshes |
Demonstrates how to intersect a curve with a mesh using the Rhino SDK. |
| Shading Viewports |
Demonstrates how to set a viewport to shaded display using the Rhino SDK. |
| Draft Angle Contouring |
Demonstrates how to create contour curves based on draft angle using the Rhino SDK. |
| Showing Objects Transforming Dynamically |
Demonstrates how to dynamically draw transforming objects. |
| How To: Create a Custom CRhinoGetObject Class |
Demonstrates how to derive a class from CRhinoGetObject to handle special case object picking. |
| Curve Evaluation |
Demonstrates how to evaluate a curve using the Rhino SDK. |
| Info: Rhino 4.0 plug-in user data |
How to use user data in Rhino 4.0 plug-ins |
| Setting a Viewport's Title |
Demonstrates how to set the title of a viewport using the Rhino 4.0 SDK. |
| Creating Points from Text Entities |
Demonstrates how to create point objects based on text entities using Rhino SDK. |
| Calculating the Volumes of Solid Objects |
Demonstrates how to calculating the volumes of closed surface, polysurface, and mesh objects using the Rhino 4.0 SDK. |
| Calculating the Volume Centroid of Solid Objects |
Demonstrates how to calculating the volume centroid of closed surface and polysurface objects using Rhino 4 SDK. |
| Create a Surface From Control Points |
Demonstrates how to create a surface from a grid of control points. |
| 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: Create a NURBS Circle |
Demonstrates how to use ON_NurbsCurve to create a circle. |
| How To: Insert a Block |
Demonstrates how to insert a block instance at a user specified location. |
| How To: Divide a Curve by Length |
Demonstrates how to divide a curve object by a specified length. |
| Problem Calculating the Lengths of NURBS Curves |
Discusses a problem when trying to calculate the length of a NURBS curve using the Rhino SDK. |
| Finding Points on Curves at Arc Length Distances |
Demonstrates how to find points that are a specified distance from the start of curves using the Rhino SDK. |
| 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. |
| Info: Finding and fixing memory leaks |
How to find and fix memory leaks in Rhino 4.0 plug-ins |
| 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: 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. |
| 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: 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. |
| 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. |
| Adding Background Bitmaps to Viewports |
Demonstrates how to add a background bitmap to a viewport using the SDK function. |
| 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. |
| 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. |
| 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. |
| 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. |
| Split a Brep |
Demonstrates how split a brep with another brep 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: 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: 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 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: 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: 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. |
| 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. |
| 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 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. |
| 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: 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. |
""RhinoScript"" is a scripting language based on Microsoft's ""VBScript"" language. With ""RhinoScript"", you can quickly add functionality to Rhino, or automate repetitive tasks.
4/20/2009 1:59:35 PM - -204.177.179.99
""RhinoScript"" is a scripting language based on Microsoft's ""VBScript"" language. With ""RhinoScript"", you can quickly add functionality to Rhino, or automate repetitive tasks.
4/20/2009 1:59:35 PM - -204.177.179.99
Developer support for the openNURBS Toolkit.
4/3/2008 10:38:01 AM - dale@mcneel.com-204.177.179.143