# Rhino Developer Docs > Official developer resources for Rhino and Grasshopper. Rhino developer tools are royalty free and include support. Base URL: https://developer.rhino3d.com/en/ ## Guides - [1 Vector Mathematics](https://developer.rhino3d.com/en/guides/general/essential-mathematics/vector-mathematics/): This guide discusses vector math including vector representation, vector operation, and line and plane equations. - [1 What's it all about?](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/1-whats-it-all-about/): 1.1 Macros Rhinoceros is based on a command-line interface. This means you can control it by using only the keyboard. You type in the commands and the program will execute them. Ever since the advent … - [1 What's it all about?](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/1-whats-it-all-about/): 1.1 Macros Rhinoceros is based on a command-line interface. This means you can control it by using only the keyboard. You type in the commands and the program will execute them. Ever since the advent … - [2 Matrices and Transformations](https://developer.rhino3d.com/en/guides/general/essential-mathematics/matrices-transformations/): This guide reviews matrix operations and transformations. - [3 Parametric Curves and Surfaces](https://developer.rhino3d.com/en/guides/general/essential-mathematics/parametric-curves-surfaces/): This guide is an in-depth review of parametric curves with special focus on NURBS curves and the concepts of continuity and curvature. - [4 References](https://developer.rhino3d.com/en/guides/general/essential-mathematics/references/): This guide includes the references for Essential Mathematics for Computational Design. - [Accessing Databases](https://developer.rhino3d.com/en/guides/rhinoscript/accessing-databases/): This guide demonstrates how to access databases from VBScript using RhinoScript. - [Adding a Custom Menu](https://developer.rhino3d.com/en/guides/cpp/adding-a-custom-menu/): This short guide demonstrates how to add a custom menu to Rhino's menu using C/C++. - [Adding a NURBS Curve from Control Points](https://developer.rhino3d.com/en/guides/cpp/adding-nurbs-curve-from-control-points/): This guide demonstrates two ways to create a clamped NURBS curve from a set of control points using C/C++. - [Adding Command Line Options](https://developer.rhino3d.com/en/guides/cpp/adding-command-line-options/): This guide discusses how to add a different type of command line options to a custom command. - [Adding Curvature Circles](https://developer.rhino3d.com/en/guides/rhinoscript/adding-curvature-circles/): This guide demonstrates how to add curvature circles using RhinoScript. - [Adding Curve Objects](https://developer.rhino3d.com/en/guides/cpp/adding-curve-objects/): This guide discusses how to add curve objects to Rhino using the Rhino C/C++ SDK. - [Adding Mesh Objects](https://developer.rhino3d.com/en/guides/cpp/adding-mesh-objects/): This guide demonstrates how to add a simple mesh object to Rhino in C/C++. - [Adding Online Help to Your Plugin](https://developer.rhino3d.com/en/guides/cpp/adding-online-help-to-your-plugin/): Discusses how to add online help support to your Rhino plugin using C/C++. - [Adding RhinoScript Support](https://developer.rhino3d.com/en/guides/cpp/adding-rhinoscript-support/): This guide demonstrates how to add RhinoScript support to C++ plugins. - [Adding to Rhino's File Search Path](https://developer.rhino3d.com/en/guides/cpp/adding-to-rhinos-file-search-path/): This brief guide demonstrates how to add a file path to Rhino's file search path using C/C++. - [Adding User Strings to Objects](https://developer.rhino3d.com/en/guides/cpp/adding-user-strings-to-objects/): This guide discusses attaching custom user data to any object using the Rhino C/C++ SDK. - [Adjusting Clipping Planes from Conduits](https://developer.rhino3d.com/en/guides/cpp/adjusting-clipping-planes-from-conduits/): This brief guide discusses adjusting clipping planes from display conduits using C/C++. - [Adjusting Isocurve Density](https://developer.rhino3d.com/en/guides/cpp/adjusting-isocurve-density/): This brief guide demonstrates how to modify the isocurve density of a surface. - [Annotation Objects](https://developer.rhino3d.com/en/guides/cpp/annotation-objects/): This guide discusses the annotation objects provided by the Rhino SDK. - [Applying Non-Uniform Transformations to Objects](https://developer.rhino3d.com/en/guides/cpp/applying-non-uniform-transforms-to-objects/): This brief guide discusses similarity transformations and how to use them on objects. - [Archimedean Spirals](https://developer.rhino3d.com/en/guides/rhinoscript/archimedian-spirals/): This guide demonstrates how to create Archimedean Spirals using RhinoScript. - [Archiving Curves to a File](https://developer.rhino3d.com/en/guides/cpp/archiving-curves-to-a-file/): This guide demonstrates how to write and read curves to a file using C/C++. - [Array Dimensions & Upper Bounds](https://developer.rhino3d.com/en/guides/rhinoscript/array-bounds/): This guide discusses how to determine the dimension and the upper bounds of arrays in RhinoScript. - [Array Utilities](https://developer.rhino3d.com/en/guides/rhinoscript/array-utilities/): This guide presents an array of VBScript Array utilities. - [Avoiding Buffer Overruns in String Functions](https://developer.rhino3d.com/en/guides/cpp/avoiding-buffer-overruns-in-string-functions/): This guide discusses how to write safe string function using C/C++. - [Brep Loop & Edge Directions](https://developer.rhino3d.com/en/guides/opennurbs/brep-loop-edge-directions/): This guide discusses Brep loop end edge directions in the openNURBS toolkit. - [ByRef vs ByVal](https://developer.rhino3d.com/en/guides/rhinoscript/byref-vs-byval/): This guide discusses VBScript argument passing. - [Calculating Permutations](https://developer.rhino3d.com/en/guides/rhinoscript/calculating-permutations/): This guide discusses how to calculate permutations using RhinoScript. - [Calculating the Angle Between Two Points](https://developer.rhino3d.com/en/guides/cpp/calculating-angle-between-two-points/): This guide demonstrates how to calculate the angle between two points using C/C++. - [Calculating the Lengths of NURBS Curves](https://developer.rhino3d.com/en/guides/cpp/calculating-lengths-of-nurbs-curves/): This guide discusses a problem when trying to calculate the length of a NURBS curve using C/C++. - [Canceling Long Processes with ESC](https://developer.rhino3d.com/en/guides/cpp/canceling-long-processes-with-esc/): This guide demonstrates two methods for checking the Escape key. - [Cancelling Scripts](https://developer.rhino3d.com/en/guides/rhinoscript/cancelling-scripts/): This guide demonstrates how to allow scripts to be cancelled by the user. - [Changing Display Precision](https://developer.rhino3d.com/en/guides/cpp/changing-display-precision/): This brief guide demonstrates how to change the unit's display precision of the current document using C/C++. - [Clear Undo and Redo Lists](https://developer.rhino3d.com/en/guides/cpp/clear-undo-redo-lists/): This brief guide demonstrates how to clear Rhino's Undo and Redo lists using C/C++. - [Closest Axis Point](https://developer.rhino3d.com/en/guides/rhinoscript/closest-axis-point/): This guide demonstrates how to find the closest point on a planar curve to an axis. - [Cloud Zoo License Cluster Object](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-licensecluster/): A License Cluster object is a JSON object that represents a list of License objects for a software product issued by a registered issuer in Cloud Zoo. - [Cloud Zoo License Object](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-license/): A License is a JSON object that represents a license for a software product issued by a registered issuer in Cloud Zoo. - [Cloud Zoo Product Object](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-product/): A Product is a JSON object that represents a a product for a specific issuer in Cloud Zoo. A product's id should be correlated with your Plug-In's id. All licenses in the system are related to a … - [Comparing Arrays](https://developer.rhino3d.com/en/guides/rhinoscript/comparing-arrays/): This guide discusses efficient VBScript array comparison. - [Compute: Features](https://developer.rhino3d.com/en/guides/compute/features/): Rhino SDK functions via REST API - [Converting GUIDs to Strings](https://developer.rhino3d.com/en/guides/rhinoscript/converting-guids-to-strings/): This guide demonstrates how convert an array of bytes containing a GUID to a string. - [Converting Text to Geometry](https://developer.rhino3d.com/en/guides/rhinoscript/converting-text-to-geometry/): This guide demonstrates how to convert text to curves using RhinoScript. - [Converting to Grayscale](https://developer.rhino3d.com/en/guides/rhinoscript/converting-to-grayscale/): This guide demonstrates how to convert an RGB color value to grayscale. - [Copying to Excel](https://developer.rhino3d.com/en/guides/rhinoscript/copying-to-excel/): This guide demonstrates how to copy from Rhino and paste into Microsoft Excel using RhinoScript. - [Crash Dump Analysis](https://developer.rhino3d.com/en/guides/cpp/crash-dump-analysis/): This guide discusses how to analyze crash dump files in Visual Studio. - [Create Principal Curvature Curves](https://developer.rhino3d.com/en/guides/cpp/creating-principal-curvature-curves/): This guide demonstrates how to use the ON_EvPrincipalCurvatures function in C/C++. - [Creating a Custom Color Picker](https://developer.rhino3d.com/en/guides/cpp/creating-custom-color-picker/): This guide demonstrates how to replace Rhino's color picker using C/C++. - [Creating a Custom CRhinoGetObject Class](https://developer.rhino3d.com/en/guides/cpp/creating-custom-crhinogetobject-class/): This guide demonstrates how to derive a class from CRhinoGetObject to handle special case object picking. - [Creating and Deploying Plugin Toolbars](https://developer.rhino3d.com/en/guides/rhinocommon/create-deploy-plugin-toolbar/): This guide covers the creation and deployment of plugin toolbars. - [Creating Blocks](https://developer.rhino3d.com/en/guides/cpp/creating-blocks/): This guide demonstrates how to create an instance definition using C/C++. - [Creating GUIDs](https://developer.rhino3d.com/en/guides/rhinoscript/creating-guids/): This guide demonstrates how to create a Globally Unique Identifier (GUID) in RhinoScript. - [Creating Leaders](https://developer.rhino3d.com/en/guides/cpp/creating-leaders/): This brief guide demonstrates how to an annotation leader using C/C++. - [Creating Linear Dimensions](https://developer.rhino3d.com/en/guides/opennurbs/creating-linear-dimensions/): This guide demonstrates how to create linear dimensions using openNURBS. - [Creating Macros](https://developer.rhino3d.com/en/guides/general/creating-command-macros/): A basic tutorial on creating macros (scripting together Rhino commands) - [Creating Plugins that use Cloud Zoo](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-overview/): This guide discusses all the steps needed to create RhinoCommon plugins that support Cloud Zoo. - [Creating Points from Text Objects](https://developer.rhino3d.com/en/guides/cpp/creating-points-from-text-objects/): This brief guide demonstrates how to create point objects based on text entities using C/C++. - [Creating Sublayers](https://developer.rhino3d.com/en/guides/cpp/creating-sublayers/): This brief guide demonstrates how to create sublayers of a parent layer using C/C++. - [Curve Osculating Planes](https://developer.rhino3d.com/en/guides/rhinoscript/curve-osculating-planes/): This guide demonstrates how to calculate osculating planes. - [Custom Picking Grip Objects](https://developer.rhino3d.com/en/guides/cpp/custom-picking-grip-objects/): This guide discusses how to write a custom grip object picker in C/C++. - [Custom Undo Events](https://developer.rhino3d.com/en/guides/cpp/custom-undo-events/): This guide discusses custom undo events. - [Data from Ellipses](https://developer.rhino3d.com/en/guides/opennurbs/data-from-ellipses/): This guide discusses ellipses and their representation in openNURBS. - [Debug in RhinoWIP (Mac)](https://developer.rhino3d.com/en/guides/rhinocommon/debug-rhinowip-mac/): This guide explains how to debug using the RhinoWIP for Mac. - [Determining Curve Object Types](https://developer.rhino3d.com/en/guides/cpp/determining-curve-object-types/): This guide demonstrates how to determine the curve type using C/C++. - [Determining if a Brep is a Box](https://developer.rhino3d.com/en/guides/cpp/determining-if-brep-is-box/): This brief guide discusses how to determine if a brep object is a box using C/C++. - [Determining Language Setting](https://developer.rhino3d.com/en/guides/cpp/determining-language-setting/): This guide demonstrates how to determine the language setting when developing localized C/C++ plugins. - [Determining the Active Viewport](https://developer.rhino3d.com/en/guides/cpp/determining-the-active-viewport/): This guide demonstrates how to determine the active viewport using C/C++. - [Determining the Normal Direction of a Brep Face](https://developer.rhino3d.com/en/guides/cpp/determining-normal-direction-of-brep-face/): This guide demonstrates how to determine the normal direction of a Brep face using C/C++. - [Developer Prerequisites](https://developer.rhino3d.com/en/guides/general/rhino-developer-prerequisites/): This guide describes the main requirements to develop for Rhino. - [Disconnected Recordset Sorting](https://developer.rhino3d.com/en/guides/rhinoscript/disconnected-recordset-sorting/): This guide demonstrates using a disconnected recordset to sort data. - [Disposing of Variables](https://developer.rhino3d.com/en/guides/rhinoscript/disposing-of-variables/): This guide discusses VBScript variables, their scope, and how to clean them up. - [Distance on a Curve from a Point](https://developer.rhino3d.com/en/guides/rhinoscript/distance-on-a-curve-from-a-point/): This guide demonstrates how to determine a point on a curve that is a specified distance from another point using RhinoScript. - [Do NOT Test for Equality](https://developer.rhino3d.com/en/guides/cpp/do-not-test-for-equality/): This brief guide contains a technical tip for floating point programming. - [Draft Angle Contouring](https://developer.rhino3d.com/en/guides/cpp/draft-angle-contouring/): This guide demonstrates how to create contour curves based on draft angle using C/C++. - [Drawing Arrowheads in Display Conduits](https://developer.rhino3d.com/en/guides/cpp/drawing-arrowheads-in-display-conduits/): This guide discusses and demonstrates how to draw arrowheads in Rhino Display Conduit. - [Duplicating Objects with Group](https://developer.rhino3d.com/en/guides/cpp/duplicating-objects-with-group/): This guide demonstrates how to duplicate objects that are members of one or more object groups using C/C++. - [Dynamically Drawing Geometry when Picking Points](https://developer.rhino3d.com/en/guides/cpp/dynamically-drawing-geometry-when-picking-points/): This guide demonstrates how to derive a new class to dynamically draw geometry during a point picking operation using C/C++. - [Dynamically Drawing Polylines](https://developer.rhino3d.com/en/guides/cpp/dynamically-drawing-polylines/): This guide demonstrates how to derive a new class from CRhinoGetPoint to dynamically draw a polyline. - [Dynamically Drawing Text Strings](https://developer.rhino3d.com/en/guides/cpp/dynamically-drawing-text-strings/): This guide demonstrates how to dynamically draw text strings using C/C++. - [Dynamically Inserting Blocks](https://developer.rhino3d.com/en/guides/cpp/dynamically-inserting-blocks/): This guide demonstrates how to insert a block instance at a user specified location using C/C++. - [Efficient Script Loading](https://developer.rhino3d.com/en/guides/rhinoscript/efficient-script-loading/): This guide discusses different techniques of loading and running script and their efficiencies. - [Enabling Orthogonal Mode](https://developer.rhino3d.com/en/guides/cpp/enabling-orthogonal-mode/): This brief guide demonstrates how to enable Rhino's orthogonal mode using C/C++. - [Error Handling](https://developer.rhino3d.com/en/guides/rhinoscript/error-handling/): This guide describes the error handling semantics of VBScript. - [Extracting Curve Edit Points](https://developer.rhino3d.com/en/guides/cpp/extracting-curve-edit-points/): This brief guide demonstrates how to extract a curve's edit points using C/C++. - [Extracting Thumbnail Preview Images](https://developer.rhino3d.com/en/guides/cpp/extracting-thumbnail-preview-images/): This guide demonstrates how to extract the thumbnail preview image from a 3dm file using C/C++. - [Failed to Create VBScript Error](https://developer.rhino3d.com/en/guides/rhinoscript/failed-to-create-vbscript-error/): This guide discusses the Failed to create instance of VBScript engine error and how to fix it. - [Fibonacci Numbers](https://developer.rhino3d.com/en/guides/rhinoscript/fibonacci-numbers/): This guide is a survey of Fibonacci number algorithms in RhinoScript. - [Finding an Annotation object's font](https://developer.rhino3d.com/en/guides/opennurbs/finding-annotation-font/): This guide demonstrates how to get an Annotation object's font using openNURBS. - [Finding Duplicate Strings](https://developer.rhino3d.com/en/guides/rhinoscript/finding-duplicate-strings/): This guide demonstrates finding duplicate string using RhinoScript. - [Finding Perfect Squares](https://developer.rhino3d.com/en/guides/rhinoscript/finding-perfect-squares/): This guide demonstrates how to determine if an integer is a perfect square using RhinoScript. - [Finding Points on Curves at Arc Length Distances](https://developer.rhino3d.com/en/guides/cpp/finding-points-on-curves-at-arc-length-distances/): This guide demonstrates how to find points that are a specified distance from the start of curves using C/C++. - [Finding Rhino's Installation Folder](https://developer.rhino3d.com/en/guides/cpp/finding-rhino-installation-folder/): This guide discusses how to find Rhino's installation folder. - [Finding the Parameter of a Curve at a Point](https://developer.rhino3d.com/en/guides/cpp/finding-parameter-of-curve-at-point/): This brief guide demonstrates how to find the parameter of a curve at a given 3D point using C/C++. - [FPU Issues](https://developer.rhino3d.com/en/guides/cpp/fpu-issues/): This guide discusses math errors and floating point unit issues. - [Frequently Asked Questions](https://developer.rhino3d.com/en/guides/compute/compute-faq/): This guide is a list of Frequently Asked Questions (FAQ) for Rhino.Compute. - [Generating Random Numbers](https://developer.rhino3d.com/en/guides/rhinoscript/generating-random-numbers/): This guide demonstrates how to generate random numbers that fall within a specified range using RhinoScript. - [Getting & Setting Locale](https://developer.rhino3d.com/en/guides/rhinoscript/getting-and-setting-locale/): This guide demonstrates how to format locale-sensitive numbers using RhinoScript. - [Getting Layer Objects](https://developer.rhino3d.com/en/guides/cpp/getting-layer-objects/): This brief guide demonstrates how to get all of the objects on a layer using C/C++. - [Getting Object Attributes](https://developer.rhino3d.com/en/guides/opennurbs/getting-object-attributes/): This guide demonstrates how to obtain attributes from model geometry objects. - [Getting Object UUIDs](https://developer.rhino3d.com/en/guides/cpp/getting-object-uuid/): This brief guide demonstrates how to get an object's UUID using C/C++. - [Getting Script-Added Objects](https://developer.rhino3d.com/en/guides/cpp/getting-script-added-objects/): This guide demonstrates how to locate objects that were added to Rhino by a script using C/C++. - [Getting Started](https://developer.rhino3d.com/en/guides/opennurbs/getting-started/): This guide explains how to use the openNURBS C++ toolkit in your project. - [Getting the Units of the Active Document](https://developer.rhino3d.com/en/guides/cpp/getting-units-of-active-document/): This brief guide demonstrates how to determine the unit system of the active document. - [Grasshopper Data Types](https://developer.rhino3d.com/en/guides/grasshopper/grasshopper-data-types/): This guide covers the basic data types that Grasshopper deals with. - [Hacking and Testing latest Atom rhino-python package](https://developer.rhino3d.com/en/guides/rhinopython/hacking-atom/): This guide describes how to run and test the latest Atom rhino-python package. - [Handling Enter and Escape from Modal Dialogs](https://developer.rhino3d.com/en/guides/cpp/handling-enter-esc-from-modal-dialogs/): This guide discusses preventing modal dialogs from closing when the Enter or Escape key is pressed. - [Highlighting Objects in Conduits](https://developer.rhino3d.com/en/guides/cpp/highlighting-objects-in-conduits/): This guide demonstrates how to highlight objects in a conduit using C/C++. - [Hot & Cold Colors](https://developer.rhino3d.com/en/guides/rhinoscript/hot-cold-color-values/): This guide demonstrates how calculate colors for analysis using RhinoScript. - [Importing Lightweight Extrusions](https://developer.rhino3d.com/en/guides/opennurbs/importing-lightweight-extrusions/): This guide demonstrates how to convert openNURBS Lightweight Extrusion objects into Breps for importing. - [Importing Points from Text Files](https://developer.rhino3d.com/en/guides/rhinoscript/importing-points-from-txt-files/): This guide demonstration of how to open a text file and import data from it into Rhino using RhinoScript. - [Including Scripts](https://developer.rhino3d.com/en/guides/rhinoscript/including-scripts/): This guide discusses how to include or use functions from another source file in RhinoScript. - [Installing Tools (Windows)](https://developer.rhino3d.com/en/guides/cpp/installing-tools-windows/): This guide covers all the necessary tools required to author Rhino plugins in C/C++ on Windows. - [Installing Tools (Windows)](https://developer.rhino3d.com/en/guides/grasshopper/installing-tools-windows/): This guide covers all the necessary tools required to author custom Grasshopper components on Windows. - [Installing Tools (Windows)](https://developer.rhino3d.com/en/guides/rhinocommon/installing-tools-windows/): This guide covers the tools required to author, build and debug Rhino plugins on Windows. - [Instance References with Non-Uniform Scales](https://developer.rhino3d.com/en/guides/opennurbs/instance-references-with-non-uniform-scales/): This guide discusses non-uniform scaling issues when using the openNURBS toolkit - [Isometric Views](https://developer.rhino3d.com/en/guides/rhinoscript/isometric-views/): This guide demonstrates how to create isometric views using RhinoScript. - [Iterating the Geometry Table](https://developer.rhino3d.com/en/guides/cpp/iterating-geometry-table/): This guide demonstrates how to use the C/C++ CRhinoObjectIterator class to iterate through the document. - [Lengths of Curves](https://developer.rhino3d.com/en/guides/rhinoscript/lengths-of-curves/): This guide demonstrates how to calculate the lengths of curve objects using RhinoScript. - [License Format Object](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-licenseformat/): A License Format object defines a pattern for a license key. When a user enters a license key to be added to their account or their team, Cloud Zoo will find a product with a matching license format … - [Licensing & Billing](https://developer.rhino3d.com/en/guides/compute/core-hour-billing/): About Core-Hour Billing When Rhino is logged in to a service account and is running on a Windows Server-based operating system, you will be billed $0.10 per core per hour that Rhino is running … - [Linear Regression](https://developer.rhino3d.com/en/guides/rhinoscript/linear-regression/): This guide demonstrates how to calculate linear regression using RhinoScript. - [List Components](https://developer.rhino3d.com/en/guides/grasshopper/list-components/): This guide demonstrates how to operate on more than one item at a time. - [Loading Plugins at Startup](https://developer.rhino3d.com/en/guides/cpp/loading-plugins-at-startup/): This guide discusses how to configure plugins to load at startup using C/C++. - [Localizing Plugin Toolbars](https://developer.rhino3d.com/en/guides/rhinocommon/localize-plugin-toolbar/): This guide covers the localization of plugin toolbars. - [Lofting Surfaces that Maintain Tangency](https://developer.rhino3d.com/en/guides/cpp/lofting-surface-that-maintain-tangency/): This guide demonstrates how to loft surfaces that maintain tangency using C/C++. - [Logging Debug Info](https://developer.rhino3d.com/en/guides/cpp/logging-debug-info/): This brief guide discusses the use of the ON_TextLog class for debugging C/C++ plugins. - [Making Plugins That Expire](https://developer.rhino3d.com/en/guides/cpp/making-plugins-that-expire/): This guide demonstrates an easy way to make a plugin expire using C/C++. - [Mesh Types](https://developer.rhino3d.com/en/guides/cpp/mesh-types/): This brief guide discusses the types of meshes found in Rhino. - [Modify an Object's Color](https://developer.rhino3d.com/en/guides/cpp/modifying-an-objects-color/): This brief guide discuss how to modify an object's color using C/C++. - [Modifying a Light's Color](https://developer.rhino3d.com/en/guides/cpp/modifying-light-colors/): This brief guide describes how to modify the diffuse color of an existing light using C/C++. - [Modifying Advanced Display Settings](https://developer.rhino3d.com/en/guides/cpp/modifying-advanced-display-settings/): This guide demonstrates how to modify advanced display settings using C/C++. - [Modifying Object Colors](https://developer.rhino3d.com/en/guides/rhinoscript/modifying-object-colors/): This guide demonstrates how to modify the color of objects using RhinoScript. - [Moving Curve and Surface Grips](https://developer.rhino3d.com/en/guides/cpp/moving-curve-and-surface-grips/): This guide demonstrates how to move curve and surface object grips using C/C++. - [Moving Mesh Vertices](https://developer.rhino3d.com/en/guides/cpp/moving-mesh-vertices/): This brief guide demonstrates how to move mesh vertices using C/C++. - [Multidimensional Arrays](https://developer.rhino3d.com/en/guides/rhinoscript/multidimensional-arrays/): This guide discusses rectangular and ragged multidimensional arrays. - [Nothing vs Empty vs Null](https://developer.rhino3d.com/en/guides/rhinoscript/nothing-empty-null/): This guide discusses what nothing means in VBScript. - [Object Properties Page Icons](https://developer.rhino3d.com/en/guides/cpp/object-properties-page-icons/): This brief guide discusses how to provide an icon for a custom object properties page using C/C++. - [Object Selection with Options](https://developer.rhino3d.com/en/guides/rhinocommon/object-selection-options/): This guide covers how to pick some objects, select command options, return to picking more objects, all while keeping your current selection set. - [Offsetting Curves on Surfaces](https://developer.rhino3d.com/en/guides/cpp/offsetting-curves-on-surfaces/): This guide demonstrates how to offset a curve on a surface using C/C++. - [Offsetting Meshes](https://developer.rhino3d.com/en/guides/rhinoscript/offsetting-meshes/): This guide demonstrates how to offset and solidify a mesh using RhinoScript. - [Open a 3DM file](https://developer.rhino3d.com/en/guides/cpp/opening-a-3dm-file/): This brief guide demonstrates how to open a Rhino 3DM file from a plugin command using C/C++. - [Optional Arguments](https://developer.rhino3d.com/en/guides/rhinoscript/optional-arguments/): This guide demonstrates how to implement optional arguments in VBScript. - [Options Pages Best Practices](https://developer.rhino3d.com/en/guides/rhinocommon/options_pages_best_practices/): Discusses the best practices for writing options or document properties pages. - [Orienting Objects on Surfaces](https://developer.rhino3d.com/en/guides/cpp/orienting-objects-on-surfaces/): This guide demonstrates how to orient objects on a surface using C/C++. - [Package Restore in Grasshopper](https://developer.rhino3d.com/en/guides/yak/package-restore-in-grasshopper/): How can Grasshopper use Yak to make your life easier? - [Padding Digits](https://developer.rhino3d.com/en/guides/rhinoscript/pad-digits/): This short guide demonstrate how to pad numbers with leading zeros in RhinoScript. - [Parentheses Error](https://developer.rhino3d.com/en/guides/rhinoscript/parentheses/): This guide discusses the Cannot use parentheses when calling a Sub error that occurs in RhinoScript. - [Parsing Text Files](https://developer.rhino3d.com/en/guides/rhinoscript/parsing-text-files/): This guide discusses how to convert data read from a text file into its proper data type in RhinoScript. - [Periodic Curves & Surfaces](https://developer.rhino3d.com/en/guides/opennurbs/periodic-curves-and-surfaces/): This guide discusses periodic curves and surfaces and openNURBS toolkit. - [Persistent Settings](https://developer.rhino3d.com/en/guides/rhinoscript/persistent-settings/): This brief guide demonstrates how to use private variables for persistent settings in RhinoScript. - [Picking Brep Components](https://developer.rhino3d.com/en/guides/cpp/picking-brep-components/): This brief guide discusses picking components of a Brep using C/C++. - [Picking Objects without CRhinoGetObject](https://developer.rhino3d.com/en/guides/cpp/picking-objects-without-crhinogetobject/): This guide demonstrates an alternate technique to picking objects without using CRhinoGetObject. - [Picking Point Objects](https://developer.rhino3d.com/en/guides/cpp/picking-point-objects/): This brief guide demonstrates how to use CRhinoGetObject to pick point objects using C/C++. - [Picking Surface Point](https://developer.rhino3d.com/en/guides/cpp/picking-surface-points/): This brief guide discusses how to pick points on a surface using C/C++. - [Picking Text Dots](https://developer.rhino3d.com/en/guides/cpp/picking-text-dots/): This brief guide demonstrates how to interactively select Text Dot objects with C/C++ CRhinoGetObject. - [Plugin Loading](https://developer.rhino3d.com/en/guides/cpp/plugin-loading/): This guide discusses how Rhino loads C/C++ plugins. - [Plugin Search Order](https://developer.rhino3d.com/en/guides/cpp/plugin-search-order/): This guide discusses the order in which Rhino searches and loads plugins. - [Plugin User Data](https://developer.rhino3d.com/en/guides/rhinocommon/plugin-user-data/): This guide gives an overview of user data and how to use it with RhinoCommon. - [Pre- and Post-Picking Objects](https://developer.rhino3d.com/en/guides/cpp/pre-and-post-picking-objects/): This brief guide demonstrates how to both pre-pick and post-pick objects using C/C++. - [Printing a Layer's Full Path](https://developer.rhino3d.com/en/guides/cpp/printing-layer-full-path/): This brief guide demonstrates now to obtain a layer's full path using C/C++. - [Project Curves onto Breps](https://developer.rhino3d.com/en/guides/cpp/project-curves-onto-breps/): This guide demonstrates how to project a curve onto a brep using C/C++. - [Projecting Points to Breps](https://developer.rhino3d.com/en/guides/cpp/projecting-points-to-breps/): This brief guide demonstrates how to project points onto Brep objects using C/C++. - [Python Basic Syntax](https://developer.rhino3d.com/en/guides/rhinopython/python-statements/): This guide presents an overview of Python syntax. - [Python Scripting in Rhino](https://developer.rhino3d.com/en/guides/rhinopython/python-script-introduction/): This guide provides an overview of the scripting with Python in Rhino. - [Quadratic Solver](https://developer.rhino3d.com/en/guides/rhinoscript/quadratic-solver/): This brief guide demonstrates how to solve quadratic equations in RhinoScript. - [Quick Sort Key Value Pairs](https://developer.rhino3d.com/en/guides/rhinoscript/quick-sort-key-value-pair/): This guide demonstrates how to sort an array of key-value pairs in RhinoScript. - [RDK Automatic UI](https://developer.rhino3d.com/en/guides/cpp/rdk-raw-auto-ui/): This document describes how to use the RDK's automatic UI classes in C/C++. - [RDK Current Environment](https://developer.rhino3d.com/en/guides/cpp/rdk-current-environment-classes/): This document describes how to use the RDK current environment class in C/C++. - [RDK Decals](https://developer.rhino3d.com/en/guides/cpp/rdk-decal-classes/): This document describes how to use the RDK decal classes in C/C++. - [RDK Dithering](https://developer.rhino3d.com/en/guides/cpp/rdk-dithering-classes/): This document describes how to use the RDK dithering class in C/C++. - [RDK Document Contents](https://developer.rhino3d.com/en/guides/cpp/rdk-contents-classes/): This document describes how to use the RDK document contents class in C/C++. - [RDK Ground Plane](https://developer.rhino3d.com/en/guides/cpp/rdk-ground-plane-classes/): This document describes how to use the RDK ground plane class in C/C++. - [RDK Linear Workflow](https://developer.rhino3d.com/en/guides/cpp/rdk-linear-workflow-classes/): This document describes how to use the RDK linear workflow class in C/C++. - [RDK Post Effect Classes](https://developer.rhino3d.com/en/guides/cpp/rdk-post-effects/): This document describes how to use the RDK's post effect classes in C/C++. - [RDK Render Content](https://developer.rhino3d.com/en/guides/cpp/rdk-render-content/): This document describes how to use the RDK render content class in C/C++. - [RDK Rendering](https://developer.rhino3d.com/en/guides/cpp/rdk-rendering-classes/): This document describes how to use the RDK's rendering classes in C/C++. - [RDK Safe Frame](https://developer.rhino3d.com/en/guides/cpp/rdk-safe-frame-classes/): This document describes how to use the RDK safe frame class in C/C++. - [RDK Skylight](https://developer.rhino3d.com/en/guides/cpp/rdk-skylight-classes/): This document describes how to use the RDK skylight class in C/C++. - [RDK Sun](https://developer.rhino3d.com/en/guides/cpp/rdk-sun-classes/): This document describes how to use the RDK sun classes in C/C++. - [RDK Tasks](https://developer.rhino3d.com/en/guides/cpp/rdk-task-classes/): This document describes how to use the RDK task classes in C/C++. - [Read & Write UTF-8 Files](https://developer.rhino3d.com/en/guides/rhinoscript/read-write-utf8/): This brief guide demonstrates how to read and write UTF-8 encoded text files using VBScript. - [Reading Excel Files](https://developer.rhino3d.com/en/guides/rhinoscript/reading-excel-files/): This brief guide demonstrates how to read a Microsoft Excel file from RhinoScript. - [Reading Per-Face Render Materials](https://developer.rhino3d.com/en/guides/opennurbs/reading-per-face-render-materials/): This brief guide describes how to read render materials from Brep faces using the openNURBS toolkit. - [Reading Render Meshes](https://developer.rhino3d.com/en/guides/opennurbs/reading-render-meshes/): This brief guide describes how to read render meshes using the openNURBS toolkit. - [Reading Subdivision Surfaces](https://developer.rhino3d.com/en/guides/opennurbs/reading-subdivision-surfaces/): This brief guide describes how to read subdivision surfaces using the openNURBS toolkit. - [Registering Plugins (Windows)](https://developer.rhino3d.com/en/guides/rhinocommon/registering-plugins-windows/): This guide provides instructions for registering plugins for Windows. - [Renaming Layers](https://developer.rhino3d.com/en/guides/cpp/renaming-layers/): This brief guide discusses how to rename a layer using C/C++. - [Render Engine Integration - Introduction](https://developer.rhino3d.com/en/guides/rhinocommon/render-engine-integration-introduction/): This guide introduces integrating a render engine in Rhino using RhinoCommon. - [Replacing Points with Blocks](https://developer.rhino3d.com/en/guides/rhinoscript/replacing-points-with-blocks/): This guide demonstrates how to replace point objects with block objects using RhinoScript. - [Retrieving authentication and authorization tokens](https://developer.rhino3d.com/en/guides/rhinocommon/rhinoaccounts/ra-example/): This guide gives an example of how to obtain authentication and authorization tokens within Rhino from Rhino Accounts. - [Retrieving Rhino Data from the Clipboard](https://developer.rhino3d.com/en/guides/cpp/retreiving-rhino-data-from-clipboard/): This guide demonstrates how to access Rhino data from the Windows Clipboard using C/C++. - [Reversing Arrays](https://developer.rhino3d.com/en/guides/rhinoscript/reversing-arrays/): This brief guide demonstrates how to reverse an array using RhinoScript. - [Revoking authorization tokens](https://developer.rhino3d.com/en/guides/rhinocommon/rhinoaccounts/ra-revoke/): This guide discusses authorization token revocation within Rhino from Rhino Accounts. - [RhinoScriptSyntax in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-introduction/): This guide provides an overview of the RhinoScriptSyntax in Python. - [Rounding Numbers](https://developer.rhino3d.com/en/guides/rhinoscript/rounding-numbers/): This guide discusses number rounding in RhinoScript. - [Run a Rhino command from a Plugin](https://developer.rhino3d.com/en/guides/rhinocommon/run-rhino-command-from-plugin/): This guide covers the proper techniques when running a Rhino command from within the context of a plugin command. - [Running Rhino Commands from Plugins](https://developer.rhino3d.com/en/guides/cpp/running-rhino-commands-from-plugins/): This guide discusses the proper techniques to use when running a Rhino command from within the context of a C/C++ plugin command. - [Running Rhino from the Command Line](https://developer.rhino3d.com/en/guides/cpp/running-rhino-from-command-line/): This guide explains how to run Rhino from the command line. - [Running Scripts from Macros](https://developer.rhino3d.com/en/guides/rhinoscript/running-scripts-from-macros/): This guide explains how to set up and run macros and RhinoScripts. - [Saving File Summary Info](https://developer.rhino3d.com/en/guides/rhinoscript/saving-file-summary-info/): This brief guide demonstrates how to display the File Properties dialog when saving Rhino files using RhinoScript. - [Saving Persistent Settings](https://developer.rhino3d.com/en/guides/cpp/saving-persistent-settings/): This guide discusses how to save plugin settings to the Registry using C/C++. - [Script Demand Loading](https://developer.rhino3d.com/en/guides/rhinoscript/script-demand-load/): This guide demonstrates how to demand load and run RhinoScript routines. - [Selecting Curves by Type](https://developer.rhino3d.com/en/guides/rhinoscript/selecting-curves-by-type/): This brief guide demonstrates how to select linear and non-linear curves using RhinoScript. - [Selecting Objects](https://developer.rhino3d.com/en/guides/cpp/selecting-objects/): This guide demonstrates interactively selecting objects using C/C++. - [Setting Up a Cage Edit](https://developer.rhino3d.com/en/guides/cpp/setting-up-a-cage-edit/): This guide demonstrates how to setup a cage editing scenario using C/C++. - [Setting Viewport Titles](https://developer.rhino3d.com/en/guides/cpp/setting-viewport-titles/): This brief guide demonstrates how to set the title of a viewport using C/C++. - [Shading Individual Objects](https://developer.rhino3d.com/en/guides/cpp/shading-individual-objects/): This guide demonstrates how to shade individual objects using C/C++. - [Shortest Line between two Lines](https://developer.rhino3d.com/en/guides/rhinoscript/shortest-line/): This brief guide demonstrates how to calculate the shortest line between two lines. - [Showing Objects Transforming Dynamically](https://developer.rhino3d.com/en/guides/cpp/showing-objects-transforming-dynamically/): This guide demonstrates how to dynamically draw transforming objects using C/C++. - [Simple Component](https://developer.rhino3d.com/en/guides/grasshopper/simple-component/): This guide gives an exhaustive, step by step explanation of how to build a simple Grasshopper component. - [Skipping current iteration in a For loop](https://developer.rhino3d.com/en/guides/rhinoscript/skipping-iterations-for-loop/): This guide demonstrates how to skip the current iteration in a For Loop. - [Sorting VBS Arrays with .NET](https://developer.rhino3d.com/en/guides/rhinoscript/sorting-vbs-arrays-with-net/): This guide demonstrates how to use the .NET Framework to sort arrays in RhinoScript. - [Superfluous Knots](https://developer.rhino3d.com/en/guides/opennurbs/superfluous-knots/): This guide discusses superfluous knots and the openNURBS toolkit. - [Supporting High DPI Displays](https://developer.rhino3d.com/en/guides/cpp/supporting-high-dpi-displays/): This guide discusses the support of high resolution monitors. - [Supporting High DPI Displays](https://developer.rhino3d.com/en/guides/rhinocommon/supporting-high-dpi-displays/): This guide discusses the support of high resolution monitors. - [Tabbed Panels](https://developer.rhino3d.com/en/guides/rhinocommon/tabbed-panels/): Discusses creating tabbed panels in RhinoCommon plugins. - [Testing for Curves on Surfaces](https://developer.rhino3d.com/en/guides/cpp/testing-for-curves-on-surfaces/): This guide discusses how to test to see if a curve lies on a surface using C/C++. - [Testing for Empty Arrays](https://developer.rhino3d.com/en/guides/rhinoscript/testing-for-empty-arrays/): This guide discusses how to determine a VBScript array is empty. - [Testing for Object Visibility](https://developer.rhino3d.com/en/guides/opennurbs/testing-object-visibility/): This guide demonstrates how to detect whether or not an object is visible using openNURBS. - [The Anatomy of a Package](https://developer.rhino3d.com/en/guides/yak/the-anatomy-of-a-package/): This guide explains the structure of a Yak package. - [The Package Manifest](https://developer.rhino3d.com/en/guides/yak/the-package-manifest/): What is a 'package manifest' and what should it include? - [The Package Server](https://developer.rhino3d.com/en/guides/yak/the-package-server/): This guide introduces the Rhino Package Manager server - https://yak.rhino3d.com - [Toggling the Status Bar](https://developer.rhino3d.com/en/guides/cpp/toggling-status-bar/): This brief guide demonstrates how to show or hide the Rhino status bar using C/C++. - [Tracking Camera Changes with Conduits](https://developer.rhino3d.com/en/guides/cpp/tracking-camera-changes-with-conduits/): This guide demonstrates how to use a conduit that uses notifiers to track camera information using C/C++. - [Transforming Breps](https://developer.rhino3d.com/en/guides/cpp/transforming-breps/): This brief guide demonstrates two ways of transforming Breps using C/C++ - [Traversing Instance Definitions](https://developer.rhino3d.com/en/guides/opennurbs/traverse-instance-definitions/): This brief guide describes how to read instance definitions using the openNURBS toolkit. - [Triangulating Polygons](https://developer.rhino3d.com/en/guides/cpp/triangulating-polygons/): This guide demonstrates how to triangulate polygons using C/C++. - [Trimming Curves](https://developer.rhino3d.com/en/guides/rhinoscript/trimming-curves/): This guide demonstrates how to trim curves using RhinoScript. - [Type Casting Rhino Objects](https://developer.rhino3d.com/en/guides/cpp/type-casting-rhino-objects/): This guide discusses type casting Rhino C/C++ SDK objects. - [Uncommon Numeric Conversions](https://developer.rhino3d.com/en/guides/rhinoscript/uncommon-numeric-conversions/): This brief guide demonstrates some useful (or not so useful) numeric conversions in RhinoScript. - [Unifying Mesh Normals](https://developer.rhino3d.com/en/guides/cpp/unifying-mesh-normals/): This brief guide demonstrates how to unify the normal direction of mesh faces using C/C++. - [User Data](https://developer.rhino3d.com/en/guides/cpp/user-data/): This guide covers user data using C/C++. - [Using .NET Classes](https://developer.rhino3d.com/en/guides/rhinoscript/using-net-classes-in-vbs/): This guide discusses several .NET classes that work with RhinoScript. - [Using ActiveX Controls](https://developer.rhino3d.com/en/guides/cpp/using-activex-controls/): This brief guide discusses how to use ActiveX controls in C/C++ plugins. - [Using NuGet](https://developer.rhino3d.com/en/guides/rhinocommon/using-nuget/): This guide describes how developers can use the NuGet packages available for RhinoCommon and Grasshopper. - [Using RhinoCommon from Python](https://developer.rhino3d.com/en/guides/rhinopython/using-rhinocommon-from-python/): This brief guide cover using RhinoCommon from Python. - [Using the sizeof operator with TCHAR and wchar_t](https://developer.rhino3d.com/en/guides/cpp/using-sizeof-with-tchar-wchar-t/): This guide outlines some common mistakes using sizeof when dealing with UNICODE strings. - [VBScript RegExp Objects](https://developer.rhino3d.com/en/guides/rhinopython/python-regexp-objects/): This guide discusses the VBScript RegExp object. - [VBScript RegExp Objects](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-regexp-objects/): This guide discusses the VBScript RegExp object. - [VBScript Statements](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-statements/): This guide presents an overview of VBScript statements. - [What are VBScript and RhinoScript?](https://developer.rhino3d.com/en/guides/rhinoscript/what-are-vbscript-rhinoscript/): This guide explains what VBScript and RhinoScript are. - [What is a Grasshopper Component?](https://developer.rhino3d.com/en/guides/grasshopper/what-is-a-grasshopper-component/): This guide gives an overview of custom Grasshopper components. - [What is a LAN Zoo Plugin?](https://developer.rhino3d.com/en/guides/rhinocommon/what-is-a-zoo-plugin/): This guide describes what a LAN Zoo Plugin is and what is does. - [What is Hops](https://developer.rhino3d.com/en/guides/compute/what-is-hops/): Hops lets you simplify large complex definitions. Grasshopper definitions can be big, complicated, and repetitive. This state of disorganization is sometimes called Spaghetti Code. Many factors … - [What is openNURBS?](https://developer.rhino3d.com/en/guides/opennurbs/what-is-opennurbs/): This guide gives an overview of the openNURBS toolkit. - [What is Rhino.Python?](https://developer.rhino3d.com/en/guides/rhinopython/what-is-rhinopython/): This guide is an overview of Python in Rhino. - [What is RhinoCommon?](https://developer.rhino3d.com/en/guides/rhinocommon/what-is-rhinocommon/): This guide gives an overview of RhinoCommon. - [What is the C/C++ SDK?](https://developer.rhino3d.com/en/guides/cpp/what-is-the-cpp-sdk/): This guide gives an overview of C/C++ SDK. - [What is the Package Manager?](https://developer.rhino3d.com/en/guides/yak/what-is-yak/): This guide introduces the Rhino Package Manager (a.k.a. Yak). - [What is the RDK?](https://developer.rhino3d.com/en/guides/cpp/what-is-the-rdk/): This guide describes the Rhino Renderer Development Kit (AKA RDK) and its features. - [Where to find help...](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/where-to-find-help/): Forums: The RhinoPython community in Discourse is very active and offers a wonderful resource for posting questions/answers and finding help on just about anything!: … - [Window Selecting](https://developer.rhino3d.com/en/guides/cpp/window-selecting/): This brief guide demonstrates how to drag a window to select objects. - [Writing Code for 32- and 64-bit Compilers](https://developer.rhino3d.com/en/guides/cpp/writing-code-for-32-and-64-bit-compilers/): This guide outlines some considerations when writing C/C++ code for both 32- and 64-bit compilers. - [Writing to Text Files](https://developer.rhino3d.com/en/guides/cpp/writing-to-text-files/): This brief guide discuss writing text files using C/C++. - [Yak Command Line Tool Reference](https://developer.rhino3d.com/en/guides/yak/yak-cli-reference/): A reference for the Yak command line tool. - [Your First Python Script in Rhino](https://developer.rhino3d.com/en/guides/rhinopython/your-first-python-script-in-rhino-windows/): This guide demonstrates how to create Python scripts in Rhino. - [Commas & Periods](https://developer.rhino3d.com/en/guides/rhinocommon/commas-and-periods/): This guide demonstrates how to consistently read/write numbers to strings. - [Creating a Skin (Windows)](https://developer.rhino3d.com/en/guides/rhinocommon/creating-a-skin/): This guide outlines the tools for RhinoCommon developers to wrap their application around Rhino by creating custom Skin. Custom skins are supported on Windows only. - [Creating LAN Zoo Plugins](https://developer.rhino3d.com/en/guides/rhinocommon/creating-zoo-plugins/): This guide discusses how to create plugins for the LAN Zoo. - [Creating Plugins that use the LAN Zoo](https://developer.rhino3d.com/en/guides/cpp/creating-zoo-plugins/): This guide discusses how to create C/C++ plugins that can obtain licenses from the LAN Zoo. - [Creating your first C/C++ plugin for Rhino](https://developer.rhino3d.com/en/guides/cpp/your-first-plugin-windows/): This guide walks you through your first plugin for Rhino for Windows using C/C++ and Visual Studio. - [Display Conduits](https://developer.rhino3d.com/en/guides/rhinocommon/display-conduits/): This guide gives an overview of Display Conduits and how to use them to access Rhino's display pipeline. - [Extending the GUI](https://developer.rhino3d.com/en/guides/grasshopper/extending-the-gui/): This guide describes how to extend the default behaviour, functionality, and graphical user interface (GUI) of Grasshopper document objects. - [How Hops Works](https://developer.rhino3d.com/en/guides/compute/how-hops-works/): The communication process between Hops and a Hops compliant server is a little more nuanced than simply sending and receiving a single http request and response. The first step in the process occurs … - [How to create a virtual machine (VM) on Azure](https://developer.rhino3d.com/en/guides/compute/creating-an-Azure-VM/): Creating the Virtual Machine In this guide, we will walk through the process of setting up a virtual machine using Azure services. To start, please confirm that you have a valid Azure subscription and … - [Installing Tools (Mac)](https://developer.rhino3d.com/en/guides/grasshopper/installing-tools-mac/): This guide covers all the necessary tools required to author Grasshopper components on Mac. - [Installing Tools (Mac)](https://developer.rhino3d.com/en/guides/rhinocommon/installing-tools-mac/): This guide covers all the necessary tools required to author Rhino plugins on Mac. - [Linking with openNURBS](https://developer.rhino3d.com/en/guides/opennurbs/linking-with-opennurbs/): This guide discusses openNURBS linking. - [Multi-threaded components](https://developer.rhino3d.com/en/guides/grasshopper/multi-treaded-components/): A guide to parallel computing in Grasshopper - [Points in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-points/): This guide provides an overview of the RhinoScriptSyntax Point Geometry in Python. - [Python Procedures](https://developer.rhino3d.com/en/guides/rhinopython/python-procedures/): This guide discusses Python procedures. - [Register as an Issuer in Cloud Zoo](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-issuer/): This guide explains how to register yourself as an issuer in Cloud Zoo - [Render Engine Integration - Modal](https://developer.rhino3d.com/en/guides/rhinocommon/render-engine-integration-modal/): This guide, the second of a series, demonstrates integrating a modal rendering engine using RhinoCommon. - [Running and Debugging Compute Locally](https://developer.rhino3d.com/en/guides/compute/development/): Deploy Compute for Production - [Scripting Methods for RDK (Windows)](https://developer.rhino3d.com/en/guides/rhinoscript/scripting-methods-for-rdk/): This guide enumerates the RhinoScript methods for accessing the RDK. - [Simple Mathematics Component](https://developer.rhino3d.com/en/guides/grasshopper/simple-mathematics-component/): This guide contains a brief example of a component that deals with some simple mathematics and multiple input and output parameters. - [Task Capable Components](https://developer.rhino3d.com/en/guides/grasshopper/programming-task-capable-component/): A guide to programming multi-threaded components in Grasshopper - [The Why and How of Data Trees](https://developer.rhino3d.com/en/guides/grasshopper/the-why-and-how-of-data-trees/): This guide explains why data trees are used in Grasshopper. - [VBScript Procedures](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-procedures/): This guide discusses VBScript procedures. - [What is Rhino3dm?](https://developer.rhino3d.com/en/guides/opennurbs/what-is-rhino3dmio/): This guide covers Rhino3dm builds of openNURBS. - [What's New and Update Guide](https://developer.rhino3d.com/en/guides/opennurbs/migration-guide/): This guide contains information to help you use the current version of openNURBS. - [What's New?](https://developer.rhino3d.com/en/guides/cpp/whats-new/): This brief guide outlines the new and changed features in the Rhino C/C++ SDK. - [What's New?](https://developer.rhino3d.com/en/guides/rhinocommon/whats-new/): This brief guide outlines the changes in the RhinoCommon SDK. - [Where to find help...](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/where-to-find-help/): Forums The RhinoScript community is very active and offers a wonderful resource for posting questions/answers and finding help on just about anything!: https://discourse.mcneel.com/c/scripting Related … - [Your First Component (Windows)](https://developer.rhino3d.com/en/guides/grasshopper/your-first-component-windows/): This guide walks you through your first custom Grasshopper component library using Visual Studio. - [Your First Renderer Plugin (Windows)](https://developer.rhino3d.com/en/guides/cpp/your-first-renderer-plugin-windows/): This guide has yet to be authored or ported. - [Add Products to Cloud Zoo](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-add-products/): Once you are registered as an issuer, you can add, view, and modify products in Cloud Zoo using the endpoints described below. - [Calling Compute with Python](https://developer.rhino3d.com/en/guides/compute/compute-python-getting-started/): This guide covers all the necessary tools required to get started with the Rhino Compute Service using Python. - [Creating Plugins that use the LAN Zoo](https://developer.rhino3d.com/en/guides/rhinocommon/rhinocommon-zoo-plugins/): This guide discusses how to create RhinoCommon plugins that can obtain licenses the LAN Zoo. - [Custom Attributes](https://developer.rhino3d.com/en/guides/grasshopper/custom-attributes/): This guide contains a step-by-step walkthrough regarding custom object display. - [Defining New Plugin Commands](https://developer.rhino3d.com/en/guides/cpp/defining-new-plugin-commands/): This guide discusses Rhino commands and how define new commands using C/C++. - [Grasshopper Icons](https://developer.rhino3d.com/en/guides/grasshopper/grasshopper-icons/): This guide contains the original vector graphics used for Grasshopper icons. - [How to create a virtual machine (VM) on Amazon Web Service](https://developer.rhino3d.com/en/guides/compute/creating-an-aws-vm/): Overview In this guide, we will walk through the process of setting up a virtual machine using Amazon Elastic Compute Cloud (Amazon EC2). To start, you will need to confirm your AWS subscription. If … - [How to read and write a simple file](https://developer.rhino3d.com/en/guides/rhinopython/python-reading-writing/): Use Python to read and write files. - [License Agreement](https://developer.rhino3d.com/en/guides/cpp/license-agreement/): This guide provides the license agreement of C/C++ SDK. - [List of Points in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-list-points/): This guide provides an overview of a rhinoscriptsyntax list of Point Geometry in Python. - [Moving to .NET Core](https://developer.rhino3d.com/en/guides/rhinocommon/moving-to-dotnet-core/): This guide walks you through making the transition to .NET Core - [NURBS Geometry Overview](https://developer.rhino3d.com/en/guides/opennurbs/nurbs-geometry-overview/): This guide is brief overview of NURBS geometry from a mathematical and technical perspective. - [Object Types](https://developer.rhino3d.com/en/guides/cpp/object-types/): This guide is an overview of the Rhino geometric object types. - [Python Data Types](https://developer.rhino3d.com/en/guides/rhinopython/python-datatypes/): This guide is an overview of Python Data Types. - [Python Variables](https://developer.rhino3d.com/en/guides/rhinopython/python-variables/): This guide provides an overview of Python variables. - [Render Engine Integration - ChangeQueue](https://developer.rhino3d.com/en/guides/rhinocommon/render-engine-integration-changequeue/): This guide, the third of a series, discusses using the ChangeQueue to digest file content for a render engine. - [Simple Geometry Component](https://developer.rhino3d.com/en/guides/grasshopper/simple-geometry-component/): This guide demonstrates how to use some of the simpler geometry types and classes in RhinoCommon & Grasshopper. - [Textures and Mappings](https://developer.rhino3d.com/en/guides/cpp/textures-and-mappings/): This guide discusses materials, textures, and texture mapping using C/C++. - [The Hops Component](https://developer.rhino3d.com/en/guides/compute/hops-component/): Hops adds functions to Grasshopper. - [VBScript Variable Hoisting](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-variable-hoisting/): This guides discusses variable scoping and hoisting in VBScript. - [VBScript Variables](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-variables/): This guide provides an overview of VBScript variables. - [What is a Rhino Plugin?](https://developer.rhino3d.com/en/guides/general/what-is-a-rhino-plugin/): This guide outlines what a Rhino plugin is and what forms it comes in. - [Your First Component (Mac)](https://developer.rhino3d.com/en/guides/grasshopper/your-first-component-mac/): This guide walks you through your first Grasshopper component for Rhino for Mac using RhinoCommon and Visual Studio Code. - [Your First Plugin (Windows)](https://developer.rhino3d.com/en/guides/rhinocommon/your-first-plugin-windows/): This guide walks you through your first plugin for Rhino for Windows using RhinoCommon and Visual Studio. - [2 Python Essentials](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/2-python-essentials/): 2.1 Language Origin Like conversational languages, programming languages group together in clusters. Python is a high level language, indicating that the language was designed to be easy for humans to … - [2 RhinoScript Essentials](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/2-vbscript-essentials/): 2.1 Language Origin Like conversational languages, programming languages group together in clusters. There are language families and language generations. VBScript is a member of the BASIC language … - [Accessing Rendering Assets](https://developer.rhino3d.com/en/guides/opennurbs/accessing-rendering-assets/): OpenNURBS and Rhino3dm provide direct access to rendering information without the need for Rhino. - [Brep Data Structure](https://developer.rhino3d.com/en/guides/cpp/brep-data-structure/): This guide discusses the Boundary Representation (B-rep) in the context of openNURBS. - [Calling Compute with JavaScript](https://developer.rhino3d.com/en/guides/compute/compute-javascript-getting-started/): This guide covers all the necessary tools required to get started with the Rhino Compute Service through JavaScript. - [Code-Driven File IO](https://developer.rhino3d.com/en/guides/rhinocommon/code-driven-file-io/): This guide gives an overview of using RhinoCommon to drive file format IO with code - [Colors in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-color/): This guide provides an overview of a RhinoScriptSyntax Color type in Python. - [Creating a Rhino-dependent C++ DLL](https://developer.rhino3d.com/en/guides/cpp/create-dependent-dll/): This guide outlines the process of creating a Rhino-dependent C++ DLL. - [Creating a Skin](https://developer.rhino3d.com/en/guides/cpp/creating-a-skin/): This guide outlines the tools for C/C++ developers to wrap their application around Rhino by creating custom Skin. - [Custom Component Options](https://developer.rhino3d.com/en/guides/grasshopper/custom-component-options/): This guide discusses how to add custom options to a component and have them included in *.gh/.ghx* (de)serialization. - [Deployment to Production Servers](https://developer.rhino3d.com/en/guides/compute/deploy-to-iis/): How to deploy rhino compute for production on a machine running Internet Information Services (IIS). - [Event Watchers](https://developer.rhino3d.com/en/guides/rhinocommon/event-watchers/): This guide covers how to synchronize a control's appearance with what is going on in Rhino using event watchers. - [Frequently Asked Questions](https://developer.rhino3d.com/en/guides/general/frequently-asked-questions/): This guide is a list of Frequently Asked Questions (FAQ). - [Implement HTTPS Callbacks](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-implement-http-callbacks/): This guide explains all the HTTPS callbacks that need to be implemented by an issuer of Cloud Zoo. - [Light Attenuation](https://developer.rhino3d.com/en/guides/cpp/light-attenuation/): This brief guide discusses light attenuation in Rhino. - [Lines in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-line/): This guide provides an overview of a RhinoScriptSytntax Line Geometry in Python. - [Migrate your plug-in project to Rhino 8](https://developer.rhino3d.com/en/guides/cpp/migrate-your-plugin-windows-8/): This guide walks you through migrating your Rhino 7 plug-in project to Rhino 8. - [Render Engine Integration - Interactive Viewport](https://developer.rhino3d.com/en/guides/rhinocommon/render-engine-integration-interactive-viewport/): This guide, the fourth of a series, covers integrating render engines in Rhino's viewport. - [Script Editor Options](https://developer.rhino3d.com/en/guides/scripting/editor-configs/): Provides information on editing and language support options in Script Editor - [Simple Data Types](https://developer.rhino3d.com/en/guides/grasshopper/simple-data-types/): This guide discusses how Grasshopper deals with data items and types. - [VBScript Data Types](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-datatypes/): This guide is an overview of VBScript Data Types. - [Vectors in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-vectors/): This guide provides an overview of RhinoScriptSyntax Vector Geometry in Python. - [Where to find help...](https://developer.rhino3d.com/en/guides/rhinopython/python-where-to-find-help/): Forums: The RhinoPython community is very active and offers a wonderful resource for posting questions/answers and finding help on just about anything!: http://python.rhino3d.com/forums/ General … - [Your First Plugin (Mac)](https://developer.rhino3d.com/en/guides/rhinocommon/your-first-plugin-mac/): This guide walks you through your first plugin for Rhino for Mac using RhinoCommon and Visual Studio Code. - [Calling Compute with .NET](https://developer.rhino3d.com/en/guides/compute/compute-net-getting-started/): This guide covers all the necessary tools required to get started with the Rhino Compute Service in Csharp - [Components with a variable number of parameters](https://developer.rhino3d.com/en/guides/grasshopper/components-with-variable-number-of-parameters/): This guide has yet to be authored or ported. - [Configure Compute to use HTTPS](https://developer.rhino3d.com/en/guides/compute/configure-compute-for-https/): Overview In this guide, we will walk through the process of creating a valid SSL certificate so that Rhino.Compute can communicate with clients using the HTTPS protocol. Prerequisites The following … - [Creating Global Sticky Variables](https://developer.rhino3d.com/en/guides/rhinopython/ghpython-global-sticky/): Create a variable that sticks around for other components. - [Digitally Signing LAN Zoo Plugins](https://developer.rhino3d.com/en/guides/rhinocommon/digitally-signing-plugins-for-zoo/): This guide discusses how to digitally sign LAN Zoo and Rhino plugins. - [Migrate your plug-in project to Rhino 7](https://developer.rhino3d.com/en/guides/cpp/migrate-your-plugin-windows/): This guide walks you through migrating your Rhino 6 plug-in project to Rhino 7. - [Modify Plug-In licensing code to support Cloud Zoo](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-modify-plugin-licensing-code/): This guide discusses all the steps needed to have a Plug-In support Cloud Zoo. - [Node in Code from Python.](https://developer.rhino3d.com/en/guides/rhinopython/ghpython-call-components/): It is possible to call a Grasshopper component from inside a Python script. - [Planes in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-plane/): This guide provides an overview of RhinoScriptSyntax Plane Geometry in Python. - [Python Conditionals](https://developer.rhino3d.com/en/guides/rhinopython/python-conditionals/): This guide is an survey of Python conditional statements. - [RDK Render Content Editors](https://developer.rhino3d.com/en/guides/cpp/rdk-render-content-editors/): This guide describes the RDK Material, Environment, and Texture Editors - [Simple Parameters](https://developer.rhino3d.com/en/guides/grasshopper/simple-parameters/): This guide covers parameters; what they are, what they're for, what they can and cannot do. - [VBScript Conditionals](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-conditionals/): This guide is an survey of VBScript conditional statements. - [Wrapping Native Libraries](https://developer.rhino3d.com/en/guides/rhinocommon/wrapping-native-libraries/): This guide demonstrates how to wrap a C/C++ library in order to call into it from .NET. - [Adding Commands to Projects](https://developer.rhino3d.com/en/guides/rhinocommon/adding-commands-to-projects/): This brief guide demonstrates how to add additional commands to a RhinoCommon plugin project. - [Contributing](https://developer.rhino3d.com/en/guides/general/contributing/): Pull requests are welcome! - [Custom GhPython Baking Component](https://developer.rhino3d.com/en/guides/rhinopython/ghpython-bake/): Use GhPython to create custom baking components. - [How to read and write a CSV files](https://developer.rhino3d.com/en/guides/rhinopython/python-csv-file/): Use Python to read and write comma-delimited files. - [Migrate your plug-in project to Rhino 6](https://developer.rhino3d.com/en/guides/cpp/migrate-your-plugin-manual-windows/): This guide walks you through migrating your Rhino 5 plug-in project to Rhino 6. - [Optional Cloud Zoo endpoints for License Management](https://developer.rhino3d.com/en/guides/rhinocommon/cloudzoo/cloudzoo-optional-endpoints/): It is possible to query and modify licensing data stored in Cloud Zoo by a registered issuer. This can be useful when a customer returns a license for a refund, as well as other scenarios. It is not … - [Plugin Installers (Mac)](https://developer.rhino3d.com/en/guides/rhinocommon/plugin-installers-mac/): This guide explains how to create a plugin installer for Rhino for Mac. - [Plugin Installers (Windows)](https://developer.rhino3d.com/en/guides/rhinocommon/plugin-installers-windows/): This guide explains how to create a plugin installer for Rhino for Windows. - [Procedurally Generate Toolbars](https://developer.rhino3d.com/en/guides/rhinocommon/procedurally-generate-toolbars/): This guide covers the generation of toolbar button images. - [Rhino Installer Engine](https://developer.rhino3d.com/en/guides/general/rhino-installer-engine/): This guide is a brief introduction to the Rhino Installer Engine. - [Rhino objects in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-objects/): This guide provides an overview of RhinoScriptSyntax Object Geometry in Python. - [Using methodgen](https://developer.rhino3d.com/en/guides/rhinocommon/using-methodgen/): This guide covers the automatic pInvoke call generator and enum synchronization utility called methodgen. - [VBScript Logic](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-logic/): This guide discusses the logic, or lack of, in VBScript. - [Grasshopper data trees and Python](https://developer.rhino3d.com/en/guides/rhinopython/grasshopper-datatrees-and-python/): This guide describes how to use data trees in Python. - [How This Site Works](https://developer.rhino3d.com/en/guides/general/how-this-site-works/): A guide to how this very developer document site works. - [Loading Tool Palettes (Mac)](https://developer.rhino3d.com/en/guides/rhinocommon/loading-tool-palettes-mac/): This guide covers how to create and load a tool palette collection from your RhinoCommon plugin in Rhino for Mac. - [Migrate your Options, Document Properties and Object Properties Pages](https://developer.rhino3d.com/en/guides/cpp/migrate-properties-pages-windows/): This guide walks you through migrating existing Rhino 5, plug-in provided, Options, Document Properties and Object Properties pages to Rhino 6. - [Python Looping](https://developer.rhino3d.com/en/guides/rhinopython/python-looping/): This guide is an overview of looping through Python code. - [VBScript Looping](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-looping/): This guide is an overview of looping through VBScript code. - [Developer Docs Style Guide](https://developer.rhino3d.com/en/guides/general/developer-docs-style-guide/): This guide serves as an example and quick reference for the syntax and structure of this site. - [Uninstalling Plugins (Mac)](https://developer.rhino3d.com/en/guides/rhinocommon/uninstalling-plugins-mac/): This guide explains how to uninstall or remove plugins in Rhino for Mac. - [VBScript Passing Parameters](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-passing-parameters/): This guide discusses parameter passing in VBScript. - [How to use JSON](https://developer.rhino3d.com/en/guides/rhinopython/python-xml-json/): How to format in JSON or XML. - [VBScript Constants](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-constants/): This brief guide is an overview of VBScript constants. - [Canceling a Python script in Rhino](https://developer.rhino3d.com/en/guides/rhinopython/python-canceling-scripts/): This guide demonstrates how to cancel a Python script in Rhino. - [Creating a Grasshopper Plug-In Package](https://developer.rhino3d.com/en/guides/yak/creating-a-grasshopper-plugin-package/): This is a step by step guide to creating a package for a Grasshopper plug-in (.gha). - [Creating a Multi-targeted Rhino Plug-In Package](https://developer.rhino3d.com/en/guides/yak/creating-a-multi-targeted-rhino-plugin-package/): This is a step by step guide to creating a package for a Rhino plug-in (.rhp). - [Creating a Rhino Plug-In Package](https://developer.rhino3d.com/en/guides/yak/creating-a-rhino-plugin-package/): This is a step by step guide to creating a package for a Rhino plug-in (.rhp). - [Extending Compute with Custom Endpoints](https://developer.rhino3d.com/en/guides/compute/custom-endpoints/): Extending Compute with custom endpoints - [Getting Started with Rhino.Compute on Linux](https://developer.rhino3d.com/en/guides/compute/compute-linux-getting-started/): A guide to getting started with Rhino.Compute on Linux - [GhPython Common Questions and Answers](https://developer.rhino3d.com/en/guides/rhinopython/ghpython-question-answer/): Here are the most common questions and answers about GhPython. - [Python Operators](https://developer.rhino3d.com/en/guides/rhinopython/python-operators/): This guide is an overview of Python operators. - [VBScript Operators](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-operators/): This guide is an overview of VBScript operators. - [Using Python Dictionary as a database](https://developer.rhino3d.com/en/guides/rhinopython/python-dictionary-database/): This guide discusses using Python's Dictionary object to access nested data. - [3 Script Anatomy](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/3-script-anatomy/): 3.1 Programming in Rhino Rhinoceros offers various ways of programmatic access. We’ve already met macros and scripts, but the plot thickens. Please invest a few moments of your life into looking at … - [3 Script Anatomy](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/3-script-anatomy/): 3.1 Programming in Rhino Rhinoceros offers various ways of programmatic access. We’ve already met macros and scripts, but the plot thickens. Please invest a few moments of your life into looking at … - [4 Operators and Functions](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/4-operators-and-functions/): 4.1 What on Earth are they and why should I care? When we were discussing numeric variables in paragraph 2.3.1, there was an example about mathematical operations on numbers: Download and open … - [4 Operators and Functions](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/4-operators-and-functions/): 4.1 What on Earth are they and why should I care? When we were discussing numeric variables in paragraph 2.3.1, there was an example about mathematical operations on numbers: x = 15 + 26 * 2.33 x = … - [5 Conditional Statements](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/5-conditional-execution/): 5.1 What if? What if I were to fling this rock at that bear? What if I were to alleviate that moose from its skin and wear it myself instead? It’s questions like these that signify abstract thought, … - [6 Tuples, Lists, and Dictionaries](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/6-tuples-lists-dictionaries/): 6.1 Tuples We’ve already been using tuples and lists in examples and I’ve always told you not to worry about it. Those days are officially over. Now is the time to panic. Perhaps it’s best if we just … - [7 Classes](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/7-classes/): 7.1 Class Syntax Classes are useful mechanism for organization above what we have already mentioned: variables, flow control and functions. Classes give us another level of functionality and actually … - [8 Geometry](https://developer.rhino3d.com/en/guides/rhinopython/primer-101/8-geometry/): 8.1 The openNURBS™ Kernel Now that you are familiar with the basics of scripting, it is time to start with the actual geometry part of Rhino. To keep things interesting we’ve used plenty of Rhino … - [Chapter 1: Algorithms and Data](https://developer.rhino3d.com/en/guides/grasshopper/gh-algorithms-and-data-structures/algorithms-data/): 1.1 Algorithmic design Algorithmic design We can define algorithmic design as a design method where the output is achieved through well-defined steps. In that sense, many human activities are … - [Chapter 1: Grasshopper C# Component](https://developer.rhino3d.com/en/guides/grasshopper/csharp-essentials/1-grasshopper-csharp-component/): 1.1 Introduction Grasshopper supports multiple scripting languages such as C#, Python, and VB.NET to help develop custom components using the Rhino and Grasshopper SDKs (software development kit). … - [Chapter 2: C# Programming Basics](https://developer.rhino3d.com/en/guides/grasshopper/csharp-essentials/2-csharp-basics/): 2.1 Introduction This chapter covers basic C# programming concepts. It serves as an introduction and quick reference to C#’s language syntax. It is not meant to be complete by any measure, so please … - [Chapter 2: Introduction to Data Structures](https://developer.rhino3d.com/en/guides/grasshopper/gh-algorithms-and-data-structures/data-structures/): All algorithms involve processing input data to generate a new set of data as output. Data is stored in well-defined structures to help access and manipulate efficiently. Understanding these … - [Chapter 3: Advanced Data Structures](https://developer.rhino3d.com/en/guides/grasshopper/gh-algorithms-and-data-structures/advanced-data-structures/): This chapter is devoted to the advanced data structure in GH, namely the data trees, and different ways to generate and manage them. The aim is to start to appreciate when and how to use tree … - [Chapter 3: RhinoCommon Geometry](https://developer.rhino3d.com/en/guides/grasshopper/csharp-essentials/3-rhinocommon-geometry/): 3.1 Overview RhinoCommon is the .NET SDK for Rhino. It is used by Rhino plug-in developers to write .NET plug-ins for Rhino and Grasshopper. All Grasshopper scripting components can access RhinoCommon … - [Chapter 4: Design Algorithms](https://developer.rhino3d.com/en/guides/grasshopper/csharp-essentials/4-design-algorithms/): 4.1 Introduction In this chapter we will implement a few examples to create mathematical curves & surfaces and solve a few generative algorithms using C# in Grasshopper. Many of the examples involve … - [How to get user input in a script](https://developer.rhino3d.com/en/guides/rhinopython/python-user-input/): How to prompt the user for input into a script. - [Interacting with Rhino Accounts](https://developer.rhino3d.com/en/guides/rhinocommon/rhinoaccounts/ra-overview/): This guide discusses all the steps needed to interact with Rhino Accounts within Rhino. - [5 Conditional Execution](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/5-conditional-execution/): 5.1 What if? What if I were to fling this rock at that bear? What if I were to alleviate that moose from its skin and wear it myself instead? It’s questions like these that signify abstract thought, … - [6 Arrays](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/6-arrays/): 6.1 My Favorite Things We’ve already been using arrays in examples and I’ve always told you not to worry about it. Those days are officially over. Now is the time to panic. Perhaps it’s best if we … - [7 Geometry](https://developer.rhino3d.com/en/guides/rhinoscript/primer-101/7-geometry/): 7.1 The openNURBS™ Kernel Now that you are familiar with the basics of scripting, it is time to start with the actual geometry part of RhinoScript. To keep things interesting we’ve used plenty of … - [Writing Custom Eto forms in Python](https://developer.rhino3d.com/en/guides/rhinopython/eto-forms-python/): Using the Eto dialog framework to create custom dialogs. - [Eto Controls in Python](https://developer.rhino3d.com/en/guides/rhinopython/eto-controls-python/): Using the Eto dialog framework to create interface controls. - [Custom Package Repositories](https://developer.rhino3d.com/en/guides/yak/package-sources/): This is a quick guide to configuring custom package repositories in Rhino. - [Pushing a Package to the Server](https://developer.rhino3d.com/en/guides/yak/pushing-a-package-to-the-server/): This is a step by step guide to pushing a package to the package server. - [Running a Python script in Rhino](https://developer.rhino3d.com/en/guides/rhinopython/python-running-scripts/): This guide demonstrates how to run a Python script in Rhino. - [Creating a script and module](https://developer.rhino3d.com/en/guides/rhinopython/python-remote-local-module/): How to create a Python definition that is both a importable module and a script. - [Eto Layouts in Rhino.Python](https://developer.rhino3d.com/en/guides/rhinopython/eto-layouts-python/): Using the Eto DynamicLayout to organize controls. - [APIs Available to Python](https://developer.rhino3d.com/en/guides/rhinopython/apis-for-python/): This guide covers the APIs available to Python in Rhino. - [Module Libraries in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-modules/): This guide covers the various ways to import modules Python in Rhino. - [Using Python Packages](https://developer.rhino3d.com/en/guides/rhinopython/python-packages/): This guide covers the various ways to install packages in Python for Rhino. - [Calling Overloaded Methods from Python](https://developer.rhino3d.com/en/guides/rhinopython/python-overloads/): This guide discusses calling overloaded methods with IronPython. - [Generating Random Numbers in Python](https://developer.rhino3d.com/en/guides/rhinopython/python-random-number/): This guide discusses using Python to generate random numbers in a certain range. - [Installing and Managing Packages](https://developer.rhino3d.com/en/guides/yak/installing-and-managing-packages/): This is a step by step guide to installing and uninstalling a Yak package using the CLI. - [Providing Arguments for By-Reference Parameters](https://developer.rhino3d.com/en/guides/rhinopython/python-reference/): This guide discusses calling methods with by-ref parameters with IronPython. - [Custom information on objects](https://developer.rhino3d.com/en/guides/rhinopython/python-user-text/): How to create and access customer user text with Python. - [Point and Vector Methods](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-point-vector-methods/): This guide provides an overview of the RhinoScriptSytntax Point and Vector methods. - [Line and Plane Methods](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-line-plane-methods/): This guide provides an overview of the rhinoscriptsytntax Line and Plane methods. - [Rhino NURBS Geometry Overview](https://developer.rhino3d.com/en/guides/rhinopython/python-rhinoscriptsyntax-nurbs/): This guide provides an introduction to Rhino's NURBS Geometry from a Python perspective. - [Python Code Conventions](https://developer.rhino3d.com/en/guides/rhinopython/python-code-conventions/): This guide provides an overview of Python coding conventions. - [Python Dictionaries](https://developer.rhino3d.com/en/guides/rhinopython/python-dictionaries/): This guide discusses using Python's Dictionary object. - [VBScript Code Conventions](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-code-conventions/): This guide provides an overview of VBScript coding conventions. - [VBScript Dictionaries](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-dictionaries/): This guide discusses using VBScript's Dictionary object in RhinoScript. - [VBScript Err Objects](https://developer.rhino3d.com/en/guides/rhinopython/python-err-objects/): This guide discusses the VBScript Err object. - [VBScript Err Objects](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-err-objects/): This guide discusses the VBScript Err object. - [VBScript String Literals](https://developer.rhino3d.com/en/guides/rhinoscript/vbscript-string-literals/): This brief guide demonstrates how to use string literals in VBScript. - [](https://developer.rhino3d.com/en/guides/scripting/advanced-core-api/) - [](https://developer.rhino3d.com/en/guides/scripting/advanced-editor-api/): Script Editor uses the open-source Monaco for the editing control. That is the rectangular area that displays and edits the code: - [](https://developer.rhino3d.com/en/guides/scripting/advanced-libraries/): Local Library Cache Published Library Cache - [](https://developer.rhino3d.com/en/guides/scripting/advanced-pyruntime/) - [](https://developer.rhino3d.com/en/guides/scripting/advanced-typehints/): Coming Soon. If you have any questions please reach out on McNeel Forums - [](https://developer.rhino3d.com/en/guides/scripting/advanced-vscode/) - [](https://developer.rhino3d.com/en/guides/scripting/editor-debug/): debuggable scripts add breakpoint toggle breakpoints clear breakpoints variables watch call stack - [](https://developer.rhino3d.com/en/guides/scripting/editor-explorer/): explore a path async expand file prompt context menus create create under a path open rename delete - [](https://developer.rhino3d.com/en/guides/scripting/editor-help/): help tray show rhino 7 help online help and help menus examples panel open an example - [](https://developer.rhino3d.com/en/guides/scripting/editor-problems/): shows diagnostic results these are NOT exec errors can be disabled in options errors by default warings and info can be added click to go to line - [](https://developer.rhino3d.com/en/guides/scripting/editor-search/): search panel searches all scripts search options clear search - [](https://developer.rhino3d.com/en/guides/scripting/editor-templates/): browse templates async explore create new template save edit the template rename delete - [](https://developer.rhino3d.com/en/guides/scripting/template/) - [](https://developer.rhino3d.com/en/guides/scripting/what-is-scripteditor/): its a place you write scripts to customize what rhino had: c#, ironpython, rhinoscript, vb, ghgl new in rhino 8: unified editor python 3 modern c# better ironpython no more vb ghgl in progress … - [Asynchronous Execution](https://developer.rhino3d.com/en/guides/scripting/advanced-async/): Provides information on running scripts in asynchronous mode to avoid locking Rhino UI with long running tasks - [Creating Rhino/Grasshopper Script Plugins](https://developer.rhino3d.com/en/guides/scripting/projects-create/): Provides information on creating plugin projects in Script Editor - [Developing Software In Public](https://developer.rhino3d.com/en/guides/general/developing-software-in-public/): An overview of the McNeel Development Process. - [Grasshopper Scripting: C#](https://developer.rhino3d.com/en/guides/scripting/scripting-gh-csharp/): Provides detailed information on C# scripting in Grasshopper - [Grasshopper Scripting: Python](https://developer.rhino3d.com/en/guides/scripting/scripting-gh-python/): Provides detailed information on Python scripting in Grasshopper - [Oscar Quick Start](https://developer.rhino3d.com/en/guides/general/oscar-quick-start/): This guide shows you how to pull a good shot of espresso from Oscar, McNeel espresso machine. - [Publishing Rhino/Grasshopper Script Plugins](https://developer.rhino3d.com/en/guides/scripting/projects-publish/): Provides information on publishing plugin projects in Script Editor - [Python Package Environments](https://developer.rhino3d.com/en/guides/scripting/advanced-pyvenvs/): Provides information on managing multiple python package environments - [Python Path Files](https://developer.rhino3d.com/en/guides/scripting/advanced-pthfiles/): Provides information on system and user python search path files - [RhinoCode Command Line Interface](https://developer.rhino3d.com/en/guides/scripting/advanced-cli/): Provides information on using rhinocode command line utility that shipped with rhino - [Script Component: Grasshopper](https://developer.rhino3d.com/en/guides/scripting/scripting-component/): Provides an overview on how to edit and run scripts inside of Grasshopper - [Script Editing Features](https://developer.rhino3d.com/en/guides/scripting/editor-editing/): Provides information on editing features in Script Editor - [Script Editor Logs](https://developer.rhino3d.com/en/guides/scripting/editor-logs/): Provides information on Script Editor logs viewer window - [ScriptEditor Command](https://developer.rhino3d.com/en/guides/scripting/scripting-command/): Provides an overview on how to edit and run scripts inside of Rhino - [ScriptEditor Command in Macros](https://developer.rhino3d.com/en/guides/scripting/advanced-scripteditor-macros/): Provides information on using ScriptEditor command in macros - [Scripting Languages Initialization](https://developer.rhino3d.com/en/guides/scripting/advanced-langinit/): Provides information on initialization process of various language runtimes - [Terminal Panel](https://developer.rhino3d.com/en/guides/scripting/editor-terminal/): Provides information on terminal panel in script editor ## API References - [rhino3dm](https://developer.rhino3d.com/en/api/rhino3dm/): Classes and namespaces available from Rhino3dmIO Not all of these have been exposed in rhino3dm.py and rhino3dm.js, yet… Rhino.Runtime.HostUtils Rhino.Runtime.Interop … - [RhinoScriptSyntax](https://developer.rhino3d.com/en/api/RhinoScriptSyntax/): application AddAlias AddAlias(alias, macro) Add new command alias to Rhino. Command aliases can be added manually by using Rhino's Options command and modifying the contents of the Aliases tab. … ## Samples - [Add a Brep Box](https://developer.rhino3d.com/en/samples/cpp/add-brep-box/): Demonstrates how to add a Brep Box from a Rhino C++ plugin. - [Add a Cone Surface](https://developer.rhino3d.com/en/samples/cpp/add-a-cone-surface/): Demonstrates how to create a cone using ON_BrepCone. - [Add a Cylinder](https://developer.rhino3d.com/en/samples/cpp/add-cylinder/): Demonstrates how to create a cylinder using ON_BrepCylinder and add it to Rhino. - [Add a Line Curve Object](https://developer.rhino3d.com/en/samples/cpp/add-line-curve/): Demonstrates how to add a line curve. - [Add a Linear Dimension](https://developer.rhino3d.com/en/samples/cpp/add-linear-dimension/): Demonstrates how to add a linear dimension object. - [Add a New Layer](https://developer.rhino3d.com/en/samples/cpp/add-new-layer/): Demonstrates how to add a new layer to Rhino. - [Add a NURBS Circle](https://developer.rhino3d.com/en/samples/cpp/add-nurbs-circle/): Demonstrates how to use ON_NurbsCurve to create a circle. - [Add Annotation Text](https://developer.rhino3d.com/en/samples/rhinocommon/add-annotation-text/): Demonstrates how to add annotation text to a Rhino model at a specific location. - [Add Arrowheads to Curves](https://developer.rhino3d.com/en/samples/cpp/add-arrowheads-to-curves/): Demonstrates how arrowheads can be added to any curve object my modifying attributes. - [Add Arrowheads to Curves](https://developer.rhino3d.com/en/samples/rhinocommon/add-arrowheads-to-curves/): Demonstrates how to decorate curves in a Rhino model with arrowheads. - [Add Background Bitmap](https://developer.rhino3d.com/en/samples/rhinocommon/add-background-bitmap/): Demonstrates how to add a background bitmap to a Rhino model at a user-specified location. - [Add Background Bitmaps to Viewports](https://developer.rhino3d.com/en/samples/cpp/add-background-bitmaps-to-viewports/): Demonstrates how to add a background bitmap to a viewport. - [Add Brep Box](https://developer.rhino3d.com/en/samples/rhinocommon/add-brep-box/): Demonstrates how to add a Brep Box to a Rhino model by specifying two points. - [Add Child Layer](https://developer.rhino3d.com/en/samples/rhinocommon/add-child-layer/): Demonstrates how to add a child (or sub) layer to a parent layer in a Rhino model. - [Add Circle](https://developer.rhino3d.com/en/samples/rhinocommon/add-circle/): Demonstrates how to add a circle from a center point and radius. - [Add Clipping Plane](https://developer.rhino3d.com/en/samples/rhinocommon/add-clipping-plane/): Demonstrates how to add a clipping plane from an array or corner points. - [Add Clipping Planes](https://developer.rhino3d.com/en/samples/cpp/add-clipping-planes/): Demonstrates how to add a viewport clipping plane object. - [Add Command Line Options](https://developer.rhino3d.com/en/samples/rhinocommon/add-command-line-options/): Demonstrates how to add command-line options as inputs to your command. - [Add Cone](https://developer.rhino3d.com/en/samples/rhinocommon/add-cone/): Demonstrates how to construct a cone using a plane, height, and radius. - [Add Cylinder](https://developer.rhino3d.com/en/samples/rhinocommon/add-cylinder/): Demonstrates how to construct a cylinder using a center-point, height and axis. - [Add Layer](https://developer.rhino3d.com/en/samples/rhinocommon/add-layer/): Demonstrates how to add a layer to a Rhino model and validate that it does not already exist. - [Add Layout](https://developer.rhino3d.com/en/samples/rhinocommon/add-layout/): Demonstrates how to generate a layout with a single detail view that zooms to a list of objects. - [Add Leader](https://developer.rhino3d.com/en/samples/rhinocommon/add-leader/): Demonstrates how to add a leaders to your Rhino model from an array of points. - [Add Line](https://developer.rhino3d.com/en/samples/rhinocommon/add-line/): Demonstrates how to construct a line from two points. - [Add Linear Dimension](https://developer.rhino3d.com/en/samples/rhinocommon/add-linear-dimension/): Demonstrates how to add a linear dimension to a Rhino model. - [Add Linear Dimension2](https://developer.rhino3d.com/en/samples/rhinocommon/add-linear-dimension2/): Demonstrates how to add a linear dimension from two points given an offset point. - [Add Material](https://developer.rhino3d.com/en/samples/rhinocommon/add-material/): Demonstrates how to add a material to the document and apply it to a sphere object. - [Add Mesh](https://developer.rhino3d.com/en/samples/rhinocommon/add-mesh/): Demonstrates how to construct a mesh from a list of vertices and faces. - [Add Mesh Box](https://developer.rhino3d.com/en/samples/rhinocommon/add-mesh-box/): Demonstrates how to construct a mesh box from a Brep box. - [Add Named View](https://developer.rhino3d.com/en/samples/rhinocommon/add-named-view/): Demonstrates how to add a named view to a Rhino model from a user-specified view and camera location. - [Add Nested Block](https://developer.rhino3d.com/en/samples/rhinocommon/add-nested-block/): Demonstrates how to add a nested block to an instance definition. - [Add NURBS Circle](https://developer.rhino3d.com/en/samples/rhinocommon/add-nurbs-circle/): Demonstrates how to create a NURBS circle from scratch using points and knots. - [Add NURBS Curve](https://developer.rhino3d.com/en/samples/cpp/add-nurbs-curve/): Demonstrates how to add a NURBS curve to Rhino. - [Add NURBS Curve](https://developer.rhino3d.com/en/samples/rhinocommon/add-nurbs-curve/): Demonstrates how to create a NURBS curve from a list of points. - [Add NURBS Curve](https://developer.rhino3d.com/en/samples/rhinoscript/add-nurbs-curve/): Demonstrates how to add a NURBS curve to Rhino using RhinoScript. - [Add Objects to a Group](https://developer.rhino3d.com/en/samples/cpp/add-objects-to-a-group/): Demonstrates how to add selected objects to an object group. - [Add Objects to Group](https://developer.rhino3d.com/en/samples/rhinocommon/add-objects-to-group/): Demonstrates how to group objects from a user-specified selection set of objects. - [Add Points at Curve Endpoints](https://developer.rhino3d.com/en/samples/rhinoscript/add-points-at-curve-endpoints/): Demonstrates how to add point at the starting and ending locations of curves. - [Add Radial Dimension](https://developer.rhino3d.com/en/samples/rhinocommon/add-radial-dimension/): Demonstrates how to add radial dimensions to a selected curve. - [Add Sphere](https://developer.rhino3d.com/en/samples/rhinocommon/add-sphere/): Demonstrates how to create a sphere from a center point and radius. - [Add Spherical Surface](https://developer.rhino3d.com/en/samples/cpp/add-spherical-surface/): Demonstrates how to create a sphere using ON_RevSurface and add it to Rhino. - [Add Text](https://developer.rhino3d.com/en/samples/cpp/add-text/): Demonstrates how to use ON_TextEntity2 to add text to Rhino. - [Add Texture](https://developer.rhino3d.com/en/samples/rhinocommon/add-texture/): Demonstrates how to add a texture to an object from a user-specified bitmap file. - [Add Torus](https://developer.rhino3d.com/en/samples/cpp/add-torus/): Demonstrates how to create a torus using ON_BrepTorus and add it to Rhino. - [Add Torus](https://developer.rhino3d.com/en/samples/rhinocommon/add-torus/): Demonstrates how to construct a torus from a set of radii and a plane. - [Add Truncated Cone](https://developer.rhino3d.com/en/samples/cpp/add-truncated-cone/): Demonstrates how to create a truncated cone ON_BrepRevSurface and add it to Rhino. - [Add Truncated Cone](https://developer.rhino3d.com/en/samples/rhinocommon/add-truncated-cone/): Demonstrates how to construct a truncated cone (TCone) from two circles. - [Add Twisted Cube](https://developer.rhino3d.com/en/samples/rhinocommon/add-twisted-cube/): Demonstrates how to construct a twisted cube object from an array of points and a list of curves. - [Advanced Display Settings](https://developer.rhino3d.com/en/samples/rhinocommon/advanced-display-settings/): Demonstrates how to change advanced display settings in Rhino where the mesh wireframe thickness (in pixels) is modified. - [Airfoil Shapes](https://developer.rhino3d.com/en/samples/rhinoscript/airfoil-shapes/): How to read point files that describe airfoils and create interpolated curves using RhinoScript. - [Arc Point Distribution](https://developer.rhino3d.com/en/samples/rhinoscript/arc-point-distribution/): Demonstrates arc point distribution. - [Array By Distance](https://developer.rhino3d.com/en/samples/rhinocommon/array-by-distance/): Demonstrates how to array a user-selected object by specifying a start point and a contraint line. - [Array Points on Surface](https://developer.rhino3d.com/en/samples/rhinoscript/array-points-on-surface/): Demonstrates how to array points on a surface with a RhinoScript. - [Assign Flamingo Material](https://developer.rhino3d.com/en/samples/rhinoscript/assign-flamingo-material/): Demonstrates how to assign a Flamingo nXt material to an object using RhinoScript. - [Attaching User Data to Brep Components](https://developer.rhino3d.com/en/samples/cpp/attaching-user-data-to-brep-components/): Demonstrates how to attach object user data to components of a Brep. - [Auto Label Objects](https://developer.rhino3d.com/en/samples/rhinoscript/auto-label-objects/): Demonstrates how to automatically label objects using RhinoScript. - [Basepoint of Block Instance](https://developer.rhino3d.com/en/samples/cpp/basepoint-of-block-instance/): Demonstrates how to find the basepoint coordinates of a block instance. - [Batch Convert AutoCAD Files](https://developer.rhino3d.com/en/samples/rhinoscript/batch-convert-autocad-files/): Demonstrates how to convert a folder of AutoCAD files to Rhino 3dm files using RhinoScript. - [Batch Render](https://developer.rhino3d.com/en/samples/rhinoscript/batch-render/): Demonstrates how to recurse through a folder and render every Rhino file using RhinoScript. - [Batch Save Small](https://developer.rhino3d.com/en/samples/rhinoscript/batch-save-small/): Demonstrates how to recurse through a folder and save small every Rhino file using RhinoScript. - [Block Definition Geometry](https://developer.rhino3d.com/en/samples/cpp/block-definition-geometry/): Demonstrates how to obtain a block instance's definition geometry. - [Block Insertion Point](https://developer.rhino3d.com/en/samples/rhinocommon/block-insertion-point/): Demonstrates how to set (or reset) the block insertion point of a block instance. - [Block Utilities](https://developer.rhino3d.com/en/samples/rhinoscript/block-utilities/): A couple of useful block utilities written in RhinoScript. - [Boolean Difference](https://developer.rhino3d.com/en/samples/cpp/boolean-difference/): Demonstrates how to perform a Boolean Difference operation on two sets of polysurfaces. - [Boolean Difference](https://developer.rhino3d.com/en/samples/rhinocommon/boolean-difference/): Demonstrates how to perform a boolean difference operation on two selected polysurfaces. - [Box Shell](https://developer.rhino3d.com/en/samples/rhinocommon/box-shell/): Demonstrates how to give thickness to (or shell) a Brep box. - [Brep from Curve Bounding Box](https://developer.rhino3d.com/en/samples/rhinocommon/brep-from-curve-bounding-box/): Demonstrates how to create a valid Brep from a curve's bounding box. - [Calculate Curve Intersections](https://developer.rhino3d.com/en/samples/cpp/calculate-curve-intersections/): Demonstrates how to calculate the intersection of two curves and obtain their intersection points. - [Calculate Curve Intersections](https://developer.rhino3d.com/en/samples/rhinocommon/calculate-curve-intersections/): Demonstrates how to calculate the intersection points between two user-specified curves. - [Calculate Mesh Volume](https://developer.rhino3d.com/en/samples/cpp/calculate-mesh-volume/): Demonstrates how to calculate the volumes of mesh objects. - [Calculate Radius of Curvature](https://developer.rhino3d.com/en/samples/cpp/calculate-radius-of-curvature/): Demonstrates how to compute the radius of curvature of a curve object at a selected location. - [Calculate Solid Volumes](https://developer.rhino3d.com/en/samples/cpp/calculate-solid-volumes/): Demonstrates how to calculating the volumes of closed surface, polysurface, and mesh objects. - [Calculate Surface Curvature](https://developer.rhino3d.com/en/samples/rhinocommon/calculate-surface-curvature/): Demonstrates how to calculate the principle curvature at a user-specified point on a surface. - [Calculate the Angle Between Two Vectors](https://developer.rhino3d.com/en/samples/cpp/calculate-the-angle-between-two-vectors/): Demonstrates how to calculate the angle between two vectors. - [Calculate the Angle Between Two Vectors](https://developer.rhino3d.com/en/samples/rhinoscript/calculate-the-angle-between-two-vectors/): Demonstrates how to calculate the angle between two vectors using RhinoScript. - [Calculate Volume Centroid of Solids](https://developer.rhino3d.com/en/samples/cpp/calculate-volume-centroid-of-solids/): http://wiki.mcneel.com/developer/sdksamples/volumecentroid - [Calculating Partial Lengths of Curves](https://developer.rhino3d.com/en/samples/cpp/calculate-partial-lengths-of-curves/): Demonstrates how to calculate the length of a curve from the start point to some point on the curve. - [Change Construction Plane Modes](https://developer.rhino3d.com/en/samples/cpp/change-construction-plane-modes/): Demonstrates how to switch between standard and universal construction plane modes. - [Change Dimension Style](https://developer.rhino3d.com/en/samples/rhinocommon/change-dimension-style/): Demonstrates how to change the dimension style on all objects in a Rhino document. - [Circle Center](https://developer.rhino3d.com/en/samples/rhinocommon/circle-center/): Demonstrates how to find the center of a circle. - [Circle Packing](https://developer.rhino3d.com/en/samples/rhinoscript/circle-packing/): Multi-radius circle packing algorithm in RhinoScript. - [Closest Point Calculation with RTree](https://developer.rhino3d.com/en/samples/rhinocommon/closest-point-calculation-with-rtree/): Demonstrates how to perform a closest point calculation using an RTree data structure. - [Computer Physical Address](https://developer.rhino3d.com/en/samples/rhinoscript/computer-physical-address/): Illustrates RhinoScript code that determines the physical, or MAC, address of a computer. - [Conduit Draw Shaded Mesh](https://developer.rhino3d.com/en/samples/rhinocommon/conduit-draw-shaded-mesh/): Demonstrates how to draw a shaded mesh using a display conduit. - [Constrained Copy](https://developer.rhino3d.com/en/samples/rhinocommon/constrained-copy/): Demonstrates how to use a constrained GetPoint to copy a curve. - [Control Point Curve Through Polyline](https://developer.rhino3d.com/en/samples/cpp/control-point-curve-through-polyline/): Demonstrates how to create a control points curve through a polyline. - [Convert an Arc to a NURBS Curve](https://developer.rhino3d.com/en/samples/cpp/convert-arc-to-nurbs-curve/): Demonstrates how to convert an ON_ArcCurve object to an ON_NurbsCurve object. - [Convert Block to Group](https://developer.rhino3d.com/en/samples/rhinoscript/convert-block-to-group/): Demonstrates how to explode a block and group its components using RhinoScript. - [Convert Dots to Text](https://developer.rhino3d.com/en/samples/rhinoscript/convert-dots-to-text/): Illustrates RhinoScript code that converts annotation dots to text object. - [Copy Groups](https://developer.rhino3d.com/en/samples/rhinocommon/copy-groups/): Demonstrates how to duplicate objects with grouping. - [Count Block Instances](https://developer.rhino3d.com/en/samples/rhinoscript/count-block-instances/): Demonstrates how to count block instances using RhinoScript. - [Count Objects](https://developer.rhino3d.com/en/samples/rhinoscript/count-objects/): Demonstrates how to count all the different object types using RhinoScript. - [Create a NURBS Circle](https://developer.rhino3d.com/en/samples/cpp/create-nurbs-circle/): Demonstrates how to use ON_NurbsCurve to create a circle. - [Create an Ellipsoid Parametrically](https://developer.rhino3d.com/en/samples/rhinoscript/create-an-ellipsoid-parametrically/): Demonstrates one way of creating a Ellipsoid using RhinoScript. - [Create an Icosahedron](https://developer.rhino3d.com/en/samples/rhinoscript/create-an-icosahedron/): Demonstrates one way of creating a Icosahedron in RhinoScript. - [Create Block Definition](https://developer.rhino3d.com/en/samples/rhinocommon/create-block-definition/): Demonstrates how to create a block definition from scratch from user-specified objects, base-point, and name. - [Create Bounding Polyline of a Mesh](https://developer.rhino3d.com/en/samples/cpp/create-bounding-polyline-of-mesh/): Demonstrates how to create a bounding polyline of a mesh object. - [Create Box Frames](https://developer.rhino3d.com/en/samples/rhinoscript/create-box-frames/): Demonstrates how to create a box frame with RhinoScript. - [Create Center Point on Closed Curve](https://developer.rhino3d.com/en/samples/rhinoscript/create-center-point-on-closed-curve/): Demonstrates how to mark the center points of closed planar curves with a point object using RhinoScript. - [Create Contour Curves](https://developer.rhino3d.com/en/samples/cpp/create-contour-curves/): Demonstrates how to create contour curves through surfaces, breps, and meshes using the MakeRhinoContours() function. - [Create Contour Curves](https://developer.rhino3d.com/en/samples/rhinocommon/create-contour-curves/): Demonstrates how to create contour curves on user-specified objects. - [Create CutPlane](https://developer.rhino3d.com/en/samples/rhinoscript/create-cutplane/): Demonstrates how to script the CutPlane command using RhinoScript. - [Create Mesh from Brep](https://developer.rhino3d.com/en/samples/rhinocommon/create-mesh-from-brep/): Demonstrates how to create a mesh from a selected surface or polysurface. - [Create New View](https://developer.rhino3d.com/en/samples/cpp/create-new-view/): Demonstrates how to create a new view that has the properties of an existing view. - [Create NURBS Surface](https://developer.rhino3d.com/en/samples/cpp/create-nurbs-surface/): Demonstrates how to create a NURBS surface. - [Create Plane Surface](https://developer.rhino3d.com/en/samples/cpp/create-plane-surface/): Demonstrates how to create a plane surface. - [Create Spiral](https://developer.rhino3d.com/en/samples/rhinocommon/create-spiral/): Demonstrates how to create a spiral object from an axis and a radius point. - [Create Square Pipes](https://developer.rhino3d.com/en/samples/rhinoscript/create-square-pipes/): Demonstrates how to create square pipes using RhinoScript. - [Create Surface from Edge Curves](https://developer.rhino3d.com/en/samples/cpp/create-surface-from-edge-curves/): Demonstrates how to create a surface object from four edge curves. - [Create Surface From Points and Knots](https://developer.rhino3d.com/en/samples/rhinocommon/create-surface-from-points-and-knots/): Demonstrates how to create a surface from scratch from points and knots. - [Creating NURBS Cage Objects](https://developer.rhino3d.com/en/samples/cpp/creating-nurbs-cage-objects/): Demonstrates how to create a NURBS Cage objects. - [CRhinoGetFileDialog to Preview Bitmaps](https://developer.rhino3d.com/en/samples/cpp/crhinogetfiledialog-to-preview-images/): Demonstrates how to use the CRhinoGetFileDialog class to preview bitmap images. - [Curve Bounding Box](https://developer.rhino3d.com/en/samples/rhinocommon/curve-bounding-box/): Demonstrates how to create a curve bounding box (world and plane oriented). - [Curve Deviation](https://developer.rhino3d.com/en/samples/rhinocommon/curve-deviation/): Demonstrates how to determine the deviation between two curves. - [Curve Evaluation](https://developer.rhino3d.com/en/samples/cpp/curve-evaluation/): Demonstrates how to evaluate a curve. - [Curve Properties to Excel](https://developer.rhino3d.com/en/samples/rhinoscript/curve-properties-to-excel/): Illustrates RhinoScript code that extracts curve properties into Excel. - [Curve Surface Intersection](https://developer.rhino3d.com/en/samples/rhinocommon/curve-surface-intersection/): Demonstrates how to calculate the intersection points of a user-specified Brep and a curve. - [Custom Geometry Filter](https://developer.rhino3d.com/en/samples/rhinocommon/custom-geometry-filter/): Demonstrates how to create a specialized GetObject with a custom geometry filter. - [Custom Python](https://developer.rhino3d.com/en/samples/rhinocommon/custom-python/): Demonstrates how to run a custom python script from within a command. - [Custom Undo](https://developer.rhino3d.com/en/samples/rhinocommon/custom-undo/): Demonstrates how to set up a custom set of actions when the Undo command is called. - [Delete Block Instance Definition](https://developer.rhino3d.com/en/samples/rhinocommon/delete-block-instance-definition/): Demonstrates how to delete a block instance definition given the name of the block. - [Determine Active Viewport](https://developer.rhino3d.com/en/samples/rhinocommon/determine-active-viewport/): Demonstrates how to determine the active viewport name, even in a layout or a detail view. - [Determine an Object's Layer Name](https://developer.rhino3d.com/en/samples/cpp/determine-objects-layer-name/): Demonstrates how to determine a selected object's layer name using C++. - [Determine Language Setting](https://developer.rhino3d.com/en/samples/rhinocommon/determine-language-setting/): Demonstrates how to determine Rhino's language setting. - [Determine Normal Direction of Brep Face](https://developer.rhino3d.com/en/samples/rhinocommon/determine-normal-direction-of-brep-face/): Demonstrates how to determine the normal direction of a Brep face at a specified point. - [Determine Object Layer](https://developer.rhino3d.com/en/samples/rhinocommon/determine-object-layer/): Demonstrates how to determine which layer a user-specified object is on and print the name. - [Determine the Maximum Z Coordinate Value of a Surface](https://developer.rhino3d.com/en/samples/cpp/determine-max-z-of-surface/): Demonstrates how determine the maximum Z coordinate value of a surface or polysurface given some X,Y coordinate. - [Determining Selected Groups](https://developer.rhino3d.com/en/samples/rhinoscript/determining-selected-groups/): Demonstrates how to determine what object groups are selected using RhinoScript. - [Deviation between two Curves](https://developer.rhino3d.com/en/samples/cpp/deviation-between-two-curves/): Demonstrates how to determine the deviation between two curves using the RhinoGetOverlapDistance() function. - [Display Conduit](https://developer.rhino3d.com/en/samples/rhinocommon/display-conduit/): Demonstrates a basic display conduit that draws a custom axis in the Rhino viewport. - [Display Conduit Arrowheads](https://developer.rhino3d.com/en/samples/rhinocommon/display-conduit-arrowheads/): Demonstrates how to drawing arrowheads in a Display Conduit. - [Display Order](https://developer.rhino3d.com/en/samples/rhinocommon/display-order/): Demonstrates the order of how objects are drawn in the Rhino viewport and how to change it. - [Display Precision](https://developer.rhino3d.com/en/samples/rhinocommon/display-precision/): Demonstrates how to change the display precision in a Rhino model. - [Divide a Curve by Length](https://developer.rhino3d.com/en/samples/cpp/divide-curve-by-length/): Demonstrates how to divide a curve object by a specified length. - [Divide a Curve by Segments](https://developer.rhino3d.com/en/samples/cpp/divide-curve-by-segments/): Demonstrates how to divide a selected curve object by a specified number of segments. - [Divide by Length Points](https://developer.rhino3d.com/en/samples/rhinocommon/divide-by-length-points/): Demonstrates how to divide a user-selected curve into a set of spaced points along the curve. - [Divide Curve by Segments](https://developer.rhino3d.com/en/samples/rhinocommon/divide-curve-by-segments/): Demonstrates how to divide a user-selected curve into length segments. - [Divide Curve Straight](https://developer.rhino3d.com/en/samples/rhinocommon/divide-curve-straight/): Demonstrates how to divide a curve using equi-distance points. - [Divide Curve to Dashed](https://developer.rhino3d.com/en/samples/rhinoscript/divide-curve-to-dashed/): Demonstrates how to chop up a curve into segments and spaces. - [Divide Curve With Equidistant Points](https://developer.rhino3d.com/en/samples/rhinoscript/divide-curve-with-equidistant-points/): Demonstrates equidistance curve division using RhinoScript. - [Draw Mesh](https://developer.rhino3d.com/en/samples/rhinocommon/draw-mesh/): Demonstrates how to create a mesh from an existing surface and draw it in a display conduit. - [Drawing Steel Shapes](https://developer.rhino3d.com/en/samples/rhinoscript/drawing-steel-shapes/): Demonstrates how to draw steel shapes using RhinoScript. - [Duplicate Mesh Boundary](https://developer.rhino3d.com/en/samples/rhinocommon/duplicated-mesh-boundary/): Demonstrates how to create a bounding polyline from naked edges of an open mesh. - [Duplicate Object](https://developer.rhino3d.com/en/samples/cpp/duplicate-object/): Demonstrates how to make a copy of a CRhinoObject-derived object. - [Duplicate Object](https://developer.rhino3d.com/en/samples/rhinocommon/duplicate-object/): Demonstrates how to clone (or copy, or duplicate) a Rhino object. - [Duplicate Surface Border](https://developer.rhino3d.com/en/samples/rhinocommon/duplicate-surface-border/): Demonstrates how to duplicate the borders of a user-specified surface or polysurface. - [Duplicate the Borders of Surfaces](https://developer.rhino3d.com/en/samples/cpp/duplicate-borders-of-surfaces/): Demonstrates how to duplicate the borders of surfaces and polysurfaces. - [Dynamically Draw Geometry when Picking Points](https://developer.rhino3d.com/en/samples/rhinocommon/dynamically-draw-geometry-when-picking-points/): Demonstrates how to dynamically draw geometry during point picking. - [Dynamically Drawing Text Strings](https://developer.rhino3d.com/en/samples/rhinocommon/dynamically-drawing-text-strings/): Demonstrates how to dynamically draw text strings relative to a given screen to world transform. - [Edit Text](https://developer.rhino3d.com/en/samples/rhinocommon/edit-text/): Demonstrates how to edit selected text, replacing it with new text. - [Evaluate Curve Torsion](https://developer.rhino3d.com/en/samples/rhinoscript/evaluate-curve-torsion/): Demonstrates how to evaluate the torsion of a curve in RhinoScript. - [Explode Hatch](https://developer.rhino3d.com/en/samples/rhinocommon/explode-hatch/): Demonstrates how to explode a user-specified hatch object into its constituent parts (curves, points, etc.) - [Exploding Block Instances](https://developer.rhino3d.com/en/samples/rhinoscript/exploding-block-instances/): Demonstrates how to explode an instance of a block using RhinoScript. - [Exploding Meshes](https://developer.rhino3d.com/en/samples/rhinoscript/exploding-meshes/): Demonstrates how to explode a mesh into individual faces using RhinoScript. - [Export Block Count to Excel](https://developer.rhino3d.com/en/samples/rhinoscript/export-block-count-to-excel/): Demonstrates how to count blocks and then export the results to Microsoft Excel. - [Export Control Points](https://developer.rhino3d.com/en/samples/rhinocommon/export-control-points/): Demonstrates how to export the control points of a user-selected curve and write them to a file. - [Export Curve Control Points](https://developer.rhino3d.com/en/samples/rhinoscript/export-curve-control-points/): Demonstrates how to export the 3D coordinates of a curve's control points to a text file using RhinoScript. - [Export Layer Objects](https://developer.rhino3d.com/en/samples/rhinoscript/export-layer-objects/): Demonstrates how to export all objects by layer, with each layer exported to a new file using RhinoScript. - [Export Points to Excel](https://developer.rhino3d.com/en/samples/rhinoscript/export-points-to-excel/): Illustrates RhinoScript code that exports Rhino point coordinates to Microsoft Excel. - [Exporting Meshes to Geomview](https://developer.rhino3d.com/en/samples/rhinoscript/exporting-meshes-to-geomview/): Demonstrates how to export a mesh object to Geomview's OFF file format using RhinoScript. - [Extend Curve](https://developer.rhino3d.com/en/samples/cpp/extend-curve/): Demonstrates how to extend a curve by a line, arc or smooth extension until it intersects a collection of objects. - [Extend Curve](https://developer.rhino3d.com/en/samples/rhinocommon/extend-curve/): Demonstrates how to extend a curve object to user-selected boundary objects. - [Extend Surface](https://developer.rhino3d.com/en/samples/cpp/extend-surface/): Demonstrates how to use RhinoExtendSurface() to extend a surface object. - [Extend Surface](https://developer.rhino3d.com/en/samples/rhinocommon/extend-surface/): Demonstrates how to extend a user-specified edge of a surface. - [Extract Interpolated Curve Construction Points](https://developer.rhino3d.com/en/samples/rhinoscript/extract-interpolated-curve-construction-points/): Demonstrates how to reverse engineer an interpolated curve using RhinoScript. - [Extract Isocurve](https://developer.rhino3d.com/en/samples/rhinocommon/extract-isocurve/): Demonstrates how to extract the isoparametric curves from selected surfaces. - [Extract Isocurve Intersection Points](https://developer.rhino3d.com/en/samples/rhinoscript/extract-isocurve-intersection-points/): Demonstrates how to get the intersection points of a surface's isocurves using RhinoScript. - [Extract Render Mesh](https://developer.rhino3d.com/en/samples/rhinocommon/extract-render-mesh/): Demonstrates how to extract the render mesh from a surface or polysurface. - [Extract Thumbnail Preview Images](https://developer.rhino3d.com/en/samples/rhinoscript/extract-thumbnail-preview-images/): Demonstrates how to extract the thumbnail preview image from .3DM files using RhinoScript. - [Extracting Isoparametric Curves from Surfaces](https://developer.rhino3d.com/en/samples/cpp/extract-isoparametric-curves-from-surfaces/): Demonstrates how to extract isoparametric curves from surfaces. - [Extrude Brep Face](https://developer.rhino3d.com/en/samples/rhinocommon/extrude-brep-face/): Demonstrates how to extrude the Brep face from a user-specified surface. - [Fibonacci Spirals](https://developer.rhino3d.com/en/samples/rhinoscript/fibonacci-spirals/): Demonstrates how to create a Fibonacci Spiral with RhinoScript. - [Fillet Curve](https://developer.rhino3d.com/en/samples/cpp/fillet-curve/): Demonstrates how to create a fillet between two curves. - [Fillet Curves](https://developer.rhino3d.com/en/samples/rhinocommon/fillet-curves/): Demonstrates how to fillet two curves by a specified radius. - [Find Closest Curve to Point](https://developer.rhino3d.com/en/samples/rhinoscript/find-closest-curve-to-point/): Demonstrates how to find the closest curve to test point using RhinoScript. - [Find Curve Parameter At Point](https://developer.rhino3d.com/en/samples/rhinocommon/find-curve-parameter-at-point/): Demonstrates how to find the curve parameter given a specific point on the curve. - [Find Objects by Name](https://developer.rhino3d.com/en/samples/rhinocommon/find-objects-by-name/): Demonstrates how to find objects by their name or label. - [Find point on curve at distance](https://developer.rhino3d.com/en/samples/rhinocommon/find-point-on-curve-at-distance/): Demonstrates how find a point on a curve given a specified length from the start of the curve. - [Flamingo Legacy Plant Browser](https://developer.rhino3d.com/en/samples/rhinoscript/flamingo-legacy-plant-browser/): Demonstrates how to display the Flamingo nXt legacy plant browser using RhinoScript. - [Flamingo Object Mapping Properties](https://developer.rhino3d.com/en/samples/rhinoscript/flamingo-object-mapping-properties/): Demonstrates how to set Flamingo nXt mapping properties for an object using RhinoScript. - [Furthest Z on Surface given X Y](https://developer.rhino3d.com/en/samples/rhinocommon/furthest-z-on-surface-given-x-y/): Demonstrates how to determine the furthest Z on surface given the X Y coordinates. - [Get and Set Active Viewport](https://developer.rhino3d.com/en/samples/cpp/get-set-active-viewport/): Demonstrates how to get and set the active view. - [Get and Set the Active View](https://developer.rhino3d.com/en/samples/rhinocommon/get-and-set-the-active-view/): Demonstrates how to determine and set the active view in Rhino. - [Get Angle](https://developer.rhino3d.com/en/samples/rhinocommon/get-angle/): Demonstrates how to interactively pick an angle given a base point and two reference points. - [Get Brep Face Vertices](https://developer.rhino3d.com/en/samples/cpp/get-brep-face-vertices/): Demonstrates how to get the vertices of a Brep face. - [Get Flamingo Material](https://developer.rhino3d.com/en/samples/rhinoscript/get-flamingo-material/): Demonstrates how get an objects Flamingo nXt material assignment using RhinoScript. - [Get Mapping Information From Object](https://developer.rhino3d.com/en/samples/rhinoscript/get-mapping-information-from-object/): Demonstrates how to get Flamingo nXt mapping information from an object using RhinoScript. - [Get Material List](https://developer.rhino3d.com/en/samples/rhinoscript/get-flamingo-material-list/): Demonstrates how to get a the Flamingo nXt material list from the current document using RhinoScript. - [Get Multiple With Options](https://developer.rhino3d.com/en/samples/rhinocommon/get-multiple-with-options/): Demonstrates how to get multiple objects in Rhino command-line options. - [Get Object UUID](https://developer.rhino3d.com/en/samples/rhinocommon/get-object-uuid/): Demonstrates how to get the UUID (sometimes called GUID) of a Rhino object. - [Get Plant Points](https://developer.rhino3d.com/en/samples/rhinoscript/get-flamingo-plant-points/): Demonstrates how get a list of points that represent a Flamingo nXt plant in RhinoScript. - [Get Point at Mouse Location](https://developer.rhino3d.com/en/samples/cpp/get-point-at-mouse-location/): Discusses how to convert a 2D screen point into a 3D world point. - [Get RGB Color Intensities](https://developer.rhino3d.com/en/samples/rhinoscript/get-rgb-color-intensities/): Demonstrates retrieve red, green, and blue color intensities using VBScript. - [Ghost Viewport](https://developer.rhino3d.com/en/samples/cpp/ghost-viewport/): Demonstrates how to set a viewport to ghosted display. - [Hatch Boundary](https://developer.rhino3d.com/en/samples/cpp/hatch-boundary/): Demonstrates how to hatch a closed planar boundary. - [Hatch Curve](https://developer.rhino3d.com/en/samples/rhinocommon/hatch-curve/): Demonstrates how to create a hatch from a curve. - [Hello Python](https://developer.rhino3d.com/en/samples/rhinopython/hello-python/): Demonstrates Basic syntax for writing python scripts. - [Import Flamingo Material](https://developer.rhino3d.com/en/samples/rhinoscript/import-flamingo-material/): Demonstrates how import a ArMaterial file using RhinoScript. - [Import Interpolated Curve](https://developer.rhino3d.com/en/samples/rhinoscript/import-interpolated-curve/): Demonstrates how to read a point file and create an interpolated curve using RhinoScript. - [Import Text from File](https://developer.rhino3d.com/en/samples/rhinoscript/import-text-from-file/): Demonstrates how to import text from a file using RhinoScript. - [Increase NURBS Curve Degree](https://developer.rhino3d.com/en/samples/rhinocommon/increase-nurbs-curve-degree/): Demonstrates how to increase the degree of a NURBS curve. - [Increase NURBS Surface Degree](https://developer.rhino3d.com/en/samples/rhinocommon/increase-nurbs-surface-degree/): Demonstrates how to increase the degree of a NURBS surface. - [Insert Knot](https://developer.rhino3d.com/en/samples/rhinocommon/insert-knot/): Demonstrates how to insert a knot into a user-selected NURBS curve. - [Instance Archive File Status](https://developer.rhino3d.com/en/samples/rhinocommon/instance-archive-file-status/): Demonstrates how to find the status of a file that contains an instance (block) definition. - [Instance Definition Names](https://developer.rhino3d.com/en/samples/rhinocommon/instance-definition-names/): Demonstrates how to print the instance definition names. - [Instance Definition Objects](https://developer.rhino3d.com/en/samples/rhinocommon/instance-definition-objects/): Demonstrates how to print (or list) the objects that make up a block definition. - [Instance Definition Tree](https://developer.rhino3d.com/en/samples/rhinocommon/instance-definition-tree/): Demonstrates how to list or enumerate the objects that make up a nested block definition. - [Intersect Curves with Meshes](https://developer.rhino3d.com/en/samples/cpp/intersect-curve-with-mesh/): Demonstrates how to intersect a curve with a mesh. - [Intersect Line Curves](https://developer.rhino3d.com/en/samples/cpp/intersect-line-curves/): Demonstrates how to intersect line curves. - [Intersect Lines](https://developer.rhino3d.com/en/samples/rhinocommon/intersect-lines/): Demonstrates how to find the intersection point of two (non-parallel) lines. - [Intersecting Line and Circle](https://developer.rhino3d.com/en/samples/rhinocommon/intersect-line-and-circle/): Demonstrates how to find the intersection point(s) of a circle and a line. - [Intersecting Meshes](https://developer.rhino3d.com/en/samples/cpp/intersecting-meshes/): Demonstrates how to intersect two meshes. - [Is Dynamic Array Dimensioned](https://developer.rhino3d.com/en/samples/rhinoscript/is-dynamic-array-dimensioned/): Demonstrates how to determine of a dynamic array has been dimensioned. - [Is Planar Surface in Plane](https://developer.rhino3d.com/en/samples/rhinocommon/is-planar-surface-in-plane/): Demonstrates how to determine if a user-selected surface is in plane. - [IsBrepBox Test](https://developer.rhino3d.com/en/samples/rhinocommon/isbrepbox-test/): Demonstrates how to determine whether a given Brep is a box. - [Isocurve Density](https://developer.rhino3d.com/en/samples/rhinocommon/isocurve-density/): Demonstrates how to adjust the the isocurve density of a user-specified surface. - [Isolate Layers](https://developer.rhino3d.com/en/samples/rhinoscript/isolate-layers/): Demonstrates how to isolate the layers of selected objects using RhinoScript. - [Join the Dots](https://developer.rhino3d.com/en/samples/rhinoscript/join-the-dots/): Demonstrates joining points into polylines in RhinoScript. - [Knot Multiplicity](https://developer.rhino3d.com/en/samples/rhinoscript/knot-multiplicity/): Demonstrates how to determine curve and surface knot multiplicity using RhinoScript. - [Line Between Curves](https://developer.rhino3d.com/en/samples/rhinocommon/line-between-curves/): Demonstrates how to draw a line between two user-specified curves. - [List AutoCAD Export Schemes](https://developer.rhino3d.com/en/samples/rhinoscript/list-autocad-export-schemes/): Demonstrates how to build a list of AutoCAD export schemes using RhinoScript. - [List IGES Export Schemes](https://developer.rhino3d.com/en/samples/rhinoscript/list-iges-export-schemes/): Demonstrates how to build a list of IGES export schemes using RhinoScript. - [List Knot Vector of NURBS Curve](https://developer.rhino3d.com/en/samples/rhinoscript/list-knot-vector-of-nurbs-curve/): Demonstrates how to print the knot vector of NURBS curve using RhinoScript. - [Lock Layer](https://developer.rhino3d.com/en/samples/rhinocommon/lock-layer/): Demonstrates how to lock a user-specified layer. - [Loft Surfaces](https://developer.rhino3d.com/en/samples/cpp/loft-surfaces/): Demonstrates how to use the CArgsRhinoLoft class and the RhinoSdkLoftSurface function. - [Loft Surfaces](https://developer.rhino3d.com/en/samples/rhinocommon/loft-surfaces/): Demonstrates how to create a lofted surface from a set of user-specified curves. - [Mark Points on a Line](https://developer.rhino3d.com/en/samples/rhinoscript/mark-points-on-a-line/): Demonstrates how to mark points on a line using RhinoScript. - [Match Object Attributes](https://developer.rhino3d.com/en/samples/rhinoscript/match-object-attributes/): Demonstrates a custom object attribute matching function in RhinoScript. - [Match Text Properties](https://developer.rhino3d.com/en/samples/rhinoscript/match-text-properties/): Demonstrates how to match text object properties in RhinoScript. - [Maximize View](https://developer.rhino3d.com/en/samples/cpp/maximize-view/): Demonstrates how to maximize a view. - [Mesh Boolean Difference](https://developer.rhino3d.com/en/samples/cpp/mesh-boolean-difference/): Demonstrates how to use the RhinoMeshBooleanDifference function. - [Mesh Boolean Intersection](https://developer.rhino3d.com/en/samples/cpp/mesh-boolean-intersection/): Demonstrates how to intersect meshes. - [Mesh Volume](https://developer.rhino3d.com/en/samples/rhinocommon/mesh-volume/): Demonstrates how to calculate the volume of a user-specified closed mesh. - [Mesh Volume Centroid](https://developer.rhino3d.com/en/samples/rhinoscript/mesh-volume-centroid/): Demonstrates how to calculate the volume centroid of a mesh. - [Meshing Objects](https://developer.rhino3d.com/en/samples/cpp/meshing-objects/): Demonstrates how to mesh surface and polysurface objects using the RhinoMeshObjects function. - [Modify an Object's Name](https://developer.rhino3d.com/en/samples/cpp/modify-object-name/): Demonstrates how to modify an object's user-defined name. - [Modify Flamingo Plant](https://developer.rhino3d.com/en/samples/rhinoscript/modify-flamingo-plant/): Demonstrates how to modify an existing Flamingo nXt plant using RhinoScript. - [Modify Grip Weight](https://developer.rhino3d.com/en/samples/cpp/modify-grip-weight/): Demonstrates how to modify the weight of a grip object. - [Modify Light Color](https://developer.rhino3d.com/en/samples/rhinocommon/modify-light-color/): Demonstrates how to change the color of a user-specified light. - [Modify Object Color](https://developer.rhino3d.com/en/samples/rhinocommon/modify-object-color/): Demonstrates how to modify the color of a user-specified object. - [Morphing a Surface](https://developer.rhino3d.com/en/samples/rhinoscript/morphing-a-surface/): An example of how to morph a surface using RhinoScript. - [Move a Construction Plane](https://developer.rhino3d.com/en/samples/cpp/move-construction-plane/): Demonstrates how to move the origin of a construction plane. - [Move CPlane](https://developer.rhino3d.com/en/samples/rhinocommon/move-cplane/): Demonstrates how to move a CPlane in the active viewport. - [Move Curve Grips](https://developer.rhino3d.com/en/samples/rhinoscript/move-curve-grips/): Demonstrates how to move a curve's grips using RhinoScript. - [Move Grip Objects](https://developer.rhino3d.com/en/samples/rhinocommon/move-grip-objects/): Demonstrates how to move grip objects on a selected surface. - [Move Objects to Current Layer](https://developer.rhino3d.com/en/samples/rhinocommon/move-objects-to-current-layer/): Demonstrates how to move object to the currently active layer. - [Move Objects to the Current Layer](https://developer.rhino3d.com/en/samples/cpp/move-objects-to-current-layer/): Demonstrates how to iterate through the Rhino geometry table and modify the layer of selected objects. - [Move Points](https://developer.rhino3d.com/en/samples/rhinocommon/move-points/): Demonstrates how to move user-specified points to a new location. - [Move Points Non Uniform](https://developer.rhino3d.com/en/samples/rhinocommon/move-points-non-uniform/): Demonstrates how to move points in a non-uniform manner. - [Move Surface Grips](https://developer.rhino3d.com/en/samples/rhinoscript/move-surface-grips/): Demonstrates how to move a surface's grip objects using RhinoScript. - [Multiple Pipe](https://developer.rhino3d.com/en/samples/rhinoscript/multiple-pipe/): Demonstrates how to Pipe on multiple curves at a time using RhinoScript. - [Object Color](https://developer.rhino3d.com/en/samples/rhinocommon/object-color/): Demonstrates how to set the color of user-specified objects. - [Object Display Mode](https://developer.rhino3d.com/en/samples/rhinocommon/object-display-mode/): Demonstrates how to set the object display mode of a user-specified mesh or surface. - [Object Iterator](https://developer.rhino3d.com/en/samples/rhinocommon/object-iterator/): Demonstrates how to iterate (or enumerate) through Rhino's geometry table. - [Offset Curve](https://developer.rhino3d.com/en/samples/rhinocommon/offset-curve/): Demonstrates how to offset curves to one side or another by a distance. - [Offset Curve](https://developer.rhino3d.com/en/samples/rhinoscript/offset-curve/): Demonstrates how to offset a curve inside or outside using RhinoScript. - [ON_SimpleArray Utilities](https://developer.rhino3d.com/en/samples/cpp/on-simplearray-utils/): Demonstrates how to sort and cull simple arrays. - [Opening 3DM Files](https://developer.rhino3d.com/en/samples/rhinoscript/opening-3dm-files/): Demonstrates how to open 3DM files using RhinoScript. - [Orient On Surface](https://developer.rhino3d.com/en/samples/rhinocommon/orient-on-surface/): Demonstrates how to orient objects on a surface. - [Orthogonal Mode](https://developer.rhino3d.com/en/samples/rhinocommon/orthogonal-mode/): Demonstrates how to enable or disable orthogonal mode and its effects. - [Overlay Text Display Conduit](https://developer.rhino3d.com/en/samples/rhinocommon/overlay-text-display-conduit/): Demonstrates how to use a display conduit to draw overlay text. - [Perpendicular Vectors](https://developer.rhino3d.com/en/samples/rhinoscript/perpendicular-vectors/): Demonstrates how to calculate a vector that is perpendicular to another vector using RhinoScript. - [Pick Angle Interactively](https://developer.rhino3d.com/en/samples/cpp/pick-angle-interactively/): Demonstrates how to use the CRhinoGetAngle class to pick an angle. - [Pick Point](https://developer.rhino3d.com/en/samples/rhinocommon/pick-point/): Demonstrates how to pick and select a point object. - [Pick Points](https://developer.rhino3d.com/en/samples/rhinocommon/pick-points/): Demonstrates how to pick and select point objects. - [Planar Surface](https://developer.rhino3d.com/en/samples/rhinocommon/planar-surface/): Demonstrates how to create a planar surface from a rectangle. - [Platonic and Archimedean Solids](https://developer.rhino3d.com/en/samples/rhinoscript/platonic-and-archimedean-solids/): Demonstrates how to generate platonic and archimedean solids with RhinoScript. - [Polar Arrays](https://developer.rhino3d.com/en/samples/rhinoscript/polar-arrays/): Demonstrates how to create polar arrays of objects using RhinoScript. - [Positioning Objects on a Surface](https://developer.rhino3d.com/en/samples/rhinoscript/positioning-objects-on-a-surface/): Demonstrates how to positioning objects on a surface using RhinoScript. - [Pre and Post-Pick Objects](https://developer.rhino3d.com/en/samples/rhinocommon/pre-and-post-pick-objects/): Demonstrates how to customize Rhino's pre and post picking of objects behavior. - [Print Instance Definition Names](https://developer.rhino3d.com/en/samples/cpp/print-instance-definition-names/): Demonstrates how to print the names of all instance definitions in the document. - [Print Instance Definition Tree](https://developer.rhino3d.com/en/samples/cpp/print-instance-definition-tree/): Demonstrates how to print the names of all instance definitions, including objects and sub-instances, in a tree-style format. - [Print Surface Control Points](https://developer.rhino3d.com/en/samples/rhinoscript/print-surface-control-points/): Demonstrates how to print the location of a surface's control points using RhinoScript. - [Project Points to Breps](https://developer.rhino3d.com/en/samples/rhinocommon/project-points-to-breps/): Demonstrates how to project points to Brep objects. - [Project Points to Mesh](https://developer.rhino3d.com/en/samples/rhinocommon/project-points-to-mesh/): Demonstrates how to project points to a mesh. - [Pull Curve to Surface](https://developer.rhino3d.com/en/samples/cpp/pull-curve-to-surface/): Demonstrates how to use ON_Surface::Pullback() to pull a curve object to a surface object. - [Query Flamingo Plant Objects](https://developer.rhino3d.com/en/samples/rhinoscript/query-flamingo-plant-object/): Demonstrates how query a plant object using RhinoScript. - [Query Plant Wireframe](https://developer.rhino3d.com/en/samples/rhinoscript/query-plant-wireframe/): Demonstrates how to generate a wire-frame representation of a Flamingo 2.0 plant using RhinoScript. - [Random Surface Points](https://developer.rhino3d.com/en/samples/rhinoscript/random-surface-points/): Generate random points on a surface using RhinoScript. - [Read Dimension Text](https://developer.rhino3d.com/en/samples/rhinocommon/read-dimension-text/): Demonstrates how to read dimension text from an annotation object. - [Reading Notes from a 3dm](https://developer.rhino3d.com/en/samples/opennurbs/read-notes-from-3dm/): Demonstrates how to read the user-added notes field from a 3DM file using either C/C++ or the openNURBS toolkit. - [Rename Block](https://developer.rhino3d.com/en/samples/rhinocommon/rename-block/): Demonstrates how to rename an instance definition (block). - [Rename Layer](https://developer.rhino3d.com/en/samples/rhinocommon/rename-layer/): Demonstrates how to rename a layer. - [Rename Object](https://developer.rhino3d.com/en/samples/rhinocommon/rename-object/): Demonstrates how to rename a user-specified object. - [Render Named Views](https://developer.rhino3d.com/en/samples/rhinoscript/render-named-views/): Demonstrates how to render named views using RhinoScript. - [Reparameterize Curve](https://developer.rhino3d.com/en/samples/cpp/reparameterize-curve/): Demonstrates how to Reparameterize a curve object. - [Reparameterize Curves](https://developer.rhino3d.com/en/samples/rhinocommon/reparameterize-curves/): Demonstrates how to reparameterize - or change the domain of - user-specified curves. - [Replace Hatch Pattern](https://developer.rhino3d.com/en/samples/rhinocommon/replace-hatch-pattern/): Demonstrates how to replace an object's hatch pattern. - [Replace Object Hatch Pattern](https://developer.rhino3d.com/en/samples/cpp/replace-object-hatch-pattern/): Demonstrates how to replace a Hatch Object's pattern. - [Replace the Color Picking Dialog](https://developer.rhino3d.com/en/samples/rhinocommon/replace-the-color-picking-dialog/): Demonstrates how to replace Rhino's color picking dialog. - [Reverse Curve](https://developer.rhino3d.com/en/samples/rhinocommon/reverse-curve/): Demonstrates how to reverse the direction of user-specified curves. - [Revolve Profile Curves](https://developer.rhino3d.com/en/samples/rhinoscript/revolve-profile-curves/): Demonstrates how to create a surface by revolving one or more profile curves using RhinoScript. - [Rotate Object Around Point](https://developer.rhino3d.com/en/samples/rhinoscript/rotate-object-around-point/): Demonstrates how to rotate an object around the centroid of its bounding box using RhinoScript. - [Rotate Objects Around Center](https://developer.rhino3d.com/en/samples/cpp/rotate-objects-around-center/): Demonstrates how rotate objects around the center point of their bounding box. - [Rotate Plane Parallel to World](https://developer.rhino3d.com/en/samples/rhinoscript/rotate-plane-parallel-to-world/): Demonstrates how to rotate a plane so its x-axis is parallel to the world using RhinoScript. - [Save and Restore Layer States](https://developer.rhino3d.com/en/samples/rhinoscript/save-and-restore-layer-states/): Demonstrates how to save and restore the states of layers using RhinoScript. - [Save Plugin List to File](https://developer.rhino3d.com/en/samples/rhinoscript/save-plugin-list-to-file/): Demonstrates how to save the names of loaded and unloaded plugins to a text file using RhinoScript. - [Save Video Card Info](https://developer.rhino3d.com/en/samples/rhinoscript/save-video-card-info/): Demonstrates how to save information about your system's video card to a text file using RhinoScript. - [Saving Files](https://developer.rhino3d.com/en/samples/rhinoscript/saving-files/): Demonstrates how to save a file using RhinoScript. - [Scale Text by Dimension Scale](https://developer.rhino3d.com/en/samples/rhinoscript/scale-text-by-dimension-scale/): Demonstrates how to properly scale text objects by the document's dimension scale in RhinoScript. - [Screen Capture All Viewports](https://developer.rhino3d.com/en/samples/cpp/screen-capture-all-viewports/): Demonstrates how to screen capture all the visible viewports to a file. - [Screen Capture Viewport](https://developer.rhino3d.com/en/samples/cpp/screen-capture-viewport/): Demonstrates how to screen capture a viewport to a file. - [Script FlowAlongSrf](https://developer.rhino3d.com/en/samples/rhinoscript/script-flowalongsrf/): Demonstrates how to script the FlowAlongSrf command using RhinoScript. - [Script the Split Command](https://developer.rhino3d.com/en/samples/rhinoscript/script-the-split-command/): Demonstrates how to script the Split command using RhinoScript. - [Select by Linetype](https://developer.rhino3d.com/en/samples/rhinoscript/select-by-linetype/): Demonstrates how to select objects by linetype using RhinoScript. - [Select Curves by Degree](https://developer.rhino3d.com/en/samples/rhinoscript/select-curves-by-degree/): Demonstrates how to use RhinoScript to select all curves that are of a specified degree. - [Select Dimensions by Style](https://developer.rhino3d.com/en/samples/rhinoscript/select-dimension-by-style/): Demonstrates how to select an objects (dimensions) by their dimension style using RhinoScript. - [Select Multiple Files](https://developer.rhino3d.com/en/samples/rhinoscript/select-multiple-files/): Demonstrates how to use RhinoScript's MultiListBox function to select multiple files. - [Select Named Objects from a List](https://developer.rhino3d.com/en/samples/rhinoscript/select-named-objects-from-a-list/): Demonstrates how to use a dialog box to select named objects using RhinoScript. - [Select Objects by Layer](https://developer.rhino3d.com/en/samples/cpp/select-objects-by-layer/): Demonstrates how to select all of the objects on a specified layer. - [Select Objects in Object Groups](https://developer.rhino3d.com/en/samples/rhinocommon/select-objects-in-object-groups/): Demonstrates how to select objects that are an object group. - [Select Objects on Layer](https://developer.rhino3d.com/en/samples/rhinocommon/select-objects-on-layer/): Demonstrates how to select all the objects on a user-specified layer. - [Select Planar Meshes](https://developer.rhino3d.com/en/samples/rhinoscript/select-planar-meshes/): Demonstrates how to select mesh objects that are planar using RhinoScript. - [Select Points by Z Coordinate](https://developer.rhino3d.com/en/samples/rhinoscript/select-points-by-z-coordinate/): Demonstrates how to select point objects with a user-specified z coordinate using RhinoScript. - [Select Text by Height](https://developer.rhino3d.com/en/samples/rhinoscript/select-text-by-height/): Demonstrates how to select text objects by their text height using RhinoScript. - [Select Text Objects](https://developer.rhino3d.com/en/samples/rhinoscript/select-text-objects/): Demonstrates how to use RhinoScript to select all text objects. - [Set a CPlane to a View](https://developer.rhino3d.com/en/samples/cpp/set-cplane-to-view/): Demonstrates how to set the construction plane in the active viewport parallel to the view. - [Set a View's Construction Plane](https://developer.rhino3d.com/en/samples/cpp/set-views-construction-plane/): Demonstrates how to set a view's construction plane. - [Set Camera Angle](https://developer.rhino3d.com/en/samples/rhinoscript/set-camera-angle/): Demonstrates how to set the camera angle using RhinoScript. - [Set Command Prompt](https://developer.rhino3d.com/en/samples/cpp/set-command-prompt/): Demonstrates how to set Rhino's command prompt text to show the progress of long processes. - [Set Hierarchical Layer Names](https://developer.rhino3d.com/en/samples/rhinoscript/set-hierarchical-layer-names/): Demonstrates how to rename layers in a hierarchical manner using RhinoScript. - [Set Length of Curve](https://developer.rhino3d.com/en/samples/rhinoscript/set-length-of-curve/): Demonstrates how to set the length of a curve object using RhinoScript. - [Set Material Colors from Object Colors](https://developer.rhino3d.com/en/samples/rhinoscript/set-material-colors-from-object-colors/): Demonstrates how to modify an object's material color to match its display color using RhinoScript. - [Set RhinoPageView Width and Height](https://developer.rhino3d.com/en/samples/rhinocommon/set-rhinopageview-width-and-height/): Demonstrates how to set the RhinoPageView width and height dimensions. - [Set Viewport Name](https://developer.rhino3d.com/en/samples/rhinocommon/set-viewport-name/): Demonstrates how to set a viewport's name or title. - [Shading Viewports](https://developer.rhino3d.com/en/samples/cpp/shading-viewports/): Demonstrates how to set a viewport to shaded display. - [Show Hidden Objects](https://developer.rhino3d.com/en/samples/cpp/show-hidden-objects/): Demonstrates how to iterate through the geometry table and unhide hidden objects. - [Show Surface Direction](https://developer.rhino3d.com/en/samples/rhinocommon/show-surface-direction/): Demonstrates how to show a surface's direction using a display conduit. - [Single Color Back Faces](https://developer.rhino3d.com/en/samples/rhinocommon/single-color-back-faces/): Demonstrates how to determine the curve and object colors of back faces. - [Space Morph](https://developer.rhino3d.com/en/samples/rhinocommon/space-morph/): Demonstrates how to construct the Twist, Bend, Taper, Maelstrom, Stretch, Sporph, Flow, and Splop space morphs. - [Split Brep](https://developer.rhino3d.com/en/samples/cpp/split-brep/): Demonstrates how to split a brep with another brep using the RhinoSplitBrep function. - [Split Brep Edges](https://developer.rhino3d.com/en/samples/cpp/split-brep-edges/): Demonstrates how to split the edges of breps. - [Split BReps with Planes](https://developer.rhino3d.com/en/samples/rhinocommon/split-breps-with-planes/): Split a Set of BReps with a Plane - [Split Curve Into Multiple Segments](https://developer.rhino3d.com/en/samples/cpp/split-curve-into-multiple-segments/): Demonstrates how to split a curve into multiple curve segments. - [Split File Path String](https://developer.rhino3d.com/en/samples/rhinoscript/split-file-path-string/): Demonstrates how to break a file path string in to its components using RhinoScript. - [Splitting Curves into Segments](https://developer.rhino3d.com/en/samples/rhinoscript/splitting-curves-to-segments/): Demonstrates how to split a curve into multiple segments using RhinoScript. - [Sprite Drawing](https://developer.rhino3d.com/en/samples/rhinocommon/sprite-drawing/): Demonstrates how to draw bitmap sprites in Rhino. - [Straightening Circles](https://developer.rhino3d.com/en/samples/rhinoscript/straightening-circles/): Demonstrates how to create lines based on circle geometry using RhinoScript. - [Surface from Control Points](https://developer.rhino3d.com/en/samples/cpp/surface-from-control-points/): Demonstrates how to create a surface from a grid of control points. - [Surface from Corner Points](https://developer.rhino3d.com/en/samples/rhinocommon/surface-from-corner-points/): Demonstrates how to create a surface from a set of corner points. - [Surface from Edge Curves](https://developer.rhino3d.com/en/samples/rhinocommon/surface-from-edge-curves/): Create a Surface from Edge Curves - [Sweep Surfaces with Sweep1](https://developer.rhino3d.com/en/samples/rhinocommon/sweep-surfaces-with-sweep1/): Demonstrates how to sweep along a single rail curve. - [Sweeping Surfaces with Sweep1](https://developer.rhino3d.com/en/samples/cpp/sweeping-surfaces-with-sweep1/): Demonstrates how to use the CArgsRhinoSweep1 class and the RhinoSweep1 function. The definitions of these can be found in rhinoSdkSweep.h. - [Sweeping Surfaces with Sweep2](https://developer.rhino3d.com/en/samples/cpp/sweeping-surfaces-with-sweep2/): Demonstrates how to use the CArgsRhinoSweep2 class and the RhinoSweep2 function. The definitions of these can be found in rhinoSdkSweep.h. - [Synchronize Layer Render Color](https://developer.rhino3d.com/en/samples/cpp/synchronize-layer-render-color/): Demonstrates how to synchronize the basic material color of a layer with the layer's color. - [Synchronize Object Render Color](https://developer.rhino3d.com/en/samples/cpp/synchronize-object-render-color/): Demonstrates how to synchronize the basic material color of an object with the object's display color. - [Tag Object As Flamingo Plant](https://developer.rhino3d.com/en/samples/rhinoscript/tag-object-as-flamingo-plant/): Demonstrates how to tag an object as a Flamingo nXt plant in RhinoScript. - [Test if an Object is a Circle](https://developer.rhino3d.com/en/samples/cpp/test-if-object-is-circle/): Demonstrates how to test if an object looks like a circle. - [Text Justify](https://developer.rhino3d.com/en/samples/rhinocommon/text-justify/): Demonstrates how to set text justification with a specific font. - [Tight Bounding Boxes for Breps](https://developer.rhino3d.com/en/samples/rhinocommon/tight-bounding-boxes-for-breps/): Demonstrates how to generate tight bounding boxes for Brep objects. - [Transform Breps](https://developer.rhino3d.com/en/samples/rhinocommon/transform-breps/): Demonstrates how to move (or transform) a user-specified Brep object. - [Transform Screen to World Coordinates](https://developer.rhino3d.com/en/samples/cpp/transform-screen-to-world-coordinates/): Demonstrates how to transform screen coordinates to world coordinates. - [Transform World to Screen Coordinates](https://developer.rhino3d.com/en/samples/cpp/transform-world-to-screen-coordinates/): Demonstrates how to transform world coordinates to screen coordinates. - [Trim Curve with Circle](https://developer.rhino3d.com/en/samples/rhinoscript/trim-curve-with-circle/): Demonstrates how to trim a closed curve with a circle using RhinoScript. - [Tweak Colors](https://developer.rhino3d.com/en/samples/rhinocommon/tweak-colors/): Demonstrates how to set the default paint colors in Rhino. - [Tween Curve](https://developer.rhino3d.com/en/samples/rhinocommon/tween-curve/): Demonstrates how to tween two curves. - [Two View Layout](https://developer.rhino3d.com/en/samples/cpp/two-view-layout/): Demonstrates how to create a two-view viewport layout. - [Un-tag an Object as a Flamingo Plant](https://developer.rhino3d.com/en/samples/rhinoscript/untag-object-as-a-flamingo-plant/): Demonstrates how to un-tag an object as a Flamingo nXt plant using RhinoScript. - [Unroll Surface](https://developer.rhino3d.com/en/samples/rhinocommon/unroll-surface/): Unrolling a developable surface - [Unroll Surface and Mesh](https://developer.rhino3d.com/en/samples/rhinocommon/unroll-surface-and-mesh/): Unroll developable surface and associated mesh - [Unrolling Surfaces and Polysurfaces](https://developer.rhino3d.com/en/samples/rhinoscript/unrolling-surfaces-and-polysurfaces/): Demonstrates how to unroll surfaces and polysurfaces using RhinoScript. - [User Data](https://developer.rhino3d.com/en/samples/rhinocommon/user-data/): RhinoCommon object plugin user data - [Viewport Resolution](https://developer.rhino3d.com/en/samples/rhinocommon/viewport-resolution/): Print Active Viewport Resolution - [Visual Analysis Modes](https://developer.rhino3d.com/en/samples/rhinocommon/visual-analysis-modes/): Demonstrates how to set the visual analysis mode to Z analysis for user-specified objects. - [Zoom Extents of Points](https://developer.rhino3d.com/en/samples/cpp/zoom-extents-of-points/): Demonstrates how to zoom to the extends of an array of 3D points. - [Zoom to Object](https://developer.rhino3d.com/en/samples/rhinocommon/zoom-to-object/): Zoom to a Selected Object - [Array Points on Surface](https://developer.rhino3d.com/en/samples/rhinopython/array-points-on-surface/): Demonstrates how to array points on a surface using Python. - [Circle From Length](https://developer.rhino3d.com/en/samples/rhinopython/circle-from-length/): Demonstrates how to add a circle based on its circumference using Python. - [Copy Objects to Layer](https://developer.rhino3d.com/en/samples/rhinopython/copy-objects-to-layer/): Demonstrates how to copy objects to layer based on Python. - [Get Current Model Information](https://developer.rhino3d.com/en/samples/rhinopython/current-model-info/): Demonstrates how to get current model information through Python. - [Get Curve Length](https://developer.rhino3d.com/en/samples/rhinopython/curve-length/): Demonstrates how to get curve length through Python. - [Draw a Parametric Curve](https://developer.rhino3d.com/en/samples/rhinopython/draw-parametric-curve/): Demonstrates how to draw a parametric curve Python. - [Export Control Points](https://developer.rhino3d.com/en/samples/rhinopython/export-control-points/): Demonstrates how to export control points with Python. - [Garden Path Sample](https://developer.rhino3d.com/en/samples/rhinopython/garden-path/): Demonstrates basic syntax for writing python scripts. - [Export Points](https://developer.rhino3d.com/en/samples/rhinopython/export-points/): Demonstrates how to export points with Python. - [Annotate Curve Endpoints](https://developer.rhino3d.com/en/samples/rhinopython/annotate-curve-endpoints/): Demonstrates how to add a NURBS curve to Rhino using Python. - [Import Points](https://developer.rhino3d.com/en/samples/rhinopython/import-points/): Demonstrates importing points from a file into Rhino using Python. - [Annotate Curve Form](https://developer.rhino3d.com/en/samples/rhinopython/annotate-curve-form/): The following sample shows how to create a custom Windows form. - [Sticky Values](https://developer.rhino3d.com/en/samples/rhinopython/sticky-values/): This module contains a standard python dictionary called sticky which sticks around. - [Custom Getpoint](https://developer.rhino3d.com/en/samples/rhinopython/custom-get-point/): A Rhino GetPoint that performs some custom dynamic drawing. - [Make a Circle with RhinoCommon](https://developer.rhino3d.com/en/samples/rhinopython/make-circle-with-rhinocommon/): This sample creates a circle without using functions in the rhinoscript package.