Technical Reference - Integrated Library API

Old Content - visit altium.com/documentation

Parent page: Altium Designer API Reference

The Integrated Library Application Programming Interface reference covers the Integrated Library API interface objects.

The Altium Designer scripting system implements a subset of the complete Altium Designer API and its Object Interfaces. The Altium DXP Developer, used for developing Altium Designer server Extensions, has access to the full Altium Designer API via a set of API SDK source units.


Integrated Library API Overview

A schematic design is a collection of components which have been connected logically. To test or implement the design it needs to be transferred to another modelling domain, such as simulation, PCB layout, Signal Integrity analysis and so on.

Each domain needs some information about each component, and also some way to map that information to the pins of the schematic component. Some of the domain information resides in model files, the format of which is typically pre-defined, examples of these includes IBIS, MDL and CKT files. Some of the information does not reside in the model files, for example the spice pin mapping and net list data.

There are different types of libraries in Altium Designer– normal standalone libraries like PCB Libraries and Schematic Libraries and another type called an integrated library which contains different source libraries such as PCB libraries bundled together.

Models

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.

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.  See the diagram below for a relationship between a Schematic 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.

A Model has Ports that are mapped to the pins of a schematic component. Note that a model can also be called an implementation. A model/implementation can have its own parameters and data file links.

PCB Footprints

For the PCB footprints, the model and the data file are both the same (no external file needed).

PCB 3D Models

For the PCB 3D models, the model and the data file are both the same (no external file needed).

Simulation Models

With the simulation models, you can have a simulation model which is a 4ohm resistor for example. But there is no information coming from an external file and thus no external file is needed for this resistor as the resistor model is built from Spice modeling language in Altium Designer. 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 (external files). Simulation Models can have up to 3 different model data files – Model File(*.MDL), Subcircuit file (*.CKT) and SIMetrix Model Library file (*.LB).

Signal Integrity Models

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.

References for the Integrated Library API

Separate references for other Altium Designer APIs

 

Integrated Library Interfaces

What are Object Interfaces?

Each method in the object interface is implemented in the corresponding class. Object Interfaces (interfaces for short) are declared like classes but cannot be directly instantiated and do not have their own method definitions.

Each interface, a class supports is actually a list of pointers to methods. Therefore, each time a method call is made to an interface, the interface actually diverts that call to one of it's pointers to a method, thus giving the object that really implements it, the chance to act.

The Integrated Library interfaces exist as long there are associated existing objects in memory, thus when writing a script or server code, you have the responsibility of checking whether the interface you wish to query exists or not before you proceed to invoke the interface's methods.

To obtain the Integrated Library Manager object interface which represents to the Integrated Library manager object, invoke the IntegratedLibraryManager function in your script or code which returns you the IIntegratedLibraryManager object interface.

To obtain the model type manager, invoke the ModelTypeManager function in your script which returns you the IModelTypeManger interface.

Main Integrated Library Interfaces

There are three main interfaces from the Integrated Library Object Model.

  • IIntegratedLibraryManager Interface
  • IModelTypeManager Interface
  • IDeviceSheetManager Interface

See the IntLib API Manager Interfaces document for information on the above interfaces.

IntegratedLibraryManager Interface Example

Procedure CheckDataFilesInIntLibrary;
Var
    IntMan         : IIntegratedLibraryManager;
    FoundLocation  : String;
    AFootprintName : String;
    InIntLib       : Boolean;
    AModelType      : String;
Begin
    IntMan := IntegratedLibraryManager;
    If IntMan = Nil Then Exit;
    IntMan.InstallLibrary('C:\Program Files\Altium Designer\Library\Xilinx\Xilinx Spartan-3E.IntLib');
    //Look for a footprint in a Xilinx Spartan-3E.IntLib
    AModelType     := 'PCBLIB';
    AFootprintName := 'TQ144';
    InIntLib       := True;
    IntMan.FindDatafileInStandardLibs (AFootprintName, AModelType, '', InIntLib, FoundLocation);
    ShowMessage(FoundLocation);
    IntMan.UnInstallLibrary('C:\Program Files\Altium Designer 6\Library\Xilinx\Xilinx Spartan-3E.IntLib');
End;

Script Examples

There are script examples in the \Examples\Scripts\ folder of the Altium Designer installation.

You are reporting an issue with the following selected text and/or image within the active document:
Altium Designer 免费试用
Altium Designer Free Trial
我们开始吧!首先,您或者您的公司已经在使用Altium Designer了吗?

如果您有任何需求,请点击这里联系获取当地办公室销售代表联系方式。.
Copyright © 2019 Altium Limited

既然您在使用Altium Designer,为何仍需要试用?

如果您有任何需求,请点击这里联系获取当地办公室销售代表联系方式。.
Copyright © 2019 Altium Limited

好的,实际上您无需下载一个试用版本。

点击下方按钮下载最新版本的Altium Designer安装包

下载Altium Designer 安装包

如果您有任何需求,请点击这里联系获取当地办公室销售代表联系方式。.
Copyright © 2019 Altium Limited

填写下方表格,获取Altium Designer最新报价。

点击[获取免费试用],并同意我们的隐私政策。您会接收到来自Altium的资讯,并允许其改变您的通知首选项。

如果您是Altium维保期内客户,您不需要下载试用版本。

如果您不是Altium维保客户,请填写下方表格免费试用。

点击[获取免费试用],并同意我们的隐私政策。您会接收到来自Altium的资讯,并允许其改变您的通知首选项。

您为何想要试用Altium Designer?

如果您有任何需求,请点击这里联系获取当地办公室销售代表联系方式。.
Copyright © 2019 Altium Limited

那您来对地方了!请填写下方表格申请试用吧。

点击[获取免费试用],并同意我们的隐私政策。您会接收到来自Altium的资讯,并允许其改变您的通知首选项。

听上去很棒!您知道我们为学生提供了特殊折扣么?欲知详情,请点击这里。.

同时,请填写下方表格申请免费试用吧。

点击[获取免费试用],并同意我们的隐私政策。您会接收到来自Altium的资讯,并允许其改变您的通知首选项。

好的,您可以下载免费的Altium Designer Viewer查看文档,有效期6个月。

请填写下方表格申请。

点击[获取免费试用],并同意我们的隐私政策。您会接收到来自Altium的资讯,并允许其改变您的通知首选项。

好棒!创作是一件超酷的事情,我们可以为您提供完美的设计软件。

Upverter是一个社区导向的交流平台,专为您这样的创客量身定做。

点击这里看看吧!

如果您有任何需求,请点击这里联系获取当地办公室销售代表联系方式。.
Copyright © 2019 Altium Limited

好的,您可以下载免费的Altium Designer Viewer查看文档,有效期6个月。

请填写下方表格申请。

点击[获取免费试用],并同意我们的隐私政策。您会接收到来自Altium的资讯,并允许其改变您的通知首选项。