Namespace CAMAPI.Macros
Interfaces
ICamApiMacro
Main interface that a compiled macro must implement to be executed by CAM
ICamApiMacroBuilder
Builds a new macro from specified list of commands.
ICamApiMacroBuilderDotNetSettings
Settings of build .NET DLL
ICamApiMacroBuilderLanguageSettings
Language-oriented settings of build macro. Always has no properties, because they are in inherited interfaces.
ICamApiMacroBuilderSettings
Settings of build macro
ICamApiMacroBuilderSprSettings
Settings of build .SPR
ICamApiMacroCommandData
Uniform read-only view of a single recorded macro command's payload. CommandType identifies the command; field keys are stable per command type. Raises on unknown key — callers must only request keys defined for that CommandType.
ICamApiMacroCommandDataBuilder
Writable command payload, created by ICamApiMacroCommandsManager.CreateCommandData. Fill the keys defined for the CommandType, then feed it to RegisterCommand — this imitates exactly what the UI recording hooks do internally.
ICamApiMacroCommandFieldList
Read-only list of field descriptors a recorded command expects (for CreateCommandData/Set*). Each entry is a (Key, FieldType, Required) triple, accessed by index. An empty list (GetCount = 0) means the command type / discriminator has no documented schema yet.
ICamApiMacroCommandSchema
Describes the field keys a recorded command expects (for CreateCommandData/Set*). Obtained via ICamApiMacroCommandsManager.GetCommandSchema.
ICamApiMacroCommandsManager
Object to save executing commands as sequence. Doesn't have any methods to return list of commands - implementing class should also implement ICamApiMacroBuildersManager
ICamApiMacroInfo
Metadata of a macro stored in the system
ICamApiMacroManager
Manages over all existing macros in the system
ICamApiMacroObject
Implemented by model objects (e.g. JA model items) that know how to record themselves into a macro. Capture-side does QI to this interface, gets the JSON, and feeds it into the recording pipeline — no per-type dispatch in MacroManager. JSON format: array of command bags. Each element is a flat object where "type" is the TMacroCommandType ordinal (integer) and the remaining keys are the fields read by ICamApiMacroCommandData.GetStr/GetInt/GetFloat/GetBool. Example: [ {"type": 3, "FullName": ""}, {"type": 3, "FullName": "Group1\Face1"}, {"type": 1, "ItemType": 0}, {"type": 20, "ItemCaption": "Group1\Face1", "Stock": 0.1} ]
ICamApiMacroRunContext
Context provided to a macro when it is executed
ICamApiMacroRunner
Extension interface for loading and running a compiled macro DLL
ICamApiMacroRunnerContext
Context passed to ICamApiMacroRunner.Run. Contains path to macro DLL and the ICamApiMacroRunContext to be forwarded to the macro itself.
ICamApiMacroStepInfo
Information about a single recorded step in a macro. Provides human-readable display text for UI presentation and step highlighting.
ICamApiMacroStepParam
One editable parameter of a macro step (e.g. the value in SetOperationParam). Label and type are fixed at record time; the user may override the value before playback.
Enums
TMacroBuilderMode
TMacroCommandParamType
TMacroCommandType
TMacroModelItemType
enumTMacroBuilderMode
Working mode of creating macro
enumTMacroCommandParamType
Type of a macro command parameter value.
enumTMacroCommandType
Command type for a single recorded macro step. Values match TCommandType in MacroManager (stable, append-only).
enumTMacroModelItemType
Type of model item that can be added to job assignment in a macro. Each value corresponds to one "Add * to job assignment" button in the UI. Values are stable — new values must only be appended at the end.