Skip to the usage guide

Rhino 3D Scripts Skill.

Choose a macro for a command sequence, and a script when the modeling task needs logic.

  • 3D Design
  • CAD
  • Automation
Source Review · Rhino 3D ScriptsSKILL.md
Task 3D Design Produces • A Rhino Python, C# or legacy VBScript implementation appropriate to the task • A command macro or toolbar alias for a simple repeatable sequence • A geometry-operation script with cancellation, undo and redraw handling Before You Start Rhino 7 or later; Rhino 8 is the source's recommended environment for the unified Script Editor.
Editorial summary · source reviewed 2026-10-07 · not a generated example

01 What It Does

Choose a Scripting Tool for Rhino Geometry

A Rhino scripting guide focused on runtime selection, geometry APIs and safe application-level batch behavior.

Source-based workflowNot an execution benchmark

The Working Approach

Rhino 3D Scripts helps an agent choose among RhinoPython, RhinoCommon, legacy RhinoScript and command macros. The distinction matters: a toolbar macro can replay commands, while a script can inspect geometry, branch on conditions and process many objects. The source recommends Python for new scripts and retains VBScript guidance for existing files.

Its most useful detail lies in application behavior rather than shape recipes. It explains the difference between object GUIDs and geometry objects, reads tolerance from the active document, groups changes into an undo record and restores viewport redraw after failures. It also documents Rhino 8 Script Editor and older Python-runtime pitfalls, making the target version and launch method essential parts of the brief.

Expected Deliverables

  • A Rhino Python, C# or legacy VBScript implementation appropriate to the task
  • A command macro or toolbar alias for a simple repeatable sequence
  • A geometry-operation script with cancellation, undo and redraw handling
See the Example Brief

From Brief to Review

  1. 01
    Choose the Runtime

    Identify Rhino version and launch method. Use a macro only for a fixed command sequence; choose a script when variables, loops or conditions are needed.

  2. 02
    Respect the Document

    Resolve selected object types, active-document tolerance and geometry identifiers before applying changes. Avoid hardcoded assumptions about units.

  3. 03
    Make Batch Changes Recoverable

    Group mutations into an undo record, restore redraw in a finally path and allow cancellation during long loops. Inspect the resulting geometry in Rhino.

02 When to Use It

When to Use It

Rhino 7 or later; Rhino 8 is the source's recommended environment for the unified Script Editor.

A Good Fit

  • Repeated Modeling OperationsUseful for processing selected curves, surfaces, layers or blocks under explicit rules.
  • Legacy Script MaintenanceFits debugging a RhinoScript file or adapting an older workflow without pretending VBScript and Python behave identically.

Limits to Check

  • Rhino Environment NeededRhinoCommon and rhinoscriptsyntax examples depend on Rhino's runtime. A generic Python execution is not an equivalent test.
  • Version-Sensitive BehaviorRhino 8 builds and older IronPython launch paths differ. APIs, encoding and argument passing must be checked against the actual installation.

Bring These Inputs

  • Rhino VersionSpecify the application version and whether the script uses the unified Script Editor or an older command launcher.
  • Geometry SelectionDescribe the objects to select, allowed types and changes that must not affect neighboring geometry.
  • Model RulesProvide intended units, operation rules and expected behavior when input geometry is invalid or the user cancels.

03 Decisions That Matter

Decisions That Matter

  1. Recoverable Batch Editing

    One undo record and restored redraw make a bulk operation easier to inspect and reverse than many disconnected commands.

  2. Correct Type Boundaries

    The guide distinguishes document identifiers from geometry objects, preventing a common source of failures when combining Rhino APIs.

04 Try a Focused Brief

Try a Focused Brief

The example brief below has not been tested. Check the skill’s setup before using it.

Review the Setup

Retain the Skill references for API and launcher details. Generated scripts are loaded into Rhino separately from installing the Skill in an agent.

Upstream Source File
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/rhino3d-scripts/SKILL.md

Rhino 7 or later; Rhino 8 is the source's recommended environment for the unified Script Editor.

Start With One Deliverable

Adapt the scope, source material and constraints in this brief before running the skill.

Example Brief
Use rhino3d-scripts to draft a Rhino 8 Python tool that selects curves and reports their lengths grouped by layer. Read the document's units and tolerance, handle cancellation, and do not modify geometry. Then propose a separate opt-in labeling operation with one undo record and redraw restored on failure. Explain how to run it through the Script Editor.

Inspect the Result

Check the actual output against these observable criteria.

  • Object selection accepts only the intended geometry types.
  • Reported dimensions and tolerances come from the active document.
  • A failed or cancelled batch restores redraw and does not leave unexplained partial changes.

OpenDesign provides a local design workspace for coding agents. This listing does not mean the skill is bundled or that its external tools, credentials and software dependencies are included.

05 Source and License

Source and License

This page describes the pinned source revision linked below. Upstream behavior and requirements can change.

License
MIT
Reviewed Snapshot
2026-10-07 · 3a685010a7af
Editorial Source Summary
A Rhino scripting guide focused on runtime selection, geometry APIs and safe application-level batch behavior.

Original summary by OpenDesign, based on the linked source. Repository stars are a dated popularity signal, not skill usage or a quality score.

06 Questions Before You Start

Questions Before You Start

When is a macro enough?

Use a macro for a fixed sequence of existing Rhino commands. The source recommends a script once the task requires a variable, loop or conditional.

Why can a Python script work in one Rhino launcher but not another?

The source distinguishes older IronPython execution from newer CPython workflows, including encoding and module-shadowing differences.

Can it maintain .rvb files?

Yes. It documents legacy VBScript conventions, while recommending Python for most new work.

OpenDesign

Make Room for the Next Design Iteration.

Keep your brief, source material and design work together in a local workspace. Check the skill’s own setup before adding it to your workflow.

Upstream Source File
https://github.com/github/awesome-copilot/blob/3a685010a7afdc0dbd4c83b7fbda6c316aa516e5/skills/rhino3d-scripts/SKILL.md