Export your entire Revit drawing set to correctly-named PDFs from a terminal — no GUI, no plugin, no per-seat subscription. One command. Works while Revit is running.
Revit's native Print/Export dialog crashes mid-run on large sheet sets, produces inconsistent file naming, and requires someone to sit at the workstation and click through it. Third-party plugins fill the gap — but they still require Revit's UI to be active and a human in the loop.
bim-cli talks to a lightweight add-in running inside Revit. You call it from a terminal, a script, or an AI agent. No GUI required.
bim revit export --sheet "A-101" --output ./output
{"ok":true,"data":{"path":"output/A-101.pdf","sheet_number":"A-101","sheet_name":"First Floor Plan"}}
bim revit export --all-sheets --output ./output
Each sheet writes to <sheet_number>-<sheet_name>.pdf. A 200-sheet model exports in one command.
bim revit export --sheet "A-101,A-102,A-201,A-202" --output ./output/architecture
The --bim flag writes 6 JSON sidecars next to each exported PDF. An AI agent can read these files directly to answer questions about the drawing — no Revit session required after export.
bim revit export --sheet "A-101" --bim --output ./output
output/
A-101.pdf standard PDF -- opens in any viewer
A-101.elements.json every element: id, category, mark, level, family, type
A-101.marks.json element positions in PDF coordinate space
A-101.rooms.json room boundaries, names, numbers, areas
A-101.levels.json level names and elevations
A-101.properties.json all parameters for every element on the sheet
A-101.views.json viewport geometry and crop regions
cat output/A-101.elements.json | jq '[.[] | select(.category=="Doors")]'
[
{"id": 1234567, "category": "Doors", "mark": "D-01", "level": "Level 1", "family": "Single-Flush"},
{"id": 1234891, "category": "Doors", "mark": "D-02", "level": "Level 1", "family": "Single-Flush"}
]
bim revit export --all-sheets --orientation landscape --output ./output
--orientation auto (default) uses each sheet's own orientation setting.
Because bim revit export is a CLI command, any AI tool with terminal access can call it directly. The agent doesn't need to control the Revit UI, click print dialogs, or understand Revit's export settings.
bim revit export --all-sheets --bim --output ./output/permit
After that command, the agent reads output/permit/*.elements.json to verify element counts, check parameters, or generate a submittal log — all without Revit staying open.
iwr -useb https://bimcli.com/install.ps1 | iex
After install, bim revit install registers the add-in with your Revit version. Restart Revit once. Then export runs from any terminal.