Common Types
This page covers ITcAlgorithmData, the public enums, and enum-set aliases that shape plugin behavior before you even get to object-level contracts like ITcPlugin or ITonCut. The source of truth is the Pascal contract under SDK/include/pascal/.
Algorithm data
ITcAlgorithmData provides typed, unit-aware access to the
opaque, implementation-defined algorithm JSON owned by a device, material,
piece, or stock sheet. Its payload keys, values, and schema are not public and
carry no compatibility guarantee. Plugins must not depend on particular payload
contents. Data and Units form one logical state: use GetState for a
coherent read and SetState for an atomic update that emits at most one change
event. Empty data always uses the default units.
Dotted-path getters address nested object members and return the supplied default
when a value is missing or has the wrong type. The ByPointer variants use RFC
6901 JSON Pointer syntax for indexed traversal; an empty pointer selects the
document root, ~1 escapes /, and ~0 escapes ~. GetCount counts only a
selected JSON array and returns 0 for a missing or non-array value.
Data, SetState, and Deserialize do not turn malformed state into a default.
Non-empty algorithm data must be a JSON object; malformed JSON, a non-object
root, an incomplete serialized envelope, or an unknown unit value is rejected.
Serialize returns an empty string for an empty state and otherwise keeps the
JSON and its metadata together. Deserialize
with an empty string resets both parts of the state. Two empty algorithm-data
objects compare equal through SameAs even if their unit records differ.
ITcAlgorithmData
Typed, unit-aware access to opaque, implementation-defined algorithm JSON attached to a device, material, piece, or stock sheet. The public contract covers access and state behavior, not payload keys or schema compatibility.
Source: SDK/include/pascal/uITcAlgorithmData.pas
Properties
- Property name
- Data
- Type
- WideString
- Description
Gets or sets opaque, implementation-defined algorithm JSON. No public payload schema or compatibility guarantee is provided. Use
SetStatewhen changing the JSON and units together.Declaration
property Data: WideString read GetData write SetData;Published SDK declaration languages: Pascal.
- Property name
- Units
- Type
- Description
Gets or sets the unit metadata paired with the algorithm JSON. Empty data always uses the default units.
Declaration
property Units: TDefaultUnits read GetUnits write SetUnits;Published SDK declaration languages: Pascal.
- Property name
- OnChange
- Type
- INotifyEvent
- Description
Event fired when the object or collection changes.
Declaration
property OnChange: INotifyEvent read GetOnChange;Published SDK declaration languages: Pascal.
Methods
- Method name
- GetState()
- Type
- procedure
- Description
Read the opaque JSON and unit metadata as one coherent state.
Declaration
procedure GetState(out aData: WideString; out aUnits: TDefaultUnits); safecall;Published SDK declaration languages: Pascal.
ParametersaDataoutWideStringEmpty text or opaque algorithm JSON with an object root; malformed JSON and non-object roots are rejected. Output parameter populated by the callee.aUnitsoutUnit metadata paired with the opaque algorithm JSON. Output parameter populated by the callee.
- Method name
- SetState()
- Type
- procedure
- Description
Replace the opaque JSON and unit metadata atomically, emitting at most one change event. Empty data always selects the default units.
Declaration
procedure SetState(const aData: WideString; const aUnits: TDefaultUnits); safecall;Published SDK declaration languages: Pascal.
ParametersaDataconstWideStringEmpty text or opaque algorithm JSON with an object root; malformed JSON and non-object roots are rejected.aUnitsconstUnit metadata paired with the opaque algorithm JSON.
- Method name
- GetLength()
- Type
- Integer
- Description
Read a length at a dotted object path, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetLength(const aPath: WideString; aDefault: Integer = 0): Integer; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultIntegerFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested length value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetTime()
- Type
- Double
- Description
Read a time value at a dotted object path, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetTime(const aPath: WideString; aDefault: Double = 0): Double; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultDoubleFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested time value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetPercent()
- Type
- Integer
- Description
Read a percentage at a dotted object path, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetPercent(const aPath: WideString; aDefault: Integer = 0): Integer; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultIntegerFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested percent value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetAngle()
- Type
- Double
- Description
Read an angle at a dotted object path, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetAngle(const aPath: WideString; aDefault: Double = 0): Double; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultDoubleFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested angle value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetPrice()
- Type
- TTcPrice
- Description
Read a price at a dotted object path, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetPrice(const aPath: WideString; aDefault: TTcPrice = 0): TTcPrice; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultTTcPriceFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested price value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetWeight()
- Type
- TTcWeight
- Description
Read a weight at a dotted object path, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetWeight(const aPath: WideString; aDefault: TTcWeight = 0): TTcWeight; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultTTcWeightFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested weight value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetValue()
- Type
- Double
- Description
Read a number, string, or
Booleanat a dotted object path or return the supplied default of the selected overload.Declaration
function GetValue(const aPath: WideString; aDefault: Double = 0): Double; overload; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultDoubleFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested value value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetValue()
- Type
- WideString
- Description
Read a number, string, or
Booleanat a dotted object path or return the supplied default of the selected overload.Declaration
function GetValue(const aPath: WideString; const aDefault: WideString): WideString; overload; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultconstWideStringFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested value value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetValue()
- Type
- Boolean
- Description
Read a number, string, or
Booleanat a dotted object path or return the supplied default of the selected overload.Declaration
function GetValue(const aPath: WideString; aDefault: Boolean): Boolean; overload; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultBooleanFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested value value, or the supplied default when it is missing or has the wrong type.
- Method name
- SameAs()
- Type
- Boolean
- Description
Compare both the opaque JSON and its unit metadata with another algorithm-data object. Two empty states compare equal regardless of unit metadata.
Declaration
function SameAs(const aOther: ITcAlgorithmData): Boolean; safecall;Published SDK declaration languages: Pascal.
ParametersReturnstruewhen both non-empty states have identical opaque JSON and unit metadata, or when both states are empty regardless of their unit metadata.
- Method name
- Serialize()
- Type
- WideString
- Description
Serialize the opaque JSON and unit metadata together into one portable value, or return an empty string when the state is empty.
Declaration
function Serialize(): WideString; safecall;Published SDK declaration languages: Pascal.
ReturnsThe opaque JSON and unit metadata serialized together, or an empty string when the state contains no data.
- Method name
- Deserialize()
- Type
- procedure
- Description
Replace the complete state from a valid serialized envelope; an empty value resets the state, while malformed or incomplete envelopes are rejected.
Declaration
procedure Deserialize(const aBlob: WideString); safecall;Published SDK declaration languages: Pascal.
ParametersaBlobconstWideStringSerialized algorithm-data envelope. Empty text resets the state; malformed or incomplete envelopes are rejected.
- Method name
- GetInteger()
- Type
- Integer
- Description
Read an integer at a dotted object path or return the supplied default.
Declaration
function GetInteger(const aPath: WideString; aDefault: Integer = 0): Integer; safecall;Published SDK declaration languages: Pascal.
ParametersaPathconstWideStringDotted path to a nested object member.aDefaultIntegerFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested integer value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetCount()
- Type
- Integer
- Description
Return the number of items when an RFC 6901 JSON Pointer selects an array; return
0when it is missing or selects another JSON type.Declaration
function GetCount(const aJsonPointer: WideString): Integer; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.ReturnsThe number of items when the selected JSON Pointer value is an array; otherwise0.
- Method name
- GetLengthByPointer()
- Type
- Integer
- Description
Read a length by RFC 6901 JSON Pointer, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetLengthByPointer(const aJsonPointer: WideString; aDefault: Integer = 0): Integer; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultIntegerFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested length value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetTimeByPointer()
- Type
- Double
- Description
Read a time value by RFC 6901 JSON Pointer, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetTimeByPointer(const aJsonPointer: WideString; aDefault: Double = 0): Double; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultDoubleFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested time value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetPercentByPointer()
- Type
- Integer
- Description
Read a percentage by RFC 6901 JSON Pointer, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetPercentByPointer(const aJsonPointer: WideString; aDefault: Integer = 0): Integer; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultIntegerFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested percent value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetAngleByPointer()
- Type
- Double
- Description
Read an angle by RFC 6901 JSON Pointer, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetAngleByPointer(const aJsonPointer: WideString; aDefault: Double = 0): Double; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultDoubleFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested angle value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetPriceByPointer()
- Type
- TTcPrice
- Description
Read a price by RFC 6901 JSON Pointer, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetPriceByPointer(const aJsonPointer: WideString; aDefault: TTcPrice = 0): TTcPrice; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultTTcPriceFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested price value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetWeightByPointer()
- Type
- TTcWeight
- Description
Read a weight by RFC 6901 JSON Pointer, converted according to the stored unit metadata, or return the supplied default.
Declaration
function GetWeightByPointer(const aJsonPointer: WideString; aDefault: TTcWeight = 0): TTcWeight; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultTTcWeightFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested weight value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetIntegerByPointer()
- Type
- Integer
- Description
Read an integer by RFC 6901 JSON Pointer or return the supplied default.
Declaration
function GetIntegerByPointer(const aJsonPointer: WideString; aDefault: Integer = 0): Integer; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultIntegerFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested integer value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetValueByPointer()
- Type
- Double
- Description
Read a number, string, or
Booleanby RFC 6901 JSON Pointer or return the supplied default of the selected overload.Declaration
function GetValueByPointer(const aJsonPointer: WideString; aDefault: Double = 0): Double; overload; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultDoubleFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested value value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetValueByPointer()
- Type
- WideString
- Description
Read a number, string, or
Booleanby RFC 6901 JSON Pointer or return the supplied default of the selected overload.Declaration
function GetValueByPointer(const aJsonPointer: WideString; const aDefault: WideString): WideString; overload; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultconstWideStringFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested value value, or the supplied default when it is missing or has the wrong type.
- Method name
- GetValueByPointer()
- Type
- Boolean
- Description
Read a number, string, or
Booleanby RFC 6901 JSON Pointer or return the supplied default of the selected overload.Declaration
function GetValueByPointer(const aJsonPointer: WideString; aDefault: Boolean): Boolean; overload; safecall;Published SDK declaration languages: Pascal.
ParametersaJsonPointerconstWideStringRFC 6901 JSON Pointer. An empty pointer selects the document root;~1and~0escape/and~.aDefaultBooleanFallback returned when the requested value is missing or has the wrong type.ReturnsThe requested value value, or the supplied default when it is missing or has the wrong type.
Plugin enums
The startup and file-handler pipeline revolves around , , , and . In practice:
- gates which callbacks TonCut may call.
- is the control channel for success, failure, and file ownership.
- tells your plugin whether the host is collecting import, export, or result-export extensions.
These types come from SDK/include/pascal/uITcPluginCommon.pas and shape discovery, feature gating, and return values before any model object is touched.
Plugin result code returned by most Desktop callbacks to report success, failure, cancellation, and file ownership.
| Value | Description |
|---|---|
cprFailed | The callback failed without throwing a plugin-side exception. |
cprOK | The callback completed successfully. |
cprNotImplemented | The callback exists on the interface but is intentionally unsupported by the plugin. |
cprException | The plugin caught an exception and is reporting that explicitly to the host. |
cprNothing | No work was performed and no meaningful change was produced. |
cprNotInitialized | The callback was reached before the plugin finished its initialization path. |
cprMoreData | The plugin can continue producing data or needs the host to keep consuming output. |
cprCancel | The user cancelled the operation in plugin-owned UI. |
cprMaybe | The file might belong to the plugin, but the match is not yet definitive. |
cprNo | The file does not belong to this plugin. |
Extension category passed into EnumExtensions so the plugin can advertise import, export, or result-export file types.
| Value | Description |
|---|---|
etImport | Register file extensions that the plugin can import into TonCut. |
etExport | Register file extensions that the plugin can export from input-side data. |
etExportResults | Register file extensions that the plugin can save from solution or result workflows. |
Batch-save target mode selected by TonCut for result and plot save workflows.
| Value | Description |
|---|---|
stFile | The host expects one output file path. |
stFolder | The host expects a destination folder. |
Feature flag enum used by TTcpFeatures to tell TonCut which callback families are implemented.
| Value | Description |
|---|---|
feImport | Enables import discovery through EnumExtensions, IsMyFile, and LoadFile. |
feExport | Enables input-side export through EnumExtensions and SaveFile. |
feSaveResultToFile | Enables single-sheet result saving through SaveResult. |
feBatchSaveResultToFile | Enables batch result saving when the host targets one file. |
feBatchSaveResultToFolder | Enables batch result saving when the host targets a folder. |
fePlot | Enables single-sheet plotting through Plot. |
feBatchPlot | Enables whole-solution plotting through BatchPlot. |
feSavePlotToFile | Enables single-sheet plot-file saving through SavePlot. |
feBatchSavePlotToFile | Enables batch plot saving when the host targets one file. |
feBatchSavePlotToFolder | Enables batch plot saving when the host targets a folder. |
feConfigure | Enables plugin-owned configuration UI through Configure. |
feAbout | Enables plugin-owned About UI through About. |
Set-of-enum wrapper around TTcpFeature. Plugins return this from Features to advertise supported callback families.
| Value | Description |
|---|---|
feImport | Enables import discovery through EnumExtensions, IsMyFile, and LoadFile. |
feExport | Enables input-side export through EnumExtensions and SaveFile. |
feSaveResultToFile | Enables single-sheet result saving through SaveResult. |
feBatchSaveResultToFile | Enables batch result saving when the host targets one file. |
feBatchSaveResultToFolder | Enables batch result saving when the host targets a folder. |
fePlot | Enables single-sheet plotting through Plot. |
feBatchPlot | Enables whole-solution plotting through BatchPlot. |
feSavePlotToFile | Enables single-sheet plot-file saving through SavePlot. |
feBatchSavePlotToFile | Enables batch plot saving when the host targets one file. |
feBatchSavePlotToFolder | Enables batch plot saving when the host targets a folder. |
feConfigure | Enables plugin-owned configuration UI through Configure. |
feAbout | Enables plugin-owned About UI through About. |
The engine compatibility constant exposed by Desktop remains cEngineVersion
with the current value shown in the header badge. A plugin that reports a
different EngineVersion will be treated as incompatible by the current
Desktop host.
Shared kernel types
Once a plugin starts touching IMaterial, IProject, IFormat, or ISheet, the host model quickly starts depending on shared enums from uICommon.pas. The most common ones are , , , , and .
Default algorithm units
is a Pascal record, not a scalar value. Each
field selects the interpretation used by the matching typed algorithm-data
accessor. The cDefaultUnits constant initializes every field to its enum's
Default member.
| Field | Type | Applies to |
|---|---|---|
Time | GetTime and GetTimeByPointer | |
Percent | GetPercent variants | |
Length | GetLength variants | |
Field | Area or field values | |
Angle | GetAngle variants | |
Price | GetPrice variants | |
Weight | GetWeight variants |
Useful constants from the same unit:
| Constant | Meaning |
|---|---|
cLengthMultiplier = 100 | Internal scaling for integer length fields |
cFieldMultiplier | Area scaling derived from cLengthMultiplier |
cRotationUnit = 0.1 | One TRotation unit equals one tenth of a degree |
cRotation90, cRotation180, cRotation270, cRotation360 | Precomputed rotation constants |
cAlgorithmLinear, cAlgorithmAnyShapes, cAlgorithmRectangles, cAlgorithmStripes | Built-in algorithm names used by materials |
clTcNone = -1 | TTcColor: no color assigned |
clTcRandom = -2 | TTcColor: host derives a stable color from Id |
TTcColor is an Integer. An ordinary value is a 24-bit RGB
color packed as $RRGGBB (red in bits 16..23, blue in bits 0..7), which is not
the VCL TColor byte order. The two negative constants above are the only
valid special values. IBand.PreviewColor and IFormat.PreviewColor use it.
These enums come from SDK/include/pascal/uICommon.pas and appear throughout the host data model, especially materials, projects, layouts, and configuration.
Top-level host unit family used when TonCut formats lengths for the UI.
| Value | Description |
|---|---|
uMillimeters | Use millimeters as the main display unit. |
uCentimeters | Use centimeters as the main display unit. |
uInches | Use inches as the main display unit. |
Time units used by typed algorithm-data accessors.
| Value | Description |
|---|---|
tuDefault | Interpret the value using the current default time unit. |
tuSeconds | Interpret the value in seconds. |
tuMinutes | Interpret the value in minutes. |
tuHours | Interpret the value in hours. |
tuDays | Interpret the value in days. |
Percentage units used by typed algorithm-data accessors.
| Value | Description |
|---|---|
puDefault | Interpret the value using the current default percentage unit. |
puPercent | Interpret the value as a percentage. |
Length-specific formatting units used by shared formatters.
| Value | Description |
|---|---|
luDefault | Use the current host default length unit. |
luMillimeters | Format the value in millimeters. |
luCentimeters | Format the value in centimeters. |
luInches | Format the value in inches. |
luMicrometers | Format the value in micrometers. |
Area or field units used by shared formatters.
| Value | Description |
|---|---|
fuDefault | Use the current host default field unit. |
fuSquareMillimeters | Format the value in square millimeters. |
fuSquareCentimeters | Format the value in square centimeters. |
fuSquareMeters | Format the value in square meters. |
fuSquareInches | Format the value in square inches. |
fuSquareFeet | Format the value in square feet. |
Angle units used by shared formatters.
| Value | Description |
|---|---|
auDefault | Use the current host default angle unit. |
auDegrees | Format the value in degrees. |
auRadians | Format the value in radians. |
Price units used by typed algorithm-data accessors.
| Value | Description |
|---|---|
pruDefault | Interpret the value using the current default price unit. |
Weight units used by typed algorithm-data accessors.
| Value | Description |
|---|---|
wuDefault | Interpret the value using the current default weight unit. |
wuMilligrams | Interpret the value in milligrams. |
wuGrams | Interpret the value in grams. |
wuKilograms | Interpret the value in kilograms. |
wuTons | Interpret the value in metric tons. |
wuOunces | Interpret the value in ounces. |
wuPounds | Interpret the value in pounds. |
wuShortTons | Interpret the value in US short tons. |
wuStones | Interpret the value in stones. |
wuTroyOunces | Interpret the value in troy ounces. |
Host rule for how pieces are labeled in output and UI surfaces.
| Value | Description |
|---|---|
piDescriptionOnly | Show only the piece description. |
piIdentifierAndDescription | Show both the identifier and the description. |
piBarcodeAndDescription | Show barcode data together with the description. |
Host rule for how stock sheets are labeled in output and UI surfaces.
| Value | Description |
|---|---|
siDescriptionOnly | Show only the stock description. |
siIdentifierAndDescription | Show both the stock identifier and the description. |
Material family that determines whether the stock behaves as linear or area-based input.
| Value | Description |
|---|---|
mkUnknown | The material kind is not yet known. |
mk1D | Linear stock such as bar, profile, or running-meter material. |
mk2D | Sheet stock such as board, panel, or plate material. |
Set-of-enum wrapper around TMaterialKind, used by plotter metadata and capability filters.
| Value | Description |
|---|---|
mkUnknown | The material kind is not yet known. |
mk1D | Linear stock such as bar, profile, or running-meter material. |
mk2D | Sheet stock such as board, panel, or plate material. |
Priority value attached to a project.
| Value | Description |
|---|---|
prpDefault | Use the default project priority. |
prpNormal | Standard processing priority. |
prpHigh | Elevated processing priority. |
prpCritical | Highest processing priority. |
State machine value stored on a project.
| Value | Description |
|---|---|
prsNew | The project is newly created. |
prsReady | The project is ready for work. |
prsPending | The project is waiting for a later step or approval. |
prsDone | The project is completed. |
prsCanceled | The project was cancelled. |
prsDeleted | The project is marked as deleted. |
Per-sheet or per-result state flag used by TonCut to mark completed output actions.
| Value | Description |
|---|---|
sPlotted | The item was already plotted. |
sSaved | The item was already saved. |
Set-of-enum wrapper around TStatus, used when multiple completion flags can apply at once.
| Value | Description |
|---|---|
sPlotted | The item was already plotted. |
sSaved | The item was already saved. |
Mirror direction used on placed formats and plot output transforms.
| Value | Description |
|---|---|
mHorizontal | Mirror across the horizontal axis. |
mVertical | Mirror across the vertical axis. |
Set-of-enum wrapper around TMirror, allowing both mirror directions to be expressed together.
| Value | Description |
|---|---|
mHorizontal | Mirror across the horizontal axis. |
mVertical | Mirror across the vertical axis. |
Machine capability mode used to describe strip-cut-only devices.
| Value | Description |
|---|---|
scNone | The device is not limited to strip cutting. |
scByLength | Strip cutting is performed along the material length. |
scByWidth | Strip cutting is performed along the material width. |
Order in which stock items are selected; it corresponds to the engine setting stockOrder.order.direction. No plugin interface method takes or returns it, but it is part of the shared uICommon.pas contract, and code that switches over it must handle every value.
| Value | Description |
|---|---|
soFromLarge | Stock is sorted by size, from larger to smaller. |
soFromSmall | Stock is sorted by size, from smaller to larger. |
soRandom | Stock is taken in random order. |
soCustom | Custom stock order (TSheetOrder value soCustom). |
soAllPermutations | The optimizer searches alternative stock-item orders and keeps the best result. Appended after soCustom as ordinal 4 in engine version 24; the earlier ordinals did not change. |
Quality level of shape path simplification, stored on a material (IMaterial.QualityLevel); it corresponds to the engine setting qualityLevel.
| Value | Description |
|---|---|
qlPrecission | Highest quality, but slowest. |
qlCompromise | Good quality and speed. |
qlSpeed | Lowest quality, but fastest. |
Edging method stored on a device (IDevice.EdgingCuts); it corresponds to the engine setting edgingCuts.
| Value | Description |
|---|---|
ecOptimal | Optimal edging method; this is the engine default. |
ecHorizontalFirst | The horizontal edges are cut off first, followed by the vertical edges. |
ecVerticalFirst | The vertical edges are cut off before the horizontal edges. |
Edging method for the top and left edges, stored on a device (IDevice.OriginEdgingCuts); it corresponds to the engine setting originEdgingCuts.
| Value | Description |
|---|---|
oecDefault | Nothing changes; edges are cut off as set by IDevice.EdgingCuts. |
oecTwoFullCuts | The top and left edges are cut off as full cuts, from edge to edge. |
Direction of the first cut, stored on a device (IDevice.FirstCutDirection); it corresponds to the engine setting firstCutDirection. It is overwritten when strip cutting is turned on.
| Value | Description |
|---|---|
cdHorizontal | The first cut is horizontal, along the length of the stock item. |
cdVertical | The first cut is vertical, along the width of the stock item. |
cdAny | The algorithm decides. |
Grain or ornament direction used by TonCut when orienting stock and parts.
| Value | Description |
|---|---|
oNone | The material has no relevant ornament direction. |
oByWidth | The ornament runs along the width. |
oByLength | The ornament runs along the length. |
Set-of-enum wrapper around TOrnament, used when multiple ornament orientations are allowed.
| Value | Description |
|---|---|
oNone | The material has no relevant ornament direction. |
oByWidth | The ornament runs along the width. |
oByLength | The ornament runs along the length. |
Set-of-enum configuration scopes used during backup and restore operations.
| Value | Description |
|---|---|
cpData | a option for nfiguration parts. |
cpConfig | nfig option for nfiguration parts. |
cpPaths | hs option for nfiguration parts. |
cpProfiles | iles option for nfiguration parts. |
cpInternals | internals option for nfiguration parts. |
Plotting and geometry
Plot-capable plugins and result exporters should know the plotting and geometry enums up front, especially , , , , and .
Plot-capable plugins and geometry-heavy exporters should start with these shared plotting, movement, and shape enums.
Plotter or machine family advertised through ITcPlotterInfo.
| Value | Description |
|---|---|
ptUnknown | The plugin does not describe a specific plotter type. |
ptCNC | The output targets a CNC-style machine. |
Mapping between TonCut space and the physical machine axes.
| Value | Description |
|---|---|
adWest | Axis points toward the west or left side. |
adNorth | Axis points toward the north or top side. |
adEast | Axis points toward the east or right side. |
adSouth | Axis points toward the south or bottom side. |
Preferred movement direction used by plotter output helpers.
| Value | Description |
|---|---|
mdAlongX | Movement proceeds along the X axis. |
mdAlongY | Movement proceeds along the Y axis. |
mdAny | Movement can proceed freely in any direction. |
Shape family used by custom geometry, slants, and arbitrary-path pieces.
| Value | Description |
|---|---|
stNone | No shape is defined. |
stRectangle | Simple rectangle. |
stLinear | Linear segmented shape. |
stAny | Arbitrary path shape. |
stSlantRectangle | Rectangle with a slanted edge. |
stL | L-shaped piece. |
stRightTriangle | Right triangle. |
stSlopeRectangle | Rectangle with slope geometry. |
stTrapezoid | Trapezoid. |
stOctagon | Octagon. |
stEllipse | Ellipse. |
stCircle | Circle. |
stHoop | Hoop or ring shape. |
Parameter kind used by shape metadata helpers such as GetParamInfo.
| Value | Description |
|---|---|
sptLength | The parameter value represents a length-like quantity. |
sptAngle | The parameter value represents an angle. |
sptInt | The parameter value is a plain integer. |
sptEnum | The parameter value is an enumeration-backed selection. |
Solution cut geometry kind.
| Value | Description |
|---|---|
ckLine | The cut is a straight line. |
ckCurve | The cut is a curve. |
Measurement mode used by shapes and cutters when switching between net and gross sizes.
| Value | Description |
|---|---|
cdNet | Use the net, finished dimension. |
cdGross | Use the gross dimension including allowances. |
Reference rule used by slanted-shape parameters and measurement helpers.
| Value | Description |
|---|---|
smFromMiddleToLeft | Measure from the midpoint toward the left side. |
smFromMiddleToRight | Measure from the midpoint toward the right side. |
smFromLeft | Measure directly from the left side. |
smFromRight | Measure directly from the right side. |
Enum names are clickable throughout the docs. Use them inline when you are reading the interface pages: opening a dropdown gives you the currently documented values and a short interpretation without leaving the page.