Skip to main content
View as Markdown

IComponentImplementation interface

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.

public interface IComponentImplementation : IDMObject

Namespace: EDP · Assembly: Altium.SDK.Interfaces

Inherits: IDMObject

Remarks​

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.

Methods​

MethodReturnsDescription
DM_DatafileCountintThe method returns the number of data files for the model.
DM_DatafileEntitystringThe method returns the indexed data file entity (the name of the implementation model).
DM_DatafileFullPathstringReturns the full path to the data file, if the entity name and the file kind are valid.
DM_DatafileKindstringThe method returns the indexed data file kind (the model kind eg PCB etc)Used in conjunction with the DM_DataFileCount method.
DM_DatafileLibIdentifierKindTLibIdentifierKind
DM_DatafileLibraryIdentifierstring
DM_DatafileLocationstringThe method returns the indexed data file location.
DM_DatalinksLockedboolThe method denotes a boolean value whether datalinks are locked or not.
DM_DescriptionstringThe method returns the description string of the implementation model.
DM_IntegratedModelboolThis method denotes a boolean value whether this is a model from an integrated library or not.
DM_IsCurrentboolThe method denotes a boolean value whether this model implementation is current or not.
DM_ModelNamestringThe method returns the model name of the implementation model.
DM_ModelTypestringThe method returns the model type as a string;
DM_PartIPartThe method denotes the mapping of pins of a component and its corresponding model.
DM_PortMapstringThe method denotes the mapping of pins of a component and its corresponding model.
DM_PortMapListstringThe method returns the mapping of pins of a component and its corresponding model.
DM_SetDatafileCountvoidThe method sets the number of data files associated with the IPart/IComponent interface.
DM_SetDatafileEntityvoidThe method sets the data file entity which denotes the name of the implementation model linked to a schematic component/part.
DM_SetDatafileKindvoidThe method sets the data file kind which denotes the type of implementation model.
DM_SetDatafileLocationvoidThe method sets the data file location which denotes the full path of the implementation model associated with the IPart/IComponent interface.
DM_SetUseComponentLibraryvoid
DM_UseComponentLibrarybool

DM_DatafileCount​

The method 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.

int DM_DatafileCount();

Returns: int

Examples: Extension_PartComment

DM_DatafileEntity​

The method returns the indexed data file entity (the name of the implementation model). Used in conjunction with the DM_DataFileCount method.

string DM_DatafileEntity(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: string

Examples: Extension_PartComment

DM_DatafileFullPath​

Returns the full path to the data file, if the entity name and the file kind are valid. Used in conjunction with the DM_DataFileCount method.

string DM_DatafileFullPath(int argIndex, string argEntityName, string argFileKind, ref string argFoundIn);
ParameterTypePassingDescription
argIndexintvalue
argEntityNamestringvalueThe entity name; must be valid.
argFileKindstringvalueThe file kind; must be valid.
argFoundInstringrefReturns the full path to the data file.

Returns: string

DM_DatafileKind​

The method returns the indexed data file kind (the model kind eg PCB etc)Used in conjunction with the DM_DataFileCount method.

string DM_DatafileKind(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: string

Examples: Extension_PartComment

DM_DatafileLibIdentifierKind​

No description yet.

TLibIdentifierKind DM_DatafileLibIdentifierKind(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: TLibIdentifierKind

Extension method of IComponentImplementationHelper (using EDP;).

DM_DatafileLibraryIdentifier​

No description yet.

string DM_DatafileLibraryIdentifier(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: string

DM_DatafileLocation​

The method returns the indexed data file location. Used in conjunction with the DM_DataFileCount method.

string DM_DatafileLocation(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: string

Examples: Extension_PartComment

DM_DatalinksLocked​

The method 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.

bool DM_DatalinksLocked();

Returns: bool

DM_Description​

The method returns the description string of the implementation model.

string DM_Description();

Returns: string

Examples: Extension_PartComment

DM_IntegratedModel​

This method denotes a boolean value whether this is a model from an integrated library or not.

bool DM_IntegratedModel();

Returns: bool

Examples: Extension_PartComment

DM_IsCurrent​

The method denotes a boolean value whether this model implementation is current or not.

bool DM_IsCurrent();

Returns: bool

DM_ModelName​

The method returns the model name of the implementation model.

string DM_ModelName();

Returns: string

Examples: Extension_PartComment

DM_ModelType​

The method returns the model type as a string;

string DM_ModelType();

Returns: string

Examples: Extension_PartComment

DM_Part​

The method denotes the mapping of pins of a component and its corresponding model.

IPart DM_Part();

Returns: IPart

Extension method of IComponentImplementationHelper (using EDP;).

DM_PortMap​

The method denotes the mapping of pins of a component and its corresponding model.

string DM_PortMap();

Returns: string

DM_PortMapList​

The method returns the mapping of pins of a component and its corresponding model.

string DM_PortMapList();

Returns: string

DM_SetDatafileCount​

The method sets the number of data files associated with the IPart/IComponent interface.

void DM_SetDatafileCount(int argCount);
ParameterTypePassing
argCountintvalue

Returns: nothing (void)

DM_SetDatafileEntity​

The method sets the data file entity which denotes the name of the implementation model linked to a schematic component/part.

void DM_SetDatafileEntity(int argIndex, string argEntity);
ParameterTypePassing
argIndexintvalue
argEntitystringvalue

Returns: nothing (void)

DM_SetDatafileKind​

The method sets the data file kind which denotes the type of implementation model. Example, a PCB Footprint is a PCBLIB data file kind.

void DM_SetDatafileKind(int argIndex, string argKind);
ParameterTypePassing
argIndexintvalue
argKindstringvalue

Returns: nothing (void)

DM_SetDatafileLocation​

The method sets the data file location which denotes the full path of the implementation model associated with the IPart/IComponent interface.

void DM_SetDatafileLocation(int argIndex, string argLocation);
ParameterTypePassing
argIndexintvalue
argLocationstringvalue

Returns: nothing (void)

DM_SetUseComponentLibrary​

No description yet.

void DM_SetUseComponentLibrary(bool argValue);
ParameterTypePassing
argValueboolvalue

Returns: nothing (void)

DM_UseComponentLibrary​

No description yet.

bool DM_UseComponentLibrary();

Returns: bool

Inherited members​

Returned by​

IPart.DM_CurrentImplementation, IPart.DM_Implementations

Accepted by​

IModelEditor.CreateServerModel, IModelEditor.PrepareModel

Examples​

Used in the SDK examples: Extension_PartComment.