powershell.exe -NoProfile -ExecutionPolicy Bypass -Command 'iwr -useb https://bimcli.com/install.ps1 -OutFile $env:TEMP\bim-install.ps1; powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMP\bim-install.ps1'
Export your entire Revit drawing set to correctly-named PDFs from a terminal — no dialogs to click, no per-seat subscription. One command. bim starts Revit or uses the one you have open.
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 help, and most of them are driven from Revit's ribbon by a person.
bim-cli talks to a lightweight add-in running inside Revit. You call it from a terminal, a script, or an AI agent. Nobody has to click through Revit.
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 -OutFile $env:TEMP\bim-install.ps1; powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMP\bim-install.ps1
After install, bim revit install registers the add-in with your Revit version. Restart Revit once. Then export runs from any terminal.
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command 'iwr -useb https://bimcli.com/install.ps1 -OutFile $env:TEMP\bim-install.ps1; powershell -NoProfile -ExecutionPolicy Bypass -File $env:TEMP\bim-install.ps1'
Then ask your assistant to run bim describe --json. See what the installer does.