C/C++ Guides
Guides to the C/C++ SDK for Rhino for Windows plugins.
Overview
Getting Started
Other Resources
Troubleshooting
Fundamentals
- Adding Command Line Options
- Adding Curve Objects
- Adding Mesh Objects
- Adding User Strings to Objects
- Adding a Custom Menu
- Adding a NURBS Curve from Control Points
- Adjusting Isocurve Density
- Annotation Objects
- Applying Non-Uniform Transformations to Objects
- Archiving Curves to a File
- Avoiding Buffer Overruns in String Functions
- Brep Data Structure
- Calculating the Angle Between Two Points
- Clear Undo and Redo Lists
- Create Principal Curvature Curves
- Creating Blocks
- Creating Leaders
- Creating Sublayers
- Determining Curve Object Types
- Determining if a Brep is a Box
- Determining the Active Viewport
- Determining the Normal Direction of a Brep Face
- Finding Points on Curves at Arc Length Distances
- Finding Rhino's Installation Folder
- Finding the Parameter of a Curve at a Point
- Getting Layer Objects
- Getting Object UUIDs
- Getting the Units of the Active Document
- Iterating the Geometry Table
- Logging Debug Info
- Mesh Types
- Modify an Object's Color
- Modifying a Light's Color
- Object Types
- Offsetting Curves on Surfaces
- Open a 3DM file
- Orienting Objects on Surfaces
- Picking Brep Components
- Picking Point Objects
- Picking Surface Point
- Picking Text Dots
- Pre- and Post-Picking Objects
- Printing a Layer's Full Path
- Registering Plugins (Windows)
- Renaming Layers
- Running Rhino Commands from Plugins
- Saving Persistent Settings
- Selecting Objects
- Setting Viewport Titles
- Transforming Breps
- Type Casting Rhino Objects
- User Data
- Using the sizeof operator with TCHAR and wchar_t
- Window Selecting
- Writing to Text Files
Advanced
- Adding Online Help to Your Plugin
- Adding RhinoScript Support
- Adding to Rhino's File Search Path
- Adjusting Clipping Planes from Conduits
- Calculating the Lengths of NURBS Curves
- Canceling Long Processes with ESC
- Changing Display Precision
- Crash Dump Analysis
- Creating Points from Text Objects
- Creating a Custom CRhinoGetObject Class
- Creating a Custom Color Picker
- Creating a Skin
- Creating and Deploying Plugin Toolbars
- Custom Picking Grip Objects
- Custom Undo Events
- Determining Language Setting
- Draft Angle Contouring
- Drawing Arrowheads in Display Conduits
- Duplicating Objects with Group
- Dynamically Drawing Geometry when Picking Points
- Dynamically Drawing Polylines
- Dynamically Drawing Text Strings
- Dynamically Inserting Blocks
- Enabling Orthogonal Mode
- Extracting Curve Edit Points
- Extracting Thumbnail Preview Images
- Getting Script-Added Objects
- Handling Enter and Escape from Modal Dialogs
- Highlighting Objects in Conduits
- Loading Plugins at Startup
- Localizing Plugin Toolbars
- Lofting Surfaces that Maintain Tangency
- Making Plugins That Expire
- Modifying Advanced Display Settings
- Moving Curve and Surface Grips
- Moving Mesh Vertices
- Object Properties Page Icons
- Picking Objects without CRhinoGetObject
- Plugin Loading
- Plugin Search Order
- Project Curves onto Breps
- Projecting Points to Breps
- Retrieving Rhino Data from the Clipboard
- Running Rhino from the Command Line
- Setting Up a Cage Edit
- Shading Individual Objects
- Showing Objects Transforming Dynamically
- Supporting High DPI Displays
- Testing for Curves on Surfaces
- Toggling the Status Bar
- Tracking Camera Changes with Conduits
- Triangulating Polygons
- Unifying Mesh Normals
- Using ActiveX Controls
- Writing Code for 32- and 64-bit Compilers
Rendering (RDK)
- RDK Document Contents
- RDK Current Environment
- RDK Decals
- RDK Dithering
- RDK Ground Plane
- RDK Linear Workflow
- RDK Post Effect Classes
- RDK Automatic UI
- RDK Render Content
- RDK Rendering
- RDK Safe Frame
- RDK Skylight
- RDK Sun
- RDK Tasks
- What is the RDK?
- Your First Renderer Plugin (Windows)
- Scripting Methods for RDK (Windows)
- Textures and Mappings
- Light Attenuation
- RDK Render Content Editors