Run cadwork from the Command Line
Besides starting cadwork by double-clicking a file, you can launch it from cmd or
PowerShell with ci_start.exe. Command-line arguments let you open a file, pick a specific
cadwork version, automatically run a Python script, or print plans — without touching the UI.
Combined with a PowerShell loop, this turns cadwork into a tool you can drive over a whole folder of files at once (batch processing) for exports, printing or any custom Python automation.
Note
Exact paths (drive letter, version folder name) depend on your local installation. Replace the paths in the examples below with the ones on your machine.
Locating ci_start.exe
ci_start.exe is the cadwork launcher and lives in your cadwork.dir folder:
1 | |
Each installed version has its own program folder next to it, named exe_<year>:
1 2 | |
Opening a file and selecting the version (/EXE=)
To open a .3d file, pass the file path to ci_start.exe. Use the /EXE= argument to choose
which installed cadwork version should open the file:
1 | |
You can also launch it with PowerShell's Start-Process, which lets the prompt return immediately
and gives you control over the window state:
1 | |
Note
/EXE= is especially useful when several cadwork versions are installed side by side — it
decides whether the file opens in, for example, the 2026 or the 2027 program.
Auto-running a Python script (/PLUGIN=)
The /PLUGIN= argument runs one of your Python plugins automatically right after the file opens.
1 | |
The plugin name is the name of the plugin folder in your API.x64 directory (the same folder
and script name you set up for the plugin bar). See Getting Started for how to
create and place a plugin.
Tip
For unattended processing, let the script do its work and then save or export the result — for
example file_controller.save_3d_file() or an export controller call — so each file is
processed start to finish without any clicks.
Running a plugin from any directory (/RUNPROGRAM)
Where /PLUGIN= only runs plugins that are registered in the API.x64 directory, the
/RUNPROGRAM argument runs a plugin from any directory you define. The plugin does not
have to be registered in API.x64 — you point directly at the file you want to run:
1 | |
The target can be either a .py (Python) or a .dll (compiled) plugin:
1 2 | |
Note
Because /RUNPROGRAM takes a full path, you can keep plugins anywhere — on a network share,
in a project folder, or in a development directory — without copying them into API.x64 first.
This is handy for testing a plugin during development or for running project-specific scripts.
Running headless (/NO-GUI)
Combine /RUNPROGRAM with /NO-GUI to run the plugin without the graphical user interface.
cadwork starts, executes the plugin, and no window is shown — ideal for fully unattended and
server-side automation:
1 | |
Warning
In headless mode there is no UI to interact with, so the plugin must do all of its work on its own and save/export the result or an export controller call. Avoid any dialogs or calls that wait for user input, as there is no window to answer them.
Batch printing / export
For .2d files you can print plotter or laser frames directly from the command line:
1 2 3 4 | |
| Argument | Effect |
|---|---|
/P A |
Print all plotter frames to the default plotter |
/P 1-2;5;7 |
Print the selected plotter frames |
/L A |
Print all laser frames to the default laser |
/L PDF |
Print all laser frames to the default PDF driver |
Batch processing with PowerShell
Put it together to process every file in a folder. The example below opens each .3d file with a
fixed cadwork version and runs an export plugin on it:
1 2 3 4 5 6 7 8 9 10 | |
Warning
The -Wait flag is important: it makes PowerShell wait until cadwork closes before opening the
next file, so the files are processed one at a time instead of launching dozens of cadwork
instances at once. For a fully unattended run, the plugin should save/export its result and
then close the file.
Other useful arguments
A few additional arguments that are handy for everyday use:
| Argument | Effect |
|---|---|
/GET_LICENCE |
Print the currently selected default licence type |
/USP |
Define the directory for the Userprofile |
/CATDIR |
Define the directory for the Catalog |
/WORKDIR |
Define the directory for the Work folder |
See also
- Getting Started — set up Python plugins in cadwork.
- Videos — example videos, including how to use Python in cadwork.