Schematic API Overview reference

Note: The Altium Designer SDK is currently in the Beta phase and therefore evolving along with its documentation. This reference document, derived from the Altium Designer RTL documentation, is a work in progress and includes some aspects that are different to the new SDK.

Object Interfaces

Basically an interface is simply a list of methods that a class declares that it implements. That is, each method in the interface is implemented in the corresponding class. Interfaces are declared like classes but cannot be directly instantiated and do not have their own method definitions. The Schematic design objects are wrapped by their corresponding Schematic interfaces that make it possible to manipulate them.

Main Schematic Object Interfaces

The ISch_ServerInterface interface is the main interface in the Schematic API and it represents the main Schematic Editor object. To use Schematic Object interfaces, you need to obtain the ISch_ServerInterface interface by invoking the SchServer function which is from the EDPClasses_Sch unit.All the other schematic object interfaces declarations are from the EDPInterfaces_SCH unit.

  • The ISch_ServerInterface interface is the gateway to fetching other Schematic objects.
  • The ISch_GraphicalObject interface is a generic interface as the ancestor interface for all Schematic design object interfaces.
  • The ISch_Document, ISch_Sheet and ISch_Lib interfaces represent an existing Schematic or library documents.

SchServer function

To obtain the Schematic interface that represents the Schematic editor object, invoke the SchServer function (from the EDPClasses_SCH unit) in your code which returns you the ISch_ServerInterface interface. This object interface obtains the Schematic editor server object and then you can extract data from existing Schematic objects and invoke these Schematic object's methods.
For example, the SchServer function is illustrated in the example below.

Var Sheet : ISch_Sheet; Begin Sheet := SchServer.GetCurrentSchDocument If Sheet = Nil then Exit; // do something here End;

Schematic Object Model Hierarchy

The Schematic Object Model compromises of Schematic Object Interfaces and standalone utility functions that allow you to deal with Schematic objects from a Schematic document open in Altium Designer. An object interface is just a means of access to an object in memory.

To have access to the Schematic Editor and manipulate certain schematic design objects, you need to invoke the SchServer function which extracts the ISch_ServerInterface interface which represents the loaded schematic editor in Altium Designer. The ISch_ServerInterface interface is the main object interface and contains sub object interfaces within.

The ISch_ServerInterface and ISch_Document object interfaces to name the few are the main object interfaces that you will be dealing with, when you are working with a opened schematic document in Altium Designer.

Schematic Object Interfaces Hierarchy Map

The following diagrams represents the hierarchy map of design objects. The ISch_BasicContainer interface is the ancestor object interface. All the descendant interfaces inherit methods and properties from their immediate parent interfaces. For example the ISch_Pie interface has its own methods and properties as well as inherited methods and properties from the ISch_Arc, ISch_GraphicalObject and finally the ancestor ISch_BasicContainer interfaces.

ISch_BasicContainer 

    ISch_Graphical Object

        ISch_Arc

            ISch_Pie