WSM API Project Interfaces

Now reading version 18. For the latest, read: WSM API Project Interfaces for version 22

Parent page: Technical Reference - Workspace Manager API

Please note that this documentation was last updated for an older version of Altium Designer. While many of the principles and approaches will remain the same, be aware that interfaces, objects, methods, properties, and the like will have changed since then, and will not reflect the entirety of those found in later versions of the software.

Workspace Manager API: Project Interfaces Reference

The Workspace Manager API Project Interfaces reference includes the following sections and content:

Project Interfaces Project Variations
IProject Interface
IAbstractVHDLProject
IBoardProject
ICoreProject
IEmbeddedProject
IFPGAProject
IIntegratedLibraryProject interface
IComponentVariation interface
IProjectVariant interface
IParameterVariation interface

 

Project Interfaces

IProject Interface

Overview
The IProject interface deals with an open project in Altium Designer. There are project and document variants, that is actually a project or document can be specified to have project or document variants (actual project / document variants do not exist) and on these document variants have component variants.

To have access to the data of a project, you need to do a compile first. Projects deal with logical and physical documents. Logical documents are the connected documents which are part of a design which include a PCB document associated with this design. Physical documents are source documents expanded by the Altium Designer compiler as in a flattened design project.

Thus, a project contains source documents and implementation documents. To have access to the most current data of a project, you need to compile the project first. The compiler maps (or expands) all the logical source documents into physical documents.

Normally there is a one logical document to a one physical document for a simple flat design project, but for hierarchical design projects (for example multi channel projects), the documents that have sheet symbols with a Repeat statement, then logical documents are expanded into multiple physical documents.

There are Output jobs consisting of available output generators installed in Altium Designer.

The IProject interface hierarchy is as follows;

IProject methods
DM_AddConfiguration
DM_AddConfigurationParameters
DM_AddConfigurationParameters_Physical
DM_AddControlPanel
DM_AddGeneratedDocument
DM_AddSearchPath
DM_AddSourceDocument
DM_ChannelDesignatorFormat
DM_ChannelRoomLevelSeperator
DM_ChannelRoomNamingStyle
DM_ClearViolations
DM_Compile
DM_CompileEx
DM_ComponentMappings
DM_ConfigurationCount
DM_Configurations
DM_CurrentProjectVariant
DM_DoCrossSelection SafeCall
DM_DocumentFlattened
DM_EditOptions
DM_ErrorLevels
DM_GeneratedDocumentCount
DM_GeneratedDocuments
DM_GetAllowPortNetNames
DM_GetAllowSheetEntryNetNames
DM_GetAppendSheetNumberToLocalNets
DM_GetConfigurationByName
DM_GetDefaultConfiguration
DM_GetDefaultConfigurationName
DM_GetDefaultPcbType
DM_GetDocumentFromPath
DM_GetOutputPath
DM_GetPinSwapBy_Pin
DM_GetPinSwapByNetlabel
DM_GetScrapDocument
DM_HierarchyMode
DM_HierarchyModeForCompile
DM_IndexOfSourceDocument
DM_InitializeOutputPath
DM_LogicalDocumentCount
DM_LogicalDocuments
DM_MoveSourceDocument
DM_NavigationZoomPrecision
DM_OptionsStorage
DM_Outputers
DM_OwnedProjectCount
DM_OwnedProjects
DM_PhysicalDocumentCount
DM_PhysicalDocuments
DM_PrimaryImplementationDocument
DM_ProjectFileName
DM_ProjectFullPath
DM_ProjectVariantCount
DM_ProjectVariants
DM_RemoveAllConfigurations
DM_RemoveConfigurationByName
DM_RemoveSourceDocument
DM_SearchPathCount
DM_SearchPaths
DM_SetAllowPortNetNames
DM_SetAllowSheetEntryNetNames
DM_SetAppendSheetNumberToLocalNets
DM_SetAsCurrentProject
DM_SetDefaultConfigurationName
DM_SetDefaultPcbType
DM_SetErrorLevels
DM_SetHierarchyMode
DM_SetOutputPath
DM_SetPinSwapBy_Netlabel
DM_SetPinSwapBy_Pin
DM_StartCrossProbing
DM_StartNavigation
DM_ToDoManager
DM_TopLevelLogicalDocument
DM_TopLevelPhysicalDocument
DM_UpdateConstraints
DM_UserID
DM_ViolationCount
DM_Violations
GetNavigationHistory
IProject properties

Methods

DM_AddConfigurationParameters method

(IProject interface)
Syntax
Procedure DM_AddConfigurationParameters(Configuration : WideString);
Description
A configuration is a list of constraints file which manages the mapping of pins to ports of a FPGA project. Invoke this method to add parameters of a specified configuration file for a FPGA project.
See also
IProject interface

DM_AddConfigurationParameters_Physical method

(IProject interface)
Syntax
Procedure DM_AddConfigurationParameters_Physical(Configuration : WideString);
Description
A configuration is a list of constraints file which manages the mapping of pins to ports of a FPGA project. Invoke this method to add parameters of a specified configuration file for a FPGA project.
See also
IProject interface

DM_AddControlPanel method

(IProject interface)
Syntax
Procedure DM_AddControlPanel (Filename : WideString);
Description
The procedure adds a document to the main section of the the panel which could be part of a project or free documents.
See also
IProject interface

DM_AddGeneratedDocument method

(IProject interface)
Syntax
Procedure DM_AddGeneratedDocument (Filename : WideString);
Description
This procedure adds a new generated document referenced by its filename parameter in this current project, and this document appears in the Generated folder of this project on Altium Designer Projects panel.
See also
IProject interface

DM_AddSearchPath method

(IProject interface)
Syntax
Procedure DM_AddSearchPath (SearchPath : WideString; IncludeSubFolders : Boolean);
Description
This procedure adds a new serach path for the current project.
See also
IProject interface

DM_AddSourceDocument method

(IProject interface)
Syntax
Procedure DM_AddSourceDocument (Filename : WideString);
Description
The procedure adds a source document referenced by its filename parameter in the current project.
See also
IProject interface

DM_ChannelDesignatorFormat method

(IProject interface)
Syntax
Function DM_ChannelDesignatorFormat : WideString;
Description
This function returns the formatted channel designator string. This string is basedon the settings defined in the Multi-Channel page of the Options for Project dialog from the Project » Project Options menu item.
See also
IProject interface

DM_ChannelRoomLevelSeperator method

(IProject interface)
Syntax
Function DM_ChannelRoomLevelSeperator : WideString;
Description
The function returns the separator character for the Channel Room Level string. The default is an underline character used for room naming styles when there are paths (based on hierarchical designs).
See also
IProject interface

DM_ChannelRoomNamingStyle method

(IProject interface)
Syntax
Function DM_ChannelRoomNamingStyle : TChannelRoomNamingStyle;
Description
The function returns the TChannelRoomNamingStyle type. There are alternative styles for naming rooms on a PCB document.
See also
IProject interface

DM_ClearViolations method

(IProject interface)
Syntax
Procedure DM_ClearViolations;
Description
The procedure clears all existing violations within the project.
See also
IProject interface

DM_Compile method

(IProject interface)
Syntax
Function DM_Compile : LongBool;
Description
Invoke this function to compile the current project. Once the project is compiled, navigation of nets and comparing the differences of documents and other tasks can be performed.
See also
IProject interface

DM_CompileEx method

(IProject interface)
Syntax
Function DM_CompileEx(All : LongBool; Var Cancelled : LongBool) : LongBool;
Description
Invoke this function to compile all documents of all opened projects in Altium Designer. Pass a Boolean parmeter in to cancel the compiling process.
See also
IProject interface

DM_ComponentMappings method

(IProject interface)
Syntax
Function DM_ComponentMappings (AnImplementationDocument : WideString) : IComponentMappings;
Description
The function returns the IComponentMapping interface which details which PCB components are linked to Schematic components. Check the IComponentMappings interface.
See also
IProject interface

DM_ConfigurationCount method

(IProject interface)
Syntax
Function DM_ConfigurationCount : Integer;
Description
The function returns the number of configurations for the current project. To be used in conjunction with DM_Configurations function.
Example
See also
IProject interface

DM_Configurations method

(IProject interface)
Syntax
Function DM_Configurations (Index : Integer ) : IConfiguration;
Description
The function returns the indexed configuration of a FPGA project. A configuration can have a list of different constraint files.
See also
IProject interface

DM_CurrentProjectVariant method

(IProject interface)
Syntax
Function DM_CurrentProjectVariant : IProjectVariant;
Description
The function returns the current project variant from this current project. Check out the IProjectVariant interface.
See also
IProject interface

DM_DoCrossSelection method

(IProject interface)
Syntax
Procedure DM_DoCrossSelection
Description
Activates the cross probing function where you can jump from a Schematic object to its corresponding PCB object (both source and primary implementation documents need to be open in Altium Designer).
See also
IProject interface

DM_DocumentFlattened method

(IProject interface)
Syntax
Function DM_DocumentFlattened : IDocument;
Description
The function returns the flattened document. A flattened document is part of a flattened hierarchy of a project and all objects of this project appear in the Instance list of the Navigator panel.
See also
IProject interface

DM_EditOptions method

(IProject interface)
Syntax
Function DM_EditOptions(DefaultPage : WideString) : LongBool;
Description
Example
See also
IProject interface

DM_ErrorLevels method

(IProject interface)
Syntax
Function DM_ErrorLevels (AErrorKind : TErrorKind) : TErrorLevel;
Description
The function returns the error level for the specified error type. For each violation type, you can have up to four different error levels, No Report, Warning, Error and Fatal Error with four different colored folders.
See also
IProject interface

DM_GeneratedDocumentCount method

(IProject interface)
Syntax
Function DM_GeneratedDocumentCount : Integer;
Description
The function returns the number of generated documents such as those documents generated by the OutPut generator (from a OutJob document). Use this function in conjunction with the DM_GeneratedDocuments function.
Example
See also
IProject interface

DM_GeneratedDocuments method

(IProject interface)
Syntax
Function DM_GeneratedDocuments (Index : Integer ) : IDocument;
Description
The function returns the indexed generated document which is generated by the Output Generator.
See also
IProject interface

DM_GetAllowPortNetNames method

(IProject interface)
Syntax
Function DM_GetAllowPortNetNames : Boolean;
Description
Invoke this function to check whether port net names are used for navigation in Altium Designer or not.
See also
IProject interface

DM_GetAllowSheetEntryNetNames method

(IProject interface)
Syntax
Function DM_GetAllowSheetEntryNetNames : Boolean;
Description
Invoke this function to check whether sheet entry net anmes are used for navigation in Altium Designer or not.
See also
IProject interface

DM_GetAppendSheetNumberToLocalNets method

(IProject interface)
Syntax
Function DM_GetAppendSheetNumberToLocalNets : Boolean;
Description
Invoke this function to check whether sheet numbers are appended to local nets or not.
See also
IProject interface

DM_GetConfigurationByName method

(IProject interface)
Syntax
Function DM_GetConfigurationByName(Configuration : WideString) : IConfiguration;
Description
The function returns you the configuration object for the project (normally for FPGA projects) if configuration parameter is valid. A configuration file contains mapping information to link from a FPGA project to a linked PCB project.
See also
IProject interface

DM_GetDefaultConfiguration method

(IProject interface)
Syntax
Function DM_GetDefaultConfiguration : IConfiguration;
Description
The function returns the default configuration for a FPGA project.
See also
IProject interface

DM_GetDefaultConfigurationName method

(IProject interface)
Syntax
Function DM_GetDefaultConfigurationName : WideString;
Description
Returns the name of the default configuration for a FPGA project
See also
IProject interface

DM_GetDefaultPcbType method

(IProject interface)
Syntax
Function DM_GetDefaultPcbType : WideString;
Description
Example
See also
IProject interface

DM_GetDocumentFromPath method

(IProject interface)
Syntax
Function DM_GetDocumentFromPath(DocumentPath : WideString) : IDocument;
Description
This function returns the IDocument interface associated with the document path parameter. Otherwise a Nil value is returned.
See also
IProject interface

DM_GetOutputPath method

(IProject interface)
Syntax
Function DM_GetOutputPath : WideString;
Description
The function returns the output path for generated documents for the current project.
See also
IProject interface

DM_GetScrapDocument method

(IProject interface)
Syntax
Function DM_GetScrapDocument(DocumentPath : WideString) : IDocument;
Description
Returns the scrap document for the project. A scrap document is a temporary document used when creating a new document and once a document is saved, the contents of the scrap document is copied and freed.
See also
IProject interface

DM_HierarchyMode method

(IProject interface)
Syntax
Function DM_HierarchyMode : TFlattenMode;
Description
This function returns the hierarchy mode as a TFlattenMode parameter.
See also
IProject interface

DM_HierarchyModeForCompile method

(IProject interface)
Syntax
Function DM_HierarchyModeForCompile : TFlattenMode;
Description
Example
See also
IProject interface

DM_IndexOfSourceDocument method

(IProject interface)
Syntax
Function DM_IndexOfSourceDocument(Filename : WideString) : Integer;
Description
The function returns the index of the source document based on the filename of this document. This is for hierarchical or connected schematic documents.
See also
IProject interface

DM_InitializeOutputPath method

(IProject interface)
Syntax
Function DM_InitializeOutputPath(AnOutputType : WideString) : WideString;
Description
The function returns the output path for the Output Generator based on the AnOutputType parameter.
See also
IProject interface

DM_LogicalDocumentCount method

(IProject interface)
Syntax
Function DM_LogicalDocumentCount : Integer;
Description
The function returns the number of logical documents which represent the actual documents of a design project (documents that exist in the design project but are not part of the design are not logical documents). Use this function in conjunction with the DM_LogicalDocuments function.
See also
IProject interface

DM_LogicalDocuments method

(IProject interface)
Syntax
Function DM_LogicalDocuments (Index : Integer ) : IDocument;
Description
The function returns the indexed logical document of a project.
See also
IProject interface

DM_MoveSourceDocument method

(IProject interface)
Syntax
Procedure DM_MoveSourceDocument (Filename : WideString; NewIndex : Integer);
Description
The procedure re-assigns the source document referenced by the filename a new index number.
See also
IProject interface

DM_NavigationZoomPrecision method

(IProject interface)
Syntax
Function DM_NavigationZoomPrecision : Integer;
Description
Sets how precise the document zoom is when the interactive navigator is being used to trace the connection in a project.
See also
IProject interface

DM_OptionsStorage method

(IProject interface)
Syntax
Function DM_OptionsStorage : IOptionsStorage;
Description
Example
See also
IProject interface

DM_Outputers method

(IProject interface)
Syntax
Function DM_Outputers (Name : WideString) : IOutputer;
Description
The function returns the indexed Output Generator. An output generator could be a Simple BOM.
See also
IProject interface

DM_PhysicalDocumentCount method

(IProject interface)
Syntax
Function DM_PhysicalDocumentCount : Integer;
Description
The function returns the number of physical source documents (which are expanded logical documents of the design project). Source documents are usually schematic documents. Use this function in conjunction with the DM_PhysicalDocuments function.
See also
IProject interface

DM_PhysicalDocuments method

(IProject interface)
Syntax
Function DM_PhysicalDocuments (Index : Integer ) : IDocument;
Description
The function returns the indexed physical document of a project.
See also
IProject interface

DM_PrimaryImplementationDocument method

(IProject interface)
Syntax
Function DM_PrimaryImplementationDocument : IDocument;
Description
The function returns the primary implementation document for example PCB documents. Source documents are Schematic documents for example.
See also
IProject interface

DM_ProjectFileName method

(IProject interface)
Syntax
Function DM_ProjectFileName : WideString;
Description
This function returns the file name of this current project in Altium Designer.
See also
IProject interface

DM_ProjectFullPath method

(IProject interface)
Syntax
Function DM_ProjectFullPath : WideString;
Description
This function returns the full path of this current project in Altium Designer.
See also
IProject interface

DM_ProjectVariantCount method

(IProject interface)
Syntax
Function DM_ProjectVariantCount : Integer;
Description
The function returns the number of project variants for this current project.
See also
IProject interface

DM_ProjectVariants method

(IProject interface)
Syntax
Function DM_ProjectVariants (Index : Integer ) : IProjectVariant;
Description
The function returns the indexed IProjectVariant interface. A project variant interface is only a conceptual representation of a project that can have project variants. That is there is only one physical board but this same board can have certain components disabled or enabled leading to document variants. The variations of a PCB board are referred to as the IDocumentVariant and to check which components are enabled or not for this particular document variant, check out the IComponentVariant interface.

This is to be used in conjunction with the DM_ProjectVariantCount method.
See also
IProject interface

DM_RemoveSourceDocument method

(IProject interface)
Syntax
Procedure DM_RemoveSourceDocument (Filename : WideString);
Description
This procedure removes a source document referenced by its filename from this current project.
See also
IProject interface

DM_SearchPathCount method

(IProject interface)
Syntax
Function DM_SearchPathCount : Integer;
Description
The function returns the number of search paths for this current project. Use this function in conjunction with the DM_SearchPaths function.
See also
IProject interface

DM_SearchPaths method

(IProject interface)
Syntax
Function DM_SearchPaths (Index : Integer ) : ISearchPath;
Description
The function returns the indexed search path object defined for this project.
See also
IProject interface

DM_SetAllowPortNetNames method

(IProject interface)
Syntax
Procedure DM_SetAllowPortNetNames (AAllow : Boolean);
Description
Invoke this procedure to allow port net names be used for navigation.
See also
IProject interface

DM_SetAllowSheetEntryNetNames method

(IProject interface)
Syntax
Procedure DM_SetAllowSheetEntryNetNames (AAllow : Boolean);
Description
Invoke this procedure to allow sheet entry net names be used for navigation in Altium Designer.
See also
IProject interface

DM_SetAppendSheetNumberToLocalNets method

(IProject interface)
Syntax
Procedure DM_SetAppendSheetNumberToLocalNets (AAppend : Boolean);
Description
Invoke this procedure to have the ability to append sheet numbers to local nets on a document / project.
See also
IProject interface

DM_SetAsCurrentProject method

(IProject interface)
Syntax
Procedure DM_SetAsCurrentProject;
Description
Invoke this function to set the project as the current project in Altium Designer.
See also
IProject interface

DM_SetDefaultConfigurationName method

(IProject interface)
Syntax
Procedure DM_SetDefaultConfigurationName(Configuration : WideString);
Description
The procedure sets the name for the default configuration of a FPGA project.
See also
IProject interface

DM_SetDefaultPcbType method

(IProject interface)
Syntax
Procedure DM_SetDefaultPcbType(PcbType : WideString);
Description
Example
See also
IProject interface

DM_SetErrorLevels method

(IProject interface)
Syntax
Procedure DM_SetErrorLevels(AErrorKind : TErrorKind;AErrorLevel : TErrorLevel);
Description
Example
See also
IProject interface

DM_SetHierarchyMode method

(IProject interface)
Syntax
Procedure DM_SetHierarchyMode (AFlatten : TFlattenMode);
Description
Invoke this function to set which hierarchy mode for this project. It can be one of the following modes: eFlatten_Smart,eFlatten_Flat,eFlatten_Hierarchical,eFlatten_Global
See also
IProject interface

DM_SetOutputPath method

(IProject interface)
Syntax
Procedure DM_SetOutputPath (AnOutputPath : WideString);
Description
Sets the output path for generated documents to go in by the Altium Designer output generator.
See also
IProject interface

DM_StartCrossProbing method

(IProject interface)
Syntax
Procedure DM_StartCrossProbing(CtrlDoesSwitch : Boolean);
Description
This procedure invokes the cross probing function. Both source and primary implementation documents need to be open in Altium Designer in order for the cross probing to work.
See also
IProject interface

DM_StartNavigation method

(IProject interface)
Syntax
Procedure DM_StartNavigation;
Description
This procedure invokes the navigation panel for the current project. The project needs to be compiled first.
See also
IProject interface

DM_ToDoManager method

(IProject interface)
Syntax
Function DM_ToDoManager : IToDoManager;
Description
Invoke this function to have access to the IToDoManager object. This ToDo manager allows you to define to dos for your current project.
See also
IProject interface

DM_TopLevelLogicalDocument method

(IProject interface)
Syntax
Function DM_TopLevelLogicalDocument : IDocument;
Description
This function returns the top level logical document of this current project. A logical document is usually a Schematic document and can represent a document of a multi channel project for example.
See also
IProject interface

DM_TopLevelPhysicalDocument method

(IProject interface)
Syntax
Function DM_TopLevelPhysicalDocument : IDocument;
Description
This function returns the top level physical document of this current project. A physical document usually is a PCB document.
See also
IProject interface

DM_UpdateConstraints method

(IProject interface)
Syntax
Function DM_UpdateConstraints : LongBool;
Description
Invoke this function to update the constraint files used for a FPGA project and for corresponding PCB projects with FPGA components.
See also
IProject interface

DM_UserID method

(IProject interface)
Syntax
Function DM_UserID : WideString;
Description
The function returns a value that represents the UserID of the project.
See also
IProject interface

DM_ViolationCount method

(IProject interface)
Syntax
Function DM_ViolationCount : Integer;
Description
This function returns the number of violations reported by Altium Designer for this current project.
See also
IProject interface

DM_Violations method

(IProject interface)
Syntax
Function DM_Violations(Index : Integer) : IViolation;
Description
Returns the indexed violation for a current project. This is to be used in conjunction with the DM_ViolationCount method.
See also
IProject interface

GetNavigationHistory method

(IProject interface)
Syntax
Function GetNavigationHistory : INavigationHistory;
Description
This function returns the status of the navigation buttons on the Navigator panel for the current project in Altium Designer. Check out INavigationHistory interface for details.
See also
IProject interface

IAbstractVHDLProject

Overview
The IAbstractVHDLProject interface represents a project that hosts VHDL documents.
Important notes
Inherited from IProject interface
Interface Methods
Function  DM_GetTargetDeviceName(ConfigurationName : WideString) : WideString;
See also
Workspace Manager Interfaces
IProject interface

IBoardProject

Overview
The IBoardProject interface represents a project compromising of Schematic and corresponding PCB documents along with other document kinds.
Important notes
Inherited from IProject  interface
Interface Methods
IProject methods
Interface Properties
IProject Properties
See also
Workspace Manager Interfaces
IProject interface

ICoreProject

Overview
The ICoreProject interface represents the project that hosts core designs. A core project is typically created to develop pre-synthesized user models whose EDIF output becomes the model for these user defined components.
Important notes
Inherited from IAbstractVHDLProject  interface
Interface Methods
Function DM_CreateSymbolGenerator     : ISymbolGenerator;
Function DM_GetIncludeModelsInArchive : LongBool;       
See also
Workspace Manager Interfaces
IProject interface
IAbstractVHDLProject interface
ISymbolGenerator interface

IEmbeddedProject

Overview
The IEmbeddedProject interface represents the project that hosts embedded designs that can be targetted to the hard device on the Nanoboard.
Important notes
The IEmbeddedProject interface is inherited from IProject interface.
Interface Methods
DM_SetToolchain method.
See also
Workspace Manager Interfaces
IProject interface

IFPGAProject

Overview
The IFPGAProject interface represents the project that hosts FPGA designs.
Important notes
Inherited from IAbstractVHDLProject  interface
Interface Methods
Function  DM_GetTargetBoardName (ConfigurationName : WideString) : WideString;
See also
Workspace Manager Interfaces
IProject interface
IAbstractVHDLProject Interface

IIntegratedLibraryProject interface

Overview
The IIntegratedLibraryProject interface represents the project that deals with integrated libraries.
Important notes
Inherited from IProject  interface
Interface Methods
IProject methods
Interface Properties
IProject Properties
See also
Workspace Manager Interfaces
IProject interface
 

Project Variations

IComponentVariation interface

Overview
The IComponentVariation interface represents the component variant on a PCB document. There is only one physical document, but each component on this document can be specified to be a variant and when the output is generated, a specific variant document is generated. This variant output is controlled by the Output Job files.

Interface Methods

Method Description
Function    DM_ProjectVariant : IDocumentVariant; This function returns the IProjectVariant interface which represents a container that stores the component variants for the project.
Function    DM_VariationKind : TVariationKind; This function returns the variation kind for this component.
Function    DM_PhysicalDesignator : WideString; Returns the full physical designator string for this component variant.
Function    DM_UniqueId : WideString; Returns the unique ID for this component variant.
Function    DM_AlternatePart : WideString; Returns the alternate part string for this component variant.
Function    DM_VariationCount     : Integer; Returns the number of variations.
Function    DM_Variations        (Index : Integer) : IParameterVariation; Returns the indexed parameter variation for this component variation.

See also
IProjectVariant interface
IParameterVariation interface

IProjectVariant interface

Overview
The IProjectVariation interface represents the project that contains component variations. Physically, there is only one PCB document with components that are specified. So for each output requirement, each document variant is generated, although there is only one PCB design document.

Interface Methods

Method Description
Function    DM_Project        : IProject; Returns the IProject interface this  variant is associated with.
Function    DM_Name           : WideString; Returns the name of this variant.
Function    DM_Description    : WideString; Returns the description of this variant.
Function    DM_VariationCount : Integer; Returns the count of variants. To be used in conjunction with the DM_Variations(index) method.
Function    DM_Variations     (Index : Integer   ) : IComponentVariation; Returns the indexed component variation for this project. To be used in conjunction with the DM_VariationCount method.

See also
Workspace Manager Interfaces
IProject interface

IParameterVariation interface

Overview
The IParameterVariation interface represents the component that contains parameter variations. Physically, there is only one PCB document with components that are specified. So for each output requirement, each document variant is generated, although there is only one PCB design document.

Interface Methods

Method Description
Function    DM_ParameterName      : WideString; Denotes the name of the parameter that the component is associated with.
Function    DM_VariedValue        : WideString; Denotes the value of the parameter that the component is associated with. A component variant can have parameter variants.

See also
Workspace Manager Interfaces
IProject interface
IProjectVariant interface
IComponentVariation interface

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.