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
| Method | Returns | Description |
|---|---|---|
| DM_DatafileCount | int | The method returns the number of data files for the model. |
| DM_DatafileEntity | string | The method returns the indexed data file entity (the name of the implementation model). |
| DM_DatafileFullPath | string | Returns the full path to the data file, if the entity name and the file kind are valid. |
| DM_DatafileKind | string | The method returns the indexed data file kind (the model kind eg PCB etc)Used in conjunction with the DM_DataFileCount method. |
| DM_DatafileLibIdentifierKind | TLibIdentifierKind | |
| DM_DatafileLibraryIdentifier | string | |
| DM_DatafileLocation | string | The method returns the indexed data file location. |
| DM_DatalinksLocked | bool | The method denotes a boolean value whether datalinks are locked or not. |
| DM_Description | string | The method returns the description string of the implementation model. |
| DM_IntegratedModel | bool | This method denotes a boolean value whether this is a model from an integrated library or not. |
| DM_IsCurrent | bool | The method denotes a boolean value whether this model implementation is current or not. |
| DM_ModelName | string | The method returns the model name of the implementation model. |
| DM_ModelType | string | The method returns the model type as a string; |
| DM_Part | IPart | The method denotes the mapping of pins of a component and its corresponding model. |
| DM_PortMap | string | The method denotes the mapping of pins of a component and its corresponding model. |
| DM_PortMapList | string | The method returns the mapping of pins of a component and its corresponding model. |
| DM_SetDatafileCount | void | The method sets the number of data files associated with the IPart/IComponent interface. |
| DM_SetDatafileEntity | void | The method sets the data file entity which denotes the name of the implementation model linked to a schematic component/part. |
| DM_SetDatafileKind | void | The method sets the data file kind which denotes the type of implementation model. |
| DM_SetDatafileLocation | void | The method sets the data file location which denotes the full path of the implementation model associated with the IPart/IComponent interface. |
| DM_SetUseComponentLibrary | void | |
| DM_UseComponentLibrary | bool |
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);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
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);
| Parameter | Type | Passing | Description |
|---|---|---|---|
argIndex | int | value | |
argEntityName | string | value | The entity name; must be valid. |
argFileKind | string | value | The file kind; must be valid. |
argFoundIn | string | ref | Returns 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);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
Returns: string
Examples: Extension_PartComment
DM_DatafileLibIdentifierKind
No description yet.
TLibIdentifierKind DM_DatafileLibIdentifierKind(int argIndex);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
Returns: TLibIdentifierKind
Extension method of IComponentImplementationHelper (using EDP;).
DM_DatafileLibraryIdentifier
No description yet.
string DM_DatafileLibraryIdentifier(int argIndex);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
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);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
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);
| Parameter | Type | Passing |
|---|---|---|
argCount | int | value |
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);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
argEntity | string | value |
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);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
argKind | string | value |
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);
| Parameter | Type | Passing |
|---|---|---|
argIndex | int | value |
argLocation | string | value |
Returns: nothing (void)
DM_SetUseComponentLibrary
No description yet.
void DM_SetUseComponentLibrary(bool argValue);
| Parameter | Type | Passing |
|---|---|---|
argValue | bool | value |
Returns: nothing (void)
DM_UseComponentLibrary
No description yet.
bool DM_UseComponentLibrary();
Returns: bool
Inherited members
- From IDMObject: DM_CalculateParameterValue, DM_CurrentSheetInstanceNumber, DM_FullCrossProbeString, DM_GeneralField, DM_GetVCSProject, DM_ImageIndex, DM_IsFormulaString, DM_IsInferredObject, DM_LocationString, DM_LocationX, DM_LocationY, DM_LongDescriptorString, DM_NetIndex_Flat, DM_NetIndex_Sheet, DM_NetIndex_SubNet, DM_ObjectKindString, DM_ObjectKindStringForCrossProbe, DM_OwnerDocument, DM_OwnerDocumentFullPath, DM_OwnerDocumentName, DM_ParameterCount, DM_Parameters, DM_PcbHandle, DM_PCBObjectHandle, DM_PCBObjectInterface, DM_PrimaryCrossProbeString, DM_SchHandle, DM_SCHObjectHandle, DM_SCHObjectInterface, DM_SecondaryCrossProbeString, DM_SetVCSProject, DM_SheetIndex_Logical, DM_SheetIndex_Physical, DM_ShortDescriptorString, DM_ValidForNavigation, DM_VHDLEntity
Returned by
IPart.DM_CurrentImplementation, IPart.DM_Implementations
Accepted by
IModelEditor.CreateServerModel, IModelEditor.PrepareModel
Examples
Used in the SDK examples: Extension_PartComment.