Skip to content

linkcad.controller

High-level conversion workflow controller. Use this when you need the full conversion wizard state machine (validate, import, transform, export) rather than driving linkcad.conv directly.

from linkcad.controller import ConversionController, ConversionState

Classes

ConversionController

Orchestrates the multi-step conversion workflow used by the LinkCAD conversion wizard.

from linkcad.controller import ConversionController
ctrl = ConversionController()
ctrl.set_import_format("GDSII")
ctrl.set_export_format("DXF")
ctrl.set_import_path("/data/design.gds")
ctrl.set_export_path("/data/design.dxf")
ctrl.run()
if ctrl.state == ConversionState.Done:
print("Conversion succeeded")
else:
print(f"Failed at state: {ctrl.state}")
Method / PropertyDescription
ConversionController()Create a new controller instance
ctrl.set_import_format(name)Set the import format by name (e.g. "GDSII")
ctrl.set_export_format(name)Set the export format by name
ctrl.set_import_path(path)Set the input file path
ctrl.set_export_path(path)Set the output file path
ctrl.run()Execute the full conversion pipeline
ctrl.stateCurrent ConversionState
ctrl.drawing()Returns the loaded Drawing (available after import step)

ConversionState

Enum representing the current state of the conversion wizard.

ValueDescription
ConversionState.IdleNot yet started
ConversionState.ImportingImport step in progress
ConversionState.TransformingApplying layer maps and transformations
ConversionState.ExportingExport step in progress
ConversionState.DoneCompleted successfully
ConversionState.FailedAn error occurred