Skip to main content
View as Markdown

IClient interface

A plug-in module loaded in Altium Designer has hooks to the single executable subsystem, so you have access to the specific documents and launch commands on these documents.

public interface IClient

Namespace: DXP · Assembly: Altium.SDK.Interfaces

Properties​

PropertyTypeAccessDescription
AccessFeaturesInDevelopmentboolget
CurrentViewIServerDocumentViewget; setThis property returns the current document view interface which represents the current design document view in Altium Designer.
PreferencesChangedboolget; set

AccessFeaturesInDevelopment​

No description yet.

bool GetState_AccessFeaturesInDevelopment();

Type: bool · Access: read-only

CurrentView​

This property returns the current document view interface which represents the current design document view in Altium Designer.

IServerDocumentView GetCurrentView();
void SetCurrentView(IServerDocumentView argValue);

Type: IServerDocumentView · Access: read/write

The accessors are extension methods of IClientHelper (using DXP;).

SendMessage Example

CurrentView example

ViewName example

This code snippet uses the Client.CurrentView.ViewName method to find out the current document's type.

See also: IServerDocumentView

Examples: Extension_CreatePCBLib, Extension_GenerateGerber, Extension_PCBToImage, Extension_PlaceDeviceSheet

PreferencesChanged​

No description yet.

bool GetPreferencesChanged();
void SetPreferencesChanged(bool argValue);

Type: bool · Access: read/write

Methods​

MethodReturnsDescription
AddServerViewvoidThis method adds a document view such as a custom panel in the Client object within Altium Designer.
AddViewToFavoritesbool
ApplicationIdlevoidWhen the ApplicationIdle method is invoked, the method puts the Altium Designer in a mode where it has a chance to process Window and Altium Designer specific messages.
ArePreferencesReadOnlybool
BeginDisableInterfacevoidThese BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client need to be disabled, for example there might be extensive processing going on, and you do not…
BeginDocumentLoadvoidThe BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer.
BeginRecoverySavevoidThe BeginRecoverySave and EndRecoverySave properties can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer.
BroadcastNotificationvoidThis method broadcasts a notification message in Altium Designer where all active design documents / servers have an opportunity to respond.
BroadcastNotificationAsynchronouslyvoid
CloseDocumentvoidCloses the specified document (if it is loaded and opened in Altium Designer already).
DisableServerNotificationHandlervoid
DispatchNotificationvoidThis method dispatches a notification message to the targeted server in Altium Designer.
DisplayDocsTogetherForComparevoid
DisplaySplashScreenvoid
EndDisableInterfacevoidThese BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client needs to be disabled, for example there might be extensive processing going on, and you do no…
EndDocumentLoadvoidThe BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer.
EndRecoverySavevoidThe BeginRecoverySave and EndRecoverySave methods can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer.
GetApplicationHandleintYou can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's…
GetBomManagerFactoryIBomManagerFactory
GetClientAPIIClientAPI_Interface
GetCommandLauncherICommandLauncherThis method fetches the ICommandLauncher interface which represents Client's process launcher which can be used to launch a server process and its parameters.
GetCountintThis method returns the number of active (loaded) servers in a current session of Altium Designer.
GetDefaultExtensionForDocumentKindstringThis method returns the default extension for the specific document kind based on the document kind parameter.
GetDocumentByPathIServerDocumentThis method fetches the full file path to a design document and if the path is valid, an IServerDocument object interface is returned representing the whole design document and its panels.
GetDocumentCaptionFromDocumentKindstring
GetDocumentCaptionFromDocumentPathstring
GetDocumentKindFromDocumentFileNamestring
GetDocumentKindFromDocumentPathstringThis method returns the document kind based on the valid and full document path.
GetDocumentKindFromDocumentPathExstring
GetDocumentPreviewHintIDocumentPreviewHint
GetDocumentPreviewManagerIDocumentPreviewManager
GetDXPAltiumPortalIDXPAltiumPortal
GetDXPSplashIDXPSplash
GetDXPUrlCommandDatabool
GetDXPWorkspaceIDXPWorkSpace
GetDynamicHelpManagerIDynamicHelpManagerThe method returns the Dynamic Help manager which represents the Knowledge Center panel in Altium Designer.
GetGlobalPreferencesRevisionGUIDstring
GetGlobalPreferencesVaultGUIDstring
GetGUIManagerIGUIManagerReturns the GUI Manager interface.
GetInternalOptionsIInternalOptions
GetLayoutSaveLoadManagerISaveLoadLayout
GetLicenseManagerILicenseManager
GetMacroManagerIMacroManager
GetMainWindowHandleuintYou can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's…
GetNavigationSystemINavigationSystemThe method returns the Navigation system interface.
GetOptionsManagerIOptionsManagerThis method retrieves the IOptionsManager interface.
GetOptionsSetIDocumentOptionsSetThis method returns you the indexed Options set (IDocumentOptionsSet type).
GetOptionsSetByNameIDocumentOptionsSetThis method retrieves the IDocumentOptionsSet interface based on the valid Name string.
GetOptionsSetCountintThis method returns you the number of Options Set.
GetPanelInfoByNameIServerPanelInfoThis method obtains the IServerPanelInfo interface for the specified panel.
GetPluginsRegistryIPluginsRegistry
GetProcessControlIProcessControlReturns the Process Control interface.
GetProductNamestring
GetProductVersionstring
GetRealMainWindowHandleUIntPtrThe method returns the window handle of the main window in Altium Designer.
GetSceneManagerISceneManager
GetSearchManagerISearchManager
GetSecurityManagerISecurityManager
GetSecurityServerManagerISecurityServerManager
GetServerModuleIServerModuleThe ServerModule property is used in conjunction with the Count property to retrieve active (loaded) servers.
GetServerModuleByNameIServerModuleReturns the server module interface depending on the validity of the module name.
GetServerNameByPLIDstringThis method returns you the server name based on the PLID identifier string (a string extracted from the server's resources file).
GetServerRecordIServerRecordThe GetServerRecord method reports the number of installed servers based on the installation *.INS files in the System folder of Altium Designer installation).
GetServerRecordByFeatureIServerRecord
GetServerRecordByNameIServerRecordReturns the IServerRecord interface for a server module name.
GetServerRecordCountintThis method returns the number of server records that represent the server installation files found in the \System\ folder of the Altium Designer software installation.
GetServerViewFromNameIServerViewThis method returns the server view object interface depending on the name of the server view.
GetTechnologySetsstring
GetTechnologySubscriptionExpirationDatedouble
GetTimerManagerITimerManagerThis property returns the timer manager object interface.
GetVersionstring
GetWindowKindByNameIServerWindowKindReturns the IServerWindowKind interface for a window kind name.
HandleExceptionvoid
HideDocumentvoidThis method hides the document, ie puts it out of focus but not closed or destroyed.
InRecoverySaveboolThis method checks whether Altium Designer is in the process of Recovery Save mode, before you can invoke the BeginRecoverySave or EndRecoverySave methods.
InTestModebool
IsDocumentOfKindbool
IsDocumentOpenboolReturns a boolean value whether the document is open in Altium Designer or not.
IsInitializedbool
IsQuittingboolReturns a boolean value that represents the state Altium Designer is in: true if Altium Designer is about to quit or in the process of quitting, false if Altium Designer is still active.
LastActiveDocumentOfTypeIServerDocumentThis method returns the last active loaded document in Altium Designer by the document type.
LicenseInfoStillValidbool
LoadCustomizationsFromFilevoid
LoadCustomizationsFromFileByModevoid
LoadCustomizationsFromPathvoid
LoadGlobalPreferencesFromVaultvoid
OpenDocumentIServerDocumentThe OpenDocument method returns the IServerDocument interface depending on the DocumentKind and FileName values of this document are valid.
OpenDocumentShowOrHideIServerDocumentThis method opens a specific document but you can control how it is displayed in the Altium Designer workspace.
OpenNewDocumentIServerDocument
ProductInfoIProductInfo
QuerySystemFontvoidQuery the system font used.
RegisterFilteredNotificationHandlervoid
RegisterNotificationHandlervoidThe RegisterNotificationHandler method registers the notification handler in the Client module part of Altium Designer once the server object is created and loaded in computer memory.
RegisterServerNotificationHandlervoid
ReleaseGlobalPreferencesToVaultvoid
RemoveServerViewvoidThis method removes a server view (representing a server document window) from Altium Designer.
SaveCustomizationsForExportstring
ShowDocumentvoidDisplays the design document in Altium Designer.
ShowDocumentDontFocusvoidDisplays the design document but leaves the previously focussed document in focus.
StartServerboolThe StartServer and StopServer properties can be used to load a server in Altium Designer if it has not already, before you can invoke this server's processes and to stop this server once you have do…
StartSuspendTestModevoid
StopServerboolThe StartServer and StopServer properties can be used to load a server in Altium Designer if it has not loaded already, before you can invoke this server's processes and to stop this server once you…
StopSuspendTestModevoid
UnregisterNotificationHandlervoidThe UnregisterNotificationHandler method un registers the notification handler from Client once the server object goes out of scope (destroyed).
UnregisterServerNotificationHandlervoid

AddServerView​

This method adds a document view such as a custom panel in the Client object within Altium Designer. In the TServerModule constructor, where the server commands are registered, this is the place to create global panel views. The TServerModule.CreateServerViews method will have the global panel form and the view created from this panel form. Then the view is added to the server module (TServerModule.AddView()) as well as in the client object (Client.AddServerView).

void AddServerView(IServerView argView);
void AddServerView(object argView);
ParameterTypePassing
argViewIServerViewvalue

Returns: nothing (void)

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

See also: IServerView

Examples: Extension_WebBrowserPanel

AddViewToFavorites​

No description yet.

bool AddViewToFavorites(IServerDocumentView argView, bool argIsSnippet);
bool AddViewToFavorites(object argView, bool argIsSnippet);
ParameterTypePassing
argViewIServerDocumentViewvalue
argIsSnippetboolvalue

Returns: bool

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

ApplicationIdle​

When the ApplicationIdle method is invoked, the method puts the Altium Designer in a mode where it has a chance to process Window and Altium Designer specific messages.

void ApplicationIdle();

Returns: nothing (void)

ArePreferencesReadOnly​

No description yet.

bool ArePreferencesReadOnly(string argServerName, string argFormName);
ParameterTypePassing
argServerNamestringvalue
argFormNamestringvalue

Returns: bool

BeginDisableInterface​

These BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client need to be disabled, for example there might be extensive processing going on, and you do not want the user's intervention.

void BeginDisableInterface();

Returns: nothing (void)

See also: IClient.EndDisableInterface

BeginDocumentLoad​

The BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer.

void BeginDocumentLoad();

Returns: nothing (void)

See also: IClient.EndDocumentLoad

BeginRecoverySave​

The BeginRecoverySave and EndRecoverySave properties can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer. To check if the recovery save process is in progress, invoke the InRecoverySave method.

void BeginRecoverySave();

Returns: nothing (void)

See also: IClient.EndRecoverySave, IClient.InRecoverySave

BroadcastNotification​

This method broadcasts a notification message in Altium Designer where all active design documents / servers have an opportunity to respond. A BoardcastNotification is a DispatchNotification (null, ANotification); There are five types of Notification interfaces; ISystemNotification, IDocumentNotification, IDocumentFormNotification, IViewNotification and IModuleNotification.

void BroadcastNotification(INotification argNotification);
void BroadcastNotification(object argNotification);
ParameterTypePassing
argNotificationINotificationvalue

Returns: nothing (void)

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

See also: INotification

Examples: Extension_SetGroupingInDocumentsBar

BroadcastNotificationAsynchronously​

No description yet.

void BroadcastNotificationAsynchronously(INotification argNotification);
void BroadcastNotificationAsynchronously(object argNotification);
ParameterTypePassing
argNotificationINotificationvalue

Returns: nothing (void)

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

Examples: Extension_TestNotification

CloseDocument​

Closes the specified document (if it is loaded and opened in Altium Designer already). Note the document is not removed from Altium Designer, that is, the document still exists on the Projects panel for example.

void CloseDocument(IServerDocument argDocument);
void CloseDocument(object argDocument);
ParameterTypePassingDescription
argDocumentIServerDocumentvalueThe document to close.

Returns: nothing (void)

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

See also: IClient.OpenDocument

Examples: Extension_GenerateGerber, Extension_PcbLibToImage

DisableServerNotificationHandler​

No description yet.

void DisableServerNotificationHandler(IServerModule argHandler);
void DisableServerNotificationHandler(object argHandler);
ParameterTypePassing
argHandlerIServerModulevalue

Returns: nothing (void)

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

DispatchNotification​

This method dispatches a notification message to the targeted server in Altium Designer. There are four types of Notification interfaces; IDocumentNotification, IDocumentFormNotification, IViewNotification and IModuleNotification.

void DispatchNotification(IServerModule argServerModule, INotification argNotification);
void DispatchNotification(object argServerModule, object argNotification);
ParameterTypePassing
argServerModuleIServerModulevalue
argNotificationINotificationvalue

Returns: nothing (void)

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

See also: INotification

DisplayDocsTogetherForCompare​

No description yet.

void DisplayDocsTogetherForCompare();

Returns: nothing (void)

DisplaySplashScreen​

No description yet.

void DisplaySplashScreen(string argImagePath, int argFadeInMillis, int argDisplayMillis, int argFadeOutMillis, int argAlphaStep);
ParameterTypePassing
argImagePathstringvalue
argFadeInMillisintvalue
argDisplayMillisintvalue
argFadeOutMillisintvalue
argAlphaStepintvalue

Returns: nothing (void)

EndDisableInterface​

These BeginDisableInterface and EndDisableInterface methods are invoked when the User Interface of Client needs to be disabled, for example there might be extensive processing going on, and you do not want the user's intervention. This is a Altium Designer wide method.

void EndDisableInterface();

Returns: nothing (void)

See also: IClient.BeginDisableInterface

EndDocumentLoad​

The BeginDocumentLoad and EndDocumentLoad methods are used to load a group of documents in Altium Designer.

void EndDocumentLoad(bool argShow);
ParameterTypePassing
argShowboolvalue

Returns: nothing (void)

See also: IClient.BeginDocumentLoad

EndRecoverySave​

The BeginRecoverySave and EndRecoverySave methods can be used to suppress the client notification of document name changes when doing a backup of a current design document in Altium Designer.

void EndRecoverySave();

Returns: nothing (void)

To check if the recovery save is in progress, invoke the InRecoverySave method.

See also: IClient.BeginRecoverySave, IClient.InRecoverySave

GetApplicationHandle​

You can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's icon and appear as one whole application on the task bar.

int GetApplicationHandle();

Returns: int

This ApplicationHandle property can be passed as a parameter for the create constructor of the dialog. The GetMainWindowHandle method is its equivalent.

See also: IClient.GetMainWindowHandle

GetBomManagerFactory​

No description yet.

IBomManagerFactory GetBomManagerFactory();

Returns: IBomManagerFactory

Extension method of Utils (using DXP;).

GetClientAPI​

No description yet.

IClientAPI_Interface GetClientAPI();

Returns: IClientAPI_Interface

Extension method of IClientHelper (using DXP;).

Examples: Ciiva, Ciiva, Extension_HierarchicalDesign, Extension_Preference, Extension_SetGroupingInDocumentsBar

GetCommandLauncher​

This method fetches the ICommandLauncher interface which represents Client's process launcher which can be used to launch a server process and its parameters. See the IProcessLauncher interface as well.

ICommandLauncher GetCommandLauncher();

Returns: ICommandLauncher

Extension method of IClientHelper (using DXP;).

The CommandLauncher property returns the Command Launcher interface. This interface contains the table of client's process launchers that can be used to launch a command.

See also: ICommandLauncher, IProcessLauncher

GetCount​

This method returns the number of active (loaded) servers in a current session of Altium Designer. Use this method (or the Count property) in conjunction with the ServerModule property to fetch Server Module interfaces.

int GetCount();

Returns: int

This property returns the number of active servers in a current session of Altium Designer. Use this property in conjunction with the ServerModule property to fetch Server Module interfaces.

See also: IServerModule

GetDefaultExtensionForDocumentKind​

This method returns the default extension for the specific document kind based on the document kind parameter.

string GetDefaultExtensionForDocumentKind(string argDocumentKind);
ParameterTypePassing
argDocumentKindstringvalue

Returns: string

IClient interface

GetDocumentByPath​

This method fetches the full file path to a design document and if the path is valid, an IServerDocument object interface is returned representing the whole design document and its panels.

IServerDocument GetDocumentByPath(string argFilePath);
ParameterTypePassing
argFilePathstringvalue

Returns: IServerDocument

Extension method of IClientHelper (using DXP;).

Examples: Extension_CreatePCBLib, Extension_SupplierPreference

GetDocumentCaptionFromDocumentKind​

No description yet.

string GetDocumentCaptionFromDocumentKind(string argDocumentKind);
ParameterTypePassing
argDocumentKindstringvalue

Returns: string

GetDocumentCaptionFromDocumentPath​

No description yet.

string GetDocumentCaptionFromDocumentPath(string argPath);
ParameterTypePassing
argPathstringvalue

Returns: string

GetDocumentKindFromDocumentFileName​

No description yet.

string GetDocumentKindFromDocumentFileName(string argPath, bool argCheckForTextFiles);
ParameterTypePassing
argPathstringvalue
argCheckForTextFilesboolvalue

Returns: string

GetDocumentKindFromDocumentPath​

This method returns the document kind based on the valid and full document path.

string GetDocumentKindFromDocumentPath(string argPath);
ParameterTypePassing
argPathstringvalue

Returns: string

GetDocumentKindFromDocumentPathEx​

No description yet.

string GetDocumentKindFromDocumentPathEx(string argPath, ref string argDocSubKind);
ParameterTypePassing
argPathstringvalue
argDocSubKindstringref

Returns: string

GetDocumentPreviewHint​

No description yet.

IDocumentPreviewHint GetDocumentPreviewHint();

Returns: IDocumentPreviewHint

Extension method of IClientHelper (using DXP;).

GetDocumentPreviewManager​

No description yet.

IDocumentPreviewManager GetDocumentPreviewManager();

Returns: IDocumentPreviewManager

Extension method of IClientHelper (using DXP;).

GetDXPAltiumPortal​

No description yet.

IDXPAltiumPortal GetDXPAltiumPortal();

Returns: IDXPAltiumPortal

Extension method of IClientHelper (using DXP;).

GetDXPSplash​

No description yet.

IDXPSplash GetDXPSplash();

Returns: IDXPSplash

Extension method of IClientHelper (using DXP;).

GetDXPUrlCommandData​

No description yet.

bool GetDXPUrlCommandData(string argUrl, out string argCommand, out string argParams);
ParameterTypePassing
argUrlstringvalue
argCommandstringout
argParamsstringout

Returns: bool

GetDXPWorkspace​

No description yet.

IDXPWorkSpace GetDXPWorkspace();

Returns: IDXPWorkSpace

Extension method of IClientHelper (using DXP;).

Examples: Ciiva, Extension_AddVariant, Extension_BOMManager, Extension_CreateProject, Extension_GenerateGerber, Extension_HierarchicalDesign, Extension_PartComment, Extension_PlaceComponentFromVault, Extension_PlaceDeviceSheet, Extension_RefreshDocument, Extension_TestPortHarnessDev, Extension_VariantOptions

GetDynamicHelpManager​

The method returns the Dynamic Help manager which represents the Knowledge Center panel in Altium Designer.

IDynamicHelpManager GetDynamicHelpManager();

Returns: IDynamicHelpManager

Extension method of IClientHelper (using DXP;).

GetGlobalPreferencesRevisionGUID​

No description yet.

string GetGlobalPreferencesRevisionGUID();

Returns: string

GetGlobalPreferencesVaultGUID​

No description yet.

string GetGlobalPreferencesVaultGUID();

Returns: string

GetGUIManager​

Returns the GUI Manager interface. Use the GUIManager property instead. This Interface object deals with the User Interface of Altium Designer such as controlling the status bars of Altium Designer, the locations and the state of panels in Altium Designer.

IGUIManager GetGUIManager();

Returns: IGUIManager

Extension method of IClientHelper (using DXP;).

The GUIManager property returns the GUIManager interface. This Interface object deals with the Altium Designer's Graphical User Interface such as controlling the status bars, the locations and the state of panels.

See also: IGUIManager

GetInternalOptions​

No description yet.

IInternalOptions GetInternalOptions();

Returns: IInternalOptions

Extension method of IClientHelper (using DXP;).

GetLayoutSaveLoadManager​

No description yet.

ISaveLoadLayout GetLayoutSaveLoadManager();

Returns: ISaveLoadLayout

Extension method of IClientHelper (using DXP;).

GetLicenseManager​

No description yet.

ILicenseManager GetLicenseManager();

Returns: ILicenseManager

Extension method of IClientHelper (using DXP;).

See also: ILicenseManager

GetMacroManager​

No description yet.

IMacroManager GetMacroManager();

Returns: IMacroManager

Extension method of IClientHelper (using DXP;).

GetMainWindowHandle​

You can use the application handle into server code if dialogs need to be created dynamically from your server and so that when a dialog that appears on Altium Designer will inherit Altium Designer's icon and appear as one whole application on the task bar. This ApplicationHandle property is also its equivalent.

uint GetMainWindowHandle();

Returns: uint

The MainWindowHandle property returns the handle of the main window in Altium Designer which can be used for addon dialogs that will be attached to Altium Designer and have a single Altium Designer icon on the Taskbar for example.

See also: IClient.GetApplicationHandle

Examples: Extension_PlacePad

GetNavigationSystem​

The method returns the Navigation system interface.

INavigationSystem GetNavigationSystem();

Returns: INavigationSystem

Extension method of IClientHelper (using DXP;).

The NavigationSystem property represents the Navigation system in Altium Designer. The navigation system is the workhouse for the Navigation panel which is the center-piece for net connectivity for the design project. There are three ways a design can be arranged - as a list of compiled sheets, flattened hierarchy and as a structural tree.

See also: INavigationSystem

Examples: Extension_NavigationProvider

GetOptionsManager​

This method retrieves the IOptionsManager interface. With this interface, you can invoke IOptionsManager.GetOptionsReader or IOptionsManager.GetOptionsWriter to retrieve or write options (settings) for the target server. Each editor server has options that manage its server documents.

IOptionsManager GetOptionsManager();

Returns: IOptionsManager

Extension method of IClientHelper (using DXP;).

This is a read only property that returns the IOptionsManager interface. This interface is responsible for managing (reading and writing) values to/from the system wide Preferences dialog in Altium Designer for the specified server.

This interface is useful for server writers who wish to add their options pages in the system wide preferences dialog and manage the controls on these options pages.

See also: IOptionsManager

Examples: Extension_SupplierPreference

GetOptionsSet​

This method returns you the indexed Options set (IDocumentOptionsSet type).

IDocumentOptionsSet GetOptionsSet(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: IDocumentOptionsSet

Extension method of IClientHelper (using DXP;).

See also: IClient.GetOptionsSetCount, IClient.GetOptionsSetByName

GetOptionsSetByName​

This method retrieves the IDocumentOptionsSet interface based on the valid Name string.

IDocumentOptionsSet GetOptionsSetByName(string argName);
ParameterTypePassing
argNamestringvalue

Returns: IDocumentOptionsSet

Extension method of IClientHelper (using DXP;).

See also: IClient.GetOptionsSetCount, IClient.GetOptionsSet, IDocumentOptionsSet

GetOptionsSetCount​

This method returns you the number of Options Set.

int GetOptionsSetCount();

Returns: int

See also: IClient.GetOptionsSet, IClient.GetOptionsSetByName

GetPanelInfoByName​

This method obtains the IServerPanelInfo interface for the specified panel.

IServerPanelInfo GetPanelInfoByName(string argPanelName);
ParameterTypePassing
argPanelNamestringvalue

Returns: IServerPanelInfo

Extension method of IClientHelper (using DXP;).

See also: IServerPanelInfo

GetPluginsRegistry​

No description yet.

IPluginsRegistry GetPluginsRegistry();

Returns: IPluginsRegistry

Extension method of IClientHelper (using DXP;).

GetProcessControl​

Returns the Process Control interface. This Process Control determines the number of "re-entrant" processes occurring, ie one client's process occurring stacked on top of another active client's process - this is the process depth. If a process control's process depth is zero, it indicates that nothing is taking place in Altium Designer.

IProcessControl GetProcessControl();

Returns: IProcessControl

Extension method of IClientHelper (using DXP;).

This property returns the IProcessControl interface. This Process Control interface determines the number of "re-entrant" processes occurring, ie one client's process occurring stacked on top of another active client's process - this is the process depth. If a process control's process depth is zero, it indicates that nothing is taking place in Altium Designer. Refer to the IProcessControl interface for details.

See also: IProcessControl

GetProductName​

No description yet.

string GetProductName();

Returns: string

GetProductVersion​

No description yet.

string GetProductVersion();

Returns: string

GetRealMainWindowHandle​

The method returns the window handle of the main window in Altium Designer.

UIntPtr GetRealMainWindowHandle();

Returns: UIntPtr

Extension method of IClientHelper (using DXP;).

GetSceneManager​

No description yet.

ISceneManager GetSceneManager();

Returns: ISceneManager

Extension method of IClientHelper (using DXP;).

GetSearchManager​

No description yet.

ISearchManager GetSearchManager();

Returns: ISearchManager

Extension method of IClientHelper (using DXP;).

GetSecurityManager​

No description yet.

ISecurityManager GetSecurityManager();

Returns: ISecurityManager

Extension method of IClientHelper (using DXP;).

GetSecurityServerManager​

No description yet.

ISecurityServerManager GetSecurityServerManager();

Returns: ISecurityServerManager

Extension method of IClientHelper (using DXP;).

GetServerModule​

The ServerModule property is used in conjunction with the Count property to retrieve active (loaded) servers. The ServerModule property returns the IServerModule interface for the loaded server module in Altium Designer.

IServerModule GetServerModule(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: IServerModule

Extension method of IClientHelper (using DXP;).

Note, that PCB server and Schematic server have their own IPCB_ServerInterface and ISch_ServerInterface interfaces respectively.

IServerModule example

This example gets the Schematic's IServerModule interface and returns the number of document views open in Altium Designer

See also: IServerModule

GetServerModuleByName​

Returns the server module interface depending on the validity of the module name. Use the ServerModuleByName property instead to return the indexed server module.

IServerModule GetServerModuleByName(string argModuleName);
ParameterTypePassingDescription
argModuleNamestringvalueThe server module name, for example 'PCB' or 'SCH'.

Returns: IServerModule

Extension method of IClientHelper (using DXP;).

The ServerModuleByName property returns the IServerModule interface if the module name is found in the Client's table of active servers. For a PCB editor, module name is PCB, for a Schematic Editor, the module name is SCH etc.

Server Names

See also: IClient.GetServerModule, IServerModule

Examples: Extension_BOMManager, Extension_BOMManager, Extension_SchPreference

GetServerNameByPLID​

This method returns you the server name based on the PLID identifier string (a string extracted from the server's resources file).

string GetServerNameByPLID(string argPLID);
ParameterTypePassing
argPLIDstringvalue

Returns: string

GetServerRecord​

The GetServerRecord method reports the number of installed servers based on the installation *.INS files in the System folder of Altium Designer installation). Use this in conjunction with the GetServerRecordCount method.

IServerRecord GetServerRecord(int argIndex);
ParameterTypePassing
argIndexintvalue

Returns: IServerRecord

Extension method of IClientHelper (using DXP;).

The IClient interface has GetServerRecord and GetServerModule methods. The difference between these two methods is that the GetServerRecord method reports the number of installed servers (*.INS files in the \System\ folder of Altium Designer installation).

The GetServerModule merely returns the active (loaded) server in Altium Designer and to get each active server, you need to invoke the GetCount method and pass the count parameter into the GetServerModule method.

See also: IClient.GetServerRecordCount, IClient.GetServerModule

GetServerRecordByFeature​

No description yet.

IServerRecord GetServerRecordByFeature(string argFeature);
ParameterTypePassing
argFeaturestringvalue

Returns: IServerRecord

Extension method of IClientHelper (using DXP;).

GetServerRecordByName​

Returns the IServerRecord interface for a server module name. This IServerRecord interface represents the installation file for the server (with an INS extension).

IServerRecord GetServerRecordByName(string argModuleName);
ParameterTypePassingDescription
argModuleNamestringvalueThe server module name.

Returns: IServerRecord

Extension method of IClientHelper (using DXP;).

See also: IServerRecord

GetServerRecordCount​

This method returns the number of server records that represent the server installation files found in the \System\ folder of the Altium Designer software installation. This is to be used in conjunction with the GetServerRecord method.

int GetServerRecordCount();

Returns: int

See also: IServerRecord

GetServerViewFromName​

This method returns the server view object interface depending on the name of the server view. A IServerView interface represents a panel view as well as an ancestor for a document view.

IServerView GetServerViewFromName(string argViewName);
ParameterTypePassing
argViewNamestringvalue

Returns: IServerView

Extension method of IClientHelper (using DXP;).

See also: IExternalForm, IServerView

GetTechnologySets​

No description yet.

string GetTechnologySets(ref uint argValidAtTimestamp);
ParameterTypePassing
argValidAtTimestampuintref

Returns: string

GetTechnologySubscriptionExpirationDate​

No description yet.

double GetTechnologySubscriptionExpirationDate(string argTechnologySet);
ParameterTypePassing
argTechnologySetstringvalue

Returns: double

GetTimerManager​

This property returns the timer manager object interface.

ITimerManager GetTimerManager();

Returns: ITimerManager

Extension method of IClientHelper (using DXP;).

See also: ITimerManager

GetVersion​

No description yet.

string GetVersion();

Returns: string

GetWindowKindByName​

Returns the IServerWindowKind interface for a window kind name.

IServerWindowKind GetWindowKindByName(string argWindowKindName);
ParameterTypePassingDescription
argWindowKindNamestringvalueThe window kind name, which denotes the document kind. For example, there are two document kinds in the PCB editor - PCB and PCBLIB documents.

Returns: IServerWindowKind

Extension method of IClientHelper (using DXP;).

See also: IServerWindowKind

HandleException​

No description yet.

void HandleException(string argMessage);
ParameterTypePassing
argMessagestringvalue

Returns: nothing (void)

HideDocument​

This method hides the document, ie puts it out of focus but not closed or destroyed.

void HideDocument(IServerDocument argDocument);
void HideDocument(object argDocument);
ParameterTypePassing
argDocumentIServerDocumentvalue

Returns: nothing (void)

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

See also: IClient.CloseDocument, IClient.OpenDocument, IClient.ShowDocument, IServerDocument

InRecoverySave​

This method checks whether Altium Designer is in the process of Recovery Save mode, before you can invoke the BeginRecoverySave or EndRecoverySave methods.

bool InRecoverySave();

Returns: bool

See also: IClient.BeginRecoverySave, IClient.EndRecoverySave

InTestMode​

No description yet.

bool InTestMode();

Returns: bool

IsDocumentOfKind​

No description yet.

bool IsDocumentOfKind(string argPath, string argDocKind);
ParameterTypePassing
argPathstringvalue
argDocKindstringvalue

Returns: bool

IsDocumentOpen​

Returns a boolean value whether the document is open in Altium Designer or not.

bool IsDocumentOpen(string argFilePath);
ParameterTypePassingDescription
argFilePathstringvalueThe file path of the document; the result depends on whether this path is valid or not.

Returns: bool

IsInitialized​

No description yet.

bool IsInitialized();

Returns: bool

IsQuitting​

Returns a boolean value that represents the state Altium Designer is in: true if Altium Designer is about to quit or in the process of quitting, false if Altium Designer is still active.

bool IsQuitting();

Returns: bool

LastActiveDocumentOfType​

This method returns the last active loaded document in Altium Designer by the document type. Types include PCB, SCH, TEXT, WAVE, PCBLIB, SCHLIB.

IServerDocument LastActiveDocumentOfType(string argType);
ParameterTypePassing
argTypestringvalue

Returns: IServerDocument

Extension method of IClientHelper (using DXP;).

LicenseInfoStillValid​

No description yet.

bool LicenseInfoStillValid(uint argRetrievedAt);
ParameterTypePassing
argRetrievedAtuintvalue

Returns: bool

LoadCustomizationsFromFile​

No description yet.

void LoadCustomizationsFromFile(string argRCSFileName);
ParameterTypePassing
argRCSFileNamestringvalue

Returns: nothing (void)

LoadCustomizationsFromFileByMode​

No description yet.

void LoadCustomizationsFromFileByMode(string argRCSFileName, bool argRemoveAllUserResources);
ParameterTypePassing
argRCSFileNamestringvalue
argRemoveAllUserResourcesboolvalue

Returns: nothing (void)

LoadCustomizationsFromPath​

No description yet.

void LoadCustomizationsFromPath(string argRCSFilePath);
ParameterTypePassing
argRCSFilePathstringvalue

Returns: nothing (void)

LoadGlobalPreferencesFromVault​

No description yet.

void LoadGlobalPreferencesFromVault(string argVaultGuid, string argItemRevisionGUID);
ParameterTypePassing
argVaultGuidstringvalue
argItemRevisionGUIDstringvalue

Returns: nothing (void)

OpenDocument​

The OpenDocument method returns the IServerDocument interface depending on the DocumentKind and FileName values of this document are valid.

IServerDocument OpenDocument(string argKind, string argFileName);
ParameterTypePassing
argKindstringvalue
argFileNamestringvalue

Returns: IServerDocument

Extension method of IClientHelper (using DXP;).

See also: IClient.ShowDocument

Examples: Extension_ChangeOutputJobFile, Extension_CreateProject, Extension_GenerateGerber, Extension_HierarchicalDesign, Extension_IntegratedLibraryManager, Extension_PCBDrawing, Extension_PartComment, Extension_PcbLibToImage

OpenDocumentShowOrHide​

This method opens a specific document but you can control how it is displayed in the Altium Designer workspace.

IServerDocument OpenDocumentShowOrHide(string argKind, string argFileName, bool argShowInTree);
ParameterTypePassing
argKindstringvalue
argFileNamestringvalue
argShowInTreeboolvalue

Returns: IServerDocument

Extension method of IClientHelper (using DXP;).

OpenNewDocument​

No description yet.

IServerDocument OpenNewDocument(string argKind, string argFileName, string argNewName, bool argReuseExisting);
ParameterTypePassing
argKindstringvalue
argFileNamestringvalue
argNewNamestringvalue
argReuseExistingboolvalue

Returns: IServerDocument

Extension method of IClientHelper (using DXP;).

ProductInfo​

No description yet.

IProductInfo ProductInfo();

Returns: IProductInfo

Extension method of IClientHelper (using DXP;).

QuerySystemFont​

Query the system font used.

void QuerySystemFont(TFontQueryMode argQueryMode, ref bool argUseSysFont, ref string argFontName, ref int argFontSize, ref TFontStyleSet argFontStyle, ref int argFontColor, ref int argFontCharset);
void QuerySystemFont(int argQueryMode, ref bool argUseSysFont, ref string argFontName, ref int argFontSize, ref ITransportSet argFontStyle, ref int argFontColor, ref int argFontCharset);
ParameterTypePassing
argQueryModeTFontQueryModevalue
argUseSysFontboolref
argFontNamestringref
argFontSizeintref
argFontStyleTFontStyleSetref
argFontColorintref
argFontCharsetintref

Returns: nothing (void)

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

RegisterFilteredNotificationHandler​

No description yet.

void RegisterFilteredNotificationHandler(INotificationHandler argHandler, string argNotificationFilter);
void RegisterFilteredNotificationHandler(object argHandler, string argNotificationFilter);
ParameterTypePassing
argHandlerINotificationHandlervalue
argNotificationFilterstringvalue

Returns: nothing (void)

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

RegisterNotificationHandler​

The RegisterNotificationHandler method registers the notification handler in the Client module part of Altium Designer once the server object is created and loaded in computer memory.

void RegisterNotificationHandler(INotificationHandler argHandler);
void RegisterNotificationHandler(object argHandler);
ParameterTypePassingDescription
argHandlerINotificationHandlervalueThe server module object.

Returns: nothing (void)

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

The INotificationHandler object interface is responsible for handling notifications raised in Altium Designer.

Each server object has an INotificationHandler.HandleNotification method to handle notifications when the options values have been adjusted from the system wide Preferences dialog.

The INotificationHandler.HandleNotification method would involve calls to update the server preferences values on the server panel for example every-time a specific server notification code is intercepted.

This method is normally used for in developing servers and not for extensions.

See also: IClient.BroadcastNotification, IClient.DispatchNotification, INotificationHandler

RegisterServerNotificationHandler​

No description yet.

void RegisterServerNotificationHandler(IServerModule argServerModule, INotificationHandler argHandler, string argNotificationFilter);
void RegisterServerNotificationHandler(object argServerModule, object argHandler, string argNotificationFilter);
ParameterTypePassing
argServerModuleIServerModulevalue
argHandlerINotificationHandlervalue
argNotificationFilterstringvalue

Returns: nothing (void)

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

ReleaseGlobalPreferencesToVault​

No description yet.

void ReleaseGlobalPreferencesToVault(string argVaultGUID, string argItemGUID);
ParameterTypePassing
argVaultGUIDstringvalue
argItemGUIDstringvalue

Returns: nothing (void)

RemoveServerView​

This method removes a server view (representing a server document window) from Altium Designer.

void RemoveServerView(IServerView argView);
void RemoveServerView(object argView);
ParameterTypePassing
argViewIServerViewvalue

Returns: nothing (void)

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

See also: IClient.CurrentView

SaveCustomizationsForExport​

No description yet.

string SaveCustomizationsForExport();

Returns: string

ShowDocument​

Displays the design document in Altium Designer.

void ShowDocument(IServerDocument argDocument);
void ShowDocument(object argDocument);
ParameterTypePassingDescription
argDocumentIServerDocumentvalueThe server document loaded in Altium Designer.

Returns: nothing (void)

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

IServerDocument example

This example gets the client interface and then opens and shows a document.

See also: IClient.OpenDocument, IServerDocument

Examples: Extension_CreateProject, Extension_HierarchicalDesign, Extension_IntegratedLibraryManager, Extension_PartComment, Extension_PcbLibToImage

ShowDocumentDontFocus​

Displays the design document but leaves the previously focussed document in focus. If there are not design documents open already, then this design document will still be displayed but not focussed.

void ShowDocumentDontFocus(IServerDocument argDocument);
void ShowDocumentDontFocus(object argDocument);
ParameterTypePassingDescription
argDocumentIServerDocumentvalueThe design document to display.

Returns: nothing (void)

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

See also: IClient.OpenDocument, IClient.ShowDocument, IServerDocument

StartServer​

The StartServer and StopServer properties can be used to load a server in Altium Designer if it has not already, before you can invoke this server's processes and to stop this server once you have done with these server processes. This can be used to conserve computer's memory.

bool StartServer(string argModuleName);
ParameterTypePassing
argModuleNamestringvalue

Returns: bool

The StartServer method is usually used if you need to load a design document and execute the server's processes or its API methods if the server has not been loaded yet. Example, during a blank session of Altium Designer where there are no PCB documents open, and you need to use the PCB API to manipulate the contents on a PCB document, you would need to "start" the PCB server first so the PCB API is made active.

Example of the StartServer method

Example: Start the PCB server.

using DXP;

DXP.GlobalVars.Client.StartServer("PCB");

See also: IClient.StopServer

Examples: Ciiva, Extension_BOMManager, Extension_BOMManager, Extension_CreateProject

StartSuspendTestMode​

No description yet.

void StartSuspendTestMode();

Returns: nothing (void)

StopServer​

The StartServer and StopServer properties can be used to load a server in Altium Designer if it has not loaded already, before you can invoke this server's processes and to stop this server once you have done with these server processes. This can be used to conserve computer's memory.

bool StopServer(string argModuleName, bool argUnloadDLL);
ParameterTypePassing
argModuleNamestringvalue
argUnloadDLLboolvalue

Returns: bool

The StartServer method is usually used if you need to load a design document and execute the server's processes or its API methods if the server has not been loaded yet. Example, during a blank session of Altium Designer where there are no PCB documents open, and you need to use the PCB API to manipulate the contents on a PCB document, you would need to "start" the PCB server first so the PCB API is made active.

Example of the StopServer method

Example: Stop the PCB server.

using DXP;

// Sample value: whether to unload the server's DLL as well.
bool unloadDll = false;
DXP.GlobalVars.Client.StopServer("PCB", unloadDll);

See also: IClient.StartServer

StopSuspendTestMode​

No description yet.

void StopSuspendTestMode();

Returns: nothing (void)

UnregisterNotificationHandler​

The UnregisterNotificationHandler method un registers the notification handler from Client once the server object goes out of scope (destroyed).

void UnregisterNotificationHandler(INotificationHandler argHandler);
void UnregisterNotificationHandler(object argHandler);
ParameterTypePassingDescription
argHandlerINotificationHandlervalueThe server module object.

Returns: nothing (void)

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

The INotificationHandler object interface is responsible for handling notifications raised in Altium Designer.

Each server object has an INotificationHandler.HandleNotification method to handle notifications when the options values have been adjusted from the system wide Preferences dialog.

The INotificationHandler.HandleNotification method would involve calls to update the server preferences values on the server panel for example every-time a specific server notification code is intercepted.

This method is normally used for in developing servers and not for extensions.

See also: IClient.BroadcastNotification, IClient.DispatchNotification, IClient.RegisterNotificationHandler, INotificationHandler

UnregisterServerNotificationHandler​

No description yet.

void UnregisterServerNotificationHandler(IServerModule argServerModule, INotificationHandler argHandler);
void UnregisterServerNotificationHandler(object argServerModule, object argHandler);
ParameterTypePassing
argServerModuleIServerModulevalue
argHandlerINotificationHandlervalue

Returns: nothing (void)

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

Returned by​

IServerModule.GetClient, GlobalVars.Client

Accepted by​

Utils.GetBomManagerFactory

Examples​

Used in the SDK examples: Ciiva, Extension_AddVariant, Extension_BOMManager, Extension_BOMManager, Extension_BOMManager, Extension_BlockAD_CS, Extension_ChangeOutputJobFile, Extension_CreatePCBLib, Extension_CreateProject, Extension_CreateProject, Extension_CreateSchComponent, Extension_CreateVariantComponent.