Samples
For additional samples, visit the Developer Samples Repository on GitHub.
RhinoCommon
Adding Objects
- Add Annotation Text
- Add Arrowheads to Curves
- Add Background Bitmap
- Add Brep Box
- Add Child Layer
- Add Circle
- Add Clipping Plane
- Add Command Line Options
- Add Cone
- Add Cylinder
- Add Layer
- Add Layout
- Add Line
- Add Linear Dimension
- Add Linear Dimension2
- Add Material
- Add Mesh
- Add Mesh Box
- Add Named View
- Add Nested Block
- Add NURBS Circle
- Add NURBS Curve
- Add Objects to Group
- Add Sphere
- Add Texture
- Add Torus
- Add Truncated Cone
- Add Twisted Cube
- Copy Groups
- Create Block Definition
- Determine Object Layer
- Duplicate Object
- Extend Curve
- Find Objects by Name
- Get Object UUID
- Modify Object Color
- Move Grip Objects
- Move Objects to Current Layer
- Object Color
- Object Display Mode
- Pick Point
- Pre and Post-Pick Objects
- Rename Object
- Replace Hatch Pattern
- Select Objects in Object Groups
- Select Objects on Layer
- User Data
- Zoom to Object
Blocks
- Add Nested Block
- Block Insertion Point
- Create Block Definition
- Delete Block Instance Definition
- Instance Definition Objects
- Lock Layer
- Rename Block
Curves
- Add Arrowheads to Curves
- Add NURBS Curve
- Brep from Curve Bounding Box
- Calculate Curve Intersections
- Constrained Copy
- Create Contour Curves
- Curve Bounding Box
- Curve Deviation
- Divide Curve by Segments
- Divide Curve Straight
- Extend Curve
- Extract Isocurve
- Fillet Curves
- Find Curve Parameter At Point
- Find point on curve at distance
- Hatch Curve
- Increase NURBS Curve Degree
- Intersect Lines
- Line Between Curves
- Offset Curve
- Reparameterize Curves
- Reverse Curve
- Surface from Edge Curves
- Tween Curve
Drawing
- Conduit Draw Shaded Mesh
- Draw Mesh
- Dynamically Draw Geometry when Picking Points
- Overlay Text Display Conduit
Layers
- Add Child Layer
- Add Layer
- Determine Object Layer
- Lock Layer
- Move Objects to Current Layer
- Rename Layer
- Select Objects on Layer
Picking and Selection
- Dynamically Draw Geometry when Picking Points
- Get Angle
- Pick Point
- Pick Points
- Replace the Color Picking Dialog
- Select Objects in Object Groups
- Select Objects on Layer
Viewports and Views
- Add Layout
- Add Named View
- Determine Active Viewport
- Get and Set the Active View
- Set Viewport Name
- Viewport Resolution
Other
- Add Leader
- Add Radial Dimension
- Advanced Display Settings
- Array By Distance
- Boolean Difference
- Box Shell
- Calculate Surface Curvature
- Change Dimension Style
- Circle Center
- Closest Point Calculation with RTree
- Create Mesh from Brep
- Create Spiral
- Create Surface From Points and Knots
- Curve Surface Intersection
- Custom Geometry Filter
- Custom Python
- Custom Undo
- Determine Language Setting
- Determine Normal Direction of Brep Face
- Display Conduit
- Display Conduit Arrowheads
- Display Order
- Display Precision
- Divide by Length Points
- Duplicate Mesh Boundary
- Duplicate Surface Border
- Dynamically Drawing Text Strings
- Edit Text
- Explode Hatch
- Export Control Points
- Extend Surface
- Extract Render Mesh
- Extrude Brep Face
- Furthest Z on Surface given X Y
- Get Multiple With Options
- Increase NURBS Surface Degree
- Insert Knot
- Instance Archive File Status
- Instance Definition Names
- Instance Definition Tree
- Intersecting Line and Circle
- Is Planar Surface in Plane
- IsBrepBox Test
- Isocurve Density
- Loft Surfaces
- Mesh Volume
- Modify Light Color
- Move CPlane
- Move Points
- Move Points Non Uniform
- Object Iterator
- Orient On Surface
- Orthogonal Mode
- Planar Surface
- Project Points to Breps
- Project Points to Mesh
- Read Dimension Text
- Set RhinoPageView Width and Height
- Show Surface Direction
- Single Color Back Faces
- Space Morph
- Split BReps with Planes
- Sprite Drawing
- Surface from Corner Points
- Sweep Surfaces with Sweep1
- Text Justify
- Tight Bounding Boxes for Breps
- Transform Breps
- Tweak Colors
- Unroll Surface
- Unroll Surface and Mesh
- Visual Analysis Modes
Rhino.Python
- Hello Python
- Array Points on Surface
- Circle From Length
- Copy Objects to Layer
- Get Current Model Information
- Get Curve Length
- Draw a Parametric Curve
- Export Control Points
- Garden Path Sample
- Export Points
- Annotate Curve Endpoints
- Import Points
- Annotate Curve Form
- Sticky Values
- Custom Getpoint
- Make a Circle with RhinoCommon
openNURBS
Under Construction
This guide has yet to be ported to this site. Please check back soon for updates.
C/C++
Adding Objects
- Add a Brep Box
- Add a Cone Surface
- Add a Cylinder
- Add a Line Curve Object
- Add a Linear Dimension
- Add a New Layer
- Add a NURBS Circle
- Add Arrowheads to Curves
- Add Background Bitmaps to Viewports
- Add Clipping Planes
- Add NURBS Curve
- Add Objects to a Group
- Add Spherical Surface
- Add Text
- Add Torus
- Add Truncated Cone
- Create a NURBS Circle
- Create Contour Curves
- Create New View
- Create NURBS Surface
- Create Plane Surface
- Create Surface from Edge Curves
- Creating NURBS Cage Objects
- Duplicate Object
- Fillet Curve
- Modify an Object's Name
- Surface from Control Points
Blocks
- Basepoint of Block Instance
- Block Definition Geometry
- Print Instance Definition Names
- Print Instance Definition Tree
Curves
- Add a Line Curve Object
- Add NURBS Curve
- Calculate Curve Intersections
- Calculate Radius of Curvature
- Calculating Partial Lengths of Curves
- Control Point Curve Through Polyline
- Convert an Arc to a NURBS Curve
- Create Bounding Polyline of a Mesh
- Create Surface from Edge Curves
- Curve Evaluation
- Deviation between two Curves
- Divide a Curve by Length
- Divide a Curve by Segments
- Extend Curve
- Extracting Isoparametric Curves from Surfaces
- Intersect Curves with Meshes
- Intersect Line Curves
- Pull Curve to Surface
- Reparameterize Curve
- Split Curve Into Multiple Segments
Layers
- Add a New Layer
- Determine an Object's Layer Name
- Move Objects to the Current Layer
- Select Objects by Layer
- Synchronize Layer Render Color
Picking and Selection
Surfaces
- Add a Cone Surface
- Add Spherical Surface
- Calculate Solid Volumes
- Create NURBS Surface
- Create Plane Surface
- Create Surface from Edge Curves
- Determine the Maximum Z Coordinate Value of a Surface
- Duplicate the Borders of Surfaces
- Extend Surface
- Extracting Isoparametric Curves from Surfaces
- Loft Surfaces
- Pull Curve to Surface
- Sweeping Surfaces with Sweep1
- Sweeping Surfaces with Sweep2
Viewports and Views
- Create New View
- Get and Set Active Viewport
- Ghost Viewport
- Maximize View
- Screen Capture All Viewports
- Screen Capture Viewport
- Set a CPlane to a View
- Set a View's Construction Plane
- Shading Viewports
- Transform Screen to World Coordinates
- Transform World to Screen Coordinates
- Two View Layout
- Zoom Extents of Points
Other
- Attaching User Data to Brep Components
- Boolean Difference
- Calculate Mesh Volume
- Calculate the Angle Between Two Vectors
- Calculate Volume Centroid of Solids
- Change Construction Plane Modes
- CRhinoGetFileDialog to Preview Bitmaps
- Get Brep Face Vertices
- Hatch Boundary
- Intersecting Meshes
- Mesh Boolean Difference
- Mesh Boolean Intersection
- Meshing Objects
- Modify Grip Weight
- Move a Construction Plane
- ON_SimpleArray Utilities
- Replace Object Hatch Pattern
- Rotate Objects Around Center
- Set Command Prompt
- Show Hidden Objects
- Split Brep
- Split Brep Edges
- Synchronize Object Render Color
- Test if an Object is a Circle
Grasshopper
Under Construction
This guide has yet to be ported to this site. Please check back soon for updates.
RhinoScript
Adding Objects
- Add NURBS Curve
- Add Points at Curve Endpoints
- Array Points on Surface
- Auto Label Objects
- Convert Dots to Text
- Create an Ellipsoid Parametrically
- Create an Icosahedron
- Create Box Frames
- Create Center Point on Closed Curve
- Create Square Pipes
- Drawing Steel Shapes
- Fibonacci Spirals
- Mark Points on a Line
- Multiple Pipe
- Platonic and Archimedean Solids
- Polar Arrays
- Random Surface Points
- Revolve Profile Curves
Blocks
- Block Utilities
- Convert Block to Group
- Count Block Instances
- Exploding Block Instances
- Export Block Count to Excel
Curves
- Curve Properties to Excel
- Divide Curve to Dashed
- Divide Curve With Equidistant Points
- Evaluate Curve Torsion
- Export Curve Control Points
- Extract Interpolated Curve Construction Points
- Extract Isocurve Intersection Points
- Find Closest Curve to Point
- Import Interpolated Curve
- Knot Multiplicity
- List Knot Vector of NURBS Curve
- Move Curve Grips
- Offset Curve
- Select Curves by Degree
- Set Length of Curve
- Splitting Curves into Segments
- Straightening Circles
- Trim Curve with Circle
Layers
Picking and Selection
- Determining Selected Groups
- Select by Linetype
- Select Curves by Degree
- Select Dimensions by Style
- Select Named Objects from a List
- Select Planar Meshes
- Select Points by Z Coordinate
- Select Text by Height
- Select Text Objects
- Set Length of Curve
Surfaces
- Array Points on Surface
- Knot Multiplicity
- Morphing a Surface
- Move Surface Grips
- Positioning Objects on a Surface
- Print Surface Control Points
- Random Surface Points
- Revolve Profile Curves
- Script FlowAlongSrf
- Script the Split Command
- Unrolling Surfaces and Polysurfaces
Viewports and Views
Flamingo
- Assign Flamingo Material
- Flamingo Legacy Plant Browser
- Flamingo Object Mapping Properties
- Get Flamingo Material
- Get Mapping Information From Object
- Get Material List
- Get Plant Points
- Import Flamingo Material
- Modify Flamingo Plant
- Query Flamingo Plant Objects
- Query Plant Wireframe
- Tag Object As Flamingo Plant
- Un-tag an Object as a Flamingo Plant
Other
- Airfoil Shapes
- Arc Point Distribution
- Batch Convert AutoCAD Files
- Batch Render
- Batch Save Small
- Calculate the Angle Between Two Vectors
- Circle Packing
- Computer Physical Address
- Count Objects
- Create CutPlane
- Exploding Meshes
- Export Points to Excel
- Exporting Meshes to Geomview
- Extract Thumbnail Preview Images
- Get RGB Color Intensities
- Import Text from File
- Is Dynamic Array Dimensioned
- Join the Dots
- List AutoCAD Export Schemes
- List IGES Export Schemes
- Match Object Attributes
- Match Text Properties
- Mesh Volume Centroid
- Opening 3DM Files
- Perpendicular Vectors
- Rotate Object Around Point
- Rotate Plane Parallel to World
- Save Plugin List to File
- Save Video Card Info
- Saving Files
- Scale Text by Dimension Scale
- Select Multiple Files
- Set Material Colors from Object Colors
- Split File Path String