WSM API Design Objects

Now reading version 16.0. For the latest, read: WSM API Design Objects for version 22

Parent page: Technical Reference - Workspace Manager API

Please note that this documentation was last updated for an older version of Altium Designer. While many of the principles and approaches will remain the same, be aware that interfaces, objects, methods, properties, and the like will have changed since then, and will not reflect the entirety of those found in later versions of the software.

Workspace Manager API: Design Objects Reference

IDMObject interface
IWorkspace interface
IBus interface
IChannelClass interface
IComponent Interface
IComponentClass interface
IComponentImplementation interface
ICrossSheet interface
ILine Interface
INet interface
INetClass interface
INetItem Interface
INetLabel interface
IObjectClass interface
IParameter interface
IParameter interface
IPart interface
IPin interface
IPort interface
IPowerObject interface
IRoom interface
IRoom Interface
IRule Interface
ISheetSymbol Interface
ISheetEntry interface
ITextFrame Interface
IViolation Interface
IWrapper Interface

 

IDMObject interface

Overview
The IDMObject interface is the base object interface for all object interfaces used in the Work Space Manager system extension server for Altium Designer.

IDMObject methods
DM_CurrentSheetInstanceNumber
DM_FullCrossProbeString
DM_GeneralField
DM_ImageIndex
DM_IsInferredObject
DM_LocationString
DM_LocationX
DM_LocationY
DM_LongDescriptorString
DM_NetIndex_Flat
DM_NetIndex_Sheet
DM_NetIndex_SubNet
DM_ObjectAdress
DM_ObjectKindString
DM_ObjectKindStringForCrossProbe
DM_OwnerDocument
DM_OwnerDocumentFullPath
DM_OwnerDocumentName
DM_ParameterCount
DM_Parameters
DM_PCBObjectHandle
DM_PrimaryCrossProbeString
DM_SCHObjectHandle
DM_SecondaryCrossProbeString
DM_SheetIndex_Logical
DM_SheetIndex_Physical
DM_ShortDescriptorString
DM_ValidForNavigation
DM_VHDLEntity
IDMObject properties

Methods

DM_CurrentSheetInstanceNumber method

(IDMObject interface)
Syntax
Function DM_CurrentSheetInstanceNumber : Integer;
Description
The function returns the current sheet instance number of the schematic document.
See also
IDMObject interface

DM_FullCrossProbeString method

(IDMObject interface)
Syntax
Function DM_FullCrossProbeString : WideString;
Description
The function returns the full cross probe string.
See also
IDMObject interface

DM_GeneralField method

(IDMObject interface)
Syntax
Function DM_GeneralField : Integer;
Description
The function can returns an integral value for this general field. This General Field can be used for any purpose - as a tag property, as an index property or as a flag to denote something.
See also
IDMObject interface

DM_ImageIndex method

(IDMObject interface)
Syntax
Function DM_ImageIndex : Integer;
Description
The function returns the image index depending on what type of object the image represents.
See also
IDMObject interface

DM_IsInferredObject method

(IDMObject interface)
Syntax
Function DM_IsInferredObject : Boolean;
Description
The function denotes whether the object is an inferred object with respect to connective objects. Bus and Sheet Symbols can be defined in ranges using the NetLabel [] and Repeat statements respectively and once the project has been compiled, inferred objects are created in memory for navigation/connective purposes. For example, a Bus with a range of A[0..4] ends up with five wires with A0...A5 net labels (only in memory). This property is useful for multi-channel projects and for sheets that have Bus objects.
See also
IDMObject interface

DM_LocationString method

(IDMObject interface)
Syntax
Function DM_LocationString : WideString;
Description
The function returns the Location string formatted as a X,Y format or if the object kind is a Text Documnt set, then the string returned is a formatted Line: LocationY  Offset: XLocation string.
See also
IDMObject interface

DM_LocationX method

(IDMObject interface)
Syntax
Function DM_LocationX : Integer;
Description
The function returns the location of this interface object on the X axis.
See also
IDMObject interface

DM_LocationY method

(IDMObject interface)
Syntax
Function DM_LocationY : Integer;
Description
The function returns the location of this interface object on the Y axis.
See also
IDMObject interface

DM_LongDescriptorString method

(IDMObject interface)
Syntax
Function DM_LongDescriptorString : WideString;
Description
The function returns the long description version string.
See also
IDMObject interface

DM_NetIndex_Flat method

(IDMObject interface)
Syntax
Function DM_NetIndex_Flat : Integer;
Description
The function returns the net index for a flattened design.
See also
IDMObject interface

DM_NetIndex_Sheet method

(IDMObject interface)
Syntax
Function DM_NetIndex_Sheet : Integer;
Description
The function returns the netindex for a schematic sheet.
See also
IDMObject interface

DM_NetIndex_SubNet method

(IDMObject interface)
Syntax
Function DM_NetIndex_SubNet : Integer;
Description
The function returns the net index within a sub net.
See also
IDMObject interface

DM_ObjectAdress method

(IDMObject interface)
Syntax
Function DM_ObjectAdress : Pointer;
Description
The function returns the pointer of the interface object itself. Also called a handle.
See also
IDMObject interface

DM_ObjectKindString method

(IDMObject interface)
Syntax
Function DM_ObjectKindString : WideString;
Description
The function returns the object kind string which denotes the design document type.
See also
IDMObject interface

DM_ObjectKindStringForCrossProbe method

(IDMObject interface)
Syntax
Function DM_ObjectKindStringForCrossProbe : WideString;
Description
The function returns the specially formatted object kind string for the cross probing mechanism.
See also
IDMObject interface

DM_OwnerDocument method

(IDMObject interface)
Syntax
Function DM_OwnerDocument : IDocument;
Description
The function returns the document interface object. Refer to IDocument interface for details.
See also
IDMObject interface

DM_OwnerDocumentFullPath method

(IDMObject interface)
Syntax
Function DM_OwnerDocumentFullPath : WideString;
Description
The function returns the full path of the document.
See also
IDMObject interface

DM_OwnerDocumentName method

(IDMObject interface)
Syntax
Function DM_OwnerDocumentName : WideString;
Description
The function returns the name of the document that this object interface is part of.
See also
IDMObject interface

DM_ParameterCount method

(IDMObject interface)
Syntax
Function DM_ParameterCount : Integer;
Description
The function returns the number of parameters this object has.
See also
IDMObject interface

DM_Parameters method

(IDMObject interface)
Syntax
Function DM_Parameters (Index : Integer) : IParameter;
Description
The function returns the indexed parameter object with the index parameter. Use the IParameter interface to wrap the returned result.
See also
IDMObject interface

DM_PCBObjectHandle method

(IDMObject interface)
Syntax
Function DM_PCBObjectHandle : Integer;
Description
The function returns the object handle of a PCB object. If void, a Nil value is returned.
See also
IDMObject interface

DM_PrimaryCrossProbeString method

(IDMObject interface)
Syntax
Function DM_PrimaryCrossProbeString : WideString;
Description
The function returns the primary cross probe string.
See also
IDMObject interface

DM_SCHObjectHandle method

(IDMObject interface)
Syntax
Function DM_SCHObjectHandle : Pointer;
Description
The function returns the object handle of a Schematic object. If void, a zero value is returned.
See also
IDMObject interface

DM_SecondaryCrossProbeString method

(IDMObject interface)
Syntax
Function DM_SecondaryCrossProbeString : WideString;
Description
The function returns the secondary cross probe string.
See also
IDMObject interface

DM_SheetIndex_Logical method

(IDMObject interface)
Syntax
Function DM_SheetIndex_Logical : Integer;
Description
The function returns the sheet index for a logical design (multi – channel designs for example).
See also
IDMObject interface

DM_SheetIndex_Physical method

(IDMObject interface)
Syntax
Function DM_SheetIndex_Physical : Integer;
Description
The function returns the sheet index for a physical design. (that have unique designators)
See also
IDMObject interface

DM_ShortDescriptorString method

(IDMObject interface)
Syntax
Function DM_ShortDescriptorString : WideString;
Description
The function returns the short description version string.
See also
IDMObject interface

DM_ValidForNavigation method

(IDMObject interface)
Syntax
Function DM_ValidForNavigation : Boolean;
Description
The function toggles whether navigation is valid for this object. Navigation is performed on net aware objects such as components, nets and busses.
See also
IDMObject interface

DM_VHDLEntity method

(IDMObject interface)
Syntax
Function DM_VHDLEntity : IVHDLEntity;
Description
The function returns the VHDL entity interface object if it exists on a VHDL document. Basically every object interface has an access to this VHDL entity interface, so to check whether VHDL entity exists for this particular object, you can check out the Name field within the IVHDLEntity interface.
See also
IDMObject interface

DM_GetVCSProject

(IDMObject interface)
Syntax
 
Description
Example
 
See also
IClient interface
IDMObject interface

Properties

VCSProject property

(IDMObject interface)
Syntax
 
Description
Example
 
See also
IClient interface
IVCSProjectAccessor interface

IWorkspace interface

Overview
The IWorkspace interface represents the Work-Space manager in the Altium Designer which deals with project and documents and their related attributes and options. This interface object is the starting point and upon querying this object, it can return currently open projects, number of projects, installed libraries, and create a new document for example.

Remember the projects need to be compiled first, before you can invoke the GetWorkSpace function to obtain the IWorkSpace interface and its descendant interfaces which represent actual objects in Altium Designer.

It is highly recommended not to hold an interface of the Workspace manager, but re-query the workspace manager everytime the access to the information within is required.

IWorkspace methods
DM_AddDocumentToActiveProject
DM_AddOutputLine
DM_ChangeManager
DM_ClearOutputLines
DM_CreateNewDocument
DM_FileOwnership_BulkWarnEnd
DM_FileOwnership_BulkWarnRegister
DM_FileOwnership_BulkWarnStart
DM_FocusedDocument
DM_FocusedProject
DM_FreeDocumentsProject
DM_GenerateUniqueID
DM_GetDefaultPcbType
DM_GetDocumentFromPath
DM_GetOutputLine
DM_GetOutputLineCount
DM_GetProjectFromPath
DM_GetRecoveryInterval
DM_GetRecoveryIsEnabled
DM_ImageIndexForDocumentKind
DM_InstalledLibraries
DM_InstalledLibraryCount
DM_LoadProjectHidden
DM_LocalHistoryManager
DM_MessagesManager
DM_NavigationZoomPrecision
DM_OpenProject
DM_OptionsStorage
DM_Preferences
DM_ProjectCount
DM_Projects
DM_PromptForDefaultPcbType
DM_RunOpenDocumentDialog
DM_SetRecoveryParameters
DM_SetRightClickCompStructure
DM_ShowMessageView
DM_ShowToDoList
DM_ViolationTypeDescription
DM_ViolationTypeGroup
DM_WorkspaceFileName
DM_WorkspaceFullPath
IWorkspace properties

Methods

DM_AddDocumentToActiveProject method

(IWorkspace interface)
Syntax
Procedure DM_AddDocumentToActiveProject(DocumentPath : WideString);
Description
This method adds an existing document with its valid full path into an active project within Altium Designer.
Example
See also
IWorkspace

DM_AddOutputLine method

(IWorkspace interface)
Syntax
Procedure DM_AddOutputLine(MessageLine : PChar;ReplaceLastLine : Boolean = False);
Description
Outputs the line to the output’s dialog. An Internal operation.
Example
See also
IWorkspace

DM_ChangeManager method

(IWorkspace interface)
Syntax
Function DM_ChangeManager : IChangeManager;
Description
Returns the Engineering Change Order Manager interface object which compares with two projects and creates an ECO to perform a pin swapping process to synchronize the specified two projects.
Example
See also
IWorkspace

DM_ClearOutputLines method

(IWorkspace interface)
Syntax
Procedure DM_ClearOutputLines;
Description
Clears out the Output Memo. An Internal operation.
Example
See also
IWorkspace
Description
See also
IClient interface
IWorkSpace interface

DM_CreateNewDocument method

(IWorkspace interface)
Syntax
Function DM_CreateNewDocument (ADocKind : WideString) : WideString;
Description
This method creates a new document based on the Document Kind. The Kinds include – ‘PCBLIB’,’PCB’,’SCH’,’SCHLIB’ and so on depending on which document servers are installed in Altium Designer.
DelphiScript Example

//Creating a new PCB document in Altium Designer
Var
    WSM         : IWorkSpace;
Begin
    WSM := GetWorkSpace;
    If WSM = Nil Then Exit;
    WSM.DM_CreateNewDocument('PCB');
End;

See also
IWorkspace

DM_FileOwnerShip_BulkWarnStart method

(IWorkspace interface)
Syntax
Procedure   DM_FileOwnership_BulkWarnStart;
Description
Example
 
See also
IWorkspace interface

DM_FileOwnerShip_BulkWarnEnd method

(IWorkspace interface)
Syntax
Procedure   DM_FileOwnership_BulkWarnEnd(AWarningLevel : TFileOwnershipWarningLevel);
Description
Example
 
See also
IWorkspace interface

DM_FileOwnerShip_BulkWarnRegister method

(IWorkspace interface)
Syntax
Function    DM_FileOwnership_BulkWarnRegister(AFileName : TDynamicString) : Boolean;
Description
Example
 
See also
IWorkspace interface

DM_FocusedDocument method

(IWorkspace interface)
Syntax
Function DM_FocusedDocument : IDocument;
Description
Returns the focussed document interface object (if any) in Altium Designer. A focussed document is a document that is currently open and in focus (this document is active).
Example
See also
IWorkspace

DM_FocusedProject method

(IWorkspace interface)
Syntax
Function DM_FocusedProject : IProject;
Description
Returns the focussed project (if any) in Altium Designer.
Example
See also
IWorkspace

DM_FreeDocumentsProject method

(IWorkspace interface)
Syntax
Function DM_FreeDocumentsProject : IProject;
Description
Returns the IProject interface that contains free documents. A free document is a standalone document that lives in the Free Documents project.
Example
See also
IWorkspace

DM_GenerateUniqueID method

(IWorkspace interface)
Syntax
Function DM_GenerateUniqueID : WideString;
Description
Invoke this method, and a generated Unique ID will be returned which can be used for any newly created or existing object in Altium Designer. Objects in Schematic have their own Unique IDs which are tracked by the synchronizator so that the objects on the PCB document are sychronized to their equivalents in a corresponding schematic project.

Example - an incomplete example that assigns new UIDs to Schematic components

// get the workspace manager interface so you can 
// generate unique ids...
WSM := GetWorkspace;
If WSM = Nil Then Exit;
// get the schematic server interface
If SchServer = Nil Then Exit;
// get the current sch sheet
CurrentSheet := SchServer.GetCurrentSchDocument;
If CurrentSheet = Nil Then Exit;
 
// Set up an iterator to look for components
// on a schematic document.
Iterator := CurrentSheet.SchIterator_Create;
Iterator.AddFilter_ObjectSet(MkSet(eSchComponent));
 
Try
    Comp := Iterator.FirstSchObject;
    While Compt <> Nil Do
    Begin
        Comp.UniqueID := WSM. DM_GenerateUniqueID;
        Comp := Iterator.NextSchObject;
    End;
Finally
    CurrentSheet.SchIterator_Destroy(Iterator);
End;

See also
IWorkspace

DM_GetDefaultPcbType method

(IWorkspace interface)
Syntax
Function DM_GetDefaultPcbType : WideString;
Description
Example
See also
IWorkspace

DM_GetDocumentFromPath method

(IWorkspace interface)
Syntax
Function DM_GetDocumentFromPath(DocumentPath : WideString) : IDocument;
Description
Retrieves the IDocument interface object by passing the full document path to this document. With this IDocument interface, you have access to its functionality, such as compiling the document itself.
Example
See also
IWorkspace

DM_GetOutputLine method

(IWorkspace interface)
Syntax
Function DM_GetOutputLine(Index : Integer) : WideString;
Description
Example
See also
IWorkspace

DM_GetOutputLineCount method

(IWorkspace interface)
Syntax
Function DM_GetOutputLineCount : Integer;
Description
Returns the number of output lines in the Output dialog. An Internal operation.
Example
See also
IWorkspace

DM_GetProjectFromPath method

(IWorkspace interface)
Syntax
Function DM_GetProjectFromPath (ProjectPath : WideString) : IProject;
Description
Retrieves the IProject interface object by passing the full project path to this project. With this IProject interface, you have access to its interface methods. A project is a container that has links to associated design documents in an organized manner.
Example
See also
IWorkspace

DM_GetRecoveryInterval method

(IWorkspace interface)
Syntax
Function DM_GetRecoveryInterval : Integer;
Description
Returns the number of minutes as the interval when the recovery mechanism kicks in.
Example
See also
IWorkspace

DM_GetRecoveryIsEnabled method

(IWorkspace interface)
Syntax
Function DM_GetRecoveryIsEnabled : Boolean;
Description
Returns a Boolean value whether the recovery mechanism is active or not.
Example
See also
IWorkspace

DM_ImageIndexForDocumentKind method

(IWorkspace interface)
Syntax
Function DM_ImageIndexForDocumentKind(ADocumentKind : WideString) : Integer;
Description
Returns the image index depending on the document kind for example PCB, CAM etc.
Example
See also
IWorkspace
Image Index Table

DM_InstalledLibraries method

(IWorkspace interface)
Syntax
Function DM_InstalledLibraries (Index : Integer) : IDocument;
Description
Returns an indexed library (currently installed in Altium Designer only), to be used in conjunction with the DM_InstalledLibraryCount.
Example
See also
IWorkspace interface
DM_InstalledLibraryCount method

DM_InstalledLibraryCount method

(IWorkspace interface)
Syntax
Function DM_InstalledLibraryCount : Integer;
Description
Returns the number of installed libraries in Altium Designer.
Example
See also
IWorkspace

DM_MessagesManager method

(IWorkspace interface)
Syntax
Function DM_MessagesManager : IMessagesManager;
Description
This function returns you the interface to the Messages panel in Altium Designer.
Example
See also
IWorkspace interface
IMessagesManager interface

DM_OpenProject method

(IWorkspace interface)
Syntax
Function DM_OpenProject ( ProjectPath : WideString;Const Show : Boolean) : IProject;
Description
Opens a project with the full project path and set this project in focus depending on its Show parameter.
Example
See also
IWorkspace

DM_OptionsStorage method

(IWorkspace interface)
Syntax
Function DM_OptionsStorage : IOptionsStorage;
Description
Represents a options storage container where Altium Designer can use to retrieve and store options for storing parameters of EDE options such as Toolchain name, folder and default options and project options.
Example
See also
IWorkspace

DM_ProjectCount method

(IWorkspace interface)
Syntax
Function DM_ProjectCount : Integer;
Description
Returns the number of projects open in Altium Designer.
Example
See also
IWorkspace

DM_Preferences method

(IWorkspace interface)
Syntax
Function DM_Preferences : IWorkspacePreferences;
Description
Example
 
See also
IWorkspace interface
IWorkspacePreferences interface

DM_Projects method

(IWorkspace interface)
Syntax
Function DM_Projects (Index : Integer) : IProject;
Description
Returns the indexed project (currently loaded in Altium Designer only), to be used in conjunction with the DM_ProjectCount interface.
Example
See also
IWorkspace

DM_PromptForDefaultPcbType method

(IWorkspace interface)
Syntax
Function DM_PromptForDefaultPcbType(Var PcbType : WideString) : Boolean;
Description
Example
See also
IWorkspace

DM_SetRecoveryParameters method

(IWorkspace interface)
Syntax
Procedure DM_SetRecoveryParameters(IsEnabled : Boolean; Interval : Integer);
Description
Set the interval when the autosave / recovery mechanism in Altium Designer kicks in. The interval is in minutes, and whether to enable the recovery mechanism.
Example
See also
IWorkspace

DM_ShowMessageView method

(IWorkspace interface)
Syntax
Procedure DM_ShowMessageView;
Description
Invoke this method to refresh the Message panel.
Example
See also
IWorkspace

DM_ShowToDoList method

(IWorkspace interface)
Syntax
Procedure DM_ShowToDoList;
Description
This method displays the To Do List manager panel. This To Do List panel can be used to define your To Dos.
Example
See also
IWorkspace

DM_ViolationTypeDescription method

(IWorkspace interface)
Syntax
Function DM_ViolationTypeDescription(ErrorKind : TErrorKind) : WideString;
Description
Returns the violation type description string with the error kind value passed in. Check the TErrorKind for its range of values.
Example
See also
IWorkspace

DM_ViolationTypeGroup method

(IWorkspace interface)
Syntax
Function DM_ViolationTypeGroup (ErrorKind : TErrorKind) : TErrorGroup;
Description
Returns the error group for which this error kind parameter belongs to. Check the TErrorGroup type for its range of values.
Example
See also
IWorkspace

DM_WorkspaceFileName method

(IWorkspace interface)
Syntax
Function DM_WorkspaceFileName : WideString;
Description
Returns the filename only of the workspace.
Example
See also
IWorkspace

DM_WorkspaceFullPath method

(IWorkspace interface)
Syntax
Function DM_WorkspaceFullPath : WideString;
Description
Returns the full path of the workspace.
Example
See also
IWorkspace

IBus interface

Overview
The IBus interface represents a bus object on the schematic sheet. Buses are special graphical elements that represent a common pathway for multiple signals on a schematic document. Buses have no electrical properties, and they must be correctly identified by net labels and ports.

When a schematic document is compiled, bus objects have inferred objects (wires with netlabels on them) in memory that aids the connectivity and navigation features within Altium Designer.

IBus methods
DM_Wires
DM_Sections
DM_WireCount
DM_SectionCount
DM_Scope
DM_Electric
DM_SignalType
DM_FullBusName
DM_BusName
DM_BusRange1
DM_BusRange2
DM_BusRangeValue1
DM_BusRangeValue2
DM_BusKind
DM_BusWidth
DM_RangeDefinedByValue
DM_IsLocal
IBus properties

Methods

DM_BusKind method

(IBus interface)
Syntax
Function DM_BusKind : TBusKind;
Description
The function returns the bus kind which is one of the following enumerated values; eBusKindUndefined, eBusKindLowValueFirst, eBusKindHighValueFirst, eBusKindGeneric.
Example
See also
IBus interface
TBusKind type (from RT_Unit in Altium Designer RTL)

DM_BusName method

(IBus interface)
Syntax
Function DM_BusName : WideString;
Description
This function returns the full bus name of this bus interface.
Example
See also
IBus interface

DM_BusRange1 method

(IBus interface)
Syntax
Function DM_BusRange1 : WideString;
Description
This function returns the Bus range 1 value. Eg. A[1..6], the bus range1 is 1.
Example
See also
IBus interface

DM_BusRange2 method

(IBus interface)
Syntax
Function DM_BusRange2 : WideString;
Description
The function returns the Bus range 2 value. Eg. A[1..6], the bus range2 is 6.
Example
See also
IBus interface

DM_BusRangeValue1 method

(IBus interface)
Syntax
Function DM_BusRangeValue1 : Integer;
Description
The function returns the Bus range 1 value.
Example
See also
IBus interface

DM_BusRangeValue2 method

(IBus interface)
Syntax
Function DM_BusRangeValue2 : Integer;
Description
The function returns the Bus range 2 value.
Example
See also
IBus interface

DM_BusWidth method

(IBus interface)
Syntax
Function DM_BusWidth : Integer;
Description
The function returns the bus width.
Example
See also
IBus interface

DM_Electric method

(IBus interface)
Syntax
Function DM_Electric : TPinElectrical;
Description
The function returns the electrical property for this bus. Various values include :eElectricInput, eElectricIO, eElectricOutput, eElectricOpenCollector, eElectricPassive, eElectricHiZ, eElectricOpenEmitter, eElectricPower
Example
See also
IBus interface
TPinElectrical type

DM_FullBusName method

(IBus interface)
Syntax
Function DM_FullBusName : WideString;
Description
The function returns the full bus name of this bus interface.
Example
See also
IBus interface

DM_IsLocal method

(IBus interface)
Syntax
Function DM_IsLocal : Boolean;
Description
The function returns a Boolean value whether this bus is a local object or not.
Example
See also
IBus interface

DM_RangeDefinedByValue method

(IBus interface)
Syntax
Function DM_RangeDefinedByValue : Boolean;
Description
The function returns a Boolean value whether this range is defined by a two specific range values or not.
Example
See also
IBus interface

DM_Scope method

(IBus interface)
Syntax
Function DM_Scope : TNetScope;
Description
The function denotes the net scope of this IBus interface.
Example
See also
IBus interface
TNetScope type

DM_SectionCount method

(IBus interface)
Syntax
Function DM_SectionCount : Integer;
Description
The function returns the number of sections for this IBus interface. This is used for the DM_Sections function.
Example
See also
IBus interface

DM_Sections method

(IBus interface)
Syntax
Function DM_Sections (Index : Integer) : INet;
Description
The function returns the indexed section of the bus. Used in conjunction with the DM_SectionCount function.
Example
See also
IBus interface

DM_SignalType method

(IBus interface)
Syntax
Function DM_SignalType : WideString;
Description
The function returns the signal type string for this bus.
Example
See also
IBus interface

DM_WireCount method

(IBus interface)
Syntax
Function DM_WireCount : Integer;
Description
The function returns the number of wires for this IBus interface. This is used for the DM_Wires function.
Example
See also
IBus interface

DM_Wires method

(IBus interface)
Syntax
Function DM_Wires (Index : Integer) : INet;
Description
The function returns the indexed wire. Used in conjunction with the DM_WireCount function.
Example
See also
IBus interface

IChannelClass interface

Overview
The IChannelClass interface is a PCB Channel class object interface for an existing Channel Class on a PCB document. An existing Channel (room) class contains members of specific components. Each component within a Channel Class object can either be a member or not.

The ‘All Components’ Channel Class exists in every PCB document by default, it includes all Components in the document. It is not possible to change which components are members of that Channel class, but the user has full control over which components are members of any other Channel classes (which are created and named by the User).
Notes
Inherited from IObjectClass interface.
See also
IObjectClass interface

IComponent Interface

Overview
The IChannelClass interface is a PCB Channel class object interface for an existing Channel Class on a PCB document. An existing Channel (room) class contains members of specific components.

Each component within a Channel Class object can either be a member or not. The ‘All Components’ Channel Class exists in every PCB document by default, it includes all Components in the document.

It is not possible to change which components are members of that Channel class, but the user has full control over which components are members of any other Channel classes (which are created and named by the User)

IComponent methods
DM_SubParts
DM_PhysicalComponents
DM_SubPartCount
DM_PhysicalComponentCount
DM_PhysicalPath
DM_UniqueId
DM_UniqueIdName
DM_UniqueIdPath
IComponent properties

Methods

DM_SubParts method

(IComponent interface)
Syntax
Function DM_SubParts (Index : Integer) : IPart;
Description
The function returns the indexed sub-part of a multi-part component. Use the DM_SubPartCount function.
Example
See also
IComponent interface

DM_SubPartCount method

(IComponent interface)
Syntax
Function DM_SubPartCount : Integer;
Description
The function returns the number of parts for this multi-part component. A standalone component returns 1 (only one part for a standalone component).
Example
See also
IComponent interface

DM_PhysicalComponents method

(IComponent interface)
Syntax
Function DM_PhysicalComponents (Index : Integer) : IComponent;
Description
The function returns the indexed physical component. Use this in conjunction with the DM_PhysicalComponentCount function.
Example
See also
IComponent interface

DM_PhysicalComponentCount method

(IComponent interface)
Syntax
Function DM_PhysicalComponentCount : Integer;
Description
The function returns the number of physical components.
Example
See also
IComponent interface

DM_UniqueIdPath method

(IComponent interface)
Syntax
Function DM_UniqueIdPath : WideString;
Description
The function returns the unique path portion of the Unique ID for this component. Includes the back slash.
Example
See also
IComponent interface

DM_UniqueIdName method

(IComponent interface)
Syntax
Function DM_UniqueIdName : WideString;
Description
The function returns the unique name portion of the Unique ID for this component.
Example
See also
IComponent interface

DM_UniqueId method

(IComponent interface)
Syntax
Function DM_UniqueId : WideString;
Description
The function returns the Unique ID string for this component so this component can be synchronized on the source document and the primary implementation document (PCB).
Example
See also
IComponent interface

DM_PhysicalPath method

(IComponent interface)
Syntax
Function DM_PhysicalPath : WideString;
Description
The function returns the full physical path for this component. For example the string can consist of the schematic filename \ channel name and instance.
Example
See also
IComponent interface

IComponentClass interface

Overview
The IComponentClass interface is a PCB Component class object interface for an existing Component Class on a PCB document. An existing Component class contains members of specific Components. Each Component within a ComponentClass object can either be a member or not. The ‘All Components’ Component Class exists in every PCB document by default, it includes all Components in the document. It is not possible to change which components are members of that Component class, but the user has full control over which components are members of any other Component classes (which are created and named by the User).
Notes
Inherited from IObjectClass interface.
See also
IObjectClass interface

IComponentImplementation interface

Overview
The IComponentImplementation interface is associated with an IPart/IComponent interface in terms of model linking. Note that the IComponent interface is inherited from the IPart interface.

A model represents all the information needed for a component in a given domain (a model can be a PCB footprint, Simulation file or a Signal Integrity model). A model is also called an implementation.
Each schematic component can contain links to different model implementations such as PCB, Signal Integrity and Simulation models. Only one model of a particular model type (PCB footprint, SIM, SI, EDIF Macro and VHDL) can be enabled as the currently linked model, at any one time.

A model can be represented by external data sources called data file links. For example, pins of a component can have links to different data files, as for signal integrity models. We will consider each model type in respect to the data file links.

  • For PCB footprints, the data file link and the model is the same since the external file is the PCB footprint library.
  • For simulation models, there can be no data file links because these models are defined using the Spice format.
  • However for signal integrity models, each pin can have different pieces of information represented by ibis data files. These signal integrity models can have multiple data files, that is, each pin of a component can have a separate IBIS file. A signal integrity model can however use the Altium Designer’s central Signal Integrity database.

Thus depending on which model type, you can have a number of data file links. Each data file link describes the model name, the path to where the library is stored in and what sort of model it is.

IComponentImplementation methods
DM_Description
DM_ModelName
DM_ModelType
DM_DatafileCount
DM_DatafileLocation
DM_DatafileEntity
DM_DatafileKind
DM_SetDatafileLocation
DM_SetDatafileEntity
DM_SetDatafileKind
DM_SetDatafileCount
DM_DatafileFullPath
DM_IntegratedModel
DM_DatalinksLocked
DM_IsCurrent
DM_Part
DM_PortMap
DM_PortMapList
IComponentImplementation properties

Methods

DM_SetDatafileKind method

(IComponentImplementation interface)
Syntax
Procedure DM_SetDatafileKind (Index : Integer; AKind : WideString);
Description
The procedure sets the data file kind which denotes the type of implementation model. Example, a PCB Footprint is a PCBLIB data file kind.
Example
See also
IComponentImplementation interface

DM_SetDatafileEntity method

(IComponentImplementation interface)
Syntax
Procedure DM_SetDatafileEntity (Index : Integer; AEntity : WideString);
Description
The procedure sets the data file entity which denotes the name of the implementation model linked to a schematic component/part.
Example
See also
IComponentImplementation interface

DM_SetDatafileCount method

(IComponentImplementation interface)
Syntax
Procedure DM_SetDatafileCount (ACount : Integer);
Description
The procedure sets the number of data files associated with the IPart/IComponent interface.
Example
See also
IComponentImplementation interface

DM_ModelType method

(IComponentImplementation interface)
Syntax
Function DM_ModelType : WideString;
Description
The function returns the model type as a string;
Example
See also
IComponentImplementation interface

DM_ModelName method

(IComponentImplementation interface)
Syntax
Function DM_ModelName : WideString;
Description
The function returns the model name of the implementation model.
Example
See also
IComponentImplementation interface

DM_Description method

(IComponentImplementation interface)
Syntax
Function DM_Description : WideString;
Description
The function returns the description string of the implementation model.
Example
See also
IComponentImplementation interface

DM_DatafileLocation method

(IComponentImplementation interface)
Syntax
Function DM_DatafileLocation (Index : Integer) : WideString;
Description
The function returns the indexed data file location. Used in conjunction with the DM_DataFileCount function.
Example
See also
IComponentImplementation interface

DM_DatafileKind method

(IComponentImplementation interface)
Syntax
Function DM_DatafileKind (Index : Integer) : WideString;
Description
The function returns the indexed data file kind (the model kind eg PCB etc)Used in conjunction with the DM_DataFileCount function.
Example
See also
IComponentImplementation interface

DM_DatafileFullPath method

(IComponentImplementation interface)
Syntax
Function DM_DatafileFullPath (Index : Integer;EntityName, FileKind : WideString;Var FoundIn : WideString) : WideString;
Description
The function returns you the full path to the data file via the FoundIn parameter, if the Entity name, the file Kind are valid and Found In strings Used in conjunction with the DM_DataFileCount function.
Example
See also
IComponentImplementation interface

DM_DatafileEntity method

(IComponentImplementation interface)
Syntax
Function DM_DatafileEntity (Index : Integer) : WideString;
Description
The function returns the indexed data file entity (the name of the implementation model). Used in conjunction with the DM_DataFileCount function.
Example
See also
IComponentImplementation interface

DM_DatafileCount method

(IComponentImplementation interface)
Syntax
Function DM_DatafileCount : Integer;
Description
The function returns the number of data files for the model. A data file is an internal aggregrate object and each data file describes the model name, the path to where the library is stored in and what implementation model type.
Example
See also
IComponentImplementation interface

DM_SetDatafileLocation method

(IComponentImplementation interface)
Syntax
Procedure DM_SetDatafileLocation (Index : Integer; ALocation : WideString);
Description
The procedure sets the data file location which denotes the full path of the implementation model associated with the IPart/IComponent interface.
Example
See also
IComponentImplementation interface

DM_PortMapList method

(IComponentImplementation interface)
Syntax
Function DM_PortMapList : WideString;
Description
The function returns the mapping of pins of a component and its corresponding model.
Example
See also
IComponentImplementation interface

DM_PortMap method

(IComponentImplementation interface)
Syntax
Function DM_PortMap : WideString;
Description
The function denotes the mapping of pins of a component and its corresponding model.
Example
See also
IComponentImplementation interface

DM_Part method

(IComponentImplementation interface)
Syntax
Function DM_Part : IPart;
Description
The function denotes the mapping of pins of a component and its corresponding model.
Example
See also
IComponentImplementation interface

DM_IsCurrent method

(IComponentImplementation interface)
Syntax
Function DM_IsCurrent : Boolean;
Description
The function denotes a boolean value whether this model implementation is current or not.
Example
See also
IComponentImplementation interface

DM_IntegratedModel method

(IComponentImplementation interface)
Syntax
Function DM_IntegratedModel : Boolean;
Description
This function denotes a boolean value whether this is a model from an integrated library or not.
Example
See also
IComponentImplementation interface

DM_DatalinksLocked method

(IComponentImplementation interface)
Syntax
Function DM_DatalinksLocked : Boolean;
Description
The function denotes a boolean value whether datalinks are locked or not. Note, a data file kind denotes the type of implementation model. Example, a PCB Footprint is a PCBLIB data file kind.
Example
See also
IComponentImplementation interface

ICrossSheet interface

Overview
The ICrossSheet interface is a cross sheet connector object interface. Cross sheet connector objects can be used to link a net from a sheet to other sheets within a project. This method defines global connections between sheets within a project. An active cross sheet object is associated with a net.

An equivalent Cross Sheet Connector object representation is the ISch_CrossSheetConnector interface in Schematic API Reference.
Important notes
ICrossSheet interface is inherited from INetItem interface.
See also
INetItem interface.

ILine Interface

Overview
The ILine interface is a line object interface for an existing line object on a Schematic document. A line is a graphical drawing object with any number of joined segments.

An equivalent Line object representation is the ISch_Line interface in the Schematic API reference.

The ILine interface hierarchy is as follows;
IDMObject
    ILine

ILine methods
DM_LX
DM_LY
DM_HX
DM_HY
ILine properties

See also
IDMObject interface

Methods

DM_LX method

(ILine interface)
Syntax
Function DM_LX : Integer;
Description
This function returns the lower left coordinate of the line.
Example
See also
ILine interface

DM_LY method

(ILine interface)
Syntax
Function DM_LY : Integer;
Description
This function returns the lower left coordinate of the line.
Example
See also
ILine interface

DM_HY method

(ILine interface)
Syntax
Function DM_HY : Integer;
Description
This function returns the upper right coordinate of the line.
Example
See also
ILine interface

DM_HX method

(ILine interface)
Syntax
Function DM_HX : Integer;
Description
This function returns the upper right coordinate of the line.
Example
See also
ILine interface

INet interface

Overview
The INet interface is associated with an existing net object of a design document. A net is a series of connections of net identifiers (electrically aware objects such as sheet entries, pins, wires and ports) with the same net name.
That is, all connections sharing the same net name is a net and can be connected on a sheet or between sheets in a project.

INet methods
DM_AllNetItems
DM_RemovedNetItems
DM_Directives
DM_Pins
DM_PowerObjects
DM_Ports
DM_CrossSheetConnectors
DM_NetLabels
DM_SheetEntrys
DM_Lines
DM_SubWires
DM_AllNetItemCount
DM_RemovedNetItemCount
DM_DirectiveCount
DM_PinCount
DM_PowerObjectCount
DM_PortCount
DM_CrossSheetConnectorCount
DM_NetLabelCount
DM_SheetEntryCount
DM_LineCount
DM_SubWireCount
DM_Electric
DM_ElectricalString
DM_SignalType
DM_AutoNumber
DM_Scope
DM_CalculatedNetName
DM_HiddenNetName
DM_IsAutoGenerated
DM_IsLocal
DM_NetNumber
DM_NetName
DM_FullNetName
DM_BusRange1
DM_BusRange2
DM_BusRangeValue1
DM_BusRangeValue2
DM_BusIndex
DM_BusWidth
DM_BusKind
DM_IsBusElement
DM_IsBusSection
DM_IsBusMember
DM_RangeDefinedByValue
DM_BusPrefix
DM_CountOfNonPinItems
DM_CountOfElectricalType
DM_SuppressERC
DM_BusSectionParent
INet properties

Methods

DM_AllNetItemCount method

(INet interface)
Syntax
Function DM_AllNetItemCount : Integer;
Description
The function returns the number of net aware objects (that is inherited from the INetItem interface).
Example
See also
INet interface

DM_AllNetItems method

(INet interface)
Syntax
Function DM_AllNetItems (Index : Integer) : INetItem;
Description
The function returns an indexed net aware object. Use the DM_AllNetItemCount function for this function.
Example
See also
INet interface
DM_AllNetItemCount function

DM_AutoNumber method

(INet interface)
Syntax
Function DM_AutoNumber : Integer;
Description
The function returns the auto number value used for auto-numbering nets.
Example
See also
INet interface

DM_BusIndex method

(INet interface)
Syntax
Function DM_BusIndex : Integer;
Description
The function returns the bus index. An IBus interface is inherited from a INetItem interface.
Example
See also
INet interface

DM_BusKind method

(INet interface)
Syntax
Function DM_BusKind : TBusKind;
Description
The function returns the bus kind. which is one of the following enumerated values; eBusKindUndefined, eBusKindLowValueFirst, eBusKindHighValueFirst, eBusKindGeneric.
Example
See also
INet interface
TBusKind type (from RT_Unit in Altium Designer RTL)

DM_BusPrefix method

(INet interface)
Syntax
Function DM_BusPrefix : WideString;
Description
The function returns the bus prefix as used in this net.
Example
See also
INet interface

DM_BusRange1 method

(INet interface)
Syntax
Function DM_BusRange1 : WideString;
Description
The function returns the first index of the Bus range. Eg. A[1..6], the bus range1 is 1.
Example
See also
INet interface

DM_BusRange2 method

(INet interface)
Syntax
Function DM_BusRange2 : WideString;
Description
The function returns the last index of the Bus Range. Eg A[0..4], the bus range 2 is 4.
Example
See also
INet interface

DM_BusRangeValue1 method

(INet interface)
Syntax
Function DM_BusRangeValue1 : Integer;
Description
The function returns the value of the first index of the Bus range
Example
See also
INet interface

DM_BusRangeValue2 method

(INet interface)
Syntax
Function DM_BusRangeValue2 : Integer;
Description
The function returns the value of the second index of the Bus range.
Example
See also
INet interface

DM_BusSectionParent method

(INet interface)
Syntax
Function DM_BusSectionParent : INet;
Description
This function returns an INet interface for the parent bus section.
Example
See also
INet interface

DM_BusWidth method

(INet interface)
Syntax
Function DM_BusWidth : Integer;
Description
The function returns the bus width. An IBus interface is inherited from a INetItem interface.
Example
See also
INet interface

DM_CalculatedNetName method

(INet interface)
Syntax
Function DM_CalculatedNetName : WideString;
Description
The function returns the bus width. An IBus interface is inherited from a INetItem interface.
Example
See also
INet interface

DM_CountOfElectricalType method

(INet interface)
Syntax
Function DM_CountOfElectricalType (AElectric : TPinElectrical) : Integer;
Description
The function returns the number of electrical types used by the current sheet or the project.
Example
See also
INet interface

DM_CountOfNonPinItems method

(INet interface)
Syntax
Function DM_CountOfNonPinItems : Integer;
Description
The function returns the number of non-pin objects used on the current sheet or the project.
Example
See also
INet interface

DM_CrossSheetConnectorCount method

(INet interface)
Syntax
Function DM_CrossSheetConnectorCount : Integer;
Description
The function returns the number of cross sheet connectors associated with this net.
Example
See also
INet interface

DM_CrossSheetConnectors method

(INet interface)
Syntax
Function DM_CrossSheetConnectors (Index : Integer) : ICrossSheet;
Description
The function returns an indexed cross sheet connector that is part of the current net. Use the DM_CrossSheetConnectorCount function.
Example
See also
INet interface

DM_DirectiveCount method

(INet interface)
Syntax
Function DM_DirectiveCount : Integer;
Description
The function returns the number of directives associated with this net.
Example
See also
INet interface

DM_Directives method

(INet interface)
Syntax
Function DM_Directives (Index : Integer) : INetItem;
Description
The function returns an indexed directive (which could be a PCB layout directive that contains PCB fules). Use the DM_DirectiveCount function.
Example
See also
INet interface

DM_Electric method

(INet interface)
Syntax
Function DM_Electric : TPinElectrical;
Description
The function returns the type of electrical property the pin is associated with. Various values include :eElectricInput, eElectricIO, eElectricOutput, eElectricOpenCollector, eElectricPassive, eElectricHiZ, eElectricOpenEmitter, eElectricPower
Example
See also
INet interface
TPinElectrical type

DM_ElectricalString method

(INet interface)
Syntax
Function DM_ElectricalString : WideString;
Description
The function returns the electrical property associated with this net.
Example
See also
INet interface

DM_FullNetName method

(INet interface)
Syntax
Function DM_FullNetName : WideString; {Including Bus Index etc}
Description
The function denotes the full net name (includes the bus index and so on).
Example
See also
INet interface

DM_HiddenNetName method

(INet interface)
Syntax
Function DM_HiddenNetName : WideString;
Description
The function denotes the hidden net name (like power nets).
Example
See also
INet interface

DM_IsAutoGenerated method

(INet interface)
Syntax
Function DM_IsAutoGenerated : Boolean;
Description
The function denotes a boolean value whether this net has been system generated or not.
Example
See also
INet interface

DM_IsBusElement method

(INet interface)
Syntax
Function DM_IsBusElement : Boolean;
Description
The function returns a Boolean value whether this bus element exists or not for this INetItem interface. An IBus interface is inherited from a INetItem interface.
Example
See also
INet interface

DM_IsBusMember method

(INet interface)
Syntax
Function DM_IsBusMember : Boolean;
Description
The function returns a Boolean value whether this bus member exists or not for this INetItem interface. An IBus interface is inherited from a INetItem interface.
Example
See also
INet interface

DM_IsBusSection method

(INet interface)
Syntax
Function DM_IsBusSection : Boolean;
Description
The function returns a Boolean value whether the bus section exists or not for this INetItem interface. An IBus interface is inherited from a INetItem interface.
Example
See also
INet interface

DM_IsLocal method

(INet interface)
Syntax
Function DM_IsLocal : Boolean;
Description
The function denotes whether this net is a local net restricted to the document or not.
Example
See also
INet interface

DM_LineCount method

(INet interface)
Syntax
Function DM_LineCount : Integer;
Description
The function returns the number of lines associated with this net.
Example
See also
INet interface

DM_Lines method

(INet interface)
Syntax
Function DM_Lines (Index : Integer) : ILine;
Description
The function returns an indexed line that is part of the current net. use the DM_LineCount function.
Example
See also
INet interface

DM_NetLabelCount method

(INet interface)
Syntax
Function DM_NetLabelCount : Integer;
Description
The function returns the number of net labels associated with this net.
Example
See also
INet interface
INetLabel interface

DM_NetLabels method

(INet interface)
Syntax
Function DM_NetLabels (Index : Integer) : INetItem;
Description
The function returns an indexed net label that is part of the current net. Use DM_NetLabelCount function.
Example
See also
INet interface
INetItem interface
INetLabel interface

DM_NetName method

(INet interface)
Syntax
Function DM_NetName : WideString;
Description
The function denotes the net name of this net.
Example
See also
INet interface

DM_NetNumber method

(INet interface)
Syntax
Function DM_NetNumber : WideString;
Description
The function denotes the net number of this net.
Example
See also
INet interface

DM_PinCount method

(INet interface)
Syntax
Function DM_PinCount : Integer;
Description
The function returns the number of pins associated with this net.
Example
See also
INet interface

DM_Pins method

(INet interface)
Syntax
Function DM_Pins (Index : Integer) : INetItem;
Description
The function reurns an indexed pin that is part of the current net. Use the DM_PinCount function.
Example
See also
INet interface

DM_PortCount method

(INet interface)
Syntax
Function DM_PortCount : Integer;
Description
The function returns the number of ports associated with this net.
Example
See also
INet interface

DM_Ports method

(INet interface)
Syntax
Function DM_Ports (Index : Integer) : INetItem;
Description
The function returns an indexed port that is part of the current net. Use the DM_PortCount function.
Example
See also
INet interface

DM_PowerObjectCount method

(INet interface)
Syntax
Function DM_PowerObjectCount : Integer;
Description
The function returns the number of power objects associated with this net.
Example
See also
INet interface

DM_PowerObjects method

(INet interface)
Syntax
Function DM_PowerObjects (Index : Integer) : INetItem;
Description
The function returns an indexed power object that is part of the current net. Use the DM_PowerObjectCount function.
Example
See also
INet interface

DM_RangeDefinedByValue method

(INet interface)
Syntax
Function DM_RangeDefinedByValue : Boolean;
Description
The function returns a boolean value whether the range has been defined by a two specific range values or not.
Example
See also
INet interface

DM_RemovedNetItemCount method

(INet interface)
Syntax
Function DM_RemovedNetItemCount : Integer;
Description
The function returns the number of net items that have been removed from the nets.
Example
See also
INet interface

DM_RemovedNetItems method

(INet interface)
Syntax
Function DM_RemovedNetItems (Index : Integer) : INetItem;
Description
The function returns an indexed net item that has been removed from net of the schematic document.
Example
See also
INet interface

DM_Scope method

(INet interface)
Syntax
Function DM_Scope : TNetScope;
Description
The funciton denotes the scope of this net as defined by the TNetScope type.
Example
See also
INet interface
TNetScope type

DM_SheetEntryCount method

(INet interface)
Syntax
Function DM_SheetEntryCount : Integer;
Description
The function returns the number of sheet entries associated with this net.
Example
See also
INet interface

DM_SheetEntrys method

(INet interface)
Syntax
Function DM_SheetEntrys (Index : Integer) : INetItem;
Description
The function returns an indexed sheet entry that is part of the current net. Use DM_SheetEntryCount function.
Example
See also
INet interface
INetItem interface
DM_SheetEntryCount function

DM_SignalType method

(INet interface)
Syntax
Function DM_SignalType : WideString;
Description
The function returns the signal type property associated with this net.
Example
See also
INet interface

DM_SubWireCount method

(INet interface)
Syntax
Function DM_SubWireCount : Integer;
Description
The function returns the number of sub wires associated with this net.
Example
See also
INet interface

DM_SubWires method

(INet interface)
Syntax
Function DM_SubWires (Index : Integer) : INet; {For BusSections only}
Description
The function Returns an indexed sub wire (part of a bus object). Use the DM_SubWireCount. A bus object conceptually carries multiple wires.
Example
See also
INet interface

DM_SuppressERC method

(INet interface)
Syntax
Function DM_SuppressERC : Boolean;
Description
The function returns a boolean value whether the ERC has been suppressed for this net or not.
Example
See also
INet interface

INetClass interface

Overview
The INetClass interface is a PCB Net Class object interface for an existing NetClass on a PCB document. An existing Net class contains members of specific Net objects. Each Net within a NetClass object can either be a member, or not. The 'All Nets' Net Class exists in every PCB file by default; it includes all Nets in the document. It is not possible to change which Nets are members of that Net Class, but the user has full control over which Nets are members of any other Net Classes (which are created and named by the user).
Notes
An INetClass interface is inherited from the IObjectClass interface.
See also
IObjectClass

INetItem Interface

Overview
The INetItem interface represents the ancestor or parent interface for the following interfaces – IBus, ICrossSheetConnector, IPin, IPort, INetlabel, ISheetEntry and IPowerObject interfaces that have a Net property.
These interface objects have a net property and thus these objects can be part of a net.

INetItem methods
DM_OwnerNetLogical
DM_OwnerNetPhysical
DM_ParentID
DM_Electric
DM_Id
DM_NetName
DM_FlattenedNetName
DM_NetNumber
DM_Electrical
DM_ElectricalString
DM_SignalType
DM_BusRange1
DM_BusRange2
DM_BusRangeValue1
DM_BusRangeValue2
DM_BusKind
DM_BusIndex
DM_BusWidth
DM_BusPrefix
DM_IsAutoGenerated
DM_IsBusMember
DM_IsBusElement
DM_IsBusSection
DM_RangeDefinedByValue
DM_Part
DM_PartId
DM_DisplayMode
DM_PinName
DM_PinNumber
DM_FullPinName
DM_IsHidden
DM_LogicalPartDesignator
DM_FullLogicalPartDesignator
DM_PhysicalPartDesignator
DM_FullPhysicalPartDesignator
DM_PartUniqueId
DM_PartType
DM_FootPrint
DM_PinNameNoPartId
DM_FullUniqueId
DM_PartSwapId
DM_PinSwapId
DM_SheetSymbol
DM_ParentSheetSymbolSheetName
DM_ParentSheetSymbolName
DM_LinkObject
INetItem properties

Methods

DM_BusIndex method

(INetItem interface)
Syntax
Function DM_BusIndex : Integer;
Description
The function returns the bus index. An IBus interface is inherited from a INetItem interface.
Example
See also
INetItem interface

DM_BusKind method

(INetItem interface)
Syntax
Function DM_BusKind : TBusKind;
Description
The function returns the type of bus. An IBus interface is inherited from a INetItem interface.
Example
See also
INetItem interface

DM_BusPrefix method

(INetItem interface)
Syntax
Function DM_BusPrefix : WideString;
Description
The function returns the bus prefix. An example, a bus object could have this A[0..7] net label, and the prefix is A. An IBus interface is inherited from a INetItem interface.
Example
See also
INetItem interface

DM_BusRange1 method

(INetItem interface)
Syntax
Function DM_BusRange1 : WideString;
Description
This function returns the bus range 1 string.
Example
See also
INetItem interface

DM_BusRange2 method

(INetItem interface)
Syntax
Function DM_BusRange2 : WideString;
Description
This function returns the bus range 1 string.
Example
See also
INetItem interface

DM_BusRangeValue1 method

(INetItem interface)
Syntax
Function DM_BusRangeValue1 : Integer;
Description
This function returns value of the bus range 1.
Example
See also
INetItem interface

DM_BusRangeValue2 method

(INetItem interface)
Syntax
Function DM_BusRangeValue2 : Integer;
Description
This function returns value of the bus range 1.
Example
See also
INetItem interface

DM_BusWidth method

(INetItem interface)
Syntax
Function DM_BusWidth : Integer;
Description
The function returns the bus width. An IBus interface is inherited from a INetItem interface.
Example
See also
INetItem interface

DM_DisplayMode method

(INetItem interface)
Syntax
Function DM_DisplayMode : TDisplayMode;
Description
The function returns the display mode for this part object. A part object can have up to 254 alternative graphical displays along with the normal graphical display.
Example
See also
INetItem interface
TDisplayMode type

DM_Electric method

(INetItem interface)
Syntax
Function DM_Electric : TPinElectrical;
Description
This function denotes the electrical pin property for a net aware object.
Example
See also
INetItem interface
TPinElectrical type

DM_Electrical method

(INetItem interface)
Syntax
Function DM_Electrical : TPinElectrical;
Description
The function returns the electrical pin property.
Example
See also
INetItem interface
TPinElectrical type

DM_ElectricalString method

(INetItem interface)
Syntax
Function DM_ElectricalString : WideString;
Description
The function returns the electrical property string.
Example
See also
INetItem interface

DM_FlattenedNetName method

(INetItem interface)
Syntax
Function DM_FlattenedNetName : WideString;
Description
The function returns the net name of the flattened net where the net aware object is associated with.
Example
See also
INetItem interface

DM_FootPrint method

(INetItem interface)
Syntax
Function DM_FootPrint : WideString;
Description
The function returns the Footprint string for this INetItem associated with an IPart object.
Example
See also
INetItem interface

DM_FullLogicalPartDesignator method

(INetItem interface)
Syntax
Function DM_FullLogicalPartDesignator : WideString;
Description
The function returns the logical part designator and the channel instance for this INetItem Interface.
Example
See also
INetItem interface

DM_FullPhysicalPartDesignator method

(INetItem interface)
Syntax
Function DM_FullPhysicalPartDesignator : WideString;
Description
The function returns the full logical part designator and the channel instance for this INetItem Interface.
Example
See also
INetItem interface

DM_FullPinName method

(INetItem interface)
Syntax
Function DM_FullPinName : WideString;
Description
The function returns the full Pin name and number that this INetItem interface is associated with. An IPin interface is inherited from an INetItem interface.
Example
See also
INetItem interface

DM_FullUniqueId method

(INetItem interface)
Syntax
Function DM_FullUniqueId : WideString;
Description
The function returns the full Unique ID string for this INetItem interface.
Example
See also
INetItem interface

DM_Id method

(INetItem interface)
Syntax
Function DM_Id : WideString;
Description
The function returns the Id value for this net aware object.
Example
See also
INetItem interface

DM_IsAutoGenerated method

(INetItem interface)
Syntax
Function DM_IsAutoGenerated : Boolean;
Description
The function returns a Boolean value whether this INetItem has been automatically generated by Atlium Designer or not.
Example
See also
INetItem interface

DM_IsBusElement method

(INetItem interface)
Syntax
Function DM_IsBusElement : Boolean;
Description
The function returns a Boolean value whether this bus element exists or not for this INetItem interface. An IBus interface is inherited from a INetItem interface.
Example
See also
INetItem interface

DM_IsBusMember method

(INetItem interface)
Syntax
Function DM_IsBusMember : Boolean;
Description
The function returns a Boolean value whether this bus member exists or not for this INetItem interface. An IBus interface is inherited from a INetItem interface.
Example
See also
INetItem interface

DM_IsBusSection method

(INetItem interface)
Syntax
Function DM_IsBusSection : Boolean;
Description
The function returns a Boolean value whether the bus section exists or not for this INetItem interface. An IBus interface is inherited from a INetItem interface.
Example
See also
INetItem interface

DM_IsHidden method

(INetItem interface)
Syntax
Function DM_IsHidden : Boolean;
Description
The function returns whether this pin object is hidden or not. An IPin interface is inherited from an INetItem interface.
Example
See also
INetItem interface

DM_LinkObject method

(INetItem interface)
Syntax
Function DM_LinkObject : INetItem;
Description
The function denotes the linked object to a sheet entry or port from a port or a sheet entry respectively. This method is for port objects that are connected from child schematic sheets to sheet entries of sheet symbols on a parent sheet.
Example
See also
INetItem interface

DM_LogicalPartDesignator method

(INetItem interface)
Syntax
Function DM_LogicalPartDesignator : WideString;
Description
The function returns the logical part designator for this INetItem interface.
Example
See also
INetItem interface

DM_NetName method

(INetItem interface)
Syntax
Function DM_NetName : WideString;
Description
The function returns the net name of the net where the net aware object is associated with.
Example
See also
INetItem interface

DM_NetNumber method

(INetItem interface)
Syntax
Function DM_NetNumber : WideString;
Description
Example
See also
INetItem interface

DM_OwnerNetLogical method

(INetItem interface)
Syntax
Function DM_OwnerNetLogical : INet;
Description
The function denotes whether this net aware object is associated with the net of a logical document.
Example
See also
INetItem interface

DM_OwnerNetPhysical method

(INetItem interface)
Syntax
Function DM_OwnerNetPhysical : INet;
Description
The function denotes whether this net aware object is associated with the net of a physical document.
Example
See also
INetItem interface

DM_ParentID method

(INetItem interface)
Syntax
Function DM_ParentID : WideString;
Description
The function denotes the parent ID or the Sheet document name / Net Name property where this interface is associated with. For example a sheet entry on a sheet symbol object’s parent ID is the name of the schematic sheet where the port is.
Example
See also
INetItem interface

DM_ParentSheetSymbolName method

(INetItem interface)
Syntax
Function DM_ParentSheetSymbolName : WideString;
Description
The function Returns the parent sheet symbol name associated with this INetItem interface (which is a SheetEntry object).
Example
See also
INetItem interface

DM_ParentSheetSymbolSheetName method

(INetItem interface)
Syntax
Function DM_ParentSheetSymbolSheetName : WideString;
Description
The function returns the parent sheet symbol sheet name string associated with this INetItem interface (which is a sheet entry object).
Example
See also
INetItem interface

DM_Part method

(INetItem interface)
Syntax
Function DM_Part : IPart;
Description
The function returns the IPart interface.
Example
See also
INetItem interface

DM_PartId method

(INetItem interface)
Syntax
Function DM_PartId : Integer;
Description
The function returns the Part ID value. A part object is a composite of a multi-part component, and thus each part object is referenced by its Part Id.
Example
See also
INetItem interface

DM_PartSwapId method

(INetItem interface)
Syntax
Function DM_PartSwapId : WideString;
Description
The function returns the wide string for the part swap Id.
Example
See also
INetItem interface

DM_PartType method

(INetItem interface)
Syntax
Function DM_PartType : WideString;
Description
The function returns the part type for this INetItem associated with an IPart object.
Example
See also
INetItem interface

DM_PartUniqueId method

(INetItem interface)
Syntax
Function DM_PartUniqueId : WideString;
Description
The function returns the Unique ID for this part the NetItem is associated with.
Example
See also
INetItem interface

DM_PhysicalPartDesignator method

(INetItem interface)
Syntax
Function DM_PhysicalPartDesignator : WideString;
Description
The function returns the logical part designator and the channel instance for this INetItem Interface.
Example
See also
INetItem interface

DM_PinName method

(INetItem interface)
Syntax
Function DM_PinName : WideString;
Description
The function returns the Pin name that this INetItem interface is associated with. Since an IPin interface is inherited from an INetItem interface.
Example
See also
INetItem interface

DM_PinNameNoPartId method

(INetItem interface)
Syntax
Function DM_PinNameNoPartId : WideString;
Description
The function returns the Pin Name Number and Part ID string for this INetItem associated with an Part object. A pin is part of a part / component.
Example
See also
INetItem interface

DM_PinNumber method

(INetItem interface)
Syntax
Function DM_PinNumber : WideString;
Description
The function returns the Pin Number that this INetItem interface is associated with. An IPin interface is inherited from an INetItem interface.
Example
See also
INetItem interface

DM_PinSwapId method

(INetItem interface)
Syntax
Function DM_PinSwapId : WideString;
Description
The function returns the wide string for the pin swap Id.
Example
See also
INetItem interface

DM_RangeDefinedByValue method

(INetItem interface)
Syntax
Function DM_RangeDefinedByValue : Boolean;
Description
The function returns a Boolean value whether the range is defined by a two specific range values or not.
Example
See also
INetItem interface

DM_SheetSymbol method

(INetItem interface)
Syntax
Function DM_SheetSymbol : ISheetSymbol;
Description
The function returns the ISheetSymbol interface where this INetItem (representing a ISheetEntry interface if it exists) is associated with. If not, a nil value is returned.
Example
See also
INetItem interface

DM_SignalType method

(INetItem interface)
Syntax
Function DM_SignalType : WideString;
Description
The function returns the signal type string.
Example
See also
INetItem interface

INetLabel interface

Overview
The INetLabel interface is a net label interface to an existing net label object on the schematic sheet document. A net describes a connection from one component pin, to a second pin, and then to a third pin and so on.
Notes
The INetLabel interface is inherited from the INetItem interface.
An equivalent NetLabel object representation is the ISch_NetLabel class in Schematic API Reference.
See also
INetItem interface.

IObjectClass interface

Overview
The IObjectClass interface is the ancestor object class interface for Channel Class, Component Class and Net Class interfaces.

IObjectClass methods
DM_Name
DM_MemberCount
DM_Members
IObjectClass properties

Methods

DM_MemberCount method

(IObjectClass interface)
Syntax
Function DM_MemberCount : Integer;
Description
The function returns the number of members associated with the object class (one of its descendants ie Channel Class, Component class or Net class).
This method is to be used in conjunction with the DM_Members(index) method.
Example
See also
IObjectClass interface

DM_Members method

(IObjectClass interface)
Syntax
Function DM_Members (Index : Integer) : WideString;
Description
The function returns the indexed member of the object class (one of its descendants that is, a channel class, component class or a net class).
Example
See also
IObjectClass interface

DM_Name method

(IObjectClass interface)
Syntax
Function DM_Name : WideString;
Description
The function returns the name of the Object class (one of its descendants ie Channel Class, Component class or Net class)
Example
See also
IObjectClass interface

IParameter interface

Overview
The IParameter interface is a parameter object interface to an existing parameter object on a schematic sheet. There are two types of parameters – system parameters which are owned by a schematic document and parameters owned by certain schematic design objects.

A parameter is a child object of a Parameter Set, Part, Pin, Port, or Sheet Symbol object. A Parameter object has a Name property and Value property which can be used to store information, thus the parameters are a way of defining and associating information and could include strings that identify component manufacturer, date added to the document and also a string for the component's value (e.g. 100K for a resistor or 10PF for a capacitor).

Each parameter has a Unique Id assigned to it. This is used for those parameters that have been added as design rule directives. When transferring the design to the PCB document, any defined rule parameters will be used to generate the relevant design rules in the PCB. These generated rules will be given the same Unique Ids, allowing you to change rule constraints in either schematic or PCB and push the change across when performing a synchronization.

An equivalent object representation is the ISch_Parameter class in the Sch API reference.

Interface Methods

Method Description
Function   DM_Name          : WideString; Denotes the name of the parameter object.
Function   DM_ConfigurationName : WideString; Returns the configuration name, that the parameter object is associated with.
Function   DM_Kind          : TParameterKind; Denotes the specific kind that can be assigned to this parameter object. String, Boolean, Integer or float..
Function   DM_Value         : WideString; Denotes the value placeholder for this parameter object.
Function DM_RawText : WideString Returns the raw text for this parameter object.
Function   DM_UniqueId      : WideString; Any parameter that is configured as a container for design rule directives need to have a unique ID that will be ported onto the corresponding PCB implementation document.
Function   DM_Description   : WideString; Denotes the description of this parameter object.
Function   DM_NewName       : WideString; Denotes the New Name for the parameter object, especially when there is an ECO change. You can then compare the original and new names.
Function   DM_NewValue      : WideString; Denoes the New Value for the parameter object, especially when there is an ECO change. You can then compare the original and new values.
Function   DM_OriginalOwner : IDMObject; This function returns the interface of the owner object this parameter object is associated with.
Function   DM_Visible       : Boolean; Denotes whether this parameter object is visible or not.

IParameter interface

Overview
The IParameter interface is a parameter object interface to an existing parameter object on a schematic sheet. There are two types of parameters – system parameters which are owned by a schematic document and parameters owned by certain schematic design objects.

A parameter is a child object of a Parameter Set, Part, Pin, Port, or Sheet Symbol object. A Parameter object has a Name property and Value property which can be used to store information, thus the parameters are a way of defining and associating information and could include strings that identify component manufacturer, date added to the document and also a string for the component's value (e.g. 100K for a resistor or 10PF for a capacitor).

Each parameter has a Unique Id assigned to it. This is used for those parameters that have been added as design rule directives. When transferring the design to the PCB document, any defined rule parameters will be used to generate the relevant design rules in the PCB. These generated rules will be given the same Unique Ids, allowing you to change rule constraints in either schematic or PCB and push the change across when performing a synchronization.

An equivalent object representation is the ISch_Parameter class in the Sch API reference.

IParameter methods
DM_Name
DM_ConfigurationName
DM_Kind
DM_Value
DM_RawText
DM_UniqueId
DM_Description
DM_NewName
DM_NewValue
DM_OriginalOwner
DM_Visible
IParameter properties

Methods

DM_ConfigurationName method

(IParameter interface)
Syntax
Function DM_ConfigurationName : WideString;
Description
The function returns the configuration name, that the parameter object is associated with.
Example
See also
IParameter interface

DM_Description method

(IParameter interface)
Syntax
Function DM_Description : WideString;
Description
The function denotes the description of this parameter object.
Example
See also
IParameter interface

DM_Kind method

(IParameter interface)
Syntax
Function DM_Kind : TParameterKind;
Description
The function denotes the specific kind that can be assigned to this parameter object. String, Boolean, Integer or float.
Example
See also
IParameter interface
TParameterKind type

DM_Name method

(IParameter interface)
Syntax
Function DM_Name : WideString;
Description
The function denotes the name of the parameter object.
Example
See also
IParameter interface

DM_NewName method

(IParameter interface)
Syntax
Function DM_NewName : WideString;
Description
The function denotes the New Name for the parameter object, especially when there is an ECO change. You can then compare the original and new names.
Example
See also
IParameter interface

DM_NewValue method

(IParameter interface)
Syntax
Function DM_NewValue : WideString;
Description
The function denotes the New Value for the parameter object, especially when there is an ECO change. You can then compare the original and new values.
Example
See also
IParameter interface

DM_OriginalOwner method

(IParameter interface)
Syntax
Function DM_OriginalOwner : IDMObject;
Description
This function returns the interface of the owner object this parameter object is associated with.
Example
See also
IParameter interface

DM_RawText method

(IParameter interface)
Syntax
Function DM_RawText : WideString;
Description
The function returns the raw text for this parameter object.
Example
See also
IParameter interface

DM_UniqueId method

(IParameter interface)
Syntax
Function DM_UniqueId : WideString;
Description
Any parameter that is configured as a container for design rule directives need to have a unique ID that will be ported onto the corresponding PCB implementation document.
The function returns the Unique ID value for the parameter object.
Example
See also
IParameter interface

DM_Value method

(IParameter interface)
Syntax
Function DM_Value : WideString;
Description
The function denotes the value placeholder for this parameter object.
Example
See also
IParameter interface

DM_Visible method

(IParameter interface)
Syntax
Function DM_Visible : Boolean;
Description
The function denotes whether this parameter object is visible or not.
Example
See also
IParameter interface

IPart interface

Overview
The IPart interface is the interface of an existing schematic part on a Schematic sheet. A part object is “part” of a component, that is, a multi-part component consists of part objects. For example a multiple gate integrated circuit has duplicate gates, and that a component represents the multi-part gate and a part represents the gate itself.

An equivalent component object representation is the ISch_Component class in Schematic API. The ISch_Component interface represents a component that can contain links to different model implementations such as PCB, Signal Integrity and Simulation models. Only one model of a particular model type (PCB footprint, SIM, SI, EDIF Macro and VHDL) can be enabled as the currently linked model, at any one time.

IPart methods
DM_AddConfigurationParameters
DM_AssignedDesignator
DM_CalculatedDesignator
DM_CenterLocationX
DM_CenterLocationY
DM_ChannelOffset
DM_ChildProjectSheet
DM_ChildVHDLEntity
DM_Comment
DM_ComponentKind
DM_ConfiguratorName
DM_CurrentImplementation
DM_Description
DM_DesignatorLocationX
DM_DesignatorLocationY
DM_DesignatorLocked
DM_DisplayMode
DM_FirstPinLocationX
DM_FirstPinLocationY
DM_Footprint
DM_FullLogicalDesignator
DM_FullPhysicalDesignator
DM_Height
DM_ImplementationCount
DM_Implementations
DM_InstanceCount
DM_Layer
DM_LibraryReference
DM_LogicalDesignator
DM_LogicalOwnerDocument
DM_MaxPartCount
DM_NewDesignator
DM_NewPartId
DM_PartID
DM_PartIdLocked
DM_PartType
DM_PhysicalDesignator
DM_PinCount
DM_Pins
DM_ReferenceLocationX
DM_ReferenceLocationY
DM_Rotation
DM_SourceDesignator
DM_SourceHierarchicalPath
DM_SourceLibraryName
DM_SourceUniqueId
DM_SubProject
DM_UniqueId
DM_UniqueIdName
DM_UniqueIdPath
IPart properties

Methods

DM_AddConfigurationParameters method

(IPart interface)
Syntax
Procedure DM_AddConfigurationParameters;
Description
The procedure adds configuration parameters to this part object.
Example
See also
IPart interface

DM_AssignedDesignator method

(IPart interface)
Syntax
Function DM_AssignedDesignator : WideString;
Description
The function denotes the assigned designator for this part which is equivalent to the DM_CalculatedDesignator method.  The DM_AssignedDesignator method returns a string that contains the designator and multi channel information but does not include multi part id information.

This function returns the calculated designator string which contains the hierarchical path and the logical designator strings. Only when a project is compiled and up to date, designators of parts are calculated based on the compiled documents they are on.
Example
See also
IPart interface
DM_CalculatedDesignator method

DM_CalculatedDesignator method

(IPart interface)
Syntax
Function DM_CalculatedDesignator : WideString;
Description
The function denotes the system compiled designator for this part. The assigned designator for this part is equivalent to the DM_CalculatedDesignator method. A DM_CalculatedDesignator method returns a string that contains the designator and multi channel information but does not include multi part information.

This function returns the calculated designator string which contains the hierarchical path and the logical designator strings. Only when a project is compiled and up to date, designators of parts are calculated based on the compiled documents they are on.
Example
See also
IPart interface

DM_CenterLocationX method

(IPart interface)
Syntax
Function DM_CenterLocationX : Integer;
Description
The function returns the central location X of the designator associated with this component.
Example
See also
IPart interface

DM_CenterLocationY method

(IPart interface)
Syntax
Function DM_CenterLocationY : Integer;
Description
The function returns the central location Y of the designator associated with this component.
Example
See also
IPart interface

DM_ChannelOffset method

(IPart interface)
Syntax
Function DM_ChannelOffset : Integer;
Description
The offset represents which part is offset in relation to the reference channel and the associated channels are also affected. The function returns the ChannelOffset value.
Example
See also
IPart interface

DM_ChildProjectSheet method

(IPart interface)
Syntax
Function DM_ChildProjectSheet : IDocument;
Description
The function denotes the IDocument interface representing the child project sheet associated with this part.
Example
See also
IPart interface

DM_ChildVHDLEntity method

(IPart interface)
Syntax
Function DM_ChildVHDLEntity : WideString;
Description
The function returns the Child VHDL entity string representing the VHDL document that the part (component) is linked to.
Example
See also
IPart interface

DM_Comment method

(IPart interface)
Syntax
Function DM_Comment : WideString;
Description
The function denotes the comment string for this part.
Example
See also
IPart interface

DM_ComponentKind method

(IPart interface)
Syntax
Function DM_ComponentKind : TComponentKind;
Description
This function denotes the component kind that this part is represented as in the BOM and maintained during synchronization.
A component kind can be one of the following:

  • eComponentKind_Standard : These components possess standard electrical properties, are always synchronized and are the type most commonly used on a board.
  • eComponentKind_Mechanical: These components do not have electrical properties and will appear in the BOM. They are synchronized if the same components exist on both the Schematic and PCB documents. An example is a heatsink.
  • eComponentKind_Graphical: These components are not used during synchronization or checked for electrical errors. These components are used, for example, when adding company logos to documents.
  • eComponentKind_NetTie_BOM: These components short two or more different nets for routing and these components will appear.
  • eComponentKind_NetTie_NoBOM: These components short two or more different nets for routing and these components will NOT appear in the BOM and are maintained during synchronization.

Example
See also
IPart interface
TComponentKind type

DM_CurrentImplementation method

(IPart interface)
Syntax
Function DM_CurrentImplementation (AType : WideSTring) : IComponentImplementation;
Description
The function returns the current implementation which is usually a PCB footprint.
Example
See also
IPart interface
IComponentImplementation interface

DM_Description method

(IPart interface)
Syntax
Function DM_Description : WideString;
Description
The function denotes the description of the reference link to a source component or as a device name.
Example
See also
IPart interface

DM_DesignatorLocationX method

(IPart interface)
Syntax
Function DM_DesignatorLocationX : Integer;
Description
The function returns the location X of the designator associated with this component.
Example
See also
IPart interface

DM_DesignatorLocationY method

(IPart interface)
Syntax
Function DM_DesignatorLocationY : Integer;
Description
The function returns the location Y of the designator associated with this component.
Example
See also
IPart interface

DM_DesignatorLocked method

(IPart interface)
Syntax
Function DM_DesignatorLocked : Boolean;
Description
The function denotes whether or not the designator string is locked (unmoveable).
Example
See also
IPart interface

DM_DisplayMode method

(IPart interface)
Syntax
Function DM_DisplayMode : TDisplayMode;
Description
The function Denotes one of the 255 display modes. The mode 0 is the normal graphical display for this part object. The other 254 modes are alternative graphical displays of this same part object.
Example
See also
IPart interface

DM_FirstPinLocationX method

(IPart interface)
Syntax
Function DM_FirstPinLocationX : Integer;
Description
The function denotes the reference X location of the first pin of a part object.
Example
See also
IPart interface

DM_FirstPinLocationY method

(IPart interface)
Syntax
Function DM_FirstPinLocationY : Integer;
Description
The function denotes the reference Y location of the first pin of a part object.
Example
See also
IPart interface

DM_Footprint method

(IPart interface)
Syntax
Function DM_Footprint : WideString;
Description
The function denotes the footprint string that this part is associated with.
Example
See also
IPart interface

DM_FullLogicalDesignator method

(IPart interface)
Syntax
Function DM_FullLogicalDesignator : WideString;
Description
The function denotes the full logical designator which includes the part designator and part id information.
Example
See also
IPart interface

DM_FullPhysicalDesignator method

(IPart interface)
Syntax
Function DM_FullPhysicalDesignator : WideString;
Description
The function denotes the full physical designator of a part which includes the calculated designator and the part id information on compiled schematic sheets.
Example
See also
IPart interface

DM_Height method

(IPart interface)
Syntax
Function DM_Height : Integer;
Description
The function denotes the height property of the part object. A part object is “part” of a multi-part component.
Example
See also
IPart interface

DM_ImplementationCount method

(IPart interface)
Syntax
Function DM_ImplementationCount : Integer;
Description
The function returns the number of implementations of this schematic component.
Example
See also
IPart interface

DM_Implementations method

(IPart interface)
Syntax
Function DM_Implementations (Index : Integer) : IComponentImplementation;
Description
The function returns the particular IComponentImplementation for the specified indexed implementations of a Schematic component.
Example
See also
IPart interface

DM_InstanceCount method

(IPart interface)
Syntax
Function DM_InstanceCount : Integer;
Description
The function returns the number of instances of this part.
Example
See also
IPart interface

DM_Layer method

(IPart interface)
Syntax
Function DM_Layer : WideString;
Description
The function denotes which layer this part is on.
Example
See also
IPart interface

DM_LibraryReference method

(IPart interface)
Syntax
Function DM_LibraryReference : WideString;
Description
The function denotes the name of the component from the library
Example
See also
IPart interface

DM_LogicalDesignator method

(IPart interface)
Syntax
Function DM_LogicalDesignator : WideString;
Description
The function denotes the logical designator of this part on a schematic sheet.
Example
See also
IPart interface

DM_LogicalOwnerDocument method

(IPart interface)
Syntax
Function DM_LogicalOwnerDocument : IDocument;
Description
The function denotes the IDocument representing the logical owner document that this part is associated to a schematic component.
Example
See also
IPart interface

DM_MaxPartCount method

(IPart interface)
Syntax
Function DM_MaxPartCount : Integer;
Description
The function returns the maximum part count for this part object.
Example
See also
IPart interface

DM_NewDesignator method

(IPart interface)
Syntax
Function DM_NewDesignator : WideString;
Description
The function denotes the new designator for this part.
Example
See also
IPart interface

DM_NewPartId method

(IPart interface)
Syntax
Function DM_NewPartId : Integer;
Description
The function denotes the new part id for this part.
Example
See also
IPart interface

DM_PartID method

(IPart interface)
Syntax
Function DM_PartID : Integer;
Description
The function denotes the PartID for this part. A multi-part component references each part by its PartID, for example a four part component has four unique PartIDs.
Example
See also
IPart interface

DM_PartIdLocked method

(IPart interface)
Syntax
Function DM_PartIdLocked : Boolean;
Description
The function denotes whether or not the part id string is locked (unmoveable).
Example
See also
IPart interface

DM_PartType method

(IPart interface)
Syntax
Function DM_PartType : WideString;
Description
The function denotes the part type for this part. (Footprint type).
Example
See also
IPart interface

DM_PhysicalDesignator method

(IPart interface)
Syntax
Function DM_PhysicalDesignator : WideString;
Description
The function denotes the physical designator string of a part. Note, a logical designator doesn't include the channel instance string.
Example
See also
IPart interface

DM_PinCount method

(IPart interface)
Syntax
Function DM_PinCount : Integer;
Description
The function returns the number of pins for this schematic component.
Example
See also
IPart interface

DM_Pins method

(IPart interface)
Syntax
Function DM_Pins (Index : Integer) : INetItem;
Description
The function returns the INetItem interface for the specified indexed Pin of a Schematic Component.
Example
See also
IPart interface

DM_ReferenceLocationX method

(IPart interface)
Syntax
Function DM_ReferenceLocationX : Integer;
Description
The function returns the reference location X of the designator associated with this component.
Example
See also
IPart interface

DM_ReferenceLocationY method

(IPart interface)
Syntax
Function DM_ReferenceLocationY : Integer;
Description
The function returns the reference location Y of the designator associated with this component.
Example
See also
IPart interface

DM_Rotation method

(IPart interface)
Syntax
Function DM_Rotation : Double;
Description
The function denotes the rotation property of a part (orientation) in degrees.
Example
See also
IPart interface

DM_SourceDesignator method

(IPart interface)
Syntax
Function DM_SourceDesignator : WideString;
Description
The function denotes the current designator of the source component from the corresponding schematic.
Example
See also
IPart interface

DM_SourceHierarchicalPath method

(IPart interface)
Syntax
Function DM_SourceHierarchicalPath : WideString;
Description
The function denotes the source reference path to the PCB component. The path can be multi level depending on whether it is a multi channel or a bormal design. When a schematic is transferred to a blank PCB using the Update command, the source reference links for each PCB footprint is populated with source library path names.
Example
See also
IPart interface

DM_SourceLibraryName method

(IPart interface)
Syntax
Function DM_SourceLibraryName : WideString;
Description
The function denotes the name of the source library where the schematic component and its associated part come from.
Example
See also
IPart interface

DM_SourceUniqueId method

(IPart interface)
Syntax
Function DM_SourceUniqueId : WideString;
Description
Unique IDs (UIDs) are used to match each schematic component to the corresponding PCB component. When a schematic is transferred to a blank PCB using the Update command, the source reference links for each PCB footprint is populated with source library pathnames. The UID is a system generated value that uniquely identifies the source component.
The function returns the UniqueID for this part.
Example
See also
IPart interface

DM_SubProject method

(IPart interface)
Syntax
Function DM_SubProject : WideString;
Description
The function returns the sub project string of this part. A part can represent a schematic sheet, like a sheet symbol.
Example
See also
IPart interface

DM_UniqueId method

(IPart interface)
Syntax
Function DM_UniqueId : WideString;
Description
The function denotes the Unique ID for this part. Unique IDs are used in Schematic – PCB documents synchronization so that Sch components and its corresponding PCB components are in sync.
Example
See also
IPart interface

DM_UniqueIdName method

(IPart interface)
Syntax
Function DM_UniqueIdName : WideString;
Description
The function denotes the Unique ID name of this part.
Example
See also
IPart interface

DM_UniqueIdPath method

(IPart interface)
Syntax
Function DM_UniqueIdPath : WideString;
Description
The function denotes the Unique ID path of this part (includes the back slash).
Example
See also
IPart interface

IPin interface

Overview
The IPin interface is a pin object interface to an existing pin object on the schematic. Pins are special objects that have electrical characteristics and are used to direct signals in and out of components. Pins connect directly to other pins, wires, net labels, sheet entries or ports.
Notes
The IPin interface is inherited from the INetItem interface.
The pins are part of a schematic component, thus if you wish to have access to the pins, invoke the DM_Pins and DM_PinCount method call from the part object interface.
An equivalent Pin object representation is the ISch_Pin interface in Schematic API Reference
Example

For J := 0 to Doc.DM_ComponentCount - 1 Do
Begin
    Comp := Doc.DM_Components(J);
    //Comp.DM_Footprint;
    //Comp.DM_Comment;
    For K := 0 to Comp.DM_PinCount - 1 Do
    Begin
        Pin := Comp.DM_Pins(K);
        PinName := Pin.DM_PinNumber;
        // Check for parts of a multi-part component that are not used in the project
        // then add 'No Net' for unused pins...
        If Pin.DM_FlattenedNetName = '?' Then 
           // these pins of the part is not used on the schematic.
    End;
End;

See also
INetItem interface

IPort interface

Overview
The IPort interface is a port object interface to an existing port object on the schematic. A port is used to connect a net on one sheet to Ports with the same name on other sheets.  Ports can also connect from child sheets to Sheet entries, in the appropriate sheet symbol on the parent sheet.
Notes
The IPort interface is inherited from the INetItem interface.
An equivalent Port object representation is the ISch_Port class in Schematic API Reference.
Example

Var
    DM_Port        : IPort;
    I              : Integer;
    S              : TDynamicString;
    ServerDocument : IServerDocument;
Begin
    If ADM_Document = Nil Then Exit;
    If Not ADM_Document.DM_ValidForNavigation Then Exit;
 
    S := ADM_Document.DM_FullPath;
    ServerDocument := Client.GetDocumentByPath(PChar(S));
    If ServerDocument = Nil Then Exit;
 
    If Not StringsEqual(TDynamicString(ServerDocument.Kind), 'Sch') Then Exit;
 
    For i := 0 To ADM_Document.DM_PortCount - 1 Do
    Begin
        DM_Port := ADM_Document.DM_Ports(i);
        If DM_Port <> Nil Then
          If DM_Port.DM_ValidForNavigation Then
        Begin
           // port is available for manipulation here. 
        End;
    End;
End;

See also
INetItem interface

IPowerObject interface

Overview
The IPowerObject interface is a power object interface to an existing power object on the schematic. Power ports are special symbols that represent a power supply and are always identified by their net names.
Notes
The IPowerObject interface is inherited from the INetItem interface.
An equivalent PowerObject object representation is the ISch_PowerObject class in Sch API Reference.
See also
INetItem interface.

IRoom interface

Overview
The IRoom interface is a PCB room object. A room is controlled by the room design rule. This room serves as a boundary constraint for a group of specified components as a component or channel class.
Interface Methods

Method Description
Function    DM_LX : Integer; Returns the lower X coordinate of the room object.
Function    DM_LY : Integer; Returns the lower Y coordinate of the room object.
Function    DM_HX : Integer; Returns the higher X coordinate of the room object.
Function    DM_HY : Integer; Returns the higher Y coordinate of the room object.
Function    DM_RoomName : WideString; Returns the name of this room object.
Function    DM_Scope1Expression : WideString; Returns the scope 1 expression which describes the scope of this room object.
Function    DM_Layer : Integer;   Returns the PCB layer where the room resides on.

IRoom Interface

Overview
The IRoom interface is a PCB room object. A room is controlled by the room design rule. This room serves as a boundary constraint for a group of specified components as a component or channel class.

IRoom methods
DM_LX
DM_LY
DM_HX
DM_HY
DM_RoomName
DM_Scope1Expression
DM_Layer
IRoom properties

Methods

DM_HX method

(IRoom interface)
Syntax
Function DM_HX : Integer;
Description
Returns the higher X coordinate of the room object.
Example
See also
IRoom interface

DM_HY method

(IRoom interface)
Syntax
Function DM_HY : Integer;
Description
Returns the higher Y coordinate of the room object.
Example
See also
IRoom interface

DM_Layer method

(IRoom interface)
Syntax
Function DM_Layer : Integer;
Description
Returns the PCB Layer value of the room object that it is on.
Example
See also
IRoom interface

DM_LX method

(IRoom interface)
Syntax
Function DM_LX : Integer;
Description
Returns the lower X coordinate of the room object.
Example
See also
IRoom interface

DM_LY method

(IRoom interface)
Syntax
Function DM_LY : Integer;
Description
Returns the lower Y coordinate of the room object.
Example
See also
IRoom interface

DM_RoomName method

(IRoom interface)
Syntax
Function DM_RoomName : WideString;
Description
The function returns the room name.
Example
See also
IRoom interface

DM_Scope1Expression method

(IRoom interface)
Syntax
Function DM_Scope1Expression : WideString;
Description
The function returns the scope 1 expression which describes the scope of this room object.
Example
See also
IRoom interface

IRule Interface

Overview
The IRule interface represents the one of the rules attached to a parameter within the PCB Layout directive (as a Parameter Set object with a small flag symbol) on a net aware object on a schematic object. A parameter set object can be placed on the schematic sheet by the Place » Directives » PCB Layout menu item.

This PCB Layout directive allows you to assign PCB layout information to a net in the schematic. When a PCB is created from the schematic, the information in the PCB layout directive is used to create relevant PCB design rules.

IRule methods
DM_RuleKind
DM_Scope1Expression
DM_Scope2Expression
DM_MaxWidth
DM_MinWidth
DM_PreferedWidth
DM_ViaHole
DM_ViaWidth
DM_MinViaHole
DM_MaxViaHole
DM_MinViaWidth
DM_MaxViaWidth
DM_ViaStyle
DM_Topology
DM_Priority
DM_RoutingLayers
DM_Attributes
DM_Description
DM_RuleName
DM_UniqueId
IRule properties

Methods

DM_Attributes method

(IRule interface)
Syntax
Function DM_Attributes : WideString;
Description
The function denotes the attributes of the IRule interface.
Example
See also
IRule interface

DM_Description method

(IRule interface)
Syntax
Function DM_Description : WideString;
Description
The function denotes the description of this IRule interface.
Example
See also
IRule interface

DM_MaxViaHole method

(IRule interface)
Syntax
Function DM_MaxViaHole : Integer;
Description
The function denotes the max Via Hole rule property of a Routing Via style PCB Rule.
Example
See also
IRule interface

DM_MaxViaWidth method

(IRule interface)
Syntax
Function DM_MaxViaWidth : Integer;
Description
The function denotes the max Via width rule property of a Routing Via style PCB Rule.
Example
See also
IRule interface

DM_MaxWidth method

(IRule interface)
Syntax
Function DM_MaxWidth : Integer;
Description
The function denotes the Maximum Width rule property of a PCB rule.
Example
See also
IRule interface

DM_MinViaHole method

(IRule interface)
Syntax
Function DM_MinViaHole : Integer;
Description
The function denotes the min Via Hole rule property of a Routing Via style PCB Rule.
Example
See also
IRule interface

DM_MinViaWidth method

(IRule interface)
Syntax
Function DM_MinViaWidth : Integer;
Description
The function denotes the min Via width rule property of a Routing Via style PCB Rule.
Example
See also
IRule interface

DM_MinWidth method

(IRule interface)
Syntax
Function DM_MinWidth : Integer;
Description
The function denotes the Minimum Width rule property of a PCB Rule.
Example
See also
IRule interface

DM_PreferedWidth method

(IRule interface)
Syntax
Function DM_PreferedWidth : Integer;
Description
The function denotes the preferred Width rule property of a PCB Rule.
Example
See also
IRule interface

DM_Priority method

(IRule interface)
Syntax
Function DM_Priority : Integer;
Description
The function denotes the priority of the PCB Design Rule. The priority value of 1 denotes the highest priority.
Example
See also
IRule interface

DM_RoutingLayers method

(IRule interface)
Syntax
Function DM_RoutingLayers (IndexLayer : Integer) : Integer;
Description
The function denotes the indexed routing layer rule property (Top layer, Mid1-Mid30, Bottom Layer) of a Routing Layers PCB rule.
Example
See also
IRule interface

DM_RuleKind method

(IRule interface)
Syntax
Function DM_RuleKind : Integer;
Description
The function denotes the type of PCB Rule.
Example
See also
IRule interface

DM_RuleName method

(IRule interface)
Syntax
Function DM_RuleName : WideString;
Description
The function denotes the name of this IRule interface representing a PCB rule.
Example
See also
IRule interface

DM_Scope1Expression method

(IRule interface)
Syntax
Function DM_Scope1Expression : WideString;
Description
The function denotes the first scope expression string. The scope of Design rules are determined by the defined boundary or objects.
Example
See also
IRule interface

DM_Scope2Expression method

(IRule interface)
Syntax
Function DM_Scope2Expression : WideString;
Description
The function denotes the second scope expression string. The scope of Design rules are determined by the defined boundary or objects.
Example
See also
IRule interface

DM_Topology method

(IRule interface)
Syntax
Function DM_Topology : Integer;
Description
The function Denotes the topology (Shortest, Horizontal, Vertical, Daisy-Simple, Daisy-MidDriven, Daisy-Balanced and Daisy-StarBurst) rule property of a Routing Topology PCB Rule.
Example
See also
IRule interface

DM_UniqueId method

(IRule interface)
Syntax
Function DM_UniqueId : WideString;
Description
Each rule has a Unique ID assigned so that when Schematic and PCB documents are synchronized, the ECO knows which rules to update or apply to/from.
Example
See also
IRule interface

DM_ViaHole method

(IRule interface)
Syntax
Function DM_ViaHole : Integer;
Description
Denotes the Via Hole rule property of a Routing Via style PCB Rule.
Example
See also
IRule interface

DM_ViaStyle method

(IRule interface)
Syntax
Function DM_ViaStyle : Integer;
Description
This function denotes the via style rule property of a Routing Via style PCB Rule.
Example
See also
IRule interface

DM_ViaWidth method

(IRule interface)
Syntax
Function DM_ViaWidth : Integer;
Description
The function denotes the Via width rule property of a Routing Via style PCB Rule.
Example
See also
IRule interface

ISheetSymbol Interface

Overview
The ISheetSymbol interface is a sheet symbol interface to an existing sheet symbol object on the schematic. Sheet symbols represent other schematic sheets (often referred to as a child sheet). The link between a sheet symbol and other schematic sheets is the FileName attribute, which must be the same as the name of the child sheet.

An equivalent Sheet Symbol object representation is the ISch_SheetSymbol class in Sch API Reference.

ISheetSymbol methods
DM_SheetEntries
DM_SheetEntryCount
DM_ChildSheet
DM_ChildSheetCount
DM_SheetSymbolFileName
DM_LogicalDesignator
DM_CalculatedDesignator
DM_PhysicalDesignator
DM_UniqueId
ISheetSymbol properties

Methods

DM_CalculatedDesignator method

(ISheetSymbol interface)
Syntax
Function DM_CalculatedDesignator : WideString;
Description
This function returns the calculated designator string which contains the hierarchical path and the logical designator strings. Only when a project is compiled and up to date, designators of sheet symbols are calculated based on the physical documents they are on.
Example
See also
ISheetSymbol interface

DM_ChildSheet method

(ISheetSymbol interface)
Syntax
Function DM_ChildSheet (Index : Integer) : IDocument;
Description
Returns the indexed child sheet associated with this sheet symbol object. Use in conjunction with the DM_ChildSheetCount method.
Example
See also
ISheetSymbol interface

DM_ChildSheetCount method

(ISheetSymbol interface)
Syntax
Function DM_ChildSheetCount : Integer;
Description
Returns the number of child sheets associated with this sheet symbol object.
Example
See also
ISheetSymbol interface

DM_LogicalDesignator method

(ISheetSymbol interface)
Syntax
Function DM_LogicalDesignator : WideString;
Description
Returns the logical designator of this sheet symbol. A logical designator is not unique, since logical designators are used in multi channel designs.
Example
See also
ISheetSymbol interface

DM_PhysicalDesignator method

(ISheetSymbol interface)
Syntax
Function DM_PhysicalDesignator : WideString;
Description
Returns the designator of this sheet symbol. Every physical designator is unique.
Example
See also
ISheetSymbol interface

DM_SheetEntries method

(ISheetSymbol interface)
Syntax
Function DM_SheetEntries (Index : Integer) : INetItem;
Description
Returns the number of sheet entries that are associated with this sheet symbol. Since a sheet entry is of a INetItem type, thus a INetItem interface is returned.
Example
See also
ISheetSymbol interface

DM_SheetEntryCount method

(ISheetSymbol interface)
Syntax
Function DM_SheetEntryCount : Integer;
Description
Returns the number of sheet entries associated with this sheet symbol object.
Example
See also
ISheetSymbol interface

DM_SheetSymbolFileName method

(ISheetSymbol interface)
Syntax
Function DM_SheetSymbolFileName : WideString;
Description
Returns the filename which is a link between this sheet symbol object and the other schematic sheet.
Example
See also
ISheetSymbol interface

DM_UniqueId method

(ISheetSymbol interface)
Syntax
Function DM_UniqueId : WideString;
Description
Returns the unique ID of this sheet symbol object.
Example
See also
ISheetSymbol interface

ISheetEntry interface

Overview
The ISheetEntry interface is a sheet entry object interface to an existing sheet entry object on the schematic. A sheet entry creates a connection between the net touching on the parent sheet, to a Port with the same name on the child sheet.
Notes
The ISheetEntry interface is inherited from the INetItem interface.
An equivalent SheetEntry object representation is the ISch_SheetEntry class in Sch API Reference.
See also
INetItem interface.

ITextFrame Interface

Overview
The ITextFrame interface is a text frame object for an existing text frame on a schematic document. It is a container holding lines of text like a memo.

An equivalent TextFrame object representation is the ISch_TextFrame interface in the Schematic API reference.

ITextFrame methods
DM_Text
ITextFrame properties

Methods

DM_Text method

(ITextFrame interface)
Syntax
Function DM_Text : WideString;
Description
This function returns the text string from this current TextFrame object.
Example
See also
ITextFrame interface

IViolation Interface

Overview
The IViolation interface represents a violation object on a design document in the Workspace Manager of Altium Designer.

IViolation methods
DM_ErrorKind
DM_ErrorLevel
DM_CompilationStage
DM_AddRelatedObject
DM_RelatedObjectCount
DM_RelatedObjects
DM_DescriptorString
DM_DetailString
IViolation properties

Methods

DM_AddRelatedObject method

(IViolation interface)
Syntax
Procedure DM_AddRelatedObject (AnObject : IDMObject);
Description
This procedure adds the object that is part of the violation.
Example
See also
IViolation interface

DM_CompilationStage method

(IViolation interface)
Syntax
Function DM_CompilationStage : TCompilationStage;
Description
This function returns the status of the complation stage: during compilation or during flattening process.
Example
See also
IViolation interface

DM_DescriptorString method

(IViolation interface)
Syntax
Function DM_DescriptorString : WideString;
Description
This function returns the description string for this violation interface.
Example
See also
IViolation interface

DM_DetailString method

(IViolation interface)
Syntax
Function DM_DetailString : WideString;
Description
This function returns the detailed description stirng of this violation interface.
Example
See also
IViolation interface

DM_ErrorKind method

(IViolation interface)
Syntax
Function DM_ErrorKind : TErrorKind;
Description
Returns the kind of error this violation has been assigned to.
Example
See also
IViolation interface

DM_ErrorLevel method

(IViolation interface)
Syntax
Function DM_ErrorLevel : TErrorLevel;
Description
Returns the level of error this violation has been assigned to. Various error levels include : eErrorLevelNoReport,eErrorLevelWarning,eErrorLevelError,eErrorLevelFatal
Example
See also
IViolation interface
TErrorLevel type

DM_RelatedObjectCount method

(IViolation interface)
Syntax
Function DM_RelatedObjectCount : Integer;
Description
This function returns the number of related objects of the violation.
Example
See also
IViolation interface

DM_RelatedObjects method

(IViolation interface)
Syntax
Function DM_RelatedObjects (Index : Integer) : IDMObject;
Description
This function returns the indexed related object of the violation.
Example
See also
IViolation interface

IWrapper Interface

Overview
The IWrapper interface hierarchy is as follows;

IWrapper methods
DM_GroupedSchObjects_Count
DM_GroupedSchObject
IWrapper properties

Methods

DM_GroupedSchObject method

(IWrapper interface)
Syntax
Function DM_GroupedSchObject(i : Integer) : IWrapper;End;
Description
Example
See also
IWrapper interface

DM_GroupedSchObjects_Count method

(IWrapper interface)
Syntax
Function DM_GroupedSchObjects_Count : Integer;
Description
Example
See also
IWrapper interface

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.