bim-blender

Convert 3D files without opening Blender, or drive a live Blender session from the command line. Supports FBX, glTF/GLB, OBJ, USD, and BLEND natively — IFC read/write requires the free Bonsai add-on. Your AI assistant can batch-convert files, load IFC models, and place geometry in a scene you're actively working in.

Headless format conversion and live Blender control via a local TCP bridge. One install command sets up a managed Blender 4.5 LTS — no manual Blender setup required.

Install managed Blender: bim blender install — downloads Blender 4.5.10 (~395 MB) to %LOCALAPPDATA%\bim-cli\blender\. No admin, no system-wide Blender install required. Run once, idempotent.

Add IFC support: bim blender install --component bonsai — adds the free Bonsai extension (~118 MB).

How it works

Two modes in one driver:

Convert — format matrix

Supported conversions. * = requires bim blender install --component bonsai.

FromToRequires Bonsai
IFCFBX, glTF/GLB, OBJ, USD, BLENDYes *
FBXglTF/GLB, OBJ, USD, BLENDNo
glTF/GLBFBX, OBJ, USD, BLENDNo
OBJFBX, glTF/GLB, USD, BLENDNo
USDFBX, glTF/GLB, OBJ, BLENDNo
BLENDIFC *, FBX, glTF/GLB, OBJ, USDIFC only *

exec globals

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

VariableTypeAvailability
bpyBlender Python API modulealways
bpy.contextactive contextalways
bpy.datadata block accessalways
bonsaiBonsai modulewhen Bonsai installed
toolbonsai.tool helperswhen Bonsai installed
ifcopenshellIfcOpenShell modulewhen Bonsai installed

Return a value by assigning to _. Non-JSON-serializable results fall back to repr().

Verbs

VerbWhat it does
bim blender installdownload and install managed Blender 4.5.10 LTS
bim blender install --component bonsaiadd Bonsai IFC add-on to the managed install
bim blender install --component allBlender + Bonsai in one step
bim blender upgradeupgrade managed install to latest pinned versions
bim blender doctorcheck install health; each failed check includes a fix command
bim blender statusshow installed versions and paths
bim blender convert --in FILE --out FILEheadless format conversion; format detected from extension
bim blender launchopen managed Blender with UI; waits for bridge to bind
bim blender instanceslist live Blender instances with pid, port, open file
bim blender exec --code "PYTHON"run Python against a live Blender instance
bim blender exec --file script.pyrun a .py file
bim blender kill --pid PIDterminate a specific Blender instance
bim blender kill --allterminate all managed Blender instances

Example: batch IFC to glTF

bim blender install --component all
bim blender convert --in model.ifc --out model.glb

Example: co-edit with an agent

bim blender launch
bim blender exec --code "bpy.ops.mesh.primitive_cube_add(location=(2, 0, 0))"
bim blender exec --code "_ = bpy.context.active_object.location[:]"

The cube appears in the open Blender window. The second command reads back whatever you've moved it to.

For agent use: /blender/llms.txt