C/C++ Guides
Windows only
Overview
Getting Started
- Installing Tools (Windows)
- Creating your first C/C++ plugin for Rhino
- Defining New Plugin Commands
- Migrate your plug-in project to Rhino 8
- Migrate your plug-in project to Rhino 7
- Migrate your plug-in project to Rhino 6
- Migrate your Options, Document Properties and Object Properties Pages
- Creating a Rhino Plug-In Package
Other Resources
Troubleshooting
Fundamentals
- Adding a Custom Menu
- Adding a NURBS Curve from Control Points
- Adding Command Line Options
- Adding Curve Objects
- Adding Mesh Objects
- Adding User Strings to Objects
- Adjusting Isocurve Density
- Annotation Objects
- Applying Non-Uniform Transformations to Objects
- Archiving Curves to a File
- Avoiding Buffer Overruns in String Functions
- 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
- 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
- Object Types
- Brep Data Structure
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 a Custom Color Picker
- Creating a Custom CRhinoGetObject Class
- Creating and Deploying Plugin Toolbars
- Creating Points from Text Objects
- 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
- Creating a Rhino-dependent C++ DLL
- Creating a Skin
Rendering (RDK)
- RDK Automatic UI
- RDK Current Environment
- RDK Decals
- RDK Dithering
- RDK Document Contents
- RDK Ground Plane
- RDK Linear Workflow
- RDK Post Effect Classes
- RDK Render Content
- RDK Rendering
- RDK Safe Frame
- RDK Skylight
- RDK Sun
- RDK Tasks
- What is the RDK?
- Scripting Methods for RDK (Windows)
- Your First Renderer Plugin (Windows)
- Textures and Mappings
- Light Attenuation
- RDK Render Content Editors