Materials

This page covers IMaterial, IMaterials, IMaterialChangeEvent, IMaterialChangeEventHandler, IStandardSheet, IStandardSheets, IStandardSheetChangeEvent, and IStandardSheetChangeEventHandler. These interfaces describe stock behavior, cost rules, reusable stock sizes, and material-related host events.

IMaterial now exposes both minimum and maximum shorter/longer recycle sizes, their effective values, per-edge MinEdgeDistance, and mutable ITcAlgorithmData. Its payload is opaque and implementation-defined; no public key/value schema or compatibility guarantee is provided. Treat these properties as independent parts of the current material contract.

Interfaces

IMaterial

Material definition describing stock behavior, cutting rules, recycling settings, costs, and standard stock sizes.

Source: SDK/include/pascal/uIMaterial.pas

Properties

  • Property name
    Id
    Type
    Int64
    Description

    Persistent numeric identifier used by TonCut to track the object.

    Declaration

    property Id: Int64 read GetId write SetId;

    Published SDK declaration languages: Pascal, C++.

  • Property name
    Title
    Type
    WideString
    Description

    Human-readable title shown to users.

    Declaration

    property Title: WideString read GetTitle write SetTitle;

    Published SDK declaration languages: Pascal, C++.

  • Property name
    Kind
    Type
    Description

    Enumerated kind describing the current object.

    Declaration

    property Kind: TMaterialKind read GetKind write SetKind;

    Published SDK declaration languages: Pascal, C++.

  • Property name
    Width
    Type
    Cardinal
    Description

    Width value stored on the object.

    Declaration

    property Width: Cardinal read GetWidth write SetWidth;

    Published SDK declaration languages: Pascal, C++.

  • Property name
    Thickness
    Type
    Cardinal
    Description

    Thickness value stored on the object.

    Declaration

    property Thickness: Cardinal read GetThickness write SetThickness;

    Published SDK declaration languages: Pascal, C++.

  • Property name
    HasOrnament
    Type
    Boolean
    Description

    Gets or sets whether has ornament.

    Declaration

    property HasOrnament: Boolean read GetHasOrnament write SetHasOrnament;

    Published SDK declaration languages: Pascal.

  • Property name
    CanRotate
    Type
    Boolean
    Description

    Whether rotation is allowed.

    Declaration

    property CanRotate: Boolean read GetCanRotate write SetCanRotate;

    Published SDK declaration languages: Pascal.

  • Property name
    CanMirror
    Type
    Boolean
    Description

    Whether mirroring is allowed.

    Declaration

    property CanMirror: Boolean read GetCanMirror write SetCanMirror;

    Published SDK declaration languages: Pascal.

  • Property name
    Surplus
    Type
    Cardinal
    Description

    Surplus allowance stored on the object.

    Declaration

    property Surplus: Cardinal read GetSurplus write SetSurplus;

    Published SDK declaration languages: Pascal.

  • Property name
    SurplusEditable
    Type
    Boolean
    Description

    Gets or sets whether surplus editable.

    Declaration

    property SurplusEditable: Boolean read GetSurplusEditable write SetSurplusEditable;

    Published SDK declaration languages: Pascal.

  • Property name
    Margin
    Type
    Cardinal
    Description

    Margin allowance stored on the object.

    Declaration

    property Margin: Cardinal read GetMargin write SetMargin;

    Published SDK declaration languages: Pascal.

  • Property name
    MarginEditable
    Type
    Boolean
    Description

    Gets or sets whether margin editable.

    Declaration

    property MarginEditable: Boolean read GetMarginEditable write SetMarginEditable;

    Published SDK declaration languages: Pascal.

  • Property name
    DefaultEdging
    Type
    Cardinal
    Description

    Gets or sets default edging.

    Declaration

    property DefaultEdging: Cardinal read GetDefaultEdging write SetDefaultEdging;

    Published SDK declaration languages: Pascal.

  • Property name
    CuttingDimensions
    Type
    Description

    Gets or sets cutting dimensions.

    Declaration

    property CuttingDimensions: TCuttingDimensions read GetCuttingDimensions write SetCuttingDimensions;

    Published SDK declaration languages: Pascal.

  • Property name
    Bandable
    Type
    Boolean
    Description

    Gets or sets whether bandable.

    Declaration

    property Bandable: Boolean read GetBandable write SetBandable;

    Published SDK declaration languages: Pascal.

  • Property name
    Grindable
    Type
    Boolean
    Description

    Gets or sets whether grindable.

    Declaration

    property Grindable: Boolean read GetGrindable write SetGrindable;

    Published SDK declaration languages: Pascal.

  • Property name
    Colorable
    Type
    Boolean
    Description

    Gets or sets whether colorable.

    Declaration

    property Colorable: Boolean read GetColorable write SetColorable;

    Published SDK declaration languages: Pascal.

  • Property name
    Device
    Type
    IDevice
    Description

    Device linked to the object.

    Declaration

    property Device: IDevice read GetDevice write SetDevice;

    Published SDK declaration languages: Pascal.

  • Property name
    Algorithm
    Type
    String
    Description

    Gets or sets algorithm.

    Declaration

    property Algorithm: String read GetAlgorithm write SetAlgorithm;

    Published SDK declaration languages: Pascal.

  • Property name
    QualityLevel
    Type
    Description

    Gets or sets quality level.

    Declaration

    property QualityLevel: TQualityLevel read GetQualityLevel write SetQualityLevel;

    Published SDK declaration languages: Pascal.

  • Property name
    ReuseWaste
    Type
    Boolean
    Description

    Whether waste can be reused as stock.

    Declaration

    property ReuseWaste: Boolean read GetReuseWaste write SetReuseWaste;

    Published SDK declaration languages: Pascal.

  • Property name
    MinShorterRecycleSize
    Type
    Cardinal
    Description

    Gets or sets min shorter recycle size.

    Declaration

    property MinShorterRecycleSize: Cardinal read GetMinShorterRecycleSize write SetMinShorterRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    MinLongerRecycleSize
    Type
    Cardinal
    Description

    Gets or sets min longer recycle size.

    Declaration

    property MinLongerRecycleSize: Cardinal read GetMinLongerRecycleSize write SetMinLongerRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    MaxShorterRecycleSize
    Type
    Cardinal
    Description

    Maximum shorter dimension accepted for recycled material reuse.

    Declaration

    property MaxShorterRecycleSize: Cardinal read GetMaxShorterRecycleSize write SetMaxShorterRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    MaxLongerRecycleSize
    Type
    Cardinal
    Description

    Maximum longer dimension accepted for recycled material reuse.

    Declaration

    property MaxLongerRecycleSize: Cardinal read GetMaxLongerRecycleSize write SetMaxLongerRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    PrefShorterRecycleSize
    Type
    Cardinal
    Description

    Preferred shorter dimension for recycled material reuse.

    Declaration

    property PrefShorterRecycleSize: Cardinal read GetPrefShorterRecycleSize write SetPrefShorterRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    PrefLongerRecycleSize
    Type
    Cardinal
    Description

    Preferred longer dimension for recycled material reuse.

    Declaration

    property PrefLongerRecycleSize: Cardinal read GetPrefLongerRecycleSize write SetPrefLongerRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    EffectiveMinShorterRecycleSize
    Type
    Cardinal
    Description

    Gets effective min shorter recycle size.

    Declaration

    property EffectiveMinShorterRecycleSize: Cardinal read GetEffectiveMinShorterRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    EffectiveMinLongerRecycleSize
    Type
    Cardinal
    Description

    Gets effective min longer recycle size.

    Declaration

    property EffectiveMinLongerRecycleSize: Cardinal read GetEffectiveMinLongerRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    EffectiveMaxShorterRecycleSize
    Type
    Cardinal
    Description

    Effective maximum shorter recycle dimension after host rules are applied.

    Declaration

    property EffectiveMaxShorterRecycleSize: Cardinal read GetEffectiveMaxShorterRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    EffectiveMaxLongerRecycleSize
    Type
    Cardinal
    Description

    Effective maximum longer recycle dimension after host rules are applied.

    Declaration

    property EffectiveMaxLongerRecycleSize: Cardinal read GetEffectiveMaxLongerRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    EffectivePrefShorterRecycleSize
    Type
    Cardinal
    Description

    Gets effective pref shorter recycle size.

    Declaration

    property EffectivePrefShorterRecycleSize: Cardinal read GetEffectivePrefShorterRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    EffectivePrefLongerRecycleSize
    Type
    Cardinal
    Description

    Gets effective pref longer recycle size.

    Declaration

    property EffectivePrefLongerRecycleSize: Cardinal read GetEffectivePrefLongerRecycleSize;

    Published SDK declaration languages: Pascal.

  • Property name
    Kerf
    Type
    Cardinal
    Description

    Gets or sets kerf.

    Declaration

    property Kerf: Cardinal read GetKerf write SetKerf;

    Published SDK declaration languages: Pascal.

  • Property name
    MinEdgeDistance
    Type
    IRectangle
    Description

    Per-edge minimum distance exposed as a signed rectangle; a negative side means inherited or unspecified.

    Declaration

    property MinEdgeDistance: IRectangle read GetMinEdgeDistance;

    Published SDK declaration languages: Pascal.

  • Property name
    AllowEdgeCuts
    Type
    Boolean
    Description

    Whether material edge cuts are allowed. It cannot be enabled when either MinCutSize or MinCutDistance is positive; legacy MinCutWidth is only an alias for MinCutSize.

    Declaration

    property AllowEdgeCuts: Boolean read GetAllowEdgeCuts write SetAllowEdgeCuts;

    Published SDK declaration languages: Pascal.

  • Property name
    RecycleEdgingOn
    Type
    Boolean
    Description

    Whether edging is included in recycling logic.

    Declaration

    property RecycleEdgingOn: Boolean read GetRecycleEdgingOn write SetRecycleEdgingOn;

    Published SDK declaration languages: Pascal.

  • Property name
    RecycleEdging
    Type
    Cardinal
    Description

    Recycling edging configuration.

    Declaration

    property RecycleEdging: Cardinal read GetRecycleEdging write SetRecycleEdging;

    Published SDK declaration languages: Pascal.

  • Property name
    StackCutting
    Type
    Boolean
    Description

    Gets or sets whether stack cutting.

    Declaration

    property StackCutting: Boolean read GetStackCutting write SetStackCutting;

    Published SDK declaration languages: Pascal.

  • Property name
    StackSize
    Type
    Cardinal
    Description

    Maximum stack size or batch size.

    Declaration

    property StackSize: Cardinal read GetStackSize write SetStackSize;

    Published SDK declaration languages: Pascal.

  • Property name
    AllowPartialStack
    Type
    Boolean
    Description

    Whether partial stacks are allowed.

    Declaration

    property AllowPartialStack: Boolean read GetAllowPartialStack write SetAllowPartialStack;

    Published SDK declaration languages: Pascal.

  • Property name
    MinStackSize
    Type
    Cardinal
    Description

    Gets or sets min stack size.

    Declaration

    property MinStackSize: Cardinal read GetMinStackSize write SetMinStackSize;

    Published SDK declaration languages: Pascal.

  • Property name
    PricePerSqM
    Type
    TTcPrice
    Description

    Unit price per square meter.

    Declaration

    property PricePerSqM: TTcPrice read GetPricePerSqM Write SetPricePerSqM;

    Published SDK declaration languages: Pascal.

  • Property name
    WeightOfSqM
    Type
    TTcWeight
    Description

    Weight per square meter.

    Declaration

    property WeightOfSqM: TTcWeight read GetWeightOfSqM Write SetWeightOfSqM;

    Published SDK declaration languages: Pascal.

  • Property name
    PricePerMeter
    Type
    TTcPrice
    Description

    Unit price per running meter.

    Declaration

    property PricePerMeter: TTcPrice read GetPricePerMeter Write SetPricePerMeter;

    Published SDK declaration languages: Pascal.

  • Property name
    WeightOfMeter
    Type
    TTcWeight
    Description

    Weight per running meter.

    Declaration

    property WeightOfMeter: TTcWeight read GetWeightOfMeter Write SetWeightOfMeter;

    Published SDK declaration languages: Pascal.

  • Property name
    CutCostPerMeter
    Type
    TTcPrice
    Description

    Cost per running meter of cut.

    Declaration

    property CutCostPerMeter: TTcPrice read GetCutCostPerMeter Write SetCutCostPerMeter;

    Published SDK declaration languages: Pascal.

  • Property name
    ReuseCost
    Type
    TTcPrice
    Description

    Reuse-related cost value.

    Declaration

    property ReuseCost: TTcPrice read GetReuseCost Write SetReuseCost;

    Published SDK declaration languages: Pascal.

  • Property name
    UtilizationCostPerKg
    Type
    TTcPrice
    Description

    Utilization cost per kilogram.

    Declaration

    property UtilizationCostPerKg: TTcPrice read GetUtilizationCostPerKg Write SetUtilizationCostPerKg;

    Published SDK declaration languages: Pascal.

  • Property name
    SegmentShiftCost
    Type
    TTcPrice
    Description

    Cost assigned to segment shifts.

    Declaration

    property SegmentShiftCost: TTcPrice read GetSegmentShiftCost Write SetSegmentShiftCost;

    Published SDK declaration languages: Pascal.

  • Property name
    SegmentRotationCost
    Type
    TTcPrice
    Description

    Cost assigned to segment rotation.

    Declaration

    property SegmentRotationCost: TTcPrice read GetSegmentRotationCost Write SetSegmentRotationCost;

    Published SDK declaration languages: Pascal.

  • Property name
    PriceToCostMultiplier
    Type
    Double
    Description

    Multiplier used to convert cost into price.

    Declaration

    property PriceToCostMultiplier: Double read GetPriceToCostMultiplier write SetPriceToCostMultiplier;

    Published SDK declaration languages: Pascal.

  • Property name
    ReusableWasteExpectedUsage
    Type
    Double
    Description

    Gets or sets reusable waste expected usage.

    Declaration

    property ReusableWasteExpectedUsage: Double read GetReusableWasteExpectedUsage write SetReusableWasteExpectedUsage;

    Published SDK declaration languages: Pascal.

  • Property name
    CutExcess
    Type
    Integer
    Description

    Gets or sets cut excess.

    Declaration

    property CutExcess: Integer read GetCutExcess write SetCutExcess;

    Published SDK declaration languages: Pascal.

  • Property name
    CutShiftTotalLimit
    Type
    Integer
    Description

    Gets or sets cut shift total limit.

    Declaration

    property CutShiftTotalLimit: Integer read GetCutShiftTotalLimit write SetCutShiftTotalLimit;

    Published SDK declaration languages: Pascal.

  • Property name
    CutShiftHorzLimit
    Type
    Integer
    Description

    Horizontal limit for cut shifting.

    Declaration

    property CutShiftHorzLimit: Integer read GetCutShiftHorzLimit write SetCutShiftHorzLimit;

    Published SDK declaration languages: Pascal.

  • Property name
    CutShiftVertLimit
    Type
    Integer
    Description

    Vertical limit for cut shifting.

    Declaration

    property CutShiftVertLimit: Integer read GetCutShiftVertLimit write SetCutShiftVertLimit;

    Published SDK declaration languages: Pascal.

  • Property name
    CustomData
    Type
    WideString
    Description

    Opaque custom text payload stored with the object.

    Declaration

    property CustomData: WideString read GetCustomData write SetCustomData;

    Published SDK declaration languages: Pascal.

  • Property name
    AlgorithmData
    Type
    ITcAlgorithmData
    Description

    Mutable access to opaque, implementation-defined algorithm data owned by the current device, material, piece, or stock sheet. No public payload schema or compatibility guarantee is provided.

    Declaration

    property AlgorithmData: ITcAlgorithmData read GetAlgorithmData;

    Published SDK declaration languages: Pascal.

  • Property name
    StandardSheets
    Type
    IStandardSheets
    Description

    Associated standard sheets collection or helper interface.

    Declaration

    property StandardSheets: IStandardSheets read GetStandardSheets;

    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.

  • Property name
    OnIdChange
    Type
    IIdChangeEvent
    Description

    Event fired when an identifier changes.

    Declaration

    property OnIdChange: IIdChangeEvent read GetOnIdChange;

    Published SDK declaration languages: Pascal.

  • Property name
    OnStandardSheetAdd
    Type
    IStandardSheetChangeEvent
    Description

    Event exposed through OnStandardSheetAdd.

    Declaration

    property OnStandardSheetAdd: IStandardSheetChangeEvent read GetOnStandardSheetAdd;

    Published SDK declaration languages: Pascal.

  • Property name
    OnStandardSheetRemove
    Type
    IStandardSheetChangeEvent
    Description

    Event exposed through OnStandardSheetRemove.

    Declaration

    property OnStandardSheetRemove: IStandardSheetChangeEvent read GetOnStandardSheetRemove;

    Published SDK declaration languages: Pascal.

  • Property name
    OnStandardSheetChange
    Type
    IStandardSheetChangeEvent
    Description

    Event exposed through OnStandardSheetChange.

    Declaration

    property OnStandardSheetChange: IStandardSheetChangeEvent read GetOnStandardSheetChange;

    Published SDK declaration languages: Pascal.

Methods

  • Method name
    SetPricePerSqM()
    Type
    procedure
    Description

    Assign price per sq m.

    Declaration

    procedure SetPricePerSqM(aCost: TTcPrice); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aCost
    TTcPrice
    Value for cost.
  • Method name
    SetWeightOfSqM()
    Type
    procedure
    Description

    Assign weight of sq m.

    Declaration

    procedure SetWeightOfSqM(aWeight: TTcWeight); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aWeight
    TTcWeight
    Value for weight.
  • Method name
    SetPricePerMeter()
    Type
    procedure
    Description

    Assign price per meter.

    Declaration

    procedure SetPricePerMeter(aCost: TTcPrice); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aCost
    TTcPrice
    Value for cost.
  • Method name
    SetWeightOfMeter()
    Type
    procedure
    Description

    Assign weight of meter.

    Declaration

    procedure SetWeightOfMeter(aWeight: TTcWeight); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aWeight
    TTcWeight
    Value for weight.
  • Method name
    SetCutCostPerMeter()
    Type
    procedure
    Description

    Assign cut cost per meter.

    Declaration

    procedure SetCutCostPerMeter(aCost: TTcPrice); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aCost
    TTcPrice
    Value for cost.
  • Method name
    SetReuseCost()
    Type
    procedure
    Description

    Assign reuse cost.

    Declaration

    procedure SetReuseCost(aCost: TTcPrice); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aCost
    TTcPrice
    Value for cost.
  • Method name
    SetUtilizationCostPerKg()
    Type
    procedure
    Description

    Assign utilization cost per kg.

    Declaration

    procedure SetUtilizationCostPerKg(aCost: TTcPrice); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aCost
    TTcPrice
    Value for cost.
  • Method name
    SetSegmentShiftCost()
    Type
    procedure
    Description

    Assign segment shift cost.

    Declaration

    procedure SetSegmentShiftCost(aCost: TTcPrice); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aCost
    TTcPrice
    Value for cost.
  • Method name
    SetSegmentRotationCost()
    Type
    procedure
    Description

    Assign segment rotation cost.

    Declaration

    procedure SetSegmentRotationCost(aCost: TTcPrice); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aCost
    TTcPrice
    Value for cost.
  • Method name
    Assign()
    Type
    procedure
    Description

    Copy values from another object of the same type.

    Declaration

    procedure Assign(const aOther: IMaterial); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aOtherconst
    Source object whose values should be copied.
  • Method name
    BeginUpdate()
    Type
    procedure
    Description

    Start a batched update so change notifications can be delayed.

    Declaration

    procedure BeginUpdate(); safecall;

    Published SDK declaration languages: Pascal.

  • Method name
    EndUpdate()
    Type
    procedure
    Description

    Finish a batched update and allow deferred notifications to resume.

    Declaration

    procedure EndUpdate(); safecall;

    Published SDK declaration languages: Pascal.


IMaterials

Collection interface used to create, enumerate, query, and reload a shared Desktop object set.

Source: SDK/include/pascal/uIMaterials.pas

Properties

  • Property name
    Count
    Type
    Integer
    Description

    Number of items currently exposed by the interface.

    Declaration

    property Count: Integer read GetCount;

    Published SDK declaration languages: Pascal, C++.

  • Property name
    Items
    Type
    IMaterial
    Description

    Indexed property used to read one item from the collection.

    Declaration

    property Items[aIndex: Cardinal]: IMaterial read GetByIndex; default;

    Published SDK declaration languages: Pascal, C++.

    Index Parameters
    aIndex
    Cardinal
    Zero-based position within a collection.
    Value
    The collection item located at the supplied index.
  • Property name
    OnAdd
    Type
    IMaterialChangeEvent
    Description

    Event fired when an item is added.

    Declaration

    property OnAdd: IMaterialChangeEvent read GetOnAdd;

    Published SDK declaration languages: Pascal, C++.

  • Property name
    OnRemove
    Type
    IMaterialChangeEvent
    Description

    Event fired when an item is removed.

    Declaration

    property OnRemove: IMaterialChangeEvent read GetOnRemove;

    Published SDK declaration languages: Pascal, C++.

Methods

  • Method name
    CreateMaterial()
    Type
    IMaterial
    Description

    Open the Desktop material dialog for a new material. The user can review and update the details before confirming; if the dialog is cancelled, the method returns null.

    Declaration

    function CreateMaterial(): IMaterial; safecall;

    Published SDK declaration languages: Pascal, C++.

    Returns
    The created material interface instance, or null if the user cancels the dialog.
  • Method name
    CreateStandardSheet()
    Type
    IStandardSheet
    Description

    Create a new standard sheet instance.

    Declaration

    function CreateStandardSheet(): IStandardSheet; safecall;

    Published SDK declaration languages: Pascal, C++.

    Returns
    A new standard sheet interface instance.
  • Method name
    Add()
    Type
    procedure
    Description

    Add an item or handler.

    Declaration

    procedure Add(aMaterial: IMaterial); safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aMaterial
    Material instance being queried or modified.
  • Method name
    DeleteByIndex()
    Type
    procedure
    Description

    Delete the item at the specified zero-based index.

    Declaration

    procedure DeleteByIndex(aIndex: Cardinal); safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aIndex
    Cardinal
    Zero-based position within a collection.
  • Method name
    DeleteById()
    Type
    procedure
    Description

    Delete the item with the specified TonCut identifier.

    Declaration

    procedure DeleteById(aId: Int64); safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aId
    Int64
    TonCut object identifier.
  • Method name
    Remove()
    Type
    procedure
    Description

    Remove an item or handler.

    Declaration

    procedure Remove(const aMaterial: IMaterial); safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aMaterialconst
    Material instance being queried or modified.
  • Method name
    IndexOf()
    Type
    Integer
    Description

    Return the zero-based index of the matching item.

    Declaration

    function IndexOf(const aMaterial: IMaterial): Integer; overload; safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aMaterialconst
    Material instance being queried or modified.
    Returns
    Zero-based index of the matching item, or -1 when no match exists.
  • Method name
    IndexOf()
    Type
    Integer
    Description

    Return the zero-based index of the matching item.

    Declaration

    function IndexOf(aId: Int64): Integer; overload; safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aId
    Int64
    TonCut object identifier.
    Returns
    Zero-based index of the matching item, or -1 when no match exists.
  • Method name
    FindDuplicate()
    Type
    IMaterial
    Description

    Search for an existing item that duplicates the supplied object.

    Declaration

    function FindDuplicate(const aMaterial: IMaterial; aCheckTitle: Boolean = False): IMaterial; safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aMaterialconst
    Material instance being queried or modified.
    aCheckTitle
    Boolean
    Whether title collisions should count as duplicates.
    Returns
    The matching material interface instance, or null when not found.
  • Method name
    FindByTitle()
    Type
    IMaterial
    Description

    Find an item by its title and any additional matching fields.

    Declaration

    function FindByTitle(const aTitle: WideString; aKind: TMaterialKind; aWidth: Cardinal; aThickness: Cardinal): IMaterial; safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aTitleconst
    WideString
    Human-readable title.
    aKind
    Value for kind.
    aWidth
    Cardinal
    Width value in TonCut units.
    aThickness
    Cardinal
    Thickness value in TonCut units.
    Returns
    The matching material interface instance, or null when not found.
  • Method name
    FindUniqueName()
    Type
    WideString
    Description

    Generate or return a title that is unique within the collection.

    Declaration

    function FindUniqueName(const aBaseName: WideString; aKind: TMaterialKind; aWidth: Cardinal; aThickness: Cardinal): WideString; safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aBaseNameconst
    WideString
    Base title used while generating a unique name.
    aKind
    Value for kind.
    aWidth
    Cardinal
    Width value in TonCut units.
    aThickness
    Cardinal
    Thickness value in TonCut units.
    Returns
    A title string that is unique within the collection.
  • Method name
    CheckUniqueName()
    Type
    Boolean
    Description

    Check whether a proposed title is unique within the collection.

    Declaration

    function CheckUniqueName(const aTitle: WideString; aKind: TMaterialKind; aWidth: Cardinal; aThickness: Cardinal; const aIgnoreMaterial: IMaterial): Boolean; overload; safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aTitleconst
    WideString
    Human-readable title.
    aKind
    Value for kind.
    aWidth
    Cardinal
    Width value in TonCut units.
    aThickness
    Cardinal
    Thickness value in TonCut units.
    aIgnoreMaterialconst
    Material to exclude from uniqueness checks.
    Returns
    Returns true if the proposed title is unique within the collection.
  • Method name
    CheckUniqueName()
    Type
    Boolean
    Description

    Check whether a proposed title is unique within the collection.

    Declaration

    function CheckUniqueName(aMaterial: IMaterial; aAutoFix: Boolean = False): Boolean; overload; safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aMaterial
    Material instance being queried or modified.
    aAutoFix
    Boolean
    Whether the method may adjust data automatically.
    Returns
    Returns true if the proposed title is unique within the collection.
  • Method name
    GetById()
    Type
    IMaterial
    Description

    Return the item stored under the specified TonCut identifier.

    Declaration

    function GetById(aId: Int64): IMaterial; safecall;

    Published SDK declaration languages: Pascal, C++.

    Parameters
    aId
    Int64
    TonCut object identifier.
    Returns
    The matching material interface instance.
  • Method name
    Reload()
    Type
    procedure
    Description

    Reload the underlying data from the host or storage layer.

    Declaration

    procedure Reload(); safecall;

    Published SDK declaration languages: Pascal, C++.


IMaterialChangeEventHandler

Callback sink consumed by the matching change-event interface.

Source: SDK/include/pascal/uIMaterialChangeEvent.pas

Methods

  • Method name
    Invoke()
    Type
    procedure
    Description

    Handle the event callback when the owning event interface invokes it.

    Declaration

    procedure Invoke(aSender: IUnknown; aMaterial: IMaterial; aIndex: Integer); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aSender
    IUnknown
    Object that raised the event.
    aMaterial
    Material instance being queried or modified.
    aIndex
    Integer
    Zero-based position within a collection.

IMaterialChangeEvent

Event interface with Add, Remove, and Invoke hooks for collection or entity change notifications.

Source: SDK/include/pascal/uIMaterialChangeEvent.pas

Methods

  • Method name
    Add()
    Type
    procedure
    Description

    Add an item or handler.

    Declaration

    procedure Add(aHandler: IMaterialChangeEventHandler); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aHandler
    The handler interface instance to use.
  • Method name
    Remove()
    Type
    procedure
    Description

    Remove an item or handler.

    Declaration

    procedure Remove(aHandler: IMaterialChangeEventHandler); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aHandler
    The handler interface instance to use.
  • Method name
    Invoke()
    Type
    procedure
    Description

    Raise the typed change event for the current payload.

    Declaration

    procedure Invoke(aSender: IUnknown; aMaterial: IMaterial; aIndex: Integer); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aSender
    IUnknown
    Object that raised the event.
    aMaterial
    Event payload field for material.
    aIndex
    Integer
    Event payload field for index.

IStandardSheet

Reusable stock-size template attached to a material definition.

Source: SDK/include/pascal/uIStandardSheet.pas

Properties

  • Property name
    Id
    Type
    Int64
    Description

    Persistent numeric identifier used by TonCut to track the object.

    Declaration

    property Id: Int64 read GetId write SetId;

    Published SDK declaration languages: Pascal.

  • Property name
    Title
    Type
    WideString
    Description

    Human-readable title shown to users.

    Declaration

    property Title: WideString read GetTitle write SetTitle;

    Published SDK declaration languages: Pascal.

  • Property name
    Length
    Type
    Cardinal
    Description

    Length value stored on the object.

    Declaration

    property Length: Cardinal read GetLength write SetLength;

    Published SDK declaration languages: Pascal.

  • Property name
    Width
    Type
    Cardinal
    Description

    Width value stored on the object.

    Declaration

    property Width: Cardinal read GetWidth write SetWidth;

    Published SDK declaration languages: Pascal.

  • Property name
    Ornament
    Type
    Description

    Grain or ornament direction associated with the stock item.

    Declaration

    property Ornament: TOrnament read GetOrnament write SetOrnament;

    Published SDK declaration languages: Pascal.

  • Property name
    Edging
    Type
    IRectangle
    Description

    Rectangle-like edging or margin helper attached to the object.

    Declaration

    property Edging: IRectangle read GetEdging;

    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.

  • Property name
    OnIdChange
    Type
    IIdChangeEvent
    Description

    Event fired when an identifier changes.

    Declaration

    property OnIdChange: IIdChangeEvent read GetOnIdChange;

    Published SDK declaration languages: Pascal.

Methods

  • Method name
    Assign()
    Type
    procedure
    Description

    Copy values from another object of the same type.

    Declaration

    procedure Assign(const aStandardSheet: IStandardSheet); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aStandardSheetconst
    Standard sheet instance being queried or modified.
  • Method name
    BeginUpdate()
    Type
    procedure
    Description

    Start a batched update so change notifications can be delayed.

    Declaration

    procedure BeginUpdate(); safecall;

    Published SDK declaration languages: Pascal.

  • Method name
    EndUpdate()
    Type
    procedure
    Description

    Finish a batched update and allow deferred notifications to resume.

    Declaration

    procedure EndUpdate(); safecall;

    Published SDK declaration languages: Pascal.


IStandardSheets

Collection interface used to create, enumerate, query, and reload a shared Desktop object set.

Source: SDK/include/pascal/uIStandardSheets.pas

Properties

  • Property name
    Count
    Type
    Integer
    Description

    Number of items currently exposed by the interface.

    Declaration

    property Count: Integer read GetCount;

    Published SDK declaration languages: Pascal.

  • Property name
    Items
    Type
    IStandardSheet
    Description

    Indexed property used to read one item from the collection.

    Declaration

    property Items[aIndex: Cardinal]: IStandardSheet read GetByIndex; default;

    Published SDK declaration languages: Pascal.

    Index Parameters
    aIndex
    Cardinal
    Zero-based position within a collection.
    Value
    The collection item located at the supplied index.
  • Property name
    OnAdd
    Type
    IStandardSheetChangeEvent
    Description

    Event fired when an item is added.

    Declaration

    property OnAdd: IStandardSheetChangeEvent read GetOnAdd;

    Published SDK declaration languages: Pascal.

  • Property name
    OnRemove
    Type
    IStandardSheetChangeEvent
    Description

    Event fired when an item is removed.

    Declaration

    property OnRemove: IStandardSheetChangeEvent read GetOnRemove;

    Published SDK declaration languages: Pascal.

Methods

  • Method name
    Assign()
    Type
    procedure
    Description

    Copy values from another object of the same type.

    Declaration

    procedure Assign(const aOther: IStandardSheets); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aOtherconst
    Source object whose values should be copied.
  • Method name
    Clear()
    Type
    procedure
    Description

    Remove all items from the collection.

    Declaration

    procedure Clear(); safecall;

    Published SDK declaration languages: Pascal.

  • Method name
    Add()
    Type
    procedure
    Description

    Add an item or handler.

    Declaration

    procedure Add(aStandardSheet: IStandardSheet); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aStandardSheet
    Standard sheet instance being queried or modified.
  • Method name
    DeleteByIndex()
    Type
    procedure
    Description

    Delete the item at the specified zero-based index.

    Declaration

    procedure DeleteByIndex(aIndex: Cardinal); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aIndex
    Cardinal
    Zero-based position within a collection.
  • Method name
    Remove()
    Type
    procedure
    Description

    Remove an item or handler.

    Declaration

    procedure Remove(const aStandardSheet: IStandardSheet); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aStandardSheetconst
    Standard sheet instance being queried or modified.
  • Method name
    IndexOf()
    Type
    Integer
    Description

    Return the zero-based index of the matching item.

    Declaration

    function IndexOf(const aStandardSheet: IStandardSheet): Integer; overload; safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aStandardSheetconst
    Standard sheet instance being queried or modified.
    Returns
    Zero-based index of the matching item, or -1 when no match exists.
  • Method name
    Find()
    Type
    IStandardSheet
    Description

    Find an item matching the supplied criteria.

    Declaration

    function Find(aLength: Cardinal; aWidth: Cardinal; aOrnament: TOrnament; aMarginLeft: Cardinal; aMarginTop: Cardinal; aMarginRight: Cardinal; aMarginBottom: Cardinal): IStandardSheet; overload; safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aLength
    Cardinal
    Length value in TonCut units.
    aWidth
    Cardinal
    Width value in TonCut units.
    aOrnament
    Value for ornament.
    aMarginLeft
    Cardinal
    Left margin value in TonCut units.
    aMarginTop
    Cardinal
    Top margin value in TonCut units.
    aMarginRight
    Cardinal
    Right margin value in TonCut units.
    aMarginBottom
    Cardinal
    Bottom margin value in TonCut units.
    Returns
    The matching standard sheet interface instance, or null when not found.
  • Method name
    Find()
    Type
    IStandardSheet
    Description

    Find an item matching the supplied criteria.

    Declaration

    function Find(aLength: Cardinal; aWidth: Cardinal; aMarginLeft: Cardinal; aMarginTop: Cardinal; aMarginRight: Cardinal; aMarginBottom: Cardinal): IStandardSheet; overload; safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aLength
    Cardinal
    Length value in TonCut units.
    aWidth
    Cardinal
    Width value in TonCut units.
    aMarginLeft
    Cardinal
    Left margin value in TonCut units.
    aMarginTop
    Cardinal
    Top margin value in TonCut units.
    aMarginRight
    Cardinal
    Right margin value in TonCut units.
    aMarginBottom
    Cardinal
    Bottom margin value in TonCut units.
    Returns
    The matching standard sheet interface instance, or null when not found.
  • Method name
    CheckUniqueName()
    Type
    Boolean
    Description

    Check whether a proposed title is unique within the collection.

    Declaration

    function CheckUniqueName(const aTitle: WideString; const aIgnoreStandardSheet: IStandardSheet): Boolean; safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aTitleconst
    WideString
    Human-readable title.
    aIgnoreStandardSheetconst
    Standard sheet to exclude from uniqueness checks.
    Returns
    Returns true if the proposed title is unique within the collection.

IStandardSheetChangeEventHandler

Callback sink consumed by the matching change-event interface.

Source: SDK/include/pascal/uIStandardSheetChangeEvent.pas

Methods

  • Method name
    Invoke()
    Type
    procedure
    Description

    Handle the event callback when the owning event interface invokes it.

    Declaration

    procedure Invoke(aSender: IUnknown; aStandardSheet: IStandardSheet; aIndex: Integer); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aSender
    IUnknown
    Object that raised the event.
    aStandardSheet
    Standard sheet instance being queried or modified.
    aIndex
    Integer
    Zero-based position within a collection.

IStandardSheetChangeEvent

Event interface with Add, Remove, and Invoke hooks for collection or entity change notifications.

Source: SDK/include/pascal/uIStandardSheetChangeEvent.pas

Methods

  • Method name
    Add()
    Type
    procedure
    Description

    Add an item or handler.

    Declaration

    procedure Add(aHandler: IStandardSheetChangeEventHandler); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aHandler
    The handler interface instance to use.
  • Method name
    Remove()
    Type
    procedure
    Description

    Remove an item or handler.

    Declaration

    procedure Remove(aHandler: IStandardSheetChangeEventHandler); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aHandler
    The handler interface instance to use.
  • Method name
    Invoke()
    Type
    procedure
    Description

    Raise the typed change event for the current payload.

    Declaration

    procedure Invoke(aSender: IUnknown; aStandardSheet: IStandardSheet; aIndex: Integer); safecall;

    Published SDK declaration languages: Pascal.

    Parameters
    aSender
    IUnknown
    Object that raised the event.
    aStandardSheet
    Event payload field for standard sheet.
    aIndex
    Integer
    Event payload field for index.

Was this page helpful?