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

Verb What it does
bim rhino instances list all live sessions with pid, port, active document
bim rhino status plugin state, active document
bim rhino open --path FILE open a .3dm in the running session
bim rhino install register the plugin via Windows registry
bim rhino exec --code "C#" run C# against the live RhinoCommon API
bim rhino exec --file script.cs run a .cs file

For agent use: /rhino/llms.txt