bim-sketchup

Drive a running SketchUp session from the command line. Execute Ruby against the live model, open and export .skp files, and control the application without touching the UI. Same pattern as the Revit and Rhino drivers — your AI assistant can script all three in the same pipeline.

SketchUp automation via a Ruby extension. Every command is a JSON request over localhost — no keyboard, no mouse, no SketchUp window in focus required.

Requires: SketchUp running with the bim_bridge extension loaded. bim sketchup setup downloads and installs SketchUp Make 2017 (free, no account), then bim sketchup install writes the extension. SketchUp Pro / 2026 works too via --year or --url, but needs a Trimble subscription.

How it works

bim sketchup install writes a Ruby extension (bim_bridge.rb) into SketchUp's Plugins directory. On the next launch, the extension starts a TCP server on port 15700 inside the SketchUp process. bim-sketchup sends JSON-RPC requests to that port and the extension evaluates them against the live model on SketchUp's main thread.

Cold start is roughly 13 seconds. bim sketchup launch starts SketchUp (opening a .skp if you pass --path) and waits for the bridge to answer before returning.

exec context

bim sketchup exec evaluates a Ruby snippet in the extension and returns the inspected result as JSON. There are no pre-injected locals — reach the model through the SketchUp Ruby API:

bim sketchup exec --code "Sketchup.active_model.name"
bim sketchup exec --code "Sketchup.active_model.entities.length"

Verbs

Verb What it does
bim sketchup setup [--url URL] download and silently install SketchUp (Make 2017 by default); pass a download.sketchup.com URL for Pro
bim sketchup install [--year YYYY] write bim_bridge.rb into the Plugins directory; defaults to the newest installed year
bim sketchup launch [--path FILE] [--timeout 120] start SketchUp and wait for the bridge; opens --path if given
bim sketchup close quit SketchUp gracefully (Sketchup.quit), falling back to a process kill
bim sketchup status SketchUp version, active model, and extension state
bim sketchup open --path FILE open a .skp in the running session
bim sketchup exec --code "Ruby" run inline Ruby against the live model
bim sketchup exec --file script.rb run a .rb file
bim sketchup export --output FILE [--path SRC] export the active model (or --path source) — format from the extension: .pdf, .dwg, .png, .obj, …
bim sketchup doctor check that SketchUp is installed and the bridge is loaded

For agent use: /sketchup/llms.txt