bim-rhino

Drive a running Rhino 6 session from the command line. Execute scripts, inspect geometry, and control the application without touching the UI. Same pattern as the Revit driver — your AI assistant can script both in the same pipeline.

Rhino 6 automation via an in-process plugin. Every command is a JSON request over localhost — no keyboard, no mouse, no Rhino window in focus required.

Requires: Rhino 6 running with the rhino-cli plugin loaded. Run bim rhino install once, then restart Rhino.

How it works

The rhino-cli plugin binds to a dynamic port at startup and writes it to %LOCALAPPDATA%\bim-cli\instances\rhino-<pid>.json. bim-rhino reads that file, sends JSON requests, and the plugin executes them in Rhino's UI thread. Multiple Rhino instances are supported — use bim rhino instances to list them and --pid to target one.

exec globals

These variables are pre-injected into every bim rhino exec snippet:

Variable Type
doc Rhino.RhinoDoc (null if no document open)
app RhinoAppProxy (wraps static RhinoApp)

Verbs

VerbWhat it does
bim rhino launch [--timeout N]Launch Rhino and wait for the add-in to register; returns immediately if a live instance already exists
bim rhino instancesList all live Rhino instances
bim rhino quit [--pid N] [--all]Close a Rhino instance. Auto-selects when exactly one instance is running.
bim rhino kill [--pid N] [--all]Terminate one or all registered Rhino instances (alias for quit)
bim rhino exec [--code CODE] [--file FILE] [--no-transaction] [--timeout N] [--pid N]Execute arbitrary C# against the live RhinoCommon API
bim rhino export --output FILE [--sheet SHEET] [--timeout N] [--pid N]Export the active Rhino view to a bim-pdf package (PDF + elements.json + marks.json)
bim rhino open --path FILE [--timeout N] [--pid N]Open a .3dm file in the active Rhino instance
bim rhino status [--pid N]Rhino + add-in state (running, document, port)
bim rhino installCopy the add-in DLL to %APPDATA%\McNeel\Rhinoceros and write HKCU registry keys for each detected Rhino version
bim rhino doctorDriver health check
bim rhino versionDriver version

For agent use: /rhino/llms.txt