LinkCAD can be invoked from the command line for batch processing and automation.
linkcad.exe [options] [file]
Option Short Description --import <file>-iInput file path --export <file>-oOutput file path --input-format <fmt>Input format (DXF, GDSII, CIF, ACIS SAT, etc.); chosen from the input file’s extension when omitted --output-format <fmt>Output format (DXF, GDSII, CIF, ACIS SAT, etc.); required for an unattended conversion
Processing
Option Short Description --layer-map <file>Layer mapping file --config <file>-cConfiguration/command file --top-cell <pattern>Top cell pattern for selection --apply-tool <tools>Apply tool(s); semicolon-separated --apply-layer-mapApply layer map during processing --batch-combineCombine files in batch mode --units <int>-uDisplay units, as a unit code (0–9)
Control
Option Short Description --quit-qExit when finished processing --exitExit immediately (testing only) --consoleEnable console output --traceEnable TRACE-level logging --save-settingsSave settings on exit (default) --no-save-settingsDo not save settings on exit --load-defaultsReset to default settings before processing
Python
Option Description --python-script <file>Run a Python script and exit (headless) --python-cmd <code>Execute Python code and exit --python-interactiveStart interactive Python console (with GUI)
Option Description --helpShow help text --help-allShow help text including all dynamic options
Dynamic Options
Format-specific options can be set on the command line using their internal key names. Use --help-all to list all available options. Common prefixes:
See each format page for the full list of available keys.
These Tool* keys control drawing tool behaviour when invoked via --apply-tool or set in command files .
Arc & Curve Precision
Key Type Description ToolArcPrecUnitsint Precision mode — -1=facets, or unit enum (see Units ) ToolArcPrecValueint Arc approximation value
Shape Conversion
Key Type Description ToolConvertArcsflag Convert arcs to polylines ToolConvertCirclesflag Convert circles to polygons ToolConvertDonutsflag Convert donuts ToolConvertDonutsStyleint Donut style — 0=single outline, 1=two halves ToolConvertSplinesflag Convert splines to polylines ToolConvertTextflag Convert text to polygons ToolConvertZeroWidthClosedPolylinesflag Convert closed zero-width polylines to polygons independently of wide polylines ToolConvertWiresflag Convert wires to polygons
Polygon Handling
Key Type Description ToolCloseOpenPolygonsflag Close open polygons ToolAddWidthToPolygonsflag Add width to zero-width polylines ToolEraseZeroWidthPolylinesflag Erase zero-width polylines ToolMergeZeroWidthPolylinesflag Merge zero-width polylines ToolJoinOpenPolygonsflag Join open polygons ToolAllowPolylineSpanningflag Allow polyline spanning ToolEvenOddFillflag Use even-odd fill rule ToolForceManhattanflag Force Manhattan geometry ToolSelectionOutlineOnlyflag Select outline only ToolSelectionPercentageint Selection tolerance percentage
Holes & Sanitize
Key Type Description ToolHolesModeint Hole processing — 0=link, 1=split, 2=extract ToolHolesModeLinkflag Link holes ToolHolesModeOmitLinkflag Extract holes as separate polygons; legacy UI label: Omit cut-lines in re-entrant polygons . See Merge Hole Output Modes ToolKeepInternalEdgesflag Keep original inner boundaries during Merge Shapes
Tolerance & Width
Key Type Description ToolPolyToleranceUnitsint Tolerance unit enum (see Units ) ToolPolyToleranceValueint Polygon tolerance value ToolPolyWidthUnitsint Width unit enum (see Units ) ToolPolyWidthValueint Width value ToolErrorMarginfloat Error margin multiplier
Quasi-Circle Detection
Key Type Description ToolQuasiCircleMinFacetsint Minimum facets for detection
Crop
Key Type Description ToolCropX0float Crop region X0 ToolCropX1float Crop region X1 ToolCropY0float Crop region Y0 ToolCropY1float Crop region Y1
Etch Compensation
Key Type Description ToolEtchMergeflag Merge after etch ToolEtchNegaPosiflag Negative-positive conversion ToolEtchPitchUmfloat Pitch in microns ToolEtchRangeUmfloat Range in microns ToolEtchResultLayerMaxint Max result layer ToolEtchResultLayerMinint Min result layer
Misc
Key Type Description ToolAutoFlattenflag Auto-flatten hierarchy ToolDontExplodeflag Merge Shapes option Only merge polygons ; legacy UI label: Don’t explode complex shapes
Viewer Options
These Lv* keys control the viewer display. They can be set on the command line or in command files .
Key Type Description LvDrawFilledflag Draw filled polygons LvBackgroundColorint Background — 0=black, 1=white LvBlendFunctionint Blend mode — 0=opaque, 1=translucent, 2=hatched LvHiliteBrokenPlinesflag Highlight broken polylines LvAccellerateflag Enable OpenGL acceleration
Key Type Description TextLineWidthRelfloat Text line width as fraction of font size
Units Enum Reference
Many options take an integer unit value. The following table lists all supported unit codes:
Value Unit 0 Nanometer 1 Micron 2 Mil 3 Point 4 Millimeter 5 Centimeter 6 Inch 7 Meter 8 Feet 9 Picometer
Examples
Convert GDS to DXF
linkcad.exe --import chip.gds --export chip.dxf --output-format DXF --quit
Batch convert with a command file
linkcad.exe --config gds_to_dxf.lsn -i design.gds -o design.dxf --output-format DXF -q
Run a Python script headless
linkcad.exe --python-script process.py --console
linkcad.exe -i input.gds -o output.gds --output-format GDSII --apply-tool " Merge;SanitizePolygons " -q
Use a command file
linkcad.exe --config my_settings.lsn --console -q
Legacy Options
The following options are deprecated but still accepted for backward compatibility. LinkCAD 10 command lines work unchanged: an option may be written with one dash, as -Name=value or -Name value (-LcApplyLayerMap true), a short option as -i=file, and options that have been renamed by their old names (-LcCropX0 is ToolCropX0).
Legacy Modern Equivalent --LcImportFile--import--LcExportFile--export--LcImportFormat--input-format--LcExportFormat--output-format--LcLayerMap--layer-map--LcCommandFile--config--LcTopCellPattern--top-cell--LcDisplayUnits--units--LcSaveSettings--save-settings--LcExitWhenFinished--quit--LcExitImmediately--exit--LcConsoleMode--console--LcBatchCombineFiles--batch-combine--LcApplyLayerMap--apply-layer-map--ToolApply--apply-tool--LcLoadDefaults--load-defaults--LcSkipSteps(none; unattended runs need no step list) --LcConvertBatch(none; see Batch Mode )