Skip to main content
View as Markdown

ISch_Implementation interface

Each schematic component can have models from one or more domains. A schematic component can also have multiple models per domain, one of which will be the current model for that domain.

public interface ISch_Implementation : ISch_BasicContainer

Namespace: SCH · Assembly: Altium.SDK.Interfaces

Inherits: ISch_BasicContainer

Remarks​

A model represents all the information needed for a component in a given domain, while a datafile entity (or link) is the only information which is in an external file.

The models of a component are represented by the ISch_Implementation interface.

The mapping of pins of a component and the nodes/pads of a model are represented by the ISch_MapDefiner interfaces.

The link between a model and its external data file links are represented by the ISch_DataFileLink interfaces.

A diagram of the relationship between a component and its models

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 the main editor servers supported in Altium Designer.

For the PCB footprints, the model and the data file are both the same.

With the simulation models, you can have a simulation model which is a 4ohm resistor for example, there is a simulation model here, but there is no information is coming from an external file, therefore, a no external file is needed for this as the resistor model is built from spice. This is the case where you have a model with no data file entity. Thus the parameters are used for these types of simulation models that don't have data file links.

With signal integrity models, it can have information required for each pin. If we used IBIS datafiles, not the Altium Designer's central database, then each signal integrity model would then have multiple data files, each one for each type of pin.

A model can also be called an implementation. Each implementation linked to a component can have parameters and data file links.

Properties​

PropertyTypeAccessDescription
DatabaseDatalinksLockedboolget; set
DatabaseModelboolget; set
DatafileLinkCountintgetThis property fetches the number of data file links for the current implementation of the schematic component.
DatalinksLockedboolget; set
Descriptionstringget; setThe Description property fetches or sets the Description string for the model.
IntegratedModelboolget; setThe property determines whether the implementation is an integrated model type or not.
IsCurrentboolget; set
MapAsStringstringget; setThis MapAsString property returns or sets the map of the component pins to a model pins (simulation ports for example) as a string of the following format: (SchematicPinNumber:ModelPinNumber) for exa…
ModelItemGUIDstringget; set
ModelNamestringget; set
ModelRevisionGUIDstringget; set
ModelTypestringget; set
ModelVaultGUIDstringget; set
SchDatafileLinkISch_ModelDatafileLinkgetThe DatafileLink property determines the indexed datafilelink of the model type linked to the component.
SchDefinerByInterfaceDesignatorISch_MapDefinerget
UseComponentLibraryboolget; setThis UseComponentLibrary property determines whether the component is from an integrated library or not (either as an installed library or part of the Project Libraries.

DatabaseDatalinksLocked​

No description yet.

bool GetState_DatabaseDatalinksLocked();
void SetState_DatabaseDatalinksLocked(bool argValue);

Type: bool · Access: read/write

DatabaseModel​

No description yet.

bool GetState_DatabaseModel();
void SetState_DatabaseModel(bool argValue);

Type: bool · Access: read/write

See also: ISch_Implementation.IntegratedModel

DatafileLinkCount​

This property fetches the number of data file links for the current implementation of the schematic component.

int GetState_DatafileLinkCount();

Type: int · Access: read-only

DatalinksLocked​

No description yet.

bool GetState_DatalinksLocked();
void SetState_DatalinksLocked(bool argValue);

Type: bool · Access: read/write

Description​

The Description property fetches or sets the Description string for the model. This is optional and is for reference purposes and do not have any impact on simulation processes.

string GetState_Description();
void SetState_Description(string argValue);

Type: string · Access: read/write

IntegratedModel​

The property determines whether the implementation is an integrated model type or not.

bool GetState_IntegratedModel();
void SetState_IntegratedModel(bool argValue);

Type: bool · Access: read/write

See also: ISch_Implementation.DatabaseModel

IsCurrent​

No description yet.

bool GetState_IsCurrent();
void SetState_IsCurrent(bool argValue);

Type: bool · Access: read/write

MapAsString​

This MapAsString property returns or sets the map of the component pins to a model pins (simulation ports for example) as a string of the following format: (SchematicPinNumber:ModelPinNumber) for example (1:1),(2:2), ... ,(X:X)

string GetState_MapAsString();
void SetState_MapAsString(string argValue);

Type: string · Access: read/write

ModelItemGUID​

No description yet.

string GetState_ModelItemGUID();
void SetState_ModelItemGUID(string argValue);

Type: string · Access: read/write

ModelName​

No description yet.

string GetState_ModelName();
void SetState_ModelName(string argValue);

Type: string · Access: read/write

ModelRevisionGUID​

No description yet.

string GetState_ModelRevisionGUID();
void SetState_ModelRevisionGUID(string argValue);

Type: string · Access: read/write

ModelType​

No description yet.

string GetState_ModelType();
void SetState_ModelType(string argValue);

Type: string · Access: read/write

ModelVaultGUID​

No description yet.

string GetState_ModelVaultGUID();
void SetState_ModelVaultGUID(string argValue);

Type: string · Access: read/write

The DatafileLink property determines the indexed datafilelink of the model type linked to the component. A component can have multiple linked models and each model can have multiple external data file links.

ISch_ModelDatafileLink GetState_SchDatafileLink(int argI);

Type: ISch_ModelDatafileLink · Access: read-only · Index: argI (int)

The accessors are extension methods of ISch_ImplementationHelper (using SCH;).

SchDefinerByInterfaceDesignator​

No description yet.

ISch_MapDefiner GetState_SchDefinerByInterfaceDesignator(string argS);

Type: ISch_MapDefiner · Access: read-only · Index: argS (string)

The accessors are extension methods of ISch_ImplementationHelper (using SCH;).

UseComponentLibrary​

This UseComponentLibrary property determines whether the component is from an integrated library or not (either as an installed library or part of the Project Libraries. This is accessed from the Available Libraries dialog in Altium Designer). A Boolean value is returned.

bool GetState_UseComponentLibrary();
void SetState_UseComponentLibrary(bool argValue);

Type: bool · Access: read/write

See also: ISch_GraphicalObject, ISch_Rectangle, ISch_Image

Methods​

MethodReturnsDescription
AddDataFileLinkvoid
ClearAllDatafileLinksvoidThis method removes all the data file links of the implementation (model) for the current component.
LockImplementationvoid
Map_Import_FromUserbool

No description yet.

void AddDataFileLink(string argnEntityName, string argLocation, string argFileKind);
ParameterTypePassing
argnEntityNamestringvalue
argLocationstringvalue
argFileKindstringvalue

Returns: nothing (void)

This method removes all the data file links of the implementation (model) for the current component.

void ClearAllDatafileLinks();

Returns: nothing (void)

LockImplementation​

No description yet.

void LockImplementation();

Returns: nothing (void)

Map_Import_FromUser​

No description yet.

bool Map_Import_FromUser(bool arglowOneToMany);
ParameterTypePassing
arglowOneToManyboolvalue

Returns: bool

Inherited members​

Returned by​

ISch_Component.AddSchImplementation

Accepted by​

IIbisModelImplementation.Export_ToImplementation, IIbisModelImplementation.Import_FromImplementation, IModelEditor.DrawModel_FromSchImpl, IModelEditor.EditModel, IModelEditor.SetDefaultModelState, IModelEditor3.EditModel_ReadOnly, IModelEditor4.InitModel, ISch_Component.RemoveSchImplementation, ISimModelMetafilePainter.SetSimImpl

Examples​

Used in the SDK examples: Ciiva.