
# IProject interface

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.

```csharp
public interface IProject : IDMObject
```

**Namespace:** EDP · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IDMObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md)

**Derived:** [IAbstractVHDLProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IAbstractVHDLProject.md), [IBoardProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IBoardProject.md), [IEmbeddedProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IEmbeddedProject.md), [IFreeDocumentsProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IFreeDocumentsProject.md), [IIntegratedLibraryProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IIntegratedLibraryProject.md)

## Remarks

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.

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [DM_AddConfiguration](#dm_addconfiguration) | [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md) |  |
| [DM_AddConfigurationParameters](#dm_addconfigurationparameters) | `void` | A configuration is a list of constraints file which manages the mapping of pins to ports of a FPGA project. |
| [DM_AddConfigurationParameters_Physical](#dm_addconfigurationparameters_physical) | `void` | A configuration is a list of constraints file which manages the mapping of pins to ports of a FPGA project. |
| [DM_AddControlPanel](#dm_addcontrolpanel) | `void` | The method adds a document to the main section of the the panel which could be part of a project or free documents. |
| [DM_AddDeviceSheetFolder](#dm_adddevicesheetfolder) | `void` |  |
| [DM_AddGeneratedDocument](#dm_addgenerateddocument) | `void` | This method adds a new generated document referenced by its filename parameter in this current project, and this document appears in theGenerated folder of this project on Altium Designer Projects pa… |
| [DM_AddParameter](#dm_addparameter) | `void` |  |
| [DM_AddProjectVariant](#dm_addprojectvariant) | [IProjectVariant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md) |  |
| [DM_AddSearchPath](#dm_addsearchpath) | `void` | This method adds a new serach path for the current project. |
| [DM_AddSourceDocument](#dm_addsourcedocument) | `void` | The method adds a source document referenced by its filename parameter in the current project. |
| [DM_AvailableDatabaseLinks](#dm_availabledatabaselinks) | `bool` |  |
| [DM_BeginUpdate](#dm_beginupdate) | `void` |  |
| [DM_ChannelDesignatorFormat](#dm_channeldesignatorformat) | `string` | This method returns the formatted channel designator string. |
| [DM_ChannelRoomLevelSeperator](#dm_channelroomlevelseperator) | `string` | The method returns the separator character for the Channel Room Level string. |
| [DM_ChannelRoomNamingStyle](#dm_channelroomnamingstyle) | [TChannelRoomNamingStyle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TChannelRoomNamingStyle.md) | The method returns the [`TChannelRoomNamingStyle`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TChannelRoomNamingStyle.md) type. |
| [DM_ClearViolations](#dm_clearviolations) | `void` | The method clears all existing violations within the project. |
| [DM_Compile](#dm_compile) | `bool` | Invoke this method to compile the current project. |
| [DM_CompileEx](#dm_compileex) | `bool` | Invoke this method to compile all documents of all opened projects in Altium Designer. |
| [DM_ComponentMappings](#dm_componentmappings) | [IComponentMappings](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IComponentMappings.md) | The method returns the IComponentMapping interface which details which PCB components are linked to Schematic components. |
| [DM_ComponentMappings_1](#dm_componentmappings_1) | [IComponentMappings](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IComponentMappings.md) |  |
| [DM_ConfigurationCount](#dm_configurationcount) | `int` | The method returns the number of configurations for the current project. |
| [DM_Configurations](#dm_configurations) | [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md) | The method returns the indexed configuration of a FPGA project. |
| [DM_CurrentProjectVariant](#dm_currentprojectvariant) | [IProjectVariant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md) | The method returns the current project variant from this current project. |
| [DM_DataModel](#dm_datamodel) | [IUnifiedDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IUnifiedDataModel.md) |  |
| [DM_DeviceSheetFolderCount](#dm_devicesheetfoldercount) | `int` |  |
| [DM_DeviceSheetFolders](#dm_devicesheetfolders) | [IDeviceSheetFolder](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDeviceSheetFolder.md) |  |
| [DM_DoCrossSelection](#dm_docrossselection) | `void` | Activates the cross probing method 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). |
| [DM_DocumentBackups](#dm_documentbackups) | [IDocumentBackups](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IDocumentBackups.md) |  |
| [DM_DocumentFlattened](#dm_documentflattened) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | The method returns the flattened document. |
| [DM_EditConfigurations](#dm_editconfigurations) | `bool` |  |
| [DM_EditOptions](#dm_editoptions) | `bool` |  |
| [DM_EndUpdate](#dm_endupdate) | `void` |  |
| [DM_EnsureAllCachedManagedOutputJobs](#dm_ensureallcachedmanagedoutputjobs) | `void` |  |
| [DM_EnsureStandardConfigurations](#dm_ensurestandardconfigurations) | `void` |  |
| [DM_ErrorLevels](#dm_errorlevels) | [TErrorLevel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TErrorLevel.md) | The method returns the error level for the specified error type. |
| [DM_GeneratedDocumentCount](#dm_generateddocumentcount) | `int` | The method returns the number of generated documents such as those documents generated by the OutPut generator (from a OutJob document). |
| [DM_GeneratedDocuments](#dm_generateddocuments) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | The method returns the indexed generated document which is generated by the Output Generator. |
| [DM_GetAllowPortNetNames](#dm_getallowportnetnames) | `bool` | Invoke this method to check whether port net names are used for navigation in Altium Designer or not. |
| [DM_GetAllowSheetEntryNetNames](#dm_getallowsheetentrynetnames) | `bool` | Invoke this method to check whether sheet entry net anmes are used for navigation in Altium Designer or not. |
| [DM_GetAppendSheetNumberToLocalNets](#dm_getappendsheetnumbertolocalnets) | `bool` | Invoke this method to check whether sheet numbers are appended to local nets or not. |
| [DM_GetConfigurationByName](#dm_getconfigurationbyname) | [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md) | The method returns you the configuration object for the project (normally for FPGA projects) if configuration parameter is valid. |
| [DM_GetDefaultConfiguration](#dm_getdefaultconfiguration) | [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md) | The method returns the default configuration for a FPGA project. |
| [DM_GetDefaultConfigurationName](#dm_getdefaultconfigurationname) | `string` | Returns the name of the default configuration for a FPGA project |
| [DM_GetDefaultPcbType](#dm_getdefaultpcbtype) | `string` |  |
| [DM_GetDocumentByDocumentId](#dm_getdocumentbydocumentid) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) |  |
| [DM_GetDocumentFromPath](#dm_getdocumentfrompath) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | This method returns the [`IDocument`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) interface associated with the document path parameter. |
| [DM_GetLinkedManagedProjectGUID](#dm_getlinkedmanagedprojectguid) | `string` |  |
| [DM_GetOutputPath](#dm_getoutputpath) | `string` | The method returns the output path for generated documents for the current project. |
| [DM_GetPinSwapBy_Netlabel](#dm_getpinswapby_netlabel) | `bool` |  |
| [DM_GetPinSwapBy_Pin](#dm_getpinswapby_pin) | `bool` |  |
| [DM_GetReleaseVaultGUID](#dm_getreleasevaultguid) | `string` |  |
| [DM_GetScrapDocument](#dm_getscrapdocument) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | Returns the scrap document for the project. |
| [DM_GetTopLevelDocumentStructure](#dm_gettopleveldocumentstructure) | [IDocumentStructure](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocumentStructure.md) |  |
| [DM_GetWebURL](#dm_getweburl) | `string` |  |
| [DM_GlobalPreferencesRevisionGUID](#dm_globalpreferencesrevisionguid) | `string` |  |
| [DM_GlobalPreferencesVaultGUID](#dm_globalpreferencesvaultguid) | `string` |  |
| [DM_HierarchyMode](#dm_hierarchymode) | [TFlattenMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TFlattenMode.md) | This method returns the hierarchy mode as a [`TFlattenMode`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TFlattenMode.md) parameter. |
| [DM_HierarchyModeForCompile](#dm_hierarchymodeforcompile) | [TFlattenMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TFlattenMode.md) |  |
| [DM_InCompilation](#dm_incompilation) | `bool` |  |
| [DM_IndexOfSourceDocument](#dm_indexofsourcedocument) | `int` | The method returns the index of the source document based on the filename of this document. |
| [DM_InitializeOutputPath](#dm_initializeoutputpath) | `string` | Returns the output path for the Output Generator based on the output type. |
| [DM_LogicalDocumentCount](#dm_logicaldocumentcount) | `int` | The method 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… |
| [DM_LogicalDocuments](#dm_logicaldocuments) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | The method returns the indexed logical document of a project. |
| [DM_ManagedParameterCount](#dm_managedparametercount) | `int` |  |
| [DM_ManagedParameters](#dm_managedparameters) | [IParameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IParameter.md) |  |
| [DM_ManagedProjectGUID](#dm_managedprojectguid) | `string` |  |
| [DM_MoveSourceDocument](#dm_movesourcedocument) | `void` | The method re-assigns the source document referenced by the filename a new index number. |
| [DM_NeedsCompile](#dm_needscompile) | `bool` |  |
| [DM_OptionsStorage](#dm_optionsstorage) | [IOptionsStorage](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IOptionsStorage.md) |  |
| [DM_Outputers](#dm_outputers) | [IOutputer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputer.md) | The method returns the indexed Output Generator. |
| [DM_OwnedProjectCount](#dm_ownedprojectcount) | `int` |  |
| [DM_OwnedProjects](#dm_ownedprojects) | [IProject](#) |  |
| [DM_PhysicalDocumentCount](#dm_physicaldocumentcount) | `int` | The method returns the number of physical source documents (which are expanded logical documents of the design project). |
| [DM_PhysicalDocuments](#dm_physicaldocuments) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | The method returns the indexed physical document of a project. |
| [DM_PrimaryImplementationDocument](#dm_primaryimplementationdocument) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | The method returns the primary implementation document for example PCB documents. |
| [DM_ProjectFileName](#dm_projectfilename) | `string` | This method returns the file name of this current project in Altium Designer. |
| [DM_ProjectFullPath](#dm_projectfullpath) | `string` | This method returns the full path of this current project in Altium Designer. |
| [DM_ProjectTemplateLocation](#dm_projecttemplatelocation) | `string` |  |
| [DM_ProjectVariantCount](#dm_projectvariantcount) | `int` | The method returns the number of project variants for this current project. |
| [DM_ProjectVariants](#dm_projectvariants) | [IProjectVariant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md) | The method returns the indexed [`IProjectVariant`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md) interface. |
| [DM_RefreshInWorkspaceForm](#dm_refreshinworkspaceform) | `void` |  |
| [DM_ReleaseProjectCopy](#dm_releaseprojectcopy) | [IProject](#) |  |
| [DM_RemoveAllConfigurations](#dm_removeallconfigurations) | `bool` |  |
| [DM_RemoveConfigurationByName](#dm_removeconfigurationbyname) | `bool` |  |
| [DM_RemoveProjectVariant](#dm_removeprojectvariant) | `void` |  |
| [DM_RemoveSourceDocument](#dm_removesourcedocument) | `void` | This method removes a source document referenced by its filename from this current project. |
| [DM_ReportSuppressedErrorsInMessages](#dm_reportsuppressederrorsinmessages) | `bool` |  |
| [DM_ResetReleaseProject](#dm_resetreleaseproject) | `void` |  |
| [DM_SearchPathCount](#dm_searchpathcount) | `int` | The method returns the number of search paths for this current project. |
| [DM_SearchPaths](#dm_searchpaths) | [ISearchPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ISearchPath.md) | The method returns the indexed search path object defined for this project. |
| [DM_ServerDocument](#dm_serverdocument) | [IServerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md) |  |
| [DM_SetAllowPortNetNames](#dm_setallowportnetnames) | `void` | Invoke this method to allow port net names be used for navigation. |
| [DM_SetAllowSheetEntryNetNames](#dm_setallowsheetentrynetnames) | `void` | Invoke this method to allow sheet entry net names be used for navigation in Altium Designer. |
| [DM_SetAppendSheetNumberToLocalNets](#dm_setappendsheetnumbertolocalnets) | `void` | Invoke this method to have the ability to append sheet numbers to local nets on a document / project. |
| [DM_SetAsCurrentProject](#dm_setascurrentproject) | `void` | Invoke this method to set the project as the current project in Altium Designer. |
| [DM_SetCurrentProjectVariant](#dm_setcurrentprojectvariant) | `void` |  |
| [DM_SetDefaultConfigurationName](#dm_setdefaultconfigurationname) | `void` | The method sets the name for the default configuration of a FPGA project. |
| [DM_SetDefaultPcbType](#dm_setdefaultpcbtype) | `void` |  |
| [DM_SetErrorLevels](#dm_seterrorlevels) | `void` |  |
| [DM_SetHierarchyMode](#dm_sethierarchymode) | `void` | Invoke this method to set which hierarchy mode for this project. |
| [DM_SetLinkedManagedProjectGUID](#dm_setlinkedmanagedprojectguid) | `void` |  |
| [DM_SetManagedProjectGUID](#dm_setmanagedprojectguid) | `void` |  |
| [DM_SetOutputPath](#dm_setoutputpath) | `void` | Sets the output path for generated documents to go in by the Altium Designer output generator. |
| [DM_SetPinSwapBy_Netlabel](#dm_setpinswapby_netlabel) | `void` |  |
| [DM_SetPinSwapBy_Pin](#dm_setpinswapby_pin) | `void` |  |
| [DM_SetReleaseVaultGUID](#dm_setreleasevaultguid) | `void` |  |
| [DM_StartCrossProbing](#dm_startcrossprobing) | `void` | This method invokes the cross probing method. |
| [DM_StartNavigation](#dm_startnavigation) | `void` | This method invokes the navigation panel for the current project. |
| [DM_ToDoManager](#dm_todomanager) | [IToDoManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IToDoManager.md) | Invoke this method to have access to the [`IToDoManager`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IToDoManager.md) object. |
| [DM_TopLevelLogicalDocument](#dm_toplevellogicaldocument) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | This method returns the top level logical document of this current project. |
| [DM_TopLevelPhysicalDocument](#dm_toplevelphysicaldocument) | [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) | This method returns the top level physical document of this current project. |
| [DM_TryToResolveDocumentSpecialString](#dm_trytoresolvedocumentspecialstring) | `bool` |  |
| [DM_TryToResolveSpecialString](#dm_trytoresolvespecialstring) | `bool` |  |
| [DM_UpdateConstraints](#dm_updateconstraints) | `bool` | Invoke this method to update the constraint files used for a FPGA project and for corresponding PCB projects with FPGA components. |
| [DM_UserID](#dm_userid) | `string` | The method returns a value that represents the UserID of the project. |
| [DM_ViolationCount](#dm_violationcount) | `int` | This method returns the number of violations reported by Altium Designer for this current project. |
| [DM_Violations](#dm_violations) | [IViolation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IViolation.md) | Returns the indexed violation for a current project. |
| [GetNavigationHistory](#getnavigationhistory) | [INavigationHistory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/INavigationHistory.md) | This method returns the status of the navigation buttons on the Navigator panel for the current project in Altium Designer. |

### DM_AddConfiguration

*No description yet.*

```csharp
IConfiguration DM_AddConfiguration(string argConfiguration);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argConfiguration` | `string` | value |

**Returns:** [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_AddConfigurationParameters

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.

```csharp
void DM_AddConfigurationParameters(string argConfiguration);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argConfiguration` | `string` | value |

**Returns:** nothing (`void`)

### DM_AddConfigurationParameters_Physical

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.

```csharp
void DM_AddConfigurationParameters_Physical(string argConfiguration);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argConfiguration` | `string` | value |

**Returns:** nothing (`void`)

### DM_AddControlPanel

The method adds a document to the main section of the the panel which could be part of a project or free documents.

```csharp
void DM_AddControlPanel(string argFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFilename` | `string` | value |

**Returns:** nothing (`void`)

### DM_AddDeviceSheetFolder

*No description yet.*

```csharp
void DM_AddDeviceSheetFolder(string argFolderPath, bool argIncludeSubFolders);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFolderPath` | `string` | value |
| `argIncludeSubFolders` | `bool` | value |

**Returns:** nothing (`void`)

### DM_AddGeneratedDocument

This method adds a new generated document referenced by its filename parameter in this current project, and this document appears in theGenerated folder of this project on Altium Designer Projects panel.

```csharp
void DM_AddGeneratedDocument(string argFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFilename` | `string` | value |

**Returns:** nothing (`void`)

### DM_AddParameter

*No description yet.*

```csharp
void DM_AddParameter(string argName, string argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argName` | `string` | value |
| `argValue` | `string` | value |

**Returns:** nothing (`void`)

### DM_AddProjectVariant

*No description yet.*

```csharp
IProjectVariant DM_AddProjectVariant();
```

**Returns:** [IProjectVariant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md)

Extension method of `IProjectHelper` (`using EDP;`).

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L51), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L44)

### DM_AddSearchPath

This method adds a new serach path for the current project.

```csharp
void DM_AddSearchPath(string argSearchPath, bool argIncludeSubFolders);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argSearchPath` | `string` | value |
| `argIncludeSubFolders` | `bool` | value |

**Returns:** nothing (`void`)

### DM_AddSourceDocument

The method adds a source document referenced by its filename parameter in the current project.

```csharp
void DM_AddSourceDocument(string argFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFilename` | `string` | value |

**Returns:** nothing (`void`)

**Examples:** [Extension_CreateProject](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateProject/Source%20Code/Commands.cs#L41), [Extension_GenerateGerber](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_GenerateGerber/Source%20Code/Commands.cs#L38)

### DM_AvailableDatabaseLinks

*No description yet.*

```csharp
bool DM_AvailableDatabaseLinks();
```

**Returns:** `bool`

### DM_BeginUpdate

*No description yet.*

```csharp
void DM_BeginUpdate();
```

**Returns:** nothing (`void`)

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L36), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L50)

### DM_ChannelDesignatorFormat

This method 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.

```csharp
string DM_ChannelDesignatorFormat();
```

**Returns:** `string`

### DM_ChannelRoomLevelSeperator

The method 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).

```csharp
string DM_ChannelRoomLevelSeperator();
```

**Returns:** `string`

### DM_ChannelRoomNamingStyle

The method returns the [`TChannelRoomNamingStyle`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TChannelRoomNamingStyle.md) type. There are alternative styles for naming rooms on a PCB document.

```csharp
TChannelRoomNamingStyle DM_ChannelRoomNamingStyle();
```

**Returns:** [TChannelRoomNamingStyle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TChannelRoomNamingStyle.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_ClearViolations

The method clears all existing violations within the project.

```csharp
void DM_ClearViolations();
```

**Returns:** nothing (`void`)

### DM_Compile

Invoke this method 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.

```csharp
bool DM_Compile();
```

**Returns:** `bool`

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L34), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/ProjectBom.cs#L39), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L29), [Extension_HierarchicalDesign](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_HierarchicalDesign/Source%20Code/Commands.cs#L30), [Extension_TestPortHarnessDev](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_TestPortHarnessDev/Source%20Code/Commands.cs#L47)

### DM_CompileEx

Invoke this method to compile all documents of all opened projects in Altium Designer. Pass a Boolean parmeter in to cancel the compiling process.

```csharp
bool DM_CompileEx(bool argll, ref bool argCancelled);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argll` | `bool` | value |
| `argCancelled` | `bool` | ref |

**Returns:** `bool`

### DM_ComponentMappings

The method returns the IComponentMapping interface which details which PCB components are linked to Schematic components. Check the [`IComponentMappings`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IComponentMappings.md) interface.

```csharp
IComponentMappings DM_ComponentMappings(string argnImplementationDocument);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argnImplementationDocument` | `string` | value |

**Returns:** [IComponentMappings](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IComponentMappings.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_ComponentMappings_1

*No description yet.*

```csharp
IComponentMappings DM_ComponentMappings_1(string argSourceDocument, string argnImplementationDocument);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argSourceDocument` | `string` | value |
| `argnImplementationDocument` | `string` | value |

**Returns:** [IComponentMappings](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IComponentMappings.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_ConfigurationCount

The method returns the number of configurations for the current project. To be used in conjunction with [`DM_Configurations`](#dm_configurations) method.

```csharp
int DM_ConfigurationCount();
```

**Returns:** `int`

### DM_Configurations

The method returns the indexed configuration of a FPGA project. A configuration can have a list of different constraint files.

```csharp
IConfiguration DM_Configurations(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_CurrentProjectVariant

The method returns the current project variant from this current project. Check out the [`IProjectVariant`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md) interface.

```csharp
IProjectVariant DM_CurrentProjectVariant();
```

**Returns:** [IProjectVariant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md)

Extension method of `IProjectHelper` (`using EDP;`).

**Examples:** [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/ProjectBom.cs#L21), [Extension_GenerateGerber](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_GenerateGerber/Source%20Code/Commands.cs#L46)

### DM_DataModel

*No description yet.*

```csharp
IUnifiedDataModel DM_DataModel();
```

**Returns:** [IUnifiedDataModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IUnifiedDataModel.md)

Extension method of `IProjectHelper` (`using EDP;`).

**Examples:** [Extension_TestPortHarnessDev](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_TestPortHarnessDev/Source%20Code/Commands.cs#L48)

### DM_DeviceSheetFolderCount

*No description yet.*

```csharp
int DM_DeviceSheetFolderCount();
```

**Returns:** `int`

### DM_DeviceSheetFolders

*No description yet.*

```csharp
IDeviceSheetFolder DM_DeviceSheetFolders(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IDeviceSheetFolder](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDeviceSheetFolder.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_DoCrossSelection

Activates the cross probing method 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).

```csharp
void DM_DoCrossSelection();
```

**Returns:** nothing (`void`)

### DM_DocumentBackups

*No description yet.*

```csharp
IDocumentBackups DM_DocumentBackups();
```

**Returns:** [IDocumentBackups](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IDocumentBackups.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_DocumentFlattened

The method 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.

```csharp
IDocument DM_DocumentFlattened();
```

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L56), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/ProjectBom.cs#L41), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L53), [Extension_HierarchicalDesign](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_HierarchicalDesign/Source%20Code/Commands.cs#L34)

### DM_EditConfigurations

*No description yet.*

```csharp
bool DM_EditConfigurations();
```

**Returns:** `bool`

### DM_EditOptions

*No description yet.*

```csharp
bool DM_EditOptions(string argDefaultPage);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDefaultPage` | `string` | value |

**Returns:** `bool`

### DM_EndUpdate

*No description yet.*

```csharp
void DM_EndUpdate();
```

**Returns:** nothing (`void`)

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L83), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L77)

### DM_EnsureAllCachedManagedOutputJobs

*No description yet.*

```csharp
void DM_EnsureAllCachedManagedOutputJobs();
```

**Returns:** nothing (`void`)

### DM_EnsureStandardConfigurations

*No description yet.*

```csharp
void DM_EnsureStandardConfigurations();
```

**Returns:** nothing (`void`)

### DM_ErrorLevels

The method 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.

```csharp
TErrorLevel DM_ErrorLevels(TErrorKind argErrorKind);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argErrorKind` | [TErrorKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TErrorKind.md) | value |

**Returns:** [TErrorLevel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TErrorLevel.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GeneratedDocumentCount

The method returns the number of generated documents such as those documents generated by the OutPut generator (from a OutJob document). Use this method in conjunction with the [`DM_GeneratedDocuments`](#dm_generateddocuments) method.

```csharp
int DM_GeneratedDocumentCount();
```

**Returns:** `int`

### DM_GeneratedDocuments

The method returns the indexed generated document which is generated by the Output Generator.

```csharp
IDocument DM_GeneratedDocuments(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GetAllowPortNetNames

Invoke this method to check whether port net names are used for navigation in Altium Designer or not.

```csharp
bool DM_GetAllowPortNetNames();
```

**Returns:** `bool`

### DM_GetAllowSheetEntryNetNames

Invoke this method to check whether sheet entry net anmes are used for navigation in Altium Designer or not.

```csharp
bool DM_GetAllowSheetEntryNetNames();
```

**Returns:** `bool`

### DM_GetAppendSheetNumberToLocalNets

Invoke this method to check whether sheet numbers are appended to local nets or not.

```csharp
bool DM_GetAppendSheetNumberToLocalNets();
```

**Returns:** `bool`

### DM_GetConfigurationByName

The method 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.

```csharp
IConfiguration DM_GetConfigurationByName(string argConfiguration);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argConfiguration` | `string` | value |

**Returns:** [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GetDefaultConfiguration

The method returns the default configuration for a FPGA project.

```csharp
IConfiguration DM_GetDefaultConfiguration();
```

**Returns:** [IConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConfiguration.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GetDefaultConfigurationName

Returns the name of the default configuration for a FPGA project

```csharp
string DM_GetDefaultConfigurationName();
```

**Returns:** `string`

### DM_GetDefaultPcbType

*No description yet.*

```csharp
string DM_GetDefaultPcbType();
```

**Returns:** `string`

### DM_GetDocumentByDocumentId

*No description yet.*

```csharp
IDocument DM_GetDocumentByDocumentId(string argDocumentId);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDocumentId` | `string` | value |

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GetDocumentFromPath

This method returns the [`IDocument`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md) interface associated with the document path parameter. Otherwise a null value is returned.

```csharp
IDocument DM_GetDocumentFromPath(string argDocumentPath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDocumentPath` | `string` | value |

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GetLinkedManagedProjectGUID

*No description yet.*

```csharp
string DM_GetLinkedManagedProjectGUID();
```

**Returns:** `string`

### DM_GetOutputPath

The method returns the output path for generated documents for the current project.

```csharp
string DM_GetOutputPath();
```

**Returns:** `string`

### DM_GetPinSwapBy_Netlabel

*No description yet.*

```csharp
bool DM_GetPinSwapBy_Netlabel();
```

**Returns:** `bool`

### DM_GetPinSwapBy_Pin

*No description yet.*

```csharp
bool DM_GetPinSwapBy_Pin();
```

**Returns:** `bool`

### DM_GetReleaseVaultGUID

*No description yet.*

```csharp
string DM_GetReleaseVaultGUID();
```

**Returns:** `string`

### DM_GetScrapDocument

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.

```csharp
IDocument DM_GetScrapDocument(string argDocumentPath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argDocumentPath` | `string` | value |

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GetTopLevelDocumentStructure

*No description yet.*

```csharp
IDocumentStructure DM_GetTopLevelDocumentStructure();
```

**Returns:** [IDocumentStructure](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocumentStructure.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_GetWebURL

*No description yet.*

```csharp
string DM_GetWebURL(string argPage, string argOpenedFrom, bool argIncludeAuthToken);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPage` | `string` | value |
| `argOpenedFrom` | `string` | value |
| `argIncludeAuthToken` | `bool` | value |

**Returns:** `string`

### DM_GlobalPreferencesRevisionGUID

*No description yet.*

```csharp
string DM_GlobalPreferencesRevisionGUID();
```

**Returns:** `string`

### DM_GlobalPreferencesVaultGUID

*No description yet.*

```csharp
string DM_GlobalPreferencesVaultGUID();
```

**Returns:** `string`

### DM_HierarchyMode

This method returns the hierarchy mode as a [`TFlattenMode`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TFlattenMode.md) parameter.

```csharp
TFlattenMode DM_HierarchyMode();
```

**Returns:** [TFlattenMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TFlattenMode.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_HierarchyModeForCompile

*No description yet.*

```csharp
TFlattenMode DM_HierarchyModeForCompile();
```

**Returns:** [TFlattenMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TFlattenMode.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_InCompilation

*No description yet.*

```csharp
bool DM_InCompilation();
```

**Returns:** `bool`

### DM_IndexOfSourceDocument

The method returns the index of the source document based on the filename of this document. This is for hierarchical or connected schematic documents.

```csharp
int DM_IndexOfSourceDocument(string argFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFilename` | `string` | value |

**Returns:** `int`

### DM_InitializeOutputPath

Returns the output path for the Output Generator based on the output type.

```csharp
string DM_InitializeOutputPath(string argnOutputType);
```

| Parameter | Type | Passing | Description |
| --- | --- | --- | --- |
| `argnOutputType` | `string` | value | The output type. |

**Returns:** `string`

### DM_LogicalDocumentCount

The method 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 method in conjunction with the [`DM_LogicalDocuments`](#dm_logicaldocuments) method.

```csharp
int DM_LogicalDocumentCount();
```

**Returns:** `int`

**Examples:** [Ciiva](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Ciiva/Source%20Code/Commands.cs#L23)

### DM_LogicalDocuments

The method returns the indexed logical document of a project.

```csharp
IDocument DM_LogicalDocuments(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

**Examples:** [Ciiva](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Ciiva/Source%20Code/Commands.cs#L25)

### DM_ManagedParameterCount

*No description yet.*

```csharp
int DM_ManagedParameterCount();
```

**Returns:** `int`

### DM_ManagedParameters

*No description yet.*

```csharp
IParameter DM_ManagedParameters(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IParameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IParameter.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_ManagedProjectGUID

*No description yet.*

```csharp
string DM_ManagedProjectGUID();
```

**Returns:** `string`

### DM_MoveSourceDocument

The method re-assigns the source document referenced by the filename a new index number.

```csharp
void DM_MoveSourceDocument(string argFilename, int argNewIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFilename` | `string` | value |
| `argNewIndex` | `int` | value |

**Returns:** nothing (`void`)

### DM_NeedsCompile

*No description yet.*

```csharp
bool DM_NeedsCompile();
```

**Returns:** `bool`

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L33), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/ProjectBom.cs#L38), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L28), [Extension_HierarchicalDesign](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_HierarchicalDesign/Source%20Code/Commands.cs#L29), [Extension_TestPortHarnessDev](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_TestPortHarnessDev/Source%20Code/Commands.cs#L46)

### DM_OptionsStorage

*No description yet.*

```csharp
IOptionsStorage DM_OptionsStorage();
```

**Returns:** [IOptionsStorage](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IOptionsStorage.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_Outputers

The method returns the indexed Output Generator. An output generator could be a Simple BOM.

```csharp
IOutputer DM_Outputers(string argName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argName` | `string` | value |

**Returns:** [IOutputer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputer.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_OwnedProjectCount

*No description yet.*

```csharp
int DM_OwnedProjectCount();
```

**Returns:** `int`

### DM_OwnedProjects

*No description yet.*

```csharp
IProject DM_OwnedProjects(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IProject](#)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_PhysicalDocumentCount

The method returns the number of physical source documents (which are expanded logical documents of the design project). Source documents are usually schematic documents. Use this method in conjunction with the [`DM_PhysicalDocuments`](#dm_physicaldocuments) method.

```csharp
int DM_PhysicalDocumentCount();
```

**Returns:** `int`

### DM_PhysicalDocuments

The method returns the indexed physical document of a project.

```csharp
IDocument DM_PhysicalDocuments(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_PrimaryImplementationDocument

The method returns the primary implementation document for example PCB documents. Source documents are Schematic documents for example.

```csharp
IDocument DM_PrimaryImplementationDocument();
```

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_ProjectFileName

This method returns the file name of this current project in Altium Designer.

```csharp
string DM_ProjectFileName();
```

**Returns:** `string`

### DM_ProjectFullPath

This method returns the full path of this current project in Altium Designer.

```csharp
string DM_ProjectFullPath();
```

**Returns:** `string`

### DM_ProjectTemplateLocation

*No description yet.*

```csharp
string DM_ProjectTemplateLocation();
```

**Returns:** `string`

### DM_ProjectVariantCount

The method returns the number of project variants for this current project.

```csharp
int DM_ProjectVariantCount();
```

**Returns:** `int`

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L40), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L33)

### DM_ProjectVariants

The method returns the indexed [`IProjectVariant`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md) 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.

```csharp
IProjectVariant DM_ProjectVariants(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IProjectVariant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md)

Extension method of `IProjectHelper` (`using EDP;`).

This is to be used in conjunction with the [`DM_ProjectVariantCount`](#dm_projectvariantcount) method.

**Examples:** [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L42), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L35)

### DM_RefreshInWorkspaceForm

*No description yet.*

```csharp
void DM_RefreshInWorkspaceForm();
```

**Returns:** nothing (`void`)

**Examples:** [Extension_RefreshDocument](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_RefreshDocument/Source%20Code/Commands.cs#L63)

### DM_ReleaseProjectCopy

*No description yet.*

```csharp
IProject DM_ReleaseProjectCopy();
```

**Returns:** [IProject](#)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_RemoveAllConfigurations

*No description yet.*

```csharp
bool DM_RemoveAllConfigurations();
```

**Returns:** `bool`

### DM_RemoveConfigurationByName

*No description yet.*

```csharp
bool DM_RemoveConfigurationByName(string argConfiguration);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argConfiguration` | `string` | value |

**Returns:** `bool`

### DM_RemoveProjectVariant

*No description yet.*

```csharp
void DM_RemoveProjectVariant(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** nothing (`void`)

### DM_RemoveSourceDocument

This method removes a source document referenced by its filename from this current project.

```csharp
void DM_RemoveSourceDocument(string argFilename);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFilename` | `string` | value |

**Returns:** nothing (`void`)

**Examples:** [Extension_GenerateGerber](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_GenerateGerber/Source%20Code/Commands.cs#L66)

### DM_ReportSuppressedErrorsInMessages

*No description yet.*

```csharp
bool DM_ReportSuppressedErrorsInMessages();
```

**Returns:** `bool`

### DM_ResetReleaseProject

*No description yet.*

```csharp
void DM_ResetReleaseProject();
```

**Returns:** nothing (`void`)

### DM_SearchPathCount

The method returns the number of search paths for this current project. Use this method in conjunction with the [`DM_SearchPaths`](#dm_searchpaths) method.

```csharp
int DM_SearchPathCount();
```

**Returns:** `int`

### DM_SearchPaths

The method returns the indexed search path object defined for this project.

```csharp
ISearchPath DM_SearchPaths(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [ISearchPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ISearchPath.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_ServerDocument

*No description yet.*

```csharp
IServerDocument DM_ServerDocument();
```

**Returns:** [IServerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_SetAllowPortNetNames

Invoke this method to allow port net names be used for navigation.

```csharp
void DM_SetAllowPortNetNames(bool argAllow);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argAllow` | `bool` | value |

**Returns:** nothing (`void`)

### DM_SetAllowSheetEntryNetNames

Invoke this method to allow sheet entry net names be used for navigation in Altium Designer.

```csharp
void DM_SetAllowSheetEntryNetNames(bool argAllow);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argAllow` | `bool` | value |

**Returns:** nothing (`void`)

### DM_SetAppendSheetNumberToLocalNets

Invoke this method to have the ability to append sheet numbers to local nets on a document / project.

```csharp
void DM_SetAppendSheetNumberToLocalNets(bool argAppend);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argAppend` | `bool` | value |

**Returns:** nothing (`void`)

### DM_SetAsCurrentProject

Invoke this method to set the project as the current project in Altium Designer.

```csharp
void DM_SetAsCurrentProject();
```

**Returns:** nothing (`void`)

### DM_SetCurrentProjectVariant

*No description yet.*

```csharp
void DM_SetCurrentProjectVariant(IProjectVariant argProjVariant);
void DM_SetCurrentProjectVariant(object argProjVariant);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argProjVariant` | [IProjectVariant](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IProjectHelper` (`using EDP;`) with typed parameters; the second is declared by the interface.

### DM_SetDefaultConfigurationName

The method sets the name for the default configuration of a FPGA project.

```csharp
void DM_SetDefaultConfigurationName(string argConfiguration);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argConfiguration` | `string` | value |

**Returns:** nothing (`void`)

### DM_SetDefaultPcbType

*No description yet.*

```csharp
void DM_SetDefaultPcbType(string argPcbType);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPcbType` | `string` | value |

**Returns:** nothing (`void`)

### DM_SetErrorLevels

*No description yet.*

```csharp
void DM_SetErrorLevels(TErrorKind argErrorKind, TErrorLevel argErrorLevel);
void DM_SetErrorLevels(int argErrorKind, int argErrorLevel);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argErrorKind` | [TErrorKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TErrorKind.md) | value |
| `argErrorLevel` | [TErrorLevel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/TErrorLevel.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IProjectHelper` (`using EDP;`) with typed parameters; the second is declared by the interface.

### DM_SetHierarchyMode

Invoke this method to set which hierarchy mode for this project. It can be one of the following modes: eFlatten_Smart,eFlatten_Flat,eFlatten_Hierarchical,eFlatten_Global

```csharp
void DM_SetHierarchyMode(TFlattenMode argFlatten);
void DM_SetHierarchyMode(int argFlatten);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFlatten` | [TFlattenMode](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/TFlattenMode.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IProjectHelper` (`using EDP;`) with typed parameters; the second is declared by the interface.

### DM_SetLinkedManagedProjectGUID

*No description yet.*

```csharp
void DM_SetLinkedManagedProjectGUID(string argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `string` | value |

**Returns:** nothing (`void`)

### DM_SetManagedProjectGUID

*No description yet.*

```csharp
void DM_SetManagedProjectGUID(string argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `string` | value |

**Returns:** nothing (`void`)

### DM_SetOutputPath

Sets the output path for generated documents to go in by the Altium Designer output generator.

```csharp
void DM_SetOutputPath(string argnOutputPath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argnOutputPath` | `string` | value |

**Returns:** nothing (`void`)

### DM_SetPinSwapBy_Netlabel

*No description yet.*

```csharp
void DM_SetPinSwapBy_Netlabel(bool argAllow);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argAllow` | `bool` | value |

**Returns:** nothing (`void`)

### DM_SetPinSwapBy_Pin

*No description yet.*

```csharp
void DM_SetPinSwapBy_Pin(bool argAllow);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argAllow` | `bool` | value |

**Returns:** nothing (`void`)

### DM_SetReleaseVaultGUID

*No description yet.*

```csharp
void DM_SetReleaseVaultGUID(string argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argValue` | `string` | value |

**Returns:** nothing (`void`)

### DM_StartCrossProbing

This method invokes the cross probing method. Both source and primary implementation documents need to be open in Altium Designer in order for the cross probing to work.

```csharp
void DM_StartCrossProbing(bool argCtrlDoesSwitch);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argCtrlDoesSwitch` | `bool` | value |

**Returns:** nothing (`void`)

### DM_StartNavigation

This method invokes the navigation panel for the current project. The project needs to be compiled first.

```csharp
void DM_StartNavigation();
```

**Returns:** nothing (`void`)

### DM_ToDoManager

Invoke this method to have access to the [`IToDoManager`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IToDoManager.md) object. This ToDo manager allows you to define to dos for your current project.

```csharp
IToDoManager DM_ToDoManager();
```

**Returns:** [IToDoManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IToDoManager.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_TopLevelLogicalDocument

This method 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.

```csharp
IDocument DM_TopLevelLogicalDocument();
```

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_TopLevelPhysicalDocument

This method returns the top level physical document of this current project. A physical document usually is a PCB document.

```csharp
IDocument DM_TopLevelPhysicalDocument();
```

**Returns:** [IDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md)

Extension method of `IProjectHelper` (`using EDP;`).

### DM_TryToResolveDocumentSpecialString

*No description yet.*

```csharp
bool DM_TryToResolveDocumentSpecialString(string argName, string argDocumentFileName, out string argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argName` | `string` | value |
| `argDocumentFileName` | `string` | value |
| `argValue` | `string` | out |

**Returns:** `bool`

### DM_TryToResolveSpecialString

*No description yet.*

```csharp
bool DM_TryToResolveSpecialString(string argName, out string argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argName` | `string` | value |
| `argValue` | `string` | out |

**Returns:** `bool`

### DM_UpdateConstraints

Invoke this method to update the constraint files used for a FPGA project and for corresponding PCB projects with FPGA components.

```csharp
bool DM_UpdateConstraints();
```

**Returns:** `bool`

### DM_UserID

The method returns a value that represents the UserID of the project.

```csharp
string DM_UserID();
```

**Returns:** `string`

### DM_ViolationCount

This method returns the number of violations reported by Altium Designer for this current project.

```csharp
int DM_ViolationCount();
```

**Returns:** `int`

### DM_Violations

Returns the indexed violation for a current project. This is to be used in conjunction with the [`DM_ViolationCount`](#dm_violationcount) method.

```csharp
IViolation DM_Violations(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IViolation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IViolation.md)

Extension method of `IProjectHelper` (`using EDP;`).

### GetNavigationHistory

This method returns the status of the navigation buttons on the Navigator panel for the current project in Altium Designer. Check out [`INavigationHistory`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/INavigationHistory.md) interface for details.

```csharp
INavigationHistory GetNavigationHistory();
```

**Returns:** [INavigationHistory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/INavigationHistory.md)

Extension method of `IProjectHelper` (`using EDP;`).

## Inherited members

- From [IDMObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md): [DM_CalculateParameterValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_calculateparametervalue), [DM_CurrentSheetInstanceNumber](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_currentsheetinstancenumber), [DM_FullCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_fullcrossprobestring), [DM_GeneralField](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_generalfield), [DM_GetVCSProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_getvcsproject), [DM_ImageIndex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_imageindex), [DM_IsFormulaString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_isformulastring), [DM_IsInferredObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_isinferredobject), [DM_LocationString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationstring), [DM_LocationX](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationx), [DM_LocationY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationy), [DM_LongDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_longdescriptorstring), [DM_NetIndex_Flat](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_flat), [DM_NetIndex_Sheet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_sheet), [DM_NetIndex_SubNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_subnet), [DM_ObjectKindString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_objectkindstring), [DM_ObjectKindStringForCrossProbe](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_objectkindstringforcrossprobe), [DM_OwnerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocument), [DM_OwnerDocumentFullPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocumentfullpath), [DM_OwnerDocumentName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocumentname), [DM_ParameterCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_parametercount), [DM_Parameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_parameters), [DM_PcbHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbhandle), [DM_PCBObjectHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbobjecthandle), [DM_PCBObjectInterface](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbobjectinterface), [DM_PrimaryCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_primarycrossprobestring), [DM_SchHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schhandle), [DM_SCHObjectHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schobjecthandle), [DM_SCHObjectInterface](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schobjectinterface), [DM_SecondaryCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_secondarycrossprobestring), [DM_SetVCSProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_setvcsproject), [DM_SheetIndex_Logical](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_sheetindex_logical), [DM_SheetIndex_Physical](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_sheetindex_physical), [DM_ShortDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_shortdescriptorstring), [DM_ValidForNavigation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_validfornavigation), [DM_VHDLEntity](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_vhdlentity)

## Returned by

[IDocument.DM_Project](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDocument.md#dm_project), [IOutputGenerator.GetProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputGenerator.md#getproject), [IProjectVariant.DM_Project](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProjectVariant.md#dm_project), [ISearchPath.DM_Project](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/ISearchPath.md#dm_project), [IVaultConfigurationReleaseManager.DM_CurrentProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IVaultConfigurationReleaseManager.md#dm_currentproject), [IWorkspace.DM_FocusedProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_focusedproject), [IWorkspace.DM_FreeDocumentsProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_freedocumentsproject), [IWorkspace.DM_GetProjectFromPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_getprojectfrompath), [IWorkspace.DM_LoadProjectHidden](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_loadprojecthidden), [IWorkspace.DM_OpenProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_openproject), [IWorkspace.DM_Projects](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_projects), [IDeviceLink.GetFPGAProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceLink.md#getfpgaproject), [IDeviceLink.GetProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceLink.md#getproject), [IDeviceSheetManager.GetCurrentProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceSheetManager.md#getcurrentproject), [INexusCore.GetEmbeddedProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusCore.md#getembeddedproject), [INexusCore.GetFPGAProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusCore.md#getfpgaproject), [INexusWorkbench.GetProjectFromDevice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusWorkbench.md#getprojectfromdevice), [IPCBProjectLink.GetProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IPCBProjectLink.md#getproject), [IProjectLink.GetProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IProjectLink.md#getproject)

## Accepted by

[IBomManagerFactory.GetManagerForProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IBomManagerFactory.md#getmanagerforproject), [IBomManagerFactory.GetManagerForProjectPcb](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IBomManagerFactory.md#getmanagerforprojectpcb), [IChangeManager.DM_SetProject1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IChangeManager.md#dm_setproject1), [IChangeManager.DM_SetProject2](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IChangeManager.md#dm_setproject2), [IOutputGenerator.Initialize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IOutputGenerator.md#initialize), [IReleaseManager.GetAllReleasesBasePath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IReleaseManager.md#getallreleasesbasepath), [IVaultConfigurationReleaseManager.DM_Reload](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IVaultConfigurationReleaseManager.md#dm_reload), [IVaultConfigurationReleaseManager.DM_Reload_1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IVaultConfigurationReleaseManager.md#dm_reload_1), [IWorkspace.DM_GetVaultReleaseManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_getvaultreleasemanager), [IWorkspace.DM_Navigation_OpenHostDocuments](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IWorkspace.md#dm_navigation_openhostdocuments), [IEmbeddedMemories.FromEmbeddedProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemories.md#fromembeddedproject), [IEmbeddedMemories.FromEmbeddedProjectDefault](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemories.md#fromembeddedprojectdefault), [IEmbeddedMemory.GetHexFileName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemory.md#gethexfilename), [IEmbeddedMemoryManager.EmbeddedProjectHasExistingMemoryConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemoryManager.md#embeddedprojecthasexistingmemoryconfiguration), [IEmbeddedMemoryManager.EraseEmbeddedProjectMemoryConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemoryManager.md#eraseembeddedprojectmemoryconfiguration), [IEmbeddedMemoryManager.GetToolchainNameFromEmbeddedProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedMemoryManager.md#gettoolchainnamefromembeddedproject), [IEmbeddedModule.CompileAGUIDesign](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IEmbeddedModule.md#compileaguidesign), [IMemoryDownloader.DownloadProgramMemory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IMemoryDownloader.md#downloadprogrammemory), [IMemoryDownloader.GetNewestFileDateTime](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IMemoryDownloader.md#getnewestfiledatetime), [IMemoryDownloader.SetupProgramMemory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IMemoryDownloader.md#setupprogrammemory), [IMemoryDownloader.VerifyProgramMemory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/embedded/IMemoryDownloader.md#verifyprogrammemory), [IImporterFile.Import](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IImporterFile.md#import), [IPCB_Board3DModelExporter.ExportBoard3DModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board3DModelExporter.md#exportboard3dmodel), [IPCB_Board3DModelExporter.ExportBoard3DModelToOCCDoc](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board3DModelExporter.md#exportboard3dmodeltooccdoc), [IPCB_ModelOptions.GetSearchPaths](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ModelOptions.md#getsearchpaths), [IDeviceSheetManager.MakeCurrentProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IDeviceSheetManager.md#makecurrentproject), [IHardDeviceLink.SetHardDeviceProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IHardDeviceLink.md#setharddeviceproject), [IIntegratedLibraryManager.CreateIntegratedLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IIntegratedLibraryManager.md#createintegratedlibrary), [IIntegratedLibraryManager.MakeCurrentProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IIntegratedLibraryManager.md#makecurrentproject), [INexusDevice.ConfigureFpgaProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusDevice.md#configurefpgaproject), [INexusDriver.ConfigureFpgaProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusDriver.md#configurefpgaproject), [INexusWorkbench.GetCoreFromDesignator](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/INexusWorkbench.md#getcorefromdesignator), [ISimProbeManager.LoadFromProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/ISimProbeManager.md#loadfromproject), [IVHDLSynthesizer.VHDL_GetCoreFileExtension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IVHDLSynthesizer.md#vhdl_getcorefileextension), [IVHDLSynthesizer.VHDL_GetCurrentSynthesizer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IVHDLSynthesizer.md#vhdl_getcurrentsynthesizer), [IVHDLSynthesizer.VHDL_GetOutputFileExtension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IVHDLSynthesizer.md#vhdl_getoutputfileextension), [IVHDLSynthesizer.VHDL_GetOutputPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IVHDLSynthesizer.md#vhdl_getoutputpath), [IVHDLSynthesizer.VHDL_GetReportFile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IVHDLSynthesizer.md#vhdl_getreportfile), [IVHDLSynthesizer.VHDL_GetToolchainRootPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IVHDLSynthesizer.md#vhdl_gettoolchainrootpath), [IVHDLSynthesizer.VHDL_GetTopLevelExtension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/sch/IVHDLSynthesizer.md#vhdl_gettoplevelextension), and 6 more.

## Examples

Used in the SDK examples: [Ciiva](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Ciiva/Source%20Code/CiivaBOMDocument.cs#L16), [Ciiva](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Ciiva/Source%20Code/Commands.cs#L20), [Extension_AddVariant](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_AddVariant/Source%20Code/Commands.cs#L29), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/BomManager.cs#L13), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/Commands.cs#L65), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/IBomManager.cs#L13), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/ProjectBom.cs#L12), [Extension_BOMManager](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_BOMManager/Source%20Code/SchemaBom.cs#L15), [Extension_CreateProject](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateProject/Source%20Code/Commands.cs#L37), [Extension_CreateVariantComponent](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_CreateVariantComponent/Source%20Code/Commands.cs#L26), [Extension_HierarchicalDesign](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_HierarchicalDesign/Source%20Code/Commands.cs#L28), [Extension_RefreshDocument](https://github.com/AltiumDeveloper/ad-sdk-examples/blob/5b144f54740a53ec578b3b6c3f902b831e0b1144/Extension_RefreshDocument/Source%20Code/Commands.cs#L58).
