Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CimatronE SDK 
CimatronE 10.0 User Guide 
CimatronE 10.0 CimatronE SDK User Guide ⎪i 
 
Table of Contents 
CimatronE SDK..............................................................................................................................1 
CimatronE SDK ..........................................................................................................................1 
Starting a Visual Basic Application with the CimatronE API ......................................................1 
To start using API in your Visual Basic application you have to: .....................................2 
Starting a C++ Application with the CimatronE API ...................................................................2 
To start using API in your C++ application you have to:..................................................3 
CimatronE API............................................................................................................................4 
CimatronE API Chart........................................................................................................4 
Object Containers ............................................................................................................5 
DI..................................................................................................................................129 
NC ................................................................................................................................131 
Tools, Commands and Interaction ...............................................................................133 
Procedures ...................................................................................................................200 
Sketcher and Sketcher Objects....................................................................................771 
Topological Objects......................................................................................................809 
Geometrical Information...............................................................................................854 
Filters............................................................................................................................967 
Attributes ......................................................................................................................992 
CimatronE API Enums .................................................................................................996 
Examples....................................................................................................................1037 
CimESuite API......................................................................................................................1037 
CimatronE CimESuite API .........................................................................................1037 
CimSuite.....................................................................................................................1038 
CimSuiteAssy.............................................................................................................1039 
CimSuiteCommands ..................................................................................................1042 
CimSuiteDI .................................................................................................................1044 
CimSuiteDM ...............................................................................................................1045 
CimSuiteGeneral ........................................................................................................1053 
CimSuiteGeomData ...................................................................................................1059 
CimSuiteMath.............................................................................................................1076 
CimSuiteNC................................................................................................................1081 
CimSuitePickTool .......................................................................................................1081 
CimSuiteReferences ..................................................................................................1086 
CimSuiteSketcher ......................................................................................................1092 
CimSuiteSolid.............................................................................................................1103 
CimSuiteSurface ........................................................................................................1118 
CimSuiteTransform ....................................................................................................1126 
CimSuiteWireFrame...................................................................................................1130 
CimSuite API Enums..................................................................................................1139 
CimatronE 10.0 CimatronE SDK User Guide ⎪ii 
 
Examples....................................................................................................................1158 
Index .........................................................................................................................................1173 
CimatronE 10.0 CimatronE SDK User Guide ⎪1 
 
CimatronE SDK 
CimatronE SDK 
The CimatronE SDK (Software Development Kit) consists of the CimatronE API 
(Application Programming Interface) which shows the capabilities of CimatronE and 
enables you to write external (out-of-process, *.exe) and internal (in-process, *.dll) user-
programmable applications. 
This is a COM based API that provides you the means to write your own applications that 
interact with CimatronE. 
User applications can be written in any COM supported language such as Visual C++, 
Visual Basic, Delphi etc. or scripting languages such as Visual Basic Script or JavaScript. 
The CimatronE API provides the ability for: 
• Document management (Pdm ); 
• Creating a sketch (MdSketcher , Sketcher ); 
• Creating modeling features (extrude, revolve and other procedures); 
• Assembly features (Add, Connect and other procedures); 
• Editing features; 
• Entity retrieval with filters; 
• Creating sets of entities; 
• Attaching and reading entities attributes; 
• Executing CimatronE commands (PoolCommands); 
• Creating external commands; 
• Tool interaction (Tool); 
• Picking an entity functionality that allows you to make a selection in 
interactive mode (PickTool, Arrow figure); 
• Generating a linear model (getting triangulation data, ILmGenerator); 
• CimatronE standard GUI (Feature Guide, Guidebar, SP-Figure). 
 
Starting a Visual Basic Application with the CimatronE API 
As CimatronE API uses the COM based approach, to start working with it in a Visual 
Basic application, you need to add references to all type libraries you going to use. 
CimatronE API uses the hierarchical object model. This means that if an object stays at 
the top of the hierarchy, other objects are derived from it. 
These kinds of objects are the Application objects of CimatronE API. 
To get an Application object of a running active CimatronE application, use the 
AppAccess object. Its interface (IAppAccess) allows you to connect to a running active 
CimatronE application by returning a pointer to the IApplication interface of the 
Application object. 
CimatronE 10.0 CimatronE SDK User Guide ⎪2 
 
If there is no running CimatronE application or you want to start a new one, you have to 
create an instance of the Application object and receive a pointer to the IApplication 
interface. 
Once you have a pointer to the IApplication interface, you can start to execute a task of 
your user application. 
There is no any special requirement for the type of project you can create in MS Visual 
Basic. 
 
To start using API in your Visual Basic application you have to: 
• Createreferences to CimatronE API type libraries by opening menu Project 
-> References and selecting all type libraries you are going to use. It is 
recomended to attach all CimatronE API type libraries: CimAppAccess.tlb, 
CimatronE.tlb, CimBaseAPI.tlb, CimMdlrAPI.tlb, CimServicesAPI.tlb. 
• After referencing the type libraries you have definitions of all API interfaces. 
Next step is to get an IApplication interface. 
Dim gAppAccess As New AppAccess 'Define an AppAccess 
object to get running active application 
Dim gApp As Application 'Define an Application object 
Set gApp = gAppAccess.GetApplication 'Getting running active 
application 
If gApp Is Nothing Then 
'There is no running CimatronE Application 
Set gApp = New Application 'Creating new instance of 
CimatronE application 
End If 
• Now you are ready to use the power of CimatronE API. 
Starting a C++ Application with the CimatronE API 
As CimatronE API uses the COM based approach, there are several ways to start working 
with it. One of the most convenient ways is to use the #import directive in Visual C++. 
All examples in the help documentation use this approach to work with API. 
The compiler directive #import generates a _com_ptr_t template class for each interface. 
An object of this class encapsulates a COM interface pointer and is called a "smart" 
pointer. This template class manages resource allocation and deallocation, via function 
calls to the IUnknown member functions and automates the required calls to the AddRef, 
Release, and QueryInterface functions. 
Using this approach simplifies the work with COM objects and error checking. If an error 
occurs, the system generates a _com_error object that represents an exception condition 
CimatronE 10.0 CimatronE SDK User Guide ⎪3 
 
and contains all information provided by the COM object about the error, the HRESULT 
error code and any associated IErrorInfo object. 
For more information about Compiler COM Support Classes, please see the MSDN 
documentation. 
CimatronE API uses the hierarchical object model. This means that if an object stays at 
the top of the hierarchy, other objects are derived from it. 
These kinds of objects are the Application objects of CimatronE API. 
To get an Application object of a running active CimatronE application, use the 
AppAccess object. This object is created by calling the CoCreateInstance method in a 
user application. Its interface (IAppAccess) allows you to connect to a running active 
CimatronE application by returning a pointer to the IApplication interface of the 
Application object. 
If there is no running CimatronE application or you want to start a new one, you have to 
create an instance of the Application object by calling the CoCreateInstance method in a 
user application and receive a pointer to the IApplication interface. 
Once you have a pointer to the IApplication interface, you can start to execute a task of 
your user application. 
There is no any special requirement for the type of project you can create in Visual C++. 
 
To start using API in your C++ application you have to: 
• Import the necessary type libraries using the #import directive. An alternative way 
is to use the CimAPIinc.h header file. This file is coded so that it excludes any 
redefinitions of interfaces that occur in other CimatronE API type libraries. This 
file creates the CimAPI namespace that encapsulates all CimatronE API interfaces. 
• After importing the type libraries you have definitions of all API interfaces. The 
next step is to get an IApplication interface. 
CimAPI::IApplicationPtr gCimApp = NULL; //CimatronE Application 
CimAPI::IAppAccessPtr aAppAccess; //An application access helper object 
CoInitialize( NULL ); 
aAppAccess.CreateInstance( __uuidof( CimAPI::AppAccess ), NULL, 
CLSCTX_ALL ); 
if(aAppAccess == NULL) { 
AfxMessageBox("Unable to create AppAccess object"); 
exit(1); 
} 
gCimApp = aAppAccess->GetApplication( ); 
if( gCimApp == NULL ) { 
CimatronE 10.0 CimatronE SDK User Guide ⎪4 
 
gCimApp.CreateInstance( __uuidof( CimAPI::Application ), NULL, 
CLSCTX_ALL ); //Creating new instance of CimatronE Application object 
} 
• Now you are ready to use the power of CimatronE API. 
CimatronE API 
CimatronE API Chart 
 
 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪5 
 
Object Containers 
Object Containers 
CimatronE 10.0 CimatronE SDK User Guide ⎪6 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪7 
 
Application 
CimatronE Application 
 
AppAccess 
AppAccess 
 
IAppAccess 
IAppAccess 
This interface allows you to access the current active running CimatronE 
application. 
Properties 
None 
Methods 
IUnknown GetApplication ( ) 
IAppAccess::GetApplication 
Description 
This method allows you to access the current active running CimatronE 
application. 
Syntax 
Application = GetApplication( ); 
Return: (IUnknown) ApplicationCurrent running active CimatronE application.
Application 
Application 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪8 
 
IApplication 
IApplication 
This interface allows you to access CimatronE. 
Properties 
None 
Methods 
IPoolCommands GetPoolCommands ( ); 
IDocument GetActiveDoc ( ); 
IPdm GetPdm ( ); 
SetActiveDocument ( IDocument ); 
IAttributeFactory GetAttributeFactory ( ); 
IDI GetDI ( ) 
ICimLicense GetLicense ( ) 
SetRestriction ( RestrictionEnumType, Boolean ) 
IApplication::SetRestriction 
Description 
This method allows you to block operations and functionality in CimatronE such as 
Executing Commands, Closing views, receiving Mouse & Keyboard events, etc 
Syntax 
SetActiveDocument ( Type, Status ); 
Input: (RestrictionEnumType) TypeSet type of restriction. 
Input: (Boolean) Status Set restriction status 
TRUE - Enable restriction.
Remarks 
IApplication::GetLicense 
Description 
This method allows you to get a reference to the license manager. 
Syntax 
Lic = GetLicense ( ); 
Return: (ICimLicense) Lic Reference to license manager.
IApplication::GetDI 
Description 
This method allows you to get a reference to the DI (Data Interface) manager. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪9 
 
DI = GetDI ( ); 
Return: (IDI) DI Reference to DI manager.
IApplication::GetActiveDoc 
Description 
This method allows you to get the current active file in CimatronE. 
Syntax 
Document = GetActiveDoc( ); 
Return: (IDocument) Document Current active file in CimatronE. 
IApplication::GetAttributeFactory 
Description 
This method allows you to get the reference to the interface that is responsible for 
the entity's attribute creation. 
Syntax 
AttributeFactory = GetAttributeFactory( ); 
Return: (IAttributeFactory) 
AttributeFactory 
A reference to the attribute creation 
interface. 
IApplication::GetPdm 
Description 
This method allows you to get a reference to the PDM manager. 
Syntax 
Pdm = GetPdm( ); 
Return: (IPdm) Pdm Reference to PDM manager.
IApplication::GetPoolCommands 
Description 
This method allows you to get a reference to the IPoolCommands interface. 
Syntax 
PoolCommands = GetPoolCommands( ); 
Return: (IPoolCommands) 
PoolCommands 
Reference to 
IPoolCommands interface. 
IApplication::SetActiveDocument 
Description 
This method allows you to set one of the open files as an active file. 
Syntax 
SetActiveDocument( Document ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪10 
 
Input: (IDocument) Document Reference to file to be set as active. 
ICimLicense 
CimLicense 
This interface allows you to use the CimatronE License Manager. 
Properties 
None 
Methods 
Boolean GrabModule ( String ); 
Long GetLicenseLastError ( Boolean ); 
GetIDs ( String, String, String, String ); 
Boolean CheckModule ( String ); 
Boolean ReleaseModule ( String ); 
ICimLicense::GrabModule 
Description 
This method allows you to grab a license module in CimatronE. 
Syntax 
Status = GrabModule ( ModuleName ); 
Input: (String) ModuleName Set the module name to be grabbed. 
Return: (Boolean)Status Get the License status of the selected module name 
TRUE = There is a license for selected module. 
Remarks 
1. If FALSE you can call the method GetLicenseLastError, this will show the 
error dialog with a short description of the problem. 
2. The grabbed license will be automatically released: 
• when there is no file open in CimatronE. 
• when CimatronE is closed. 
ICimLicense::GetLicenseLastError 
Description 
This method allows you to get a license error number/message. 
Syntax 
ErrNum = CheckModule ( ShowMessage ); 
Input: (Boolean) ShowMessage TRUE - show a license error message box 
FALSE - Don't show a license error message box
Return: (Long) ErrNum Get the error number. 
Remarks 
CimatronE 10.0 CimatronE SDK User Guide ⎪11 
 
Use this option in cases where CheckModule or GrabModule methods return 
FALSE. 
ICimLicense::GetIDs 
Description 
This method allows you to get hardware IDs. 
Syntax 
GetIDs ( HaspID, OldHaspID, EthernetID, DiskSerNum ); 
Output: (String) HaspID Hasp ID (8-12 digits) 
Output: (String) OldHaspID Old Hasp ID (4 digits) 
Output: (String) EthernetID Ethernet ID (12 digits) 
Output: (String) DiskSerNumDisk Serial Number (8 digits)
Remarks 
 
ICimLicense::CheckModule 
Description 
This method allows you to check the license status for each module in CimatronE. 
Syntax 
Status = CheckModule ( ModuleName ); 
Input: (String) ModuleName Set the module name to be checked. 
Return: (Boolean) Status Get the License status of the selected module name 
TRUE = There is a license for selected module. 
Remarks 
If FALSE, you can call the method GetLicenseLastError, this will show the error 
dialog with a short description of the problem. 
ICimLicense::ReleaseModule 
Description 
This method releases the currently grabbed license module in CimatronE. 
Syntax 
Status = ReleaseModule ( ModuleName ); 
Input: (String) ModuleName Set the module name to be released. 
Return: (Boolean) Status Get the License status of the selected module name 
TRUE = There is a license for selected module. 
Remarks 
1. If FALSE you can call the method GetLicenseLastError, this will show the 
error dialog with a short description of the problem. 
2. The grabbed license will be automatically released: 
CimatronE 10.0 CimatronE SDK User Guide ⎪12 
 
• when there is no file open in CimatronE. 
• when CimatronE is closed. 
 
Data Management 
Data Management 
 
Pdm 
PDM 
 
 
IPdm 
IPdm 
Example 
This interface allows you to manage files in CimatronE. 
Properties 
Get Query (String, DocumentEnumType, 
DocumentEnumUnit ) 
Variant 
Methods 
CloseModel (IModel ) 
IDocument CreateDocument ( String, DocumentEnumType, DocumentEnumUnit 
) 
CreateFolder ( String ) 
CreateLocation ( String ) 
IModel CreateModel ( String, DocumentEnumType, DocumentEnumUnit ) 
DeleteDocument ( String ) 
DeleteFolder ( String ) 
DeleteLocation ( String ) 
IDocument GetDocumentByPath ( String ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪13 
 
Variant GetListOfDocuments ( String ) 
String GetLocationRealPath ( String ) 
IModel GetModel ( String ) 
Variant GetOpenDocuments ( ) 
Variant GetRelatedDocuments ( String ) 
IDocument OpenDocFromBrowser ( ) 
IDocument OpenDocument ( String ) 
OpenDocumentAsync ( String ) 
RenameDocument ( String, String ) 
RetriveDocAttribute ( String, Variant, String ) 
RetriveLinkAttribute ( String, String, Variant, String ) 
SaveModel (IModel ) 
String SelectFromBrowser ( ) 
Variant SelectMultiFromBrowser ( ) 
UpdateDocAttribute ( String, Variant, String, AccessMode ) 
UpdateLinkAttribute ( String, String, Variant, String, AccessMode ) 
 
IPdm::CloseModel 
Description 
This method allows you to close a file that contains a given model. 
Syntax 
CloseModel( Model ); 
Input: (IModel) Model The model to close.
IPdm::CreateDocument 
Description 
This method allows you to create a new file. 
Syntax 
Document = CreateDocument( DocumentPath, DocumentType, DocumentUnit ); 
Input: (String) DocumentPath Path and name of new file. 
Input: (DocumentEnumType) DocumentType Type of new file. 
Input: (DocumentEnumUnit) DocumentUnit New file units. 
Return: (IDocument) Document Created file. 
CimatronE 10.0 CimatronE SDK User Guide ⎪14 
 
Note 
A path to a new file is the same string as in the CimatronE Browser. For example 
\ Documents\Location\Folder\DocumentToCreate. 
If the path is not supplied, then a file will be created and when you close it you 
will get the CimatronE Browser dialog to select the path. 
If a file already exists with the same name as the new file, you will get its name, 
an underscore and an ordinal number. For example, if the file name "Test" already 
exists, then the file will be saved as "Test#1". 
 
IPdm::CreateFolder 
Description 
This method allows you to create a new folder. 
Syntax 
CreateFolder( FolderPath ); 
Input: 
(String) 
FolderPath 
The path to created folder. For example 
\Documents\LocationName\[SubFolders]\FolderToCreate . 
 
IPdm::CreateLocation 
Description 
This method allows you to create a new location. 
Syntax 
CreateLocation( LocationName, LocationRealPath ); 
Input: (String) 
LocationName 
The name of a new location. 
Input: (String) 
LocationRealPath 
The physical path on storage 
device for a new location. 
Example 
IPdm.CreateLocation( "NewLocation", "C:\NewLocationRealPath" ); 
IPdm::CreateModel 
Description 
This method allows you to create a new file and get its model without opening. 
Syntax 
Model = CreateModel( DocumentPath, DocumentType, DocumentUnit ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪15 
 
Input: (String) DocumentPath Path and name of new 
file. 
Input: (DocumentEnumType) 
DocumentType 
Type of new file. 
Input: (DocumentEnumUnit) 
DocumentUnit 
New file units. 
Return: (IModel) Model Model of created file. 
Note 
A path to a new file is the same string as in the CimatronE Browser. For example 
\ Documents\Location\Folder\DocumentToCreate. 
If the path is not supplied, then a file will be created and when you close it you 
will get the CimatronE Browser dialog to select the path. 
If a file already exists with the same name as the new file, you will get its name, 
an underscore and an ordinal number. For example, if the file name "Test" already 
exists, then the file will be saved as "Test_1". 
IPdm::DeleteDocument 
Description 
This method allows you to delete a file specified by name and path. 
Syntax 
DeleteDocument( DocumentPath ); 
Input: (String) DocumentPathPath and name of file to delete.
Note 
The path has the same look as in IPdm::CreateDocument. 
IPdm::DeleteFolder 
Description 
This method allows you to delete a folder. 
Syntax 
DeleteFolder( FolderPath ); 
Input: (String) 
FolderPath 
Path to folder. For example 
\Documents\LocationName\[SubFolders]\FolderToDelete. 
IPdm::DeleteLocation 
Description 
This method allows you to delete an existing location. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪16 
 
DeleteLocation( LocationPath ); 
Input: (String) 
LocationPath 
The path to location. For example 
\Documents\LocationToDelete 
IPdm::GetDocumentByPath 
Description 
This method allows you to get a File Interface of an open file by it's full path. 
Syntax 
Document= GetDocumentByPath( iPath); 
Input: 
(String) 
iPath 
Path to file. For example 
\Files\Location\Folder\File. 
Return: 
(IDocument) 
Document 
The interface of the relevant 
opened file. 
IPdm::GetListOfDocuments 
Description 
This method allows you to get files from a given location/folder. 
Syntax 
ListOfDocuments = GetListOfDocuments( FolderPath ); 
Input: (String) 
FolderPath 
Path to location/folder from which to get a list of included 
files. For example 
\Documents\LocationName\[SubFolders]\Folder. 
Return: (Variant) 
ListOfDocuments 
Variant type array each element of which contain two 
dimensioned string type array of files under current 
location/folder. 
Note 
In stringarray the first element is a name of file type, for example "Drafting", 
"Modeler", "Assembly", "NC", and the second is a name of file. 
IPdm::GetLocationRealPath 
Description 
This method allows you to get the path on a disk for a selected location. 
Syntax 
DiskPath = GetLocationRealPath( LocationPath ); 
Input: (String) 
LocationPath 
Path to location. For example 
\Documents\LocationName. 
CimatronE 10.0 CimatronE SDK User Guide ⎪17 
 
Return: (String) DiskPath The physical path on storage device where the files are 
saved. 
IPdm::GetModel 
Description 
This method allows you to get a model of file. 
Syntax 
Model = GetModel( DocumentPath ); 
Input: (String) 
DocumentPath 
Path to file. For example 
\Documents\Location\Folder\Document. 
Return: (IModel) Model The model of the file. 
 
IPdm::GetOpenDocuments 
Description 
This method allows you to get a list of the names of all open files. 
Syntax 
DocumentsList = GetOpenDocuments ( ); 
Return: (Variant) 
DocumentsList 
Variant array that includes the name of 
all open files. 
Note 
IPdm::GetRelatedDocuments 
Description 
This method allows you to get related files from compound types of files, for 
example Assembly or Drawing. 
Syntax 
RelatedDocuments = GetRelatedDocuments ( DocumentPath ); 
Input: (String) 
DocumentPath 
Path to file. For example 
\Documents\Location\Folder\Document. The file must be 
Assembly or Drawing. 
Return: (Variant) 
RelatedDocuments 
Variant type array each element of which contain two 
dimensioned string type array of files related to selected 
one. 
Note 
In a string array the first element is the name of a file type, for example 
"Drafting", "Modeler", "Assembly", "NC", and the second the name of a file. 
IPdm::OpenDocFromBrowser 
CimatronE 10.0 CimatronE SDK User Guide ⎪18 
 
Description 
This method displays the CimatronE Explorer and allows you to open a file 
selected from it. 
Syntax 
Document = OpenDocFromBrowser( ); 
Input: (IDocument) Document An opened file.
IPdm::OpenDocument 
Description 
This method allows you to open a file by specifying by its path and name. 
Syntax 
Document = OpenDocument( PathToDocument ); 
Input: (String) 
PathToDocument 
Path and name of file. For example 
\Documents\LocationName\[SubFolders]\Folder\Document. 
Return: 
(IDocument) 
Document 
Opened file. 
 
IPdm::OpenDocumentAsync 
Description 
This method allows you to open a file by specifying by its path and name. The file 
opens without waiting for confirmation that the file is open. 
Syntax 
Document = OpenDocumentAsync( iDocPath ); 
Input: 
(String) 
iDocPath 
Path and name of file. For example 
\Documents\LocationName\[SubFolders]\Folder\Document. 
 
 
IPdm::Query 
Description 
This property allows you to check if a file specified by its name, type and measure 
units exists. 
Syntax 
Property get: 
Status = Query( DocumentName, Type, Path ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪19 
 
Input: (String) 
DocumentName 
Document name to check for existence. 
Input: 
(DocumentEnumType) 
Type 
Document type to check for existence. 
Input: (String) Path Path to folder in which to check for file existent. If you 
want to look in all folders pass an empty string. 
Return: (Variant) Status Variant that contains string type one dimensional 
array with pathes to folders in which the file with 
specified parameters exist. 
Note 
The parameter Unit temporary does not take affect so you get TRUE result if 
found file with given DocumentName and Type. 
IPdm::RenameDocument 
Description 
This method allows you to rename a file. 
Syntax 
RenameDocument( DocumentPathOld, DocumentPathNew ); 
Input: (String) 
DocumentPathOld 
Path and name of old file. 
Input: (String) 
DocumentPathNew 
Path and name of new file. Possible to set only 
new name. 
IPdm::RetriveDocAttribute 
Description 
This method allows you to retrieve file attributes from a given file. 
Syntax 
RetriveDocAttribute( DocumentPath, DocumentAttributes, Owner ); 
Input: (String) 
DocumentPath 
Path and name of file 
from which to retrieve 
attributes. 
Input/Output: (Variant) 
DocumentAttributes 
Array of retrieved 
attributes. 
Input: (String) Owner Owner of file. 
Note 
It is possible to retrieve only some of the existing file attributes. To do this, fill in 
the DocumentAttributes argument with file attributes you want to get before 
calling the property. 
CimatronE 10.0 CimatronE SDK User Guide ⎪20 
 
The parameter Owner temporary does not take affect. Set its value to "guest". 
IPdm::RetriveLinkAttribute 
Description 
This method allows you to retrieve link attributes from a given link defined by 
the path to the inclusive file and the path to the included file. 
Syntax 
RetriveLinkAttribute( 
InclusiveDocPath, IncludedDocPath, DocumentAttributes, Owner ); 
Input: (String) 
InclusiveDocPath 
Path and name of file that contains a link from 
which to retrieve attributes. 
Input: (String) 
IncludedDocPath 
Path and name of linked file. 
Input: (Variant) 
DocumentAttributes 
Array of retrived attributes. 
Input: (String) Owner Owner of file. 
Note 
If an inclusive file contains an included file more than once, only one link is 
created for this file. 
The parameter Owner temporary does not take affect. Set its value to "guest". 
IPdm::SaveModel 
Description 
This method allows you to save a file that contains a given model. 
Syntax 
SaveModel( Model ); 
Input: (IModel) Model The model of a file to save.
IPdm::SelectFromBrowser 
Description 
This method allows you to get the file path name selected from the CimatronE 
Explorer. 
Syntax 
DocPathName= SelectFromBrowser ( ); 
Return: (String) 
DocPathName 
Return the name of the file selected from the 
CimatronE Explorer. 
Remarks 
If one of the file names appears without a path, the file hasn't been saved yet. 
CimatronE 10.0 CimatronE SDK User Guide ⎪21 
 
IPdm::SelectMultiFromBrowser 
Description 
This method allows you to get the multiple file path names selected from 
the CimatronE Explorer. 
Syntax 
oPaths= SelectMultiFromBrowser ( ); 
Return: (Variant) 
oPaths 
A list containing the names of the files selected 
from the CimatronE Explorer. 
Remarks 
If one of the file names appears without a path, the file hasn't been saved yet. 
 
IPdm::UpdateDocAttribute 
Description 
This method allows you to add a new attribute to a file or change data in an 
existing attribute. 
Syntax 
UpdateDocAttribute( DocumentPath, DocumentAttributes, Owner, AccessMode ); 
Input: (String) DocumentPath Path and name of file in which to update 
attributes. 
Input: (Variant) 
DocumentAttributes 
Array of attributes to be updated or inserted. 
Input: (String) Owner Owner of file. 
Input: (AccessMode) 
AccessMode 
Mode in which to make update. 
Note 
If there are attributes in a file with the same names as in a called method, these 
attribute value will be changed with the new one. Additional new attributes will 
be attached to the file. 
The parameter Owner temporary does not take affect. Set its value to "guest". 
The parameter AccessMode temporary does not take affect. 
IPdm::UpdateLinkAttribute 
Description 
This method allows you to add a new attribute to a link of files or change data in an 
existing attribute. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪22 
 
UpdateLinkAttribute( 
InclusiveDocPath, IncludedDocPath, DocumentAttributes, Owner, AccessMode ); 
Input: (String) 
InclusiveDocPath 
Path and name of file that contains a link from 
which to retrieve attributes. 
Input: (String) 
IncludedDocPath 
Path and name of linked file. 
Input: (Variant) 
DocumentAttributes 
Array of attributes to be updated or inserted. 
Input: (String) Owner Owner of file. 
Input: (AccessMode) 
AccessMode 
Mode in which to make update. 
Note 
If there are attributes in a link of files with the same names as in a called method, 
these attribute values will be changedwith the new ones. Additional new 
attributes will be attached to a link of files. 
Temporary doesn't work. 
PDMHooks 
PDMHooks 
 
 
IPdmHooks 
IPdmHooks 
This interface allows you to receive notification about, and override the default 
processing of, data management events that occur in CimatronE. 
The CLSID of the corresponding COM component will be registered (by you) in 
the system registry. 
The component will be invoked upon launching CimatronE. When an event 
occurs the application will call appropriate interface methods from the 
component. 
The registry entry of the COM component: 
HKEY_LOCAL_MACHINE/Cimatron/Cimatron E/<Ver>/Hooks_Class = 
<CLSID>. 
(where "<Ver>" is the appropriate CimatronE version number). 
The Interface 
Before and After processing 
CimatronE 10.0 CimatronE SDK User Guide ⎪23 
 
Two methods are added to the interface for each event. 
Before These events are invoked when the event is about to be triggered. 
This makes it possible to substitute user-defined processing for 
default processing of the event or cancel the processing. The 
method returns the user's choice, which can be one of the 
following: 
Processed - the user processes the event; 
Cancel - the user cancels the event's processing; 
Continue - the user passes the control to CimatronE; the 
default processing of the event will be performed. 
After These events are invoked after the event has been processed. This 
method passes the user the result of the event's processing, which 
can be one of the following: 
Cancelled - the event's processing is cancelled; 
Processed - the event is processed; 
Succeeded - the event is processed successfully; 
Failed - the event is processed and has resulted in failure. 
Events Identification 
A unique number, relative to the CimatronE session, which identifies each event. 
For two consecutive events, the second (later) event will be identified by a greater 
number than the first. 
This identifier is passed to both the Before and After methods of the event. 
This gives you the ability to determine the scope of an event. Otherwise, due to 
event nesting, it would be difficult to associate a pair of Before and After method 
calls with one event. 
Restrictions 
For some operations you are not allowed to cancel the operations and/or override 
their default processing. 
Two events, Open and Close Application, have only one method in the interface, 
an After method for Open Application and a Before method for Close 
Application. 
Possible restrictions are mentioned in the relevant events. 
Properties 
None 
Methods 
AfterActiveDocument ( Object, Variant, Long, String ) 
AfterCloseDocument ( Object, Variant, Long, String ) 
AfterGetAccess ( Object, Variant, Long, DmOperResult, String, AccessStatus ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪24 
 
AfterGetLockInfo ( Object, Variant, Long, String, String ) 
AfterNewDocument ( Object, Variant, Long, String ) 
AfterOpenDocument ( Object, Variant, Long, String ) 
AfterReconnect ( IDispatch*, Variant, Integer, String, Short ) 
AfterSaveAs ( Object, Variant, Long, DmOperResult, String ) 
AfterSaveDocument ( Object, Variant, Long, DmOperResult, String ) 
AfterSelectByTree ( Object, Variant, Long, DmOperResult, String) 
AfterUiDocPlacement ( Object, Variant, Long, DmOperResult, String) 
AfterUiNewDocument ( Object, Variant, Long, DmOperResult, String, 
DocumentEnumType, DocumentEnumUnit ) 
AfterUnLock ( Object, Variant, Long, String ) 
Integer BeforeActiveDocument ( Object, Variant, Long, String ) 
Integer BeforeCloseDocument ( Object, Variant, Long, String ) 
AccessStatus, Integer BeforeGetAccess ( Object, Variant, Long, String, 
HookAccessMode ) 
String, Integer BeforeGetLockInfo ( Object, Variant, Long, String ) 
Integer BeforeNewDocument ( Object, Variant, Long, String, 
DocumentEnumType, DocumentEnumUnit ) 
Integer BeforeOpenDocument ( Object, Variant, Long, String ) 
Short*, Short* BeforeReconnect ( IDispatch*, Variant, Integer, String ) 
String, Integer BeforeSaveAs ( Object, Variant, Long, DmOperToDoQuestion, 
String ) 
Integer BeforeSaveDocument ( Object, Variant, Long, String, String ) 
String, Integer BeforeSelectByTree ( Object, Variant, Long, DocumentEnumType, 
Long, String ) 
String, String, Integer BeforeUiDocPlacement ( Object, Variant, Long, 
DocumentEnumType ) 
String, DocumentEnumType, DocumentEnumUnit, Integer 
BeforeUiNewDocument ( Object, Variant, Long ) 
Integer BeforeUnLock ( Object, Variant, Long, String ) 
CloseApplication ( Object, Variant ) 
OpenApplication ( Object, Variant ) 
 
IPdmHooks::AfterActiveDocument 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪25 
 
An event occurs when the window of an opened file becomes active (receives 
focus). 
This method takes the full path of the file. 
See BeforeActiveDocument. 
Syntax 
AfterActiveDocument(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) 
iOperation 
A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than 
the first. 
This identifier is passed to both the Before 
and After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a 
pair of Before and After method calls with 
one event. 
Input: (String) 
iDocPath 
Full path name of the .elt file. 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::AfterCloseDocument 
Description 
An event occurs when you close the window of an open file. 
This method takes the full path of the closed file. 
See BeforeCloseDocument. 
Syntax 
AfterCloseDocument(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) A unique number, relative to the 
CimatronE session, which identifies each 
CimatronE 10.0 CimatronE SDK User Guide ⎪26 
 
iOperation event. For two consecutive events, the 
second (later) event will be identified by a 
greater number than the first. 
This identifier is passed to both the 
Before and After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a 
pair of Before and After method calls 
with one event. 
Input: (String) 
iDocPath 
Full path name of the .elt file. 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::AfterGetAccess 
Description 
An event occurs when CimatronE tries to get access for writing to/reading from a 
file. For example, it will happen when the first geometrical change occurs. 
Note: When the file is write-accessed, the system locks it so that consecutive write-
accesses to the same file from other instances of CimatronE will fail until the file is 
unlocked. You must conform to this protocol in the case of overriding the default 
processing of the event. 
The method takes the full path of the file and the access status. 
See BeforeGetAccess. 
Syntax 
AfterGetAccess(iApp, iData, iOperation, iDmOperResult, iDocPath, 
iAccessStatus) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
CimatronE 10.0 CimatronE SDK User Guide ⎪27 
 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DmOperResult) 
iDmOperResultThe result of the event process: 
Processed The event was processed. 
Succeeded The event was processed 
successfully. 
Failed The event was processed and 
has resulted in failure. 
Cancelled The event's processing was 
cancelled. 
 
Input: (String) iDocPath Full path name of the .elt file. 
Input: (AccessStatus) 
iAccessStatus 
Status of the attempt to access the file. 
 
IPdmHooks::AfterGetLockInfo 
Description 
An event occurs when CimatronE gets the lock information of a locked file. This 
happens when the system attempts to write-access the file and the attempt fails. 
This method takes the full path and the lock information of the file. 
See BeforeGetLockInfo. 
Syntax 
AfterGetLockInfo(iApp, iData, iOperation, iDocPath, iLockInfo) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
CimatronE 10.0 CimatronE SDK User Guide ⎪28 
 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Input: (String) iLockInfo The lock information of the file. 
 
IPdmHooks::AfterNewDocument 
Description 
An event occurs when CimatronE creates a new file. In particular, this happens 
after selecting a file type and units of measure from the New File dialog. 
This method passes you the full path of the created file. 
See BeforeNewDocument. 
Syntax 
AfterNewDocument(iApp, iData, iOperation, iDocTemplatePath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) 
iDocTemplatePath 
Full path name of the template file. 
 
IPdmHooks::AfterOpenDocument 
Description 
An event occurs when CimatronE opens an existing file. 
This method passes you the full path of the opened file. 
See BeforeOpenDocument. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪29 
 
AfterOpenDocument(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::AfterReconnect 
Description 
This method is called just after an action is taken in the method BeforeConnect and 
is an acknowledge that the .elt file is to be opened or not (depending on the value 
of iResult). 
Syntax 
AfterReconnect(iApp, iData, iOperation, iDocPath, iResult) 
Input: (IDispatch) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Integer) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
CimatronE 10.0 CimatronE SDK User Guide ⎪30 
 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Input: (Short) iResult The result of the event process: 
Processed The event was processed. 
Succeeded The event was processed 
successfully. 
Failed The event was processed and 
has resulted in failure. 
Cancelled The event's processing was 
cancelled. 
 
 
IPdmHooks::AfterSaveAs 
Description 
An event occurs when you choose File/Save As from the CimatronE menu bar. 
This method takes a list of the full paths of saved-as files. It is guaranteed that the 
number of files and their order in the list will be the same as in the list passed to the 
BeforeSaveAs method. 
Syntax 
AfterSaveAs(iApp, iData, iOperation, iDmOperResult, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DmOperResult) 
iDmOperResult 
The result of the event process: 
CimatronE 10.0 CimatronE SDK User Guide ⎪31 
 
Processed The event was processed. 
Succeeded The event was processed 
successfully. 
Failed The event was processed and 
has resulted in failure. 
Cancelled The event's processing was 
cancelled. 
 
Input: (String) iDocPath Full path name of the .elt file. 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::AfterSaveDocument 
Description 
An event occurs when CimatronE saves a file, in particular, when you choose the 
Save command from the main menu. If according to the save policy the dependent 
file(s) must be saved, the event occurs for each saved file. 
This method takes the full path of the saved file. 
See BeforeSaveDocument. 
 
Syntax 
AfterSaveDocument(iApp, iData, iOperation, iDmOperResult, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DmOperResult) The result of the event process: 
CimatronE 10.0 CimatronE SDK User Guide ⎪32 
 
iDmOperResult Processed The event was processed. 
Succeeded The event was processed 
successfully. 
Failed The event was processed and 
has resulted in failure. 
Cancelled The event's processing was 
cancelled. 
 
Input: (String) iDocPath Full path name of the .elt file. 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::AfterSelectByTree 
Description 
An event occurs when you are requested to select files for such operations as Open, 
Get From Catalog, Import, etc.. 
This method takes a vector of the selected files (full paths). 
See BeforeSelectByTree. 
Syntax 
AfterSelectByTree(iApp,iData, iOperation, iOperResult, iDocs) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DmOperResult) 
iOperResult 
The result of the event process: 
Processed The event was processed. 
CimatronE 10.0 CimatronE SDK User Guide ⎪33 
 
Succeeded The event was processed 
successfully. 
Failed The event was processed and 
has resulted in failure. 
Cancelled The event's processing was 
cancelled. 
 
Input: (String) iDocs Full path name of the .elt file. 
 
IPdmHooks::AfterUiDocPlacement 
Description 
An event occurs when the file's full path is requested for such operations as Save 
(the first save of a new file), Save As, etc.. 
This method takes the full path and the name of the file. 
See BeforeUiDocPlacement. 
Syntax 
AfterUiDocPlacement(iApp, iData, iOperation, iDmOperResult, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DmOperResult) 
iOperResult 
The result of the event process: 
Processed The event was processed. 
Succeeded The event was processed 
successfully. 
Failed The event was processed and 
has resulted in failure. 
CimatronE 10.0 CimatronE SDK User Guide ⎪34 
 
Cancelled The event's processing was 
cancelled. 
 
Input: (String) iDocPath Full path name of the .elt file. 
 
IPdmHooks::AfterUiNewDocument 
Description 
An event occurs when you press New File. 
Note: The event does not create a file, this is only a request for parameters to 
create a file. 
If BeforeUiNewDocument was successful, this method passes you the type, the 
units of measure and the template path of a file to be created. 
Syntax 
AfterUiNewDocument(iApp, iData, iOperation, iDmOperResult, 
iDocTemplatePath, iDocType, iUnitType) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DmOperResult) 
iOperResult 
The result of the event process: 
Processed The event was processed. 
Succeeded The event was processed 
successfully. 
Failed The event was processed and 
has resulted in failure. 
Cancelled The event's processing was 
cancelled. 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪35 
 
Input: (String) 
iDocTemplatePath 
Full path name of the template file. 
Input: (DocumentEnumType) 
iDocType 
Type of file. 
Input: (DocumentEnumUnit) 
iUnitType 
Type of measurement unit. 
 
IPdmHooks::AfterUnLock 
Description 
An event occurs when CimatronE tries to unlock a file previously locked by Get 
Access. This happens each time when the file is closed. 
This method takes the full path of the unlocked file. 
See BeforeUnLock. 
Syntax 
AfterUnLock(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
 
IPdmHooks::BeforeActiveDocument 
Description 
An event occurs when the window of an opened file becomes active (receives 
focus). 
This method takes the full path of the file. 
CimatronE 10.0 CimatronE SDK User Guide ⎪36 
 
See AfterActiveDocument. 
Syntax 
oMode = BeforeActiveDocument(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) 
iOperation 
A unique number, relative to the CimatronE session, 
which identifies each event. For two consecutive 
events, the second (later) event will be identified by a 
greater number than the first. 
This identifier is passed to both the Before and After 
methods of the event. 
This gives you the ability to determine the scope of 
an event. Otherwise, due to event nesting, it would be 
difficult to associate a pair of Before and After 
method calls with one event. 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (Integer) oMode The event process mode as defined by the user: 
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default processing of 
the event will be performed. 
Cancel The user cancels the event's 
processing. 
 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::BeforeCloseDocument 
Description 
An event occurs when you close the window of an open file. 
This method takes the full path of the file to be closed. 
See AfterCloseDocument. 
Syntax 
oMode = BeforeCloseDocument(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
CimatronE 10.0 CimatronE SDK User Guide ⎪37 
 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::BeforeGetAccess 
Description 
An event occurs when CimatronE tries to get access for writing to/reading from a 
file. For example, it will happen when the first geometrical change occurs. 
Note: When the file is write-accessed, the system locks it so that consecutive write-
accesses to the same file from other instances of CimatronE will fail until the file is 
unlocked. You must conform to this protocol in the case of overriding the default 
processing of the event. 
This method takes the full path of the file and an accessmode (read/write). If you 
override the default processing, the method returns the status of the attempt to 
access the file. 
See AfterGetAccess. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪38 
 
oAccessStatus, oMode = BeforeGetAccess(iApp, iData, iOperation, iDocPath, 
iAccessMode) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Input: (HookAccessMode) 
iAccessMode 
Access mode (read/write). 
Return: (AccessStatus) 
oAccessStatus 
Status of the attempt to access the file. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
 
IPdmHooks::BeforeGetLockInfo 
Description 
An event occurs when CimatronE gets the lock information of a locked file. This 
happens when the system attempts to write-access the file and the attempt fails. 
This method takes the full path of the file. If you override the default processing of 
the event, it returns the lock information (string) of the file. 
See AfterGetLockInfo. 
CimatronE 10.0 CimatronE SDK User Guide ⎪39 
 
Syntax 
oLockInfo, oMode = BeforeGetLockInfo(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (String) oLockInfo Lock information of the file. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
 
IPdmHooks::BeforeNewDocument 
Description 
An event occurs when CimatronE creates a new file. In particular, this happens 
after selecting a file type and units of measure from the New File dialog. 
This method passes you the full path, the type and the units of measure of a file to 
be created. The full path is a temporary path until the first save of the file. 
See AfterNewDocument. 
Syntax 
oMode = BeforeNewDocument(iApp, iData, iOperation, iDocTemplatePath, 
iDocType, iUnitType) 
CimatronE 10.0 CimatronE SDK User Guide ⎪40 
 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) 
iDocTemplatePath 
Full path name of the template file. 
Input: (DocumentEnumType) 
iDocType 
Type of file. 
Input: (DocumentEnumUnit) 
iUnitType 
Type of measurement unit. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
Restrictions 
You cannot override the default processing of this event (this method can return 
either "Continue" or "Cancel"). 
 
IPdmHooks::BeforeOpenDocument 
Description 
An event occurs when CimatronE opens an existing file. 
This method passes you the full path of the file to be opened. 
See AfterOpenDocument. 
CimatronE 10.0 CimatronE SDK User Guide ⎪41 
 
Syntax 
oMode = BeforeOpenDocument(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::BeforeReconnect 
Description 
When CimatronE is about to open a file, it tests the existence of each "server" file, 
and if a server doesn't appear in the expected place this method allows you to open 
the Reconnect dialog by specifying the path and name of the .elt file. 
Syntax 
oResult, oMode = BeforeReconnect(iApp, iData, iOperation, iDocPath) 
Input: (IDispatch) iApp Pointer to the application. 
CimatronE 10.0 CimatronE SDK User Guide ⎪42 
 
Input: (Variant) iData Not applicable. 
Input: (Integer) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (Short) oResult User entered result: ( 1 [default] = Continue; 0 
= Stop process ). 
Return: (Short) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
 
IPdmHooks::BeforeSaveAs 
Description 
An event occurs when you choose File/Save As from the CimatronE menu bar. 
This method takes a list of the full paths of files to be saved-as, a replace mode 
(yes, yes to all, no, no to all, not defined) and the full path of the target folder (root 
folder). 
See AfterSaveAs. 
Syntax 
oPathTargetFolder, oMode = BeforeSaveAs(iApp, iData, iOperation, 
iReplaceMode, iDocPath, ) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
CimatronE 10.0 CimatronE SDK User Guide ⎪43 
 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event.For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: 
(DmOperToDoQuestion) 
iReplaceMode 
A replace mode (yes, yes to all, no, no to all, 
not defined). 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (String) 
oPathTargetFolder 
The full path of the target folder (root folder). 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::BeforeSaveDocument 
Description 
An event occurs when CimatronE saves a file, in particular, when you choose the 
Save command from the main menu. If according to the save policy the dependent 
file(s) must be saved, the event occurs for each saved file. 
This method takes the full path of the file to be saved. 
See AfterSaveDocument. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪44 
 
oMode = BeforeSaveDocument(iApp, iData, iOperation, iDocName, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocName Name of the .elt file. 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
Restrictions 
You cannot override the default processing of the event. 
 
IPdmHooks::BeforeSelectByTree 
Description 
An event occurs when you are requested to select files for such operations as Open, 
Get From Catalog, Import, etc.. 
This method takes a vector of relevant file types, the maximum number of files 
allowed to be selected and a default string (the default string appears in the Select 
edit box of the CimatronExplorer dialog, which is launched in the case of default 
processing). 
CimatronE 10.0 CimatronE SDK User Guide ⎪45 
 
If you override the default processing of the event, this method returns a vector of 
selected files (vector of full paths). 
See AfterSelectByTree 
Syntax 
oDocIDs, oMode = BeforeSelectByTree(iApp, iData, iOperation, iDocType, 
iMaxNumber, iDefaultString) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DocumentEnumType) 
iDocType 
Type of file. 
Input: (Long) iMaxNumber The maximum number of files allowed to be 
selected. 
Input: (String) iDefaultString The default string (the default string appears in 
the Select edit box of the CimatronE Explorer 
dialog, which is launched in the case of default 
processing). 
Return: (String) oDocIDs If you override the default processing of the 
event, this method returns a vector of selected 
files (vector of full paths). 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
CimatronE 10.0 CimatronE SDK User Guide ⎪46 
 
processing. 
 
 
IPdmHooks::BeforeUiDocPlacement 
Description 
An event occurs when the file's full path is requested for such operations as Save 
(the first save of a new file), Save As, etc.. 
This method takes the type of the file. If you override the default processing of the 
event, the method returns the name and the full path of the file. 
See AfterUiDocPlacement. 
Syntax 
oDocName, oPath, oMode = BeforeUiDocPlacement(iApp, iData, iOperation, 
iDocType) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (DocumentEnumType) 
iDocType 
Type of file. 
Return: (String) oDocName Name of .elt file. 
Return: (String) oPath Path name of the .elt file. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
CimatronE 10.0 CimatronE SDK User Guide ⎪47 
 
Cancel The user cancels the event's 
processing. 
 
 
IPdmHooks::BeforeUiNewDocument 
Description 
An event occurs when you press New File. 
Note: The event does not create a file, this is only a request for parameters to 
create a file. 
If you process the event by yourself, this method returns the type, the units of 
measure and the template path (optional parameter) of a file to be created. 
See AfterUiNewDocument. 
Syntax 
oDocTemplatePath, oDocType, oUnitType, oMode = 
BeforeUiNewDocument(iApp, iData, iOperation) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Return: (String) 
oDocTemplatePath 
Full path name of the template file. 
Return: 
(DocumentEnumType) 
oDocType 
Type of file. 
Return: (DocumentEnumUnit) 
oUnitType 
Type of measurement unit. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
CimatronE 10.0 CimatronE SDK User Guide ⎪48 
 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
processing. 
 
 
IPdmHooks::BeforeUnLock 
Description 
An event occurs when CimatronE tries to unlock a file previously locked by Get 
Access. This happens each time when the file is closed. 
This method takes the full path of the file to be unlocked. 
See AfterUnLock.Syntax 
oMode = BeforeUnLock(iApp, iData, iOperation, iDocPath) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) iData Not applicable. 
Input: (Long) iOperation A unique number, relative to the CimatronE 
session, which identifies each event. For two 
consecutive events, the second (later) event 
will be identified by a greater number than the 
first. 
This identifier is passed to both the Before and 
After methods of the event. 
This gives you the ability to determine the 
scope of an event. Otherwise, due to event 
nesting, it would be difficult to associate a pair 
of Before and After method calls with one 
event. 
Input: (String) iDocPath Full path name of the .elt file. 
Return: (Integer) oMode The event process mode as defined by the user:
Process The user processes the event. 
Continue The user passes the control to 
CimatronE; the default 
processing of the event will be 
performed. 
Cancel The user cancels the event's 
CimatronE 10.0 CimatronE SDK User Guide ⎪49 
 
processing. 
 
 
IPdmHooks::CloseApplication 
Description 
An event occurs when CimatronE is closed. This event has only one method. The 
event does not need to be identified (the interface method doesn't take an event 
identifier number). 
Syntax 
CloseApplication(iApp, iData) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) 
iData 
Not applicable. 
 
IPdmHooks::OpenApplication 
Description 
An event occurs when CimatronE is launched. This event has only one method. 
The event does not need to be identified (the interface method doesn't take an event 
identifier number). 
Syntax 
OpenApplication(iApp, iData) 
Input: (Object) iApp Pointer to the application. 
Input: (Variant) 
iData 
Not applicable. 
 
Context 
Context 
 
 
ICimContext 
ICimContext 
This interface enables you to manipulate entities in CimatronE. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪50 
 
Get, Set ActiveModel IModel 
 
 
 
 
 
 
 
ICimContext::ActiveModel 
Description 
This property allows you to get and set the active model that the user defines. 
Syntax 
Property get: 
ActiveModel = ActiveModel( ); 
Return: 
(IModel)) 
ActiveModel 
Gets the active 
model that the 
user defines 
 
Property set: 
ActiveModel (NewVal); 
Input: 
(IModel) 
NewVal 
Sets the active 
model that the user 
defines 
 
Models 
Models 
CimatronE 10.0 CimatronE SDK User Guide ⎪51 
 
 
MdlrModel 
MdlrModel 
 
IMdlrModel 
IMdlrModel 
This interface represents a part file model. 
Properties 
Get ModelProcedures ICimEntityList
Get EntityModel IModel 
Get, Set ActiveObject ICimEntity 
Get,Set ActivateUcs ICimEntity 
Methods 
IMdProcedure CreateProcedure ( MdProcedureType ) 
IDimension GetDimensionByName ( String ) 
IDimension GetDimensionByInternalName ( String ) 
IGeomServices GetGeomServicesObj ( ) 
ImportModelFromBrowser ( ) 
ImportModelByPath ( String ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪52 
 
SetDimensionByName ( IDimension ) 
DeleteProcedure ( IMdProcedure ) 
SuppressProcedure ( Variant , Long ) 
IMdProcedure GetProcById ( Long ) 
Regenerate ( ) 
Variant GetDimensions ( ) 
UpdateDimensions ( ) 
DeActivateObjects ( ) 
IMdlrModel::CreateProcedure 
Description 
This method allows you to create different types of procedures. To get more 
information about procedures in CimatronE visit Procedures . 
Syntax 
Procedure = CreateProcedure( ProcedureType ); 
Input: (MdProcedureType) ProcedureTypeA type of procedure to be created.
Return: (IMdProcedure) Procedure Created procedure. 
 
IMdlrModel::DeleteProcedure 
Description 
This method deletes an existing procedure. 
Syntax 
DeleteProcedure( ProcedureToDelete ); 
Return: (IMdProcedure) ProcedureToDeleteA procedure to be deleted. 
IMdlrModel::EntityModel 
Description 
This property allows you to get a model in which a given entity was created. It is 
useful when you have imported objects from other models. 
Syntax 
Model = EntityModel( Entity ); 
Input: (ICimEntity) An entity to get a model in which it was created. 
Return: (IModel) ModelModel in which a given entity was created. 
IMdlrModel::GetDimensionByName 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪53 
 
This method allows you to get dimensions defined by its given name . 
Syntax 
Dimension = GetDimensionByName( Name ); 
Input: (String) Name A given name of a dimension. 
Return: (IDimension) 
Dimension 
A dimension that corresponds to this 
name. 
IMdlrModel::GetProcById 
Description 
This method allows you to get a procedure by its number. 
Syntax 
Procedure = GetProcById( ProcedureNumber ); 
Input: (Long) ProcedureNumber A procedure number. 
Return: (IMdProcedure) ProcedureA procedure with a given number. 
IMdlrModel::ModelProcedures 
Description 
This property allows you to get a list of all procedures in a current model. 
Syntax 
Property get 
Procedures = ModelProcedures( ); 
Return: (ICimEntityList) ProceduresList of all procedures in a current model.
Note 
Doesn't work if the current model contains imported models. 
IMdlrModel::Regenerate 
Description 
This method allows you to regenerate a model. After executing this procedure you 
are unable to call the UNDO command. 
Syntax 
Regenerate ( ); 
IMdlrModel::SetDimensionByName 
Description 
This method allows you to set new values for an existing dimension. For example, 
if you have an existing dimension you may change it using the IDimension 
interface and then call this method to set updated values. To evaluate changes, call 
the IMdlrModel::UpdateDimension method. 
CimatronE 10.0 CimatronE SDK User Guide ⎪54 
 
Syntax 
SetDimensionByName( NewDimension ); 
Input: (IDimension) NewDimension A dimension with new values. 
IMdlrModel::SuppressProcedure 
This is preliminary documentation and subject to change. 
Description 
This method allows you to suppress procedures. 
Syntax 
SuppressProcedure( SuppressProcedureList, Suppress ); 
Input: (Variant) 
SuppressProcedureList 
Variant that contains an array of MdProcedures 
elements that have to be suppressed. 
Input: (Boolean) Suppress If TRUE (=1) then suppress all procedures inthe 
 list, otherwise unsuppress. 
IMdlrModel::UpdateDimensions 
Description 
This method allows you to update dimensions in the model after you set new 
values using the IMdlrModel::SetDimensionByName method. 
Syntax 
UpdateDimensions( ); 
IMdlrModel::ActivateUcs 
Description 
This method allows you to get a current active UCS and set another UCS as active. 
Syntax 
Property get: 
ActiveUcs = ActivateUcs( ); 
Return: (ICimEntity) ActiveUcsCurrent active UCS entity.
 
Property set: 
ActivateUcs( UcsToActivate ); 
Return: (ICimEntity) UcsToActivateA UCS entity to activate.
 
IMdlrModel::ActiveObject 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪55 
 
This property allows you to get the current active object or activate an object. An 
active object may be a non- wireframe body, solid object or standalone face. By 
default a first created solid body (also standalone face) or imported model object is 
active. 
Syntax 
Property Set: 
Entity = ActiveObject( ); 
Return: (ICimEntity) Entity Current active object.
Property Get: 
ActiveObject( Entity ); 
Inupt: (ICimEntity) Entity Object to be activated.
IMdlrModel::DeActivateObjects 
Description 
This method allows you to deactivate a current active object in a model. 
Syntax 
DeActivateObjects( ); 
Note 
After executing deactivation, there is no active object in a model. You have to 
activate an object before carrying out procedures that require an active object like 
adding an extrusion or the removal of a solid object. 
IMdlrModel::GetDimensionByInternalName 
Description 
This method allows you to get a dimension defined by its internal name. 
Syntax 
Dimension = GetDimensionByInternalName( Name ); 
Input: (String) Name An internal dimensionn name. 
Return:(IDimension) Dimension A dimension that corresponds to this name.
IMdlrModel::GetDimensions 
Description 
This method allows you to get all dimensions that are in a current model. 
Syntax 
Dimensions = GetDimensions( ); 
Return: (Variant) 
Dimensions 
A variant that contains an array of IDimension type 
elements of dimensions in a current model. 
CimatronE 10.0 CimatronE SDK User Guide ⎪56 
 
Note 
Doesn't work if there is an imported model in a current model. 
IMdlrModel::GetGeomServicesObj 
Description 
This method allows you to get Geometrical services object. 
Syntax 
GeomServices = GetGeomServicesObj( ); 
 
Return: ( IGeomServices) GeomServicesGeometrical services object. 
Note 
 
IMdlrModel::ImportModelFromBrowser 
Description 
This method allows you to import a model into an open file using the file browser. 
Syntax 
ImportModelFromBrowser ( ); 
IMdlrModel::ImportModelByPath 
Description 
This method allows you to import a model using its full path name. 
Syntax 
ImportModelByPath ( iDocPath ); 
Input: (String) iDocPath Document full path\name 
IModel 
IModel 
This interface represents the basic operation on a model in CimatronE. 
Properties 
Get PID String 
Get Title String 
Get Unit DocumentEnumUnit
Get Type DocumentEnumType
Get ProcedureInEditMode Integer 
Methods 
ISetsFactory GetSetsFactory ( ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪57 
 
ICimEntity GetEntityById ( Integer, IModel ) 
Variant Active2ModelTranslate ( Variant ) 
Variant Model2ActiveTranslate ( Variant ) 
ICimEntityList ProceduresOfEntity ( ICimEntity ) 
IPointData GetPoint3D ( ) 
IModel::GetEntityById 
Description 
This method allows you to get an entity object, know its Id and the model in which 
it exists. 
Syntax 
Entity = GetEntityById( EntityId, Model ); 
Input: (Integer) EntityId An entity Id. 
Input: (IModel) Model Model in which entity exists.
Return: (ICimEntity) Entity Entity object. 
IModel::GetSetsFactory 
Description 
This method allows you to get pointer to ISetsFactory interface. 
Syntax 
SetsFactory= GetSetsFactory ( ); 
Return: (ISetsFactory) SetsFactoryPointer to ISetsFactory interface. 
 
IModel::PID 
Description 
This property allows you to get a model's PId. 
Syntax 
PId = PID ( ); 
Return: (String) PId PId of model.
IModel::Active2ModelTranslate 
Description 
This method allows you to translate Active UCS point coordinates to Model UCS 
point coordinates. 
Syntax 
ModelPoint = Active2ModelTranslate( ActivePoint ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪58 
 
Input: (Variant) 
ActivePoint 
Variant that contains double type one 
dimensional array of point coordinates in 
current active UCS. 
Return: (Variant) 
ModelPoint 
Variant that contains double type one 
dimensional array of point coordinates in 
model UCS. 
Note 
All coordinates are given relative to the model's main UCS. 
IModel::Model2ActiveTranslate 
Description 
This method allows you to translate Model UCS point coordinates to Active UCS 
point coordinates. 
Syntax 
ActivePoint = Model2ActiveTranslate( ModelPoint ); 
Input: (Variant) 
ModelPoint 
Variant that contains double type one 
dimensional array of point coordinates in 
model UCS. 
Return: (Variant) 
ActivePoint 
Variant that contains double type one 
dimensional array of point coordinates in 
current active UCS. 
Note 
All coordinates are given relative to the model's main UCS. 
IModel::Unit 
Description 
This property allows you to get the current model units. 
Syntax 
Units = Unit ( ); 
Return: (DocumentEnumUnit) Units The file units.
IModel::Title 
Description 
This property allows you to get the current model title. 
Syntax 
Title = Title ( ); 
Return: (String) Title The file title.
IModel::ProceduresOfEntity 
CimatronE 10.0 CimatronE SDK User Guide ⎪59 
 
 
Description 
This method allows you to get the procedures list that created the selected entity. 
Syntax 
EntityList = ProceduresOfEntity ( Entity ); 
Input: (ICimEntity) Entity Selected entity 
Return: (ICimEntityList) EntityList EntityList object.
IModel::GetPoint3D 
Description 
This method allows you to create a new Point3D object. 
Syntax 
PointD = GetPoint3D( ); 
Return: (IPointData) PointD IPointData object.
IModel::ProcedureInEditMode 
Description 
This method allows you to get the ID of a procedure that is in edit mode. 
Syntax 
ID = ProcedureInEditMode ( ); 
Return: (Integer) ID ID of procedure. 
ID = -1 if there is no procedure in edit mode. 
IModel::Type 
Description 
This property allows you to get the model file type. 
Syntax 
Type = Type ( ); 
Return: (DocumentEnumType) Type The model type.
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
CimatronE 10.0 CimatronE SDK User Guide ⎪60 
 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪61 
 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ILmGenerator 
ILmGenerator 
VC++ Example 
This interface allows you to get triangulation data of selected body faces or whole 
part model faces. 
Properties 
None 
Methods 
String Generate ( ) 
ILmGenerator::Generate 
Description 
This method generates triangulation data about faces. 
Syntax 
TriangulationData = Generate ( ); 
Return: (String) TriangulationDataString with triangulation data. 
AssemblyModel 
AssemblyModel 
 
IAssemblyModel 
IAssemblyModel 
This interface represents an assembly file model. 
Properties 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪62 
 
Get, Set ActivateUcs IUcs 
Get, Set ActiveInstance IAssInstance 
Get ModelProcedures ICimEntityList
Get GetDimensions Variant 
Get GetInstances Variant 
Get GetModels Variant 
Get GetConstrains ICimEntityList
 
Methods 
IMdProcedure CreateProcedure ( AssProcedureType ) 
ICimEntity GetAssemblyEntity ( ICimEntity, IAssInstance ) 
Variant GetInstancesByModel ( IModel ) 
IDimension GetDimensionByName ( String, IModel ) 
IGeomServices GetGeomServicesObj ( ) 
SetDimensionByName ( IModel, IDimension ) 
IAssInstance InstanceByAssemblyEnt ( ICimEntity ) 
DeleteProcedure ( IMdProcedure ) 
DeleteProcedureById ( Long ) 
IMdProcedure GetProcById ( Long ) 
Variant GetInstanceListByAttr ( IAttribute ) 
IModel EntityModel ( ICimEntity ) 
IAssInstance GetRootInstance( ) 
IDimension GetDimensionByInternalName ( String, IModel ) 
IAssemblyModel::GetRootInstance 
Description 
This method allows you to get a top-level instance of an assembly file that is 
actually an instance that contains a main assembly model. 
Syntax 
RootInstance = GetRootInstance( ); 
Return: (IAssInstance) RootInstance A top-level instance in an assembly file.
IAssemblyModel::GetDimensions 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪63 
 
This method allows you to get a dimension specified by its name from a given 
model. 
Syntax 
DimensionList = GetDimensions( ); 
Return: (Variant) 
DimensionList 
A list of dimensions from the current assembly 
model. 
IAssemblyModel::ModelProcedures 
Description 
This property allows you to get a list of assembly model procedures like the add 
component and connect components procedures. 
Syntax 
ProceduresList = ModelProcedures( ); 
Return: (ICimEntityList) 
ProceduresList 
A list of assembly model procedures 
(IMdProcedure). 
 
IAssemblyModel::ActiveInstance 
Description 
This property allows you to get a current active instance in an assembly file and set 
one of its instances as active. 
Syntax 
Property get: 
AssemblyInstance = ActiveInstance ( ); 
Return: (IAssInstance) AssemblyInstance An active instance in assembly file.
 
Property set: 
ActiveInstance( AssemblyInstance ); 
Input: (IAssInstance) 
AssemblyInstance 
An instance to be activated in assembly 
file. 
IAssemblyModel::CreateProcedure 
Description 
This method allows you to create an assembly procedure. 
Syntax 
Procedure = CreateProcedure( Type ); 
Input: (AssProcedureType) Type Type of created procedure.
CimatronE 10.0 CimatronE SDK User Guide ⎪64 
 
Return: (IMdProcedure) Procedure Created procedure. 
IAsssemblyModel::DeleteProcedure 
Description 
This method allows you to delete an existing procedure. 
Syntax 
DeleteProcedure( Procedure ); 
Input: (IMdProcedure) Procedure An existing procedure.
IAsssemblyModel::DeleteProcedureById 
This is preliminary documentation and is subject to change. 
Description 
This method allows you to delete a procedure specified by its Id. 
Syntax 
 DeleteProcedureById( ProcedureId ); 
Input: (Long) ProcedureId An Id of procedure for delete.
Note 
Since this procedure is also an entity, to get a procedure Id cast to the ICimEntity 
interface and then use the ICimEntity::Id property. 
IAsssemblyModel::EntityModel 
Description 
This method allows you to get a model to which a given entity is related. 
Syntax 
Model = EntityModel( Entity ); 
Input: (ICimEntity) Entity A given entity. 
Return: (IModel) Model A model to which entity relates.
IAsssemblyModel::GetConstrains 
Description 
This method allows you to get list of connect operations that are constraints made 
in a selected assembly model. 
Syntax 
Constrains = GetConstrains ( ); 
Return: (ICimEntityList) 
Constrains 
List of connect operations (IConnect ) in selected 
assembly model. 
IAssemblyModel::GetDimensionByName 
CimatronE 10.0 CimatronE SDK User Guide ⎪65 
 
Description 
This method allows you to get a dimension specified by its name from a given 
model. 
Syntax 
Dimansion = GetDimensionByName( Name, DimensionModel ); 
Input: (String) 
DimensionName 
A name attached to a dimension. 
Input: (IModel) 
DimensionModel 
Model from which to get a dimension with a 
current name. 
Return: (IDimension) 
Dimansion 
Returned dimension. 
IAssemblyModel::GetInstanceListByAttr 
Description 
This method allows you to get a list of instances according to their entity attributes. 
Syntax 
InstanceList = GetInstanceListByAttr( Attribute ); 
Input: (IAttribute) 
Attribute 
An attribute to search for. 
Return: (Variant) 
InstanceList 
Array of instances (IAssInstance) that their entities have 
given attribute. 
Note 
An attribute can be set by IAssInstance::Attribute property. 
Temporarily doesn't work properly. Remedy #00062844 
IAsssemblyModel::GetInstancesByModel 
Description 
This method allows you to get a list of instances occurring in a given model. The 
returned list contains instances that are under the current assembly model. 
Syntax 
InstanceList = GetInstancesByModel( Model ); 
Input: (IModel) Model The model to be searched for its instances. 
Return: (Variant) 
InstanceList 
A list of instances created by the adding of a given 
model. 
IAssemblyModel::GetModels 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪66 
 
This method allows you to get all models that are added under a selected 
assembly model. 
Syntax 
ModelList = GetModels ( ); 
Return: 
(Variant) 
ModelList 
An array of models added under the current assembly model. 
This array is filled with the relevant model types, IMdlrModel or 
IAssemblyModel interfaces. 
IAsssemblyModel::GetProcById 
This is preliminary documentation and is subject to change. 
Description 
This method allows you to get a procedure by its Id. 
Syntax 
Procedure = GetProcById( ProcedureId ); 
Input: (Long) ProcedureId The Id of a required procedure. 
Return: (IMdProcedure) Procedure A procedure with a specific Id. 
Note 
Since a procedure is also an entity, get a procedure Id cast to the ICimEntity 
interface and then use the ICimEntity::Id property. 
IAssemblyModel::SetDimensionByName 
Description 
This method allows you to set the dimension with changed values that was 
previously got by methods IAssemblyModel::GetDimensionByName and 
IAssemblyModel::GetDimensionByInternalName . 
Syntax 
SetDimensionByName( DimensionModel, Dimension ); 
Input: (IModel) DimensionModel A model in which a dimension is located. 
Input: (IDimension) Dimension Dimension to be set. 
IAssemblyModel::GetInstances 
Description 
This method allows you to get all instances from a selected assembly model. 
Syntax 
InstanceList = GetInstances( ); 
Return: (Variant) An array of instances (IAssInstance) in the assembly 
CimatronE 10.0 CimatronE SDK User Guide ⎪67 
 
InstanceList model. 
IAsssemblyModel::InstanceByAssemblyEnt 
Description 
This property allows you to get an instance by an entity that relates to it. 
Syntax 
Instance = InstanceByAssemblyEnt( AssemblyEntity ); 
Input: (ICimEntity) AssemblyEntity An entity. 
Return: (IAssInstance) Instance An Instance to which a given entity relates. 
IAssemblyModel::GetAssemblyEntity 
Description 
This method allows you to get an assembly entity that relates to an entity from a 
part that is included in the assembly model. 
Syntax 
AssemblyEntity = GetAssemblyEntity( Entity, Instance ); 
Input: (ICimEntity) 
Entity 
An entity from a part model which is included in the 
assembly file. 
Input: (IAssInstance) 
Instance 
An instance of a part model, from which you want to 
get a related assembly entity, in the assembly model. 
Return: (ICimEntity) 
AssemblyEntity 
An assembly entity that relates to an entity from a part.
IAssemblyModel::GetDimensionByInternalName 
Description 
This method allows you to get a dimension specified by its internal name from a 
given model. 
Syntax 
Dimansion = GetDimensionByName( Name, DimensionModel ); 
Input: (String) 
DimensionName 
An internal name of a dimension. 
Input: (IModel) 
DimensionModel 
The model from which to get a dimension with a 
current internal name. 
Return: (IDimension) 
Dimansion 
Returned dimension. 
IAssemblyModel::GetGeomServicesObj 
Description 
This method allows you to get Geometrical services object. 
CimatronE 10.0 CimatronE SDK User Guide ⎪68 
 
Syntax 
GeomServices = GetGeomServicesObj( ); 
 
Return: ( IGeomServices) GeomServicesGeometrical services object. 
Note 
 
IAssemblyModel::ActivateUcs 
Description 
This method allows you to get a current active UCS and set another UCS as active. 
Syntax 
Property get: 
ActiveUcs = ActivateUcs( ); 
Return: (ICimEntity) ActiveUcsCurrent active UCS entity.
 
Property set: 
ActivateUcs( UcsToActivate ); 
Return: (ICimEntity) UcsToActivateAUCS entity to activate.
IModel 
IModel 
This interface represents the basic operation on a model in CimatronE. 
Properties 
Get PID String 
Get Title String 
Get Unit DocumentEnumUnit
Get Type DocumentEnumType
Get ProcedureInEditMode Integer 
Methods 
ISetsFactory GetSetsFactory ( ) 
ICimEntity GetEntityById ( Integer, IModel ) 
Variant Active2ModelTranslate ( Variant ) 
Variant Model2ActiveTranslate ( Variant ) 
ICimEntityList ProceduresOfEntity ( ICimEntity ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪69 
 
IPointData GetPoint3D ( ) 
IModel::GetEntityById 
Description 
This method allows you to get an entity object, know its Id and the model in which 
it exists. 
Syntax 
Entity = GetEntityById( EntityId, Model ); 
Input: (Integer) EntityId An entity Id. 
Input: (IModel) Model Model in which entity exists.
Return: (ICimEntity) Entity Entity object. 
IModel::GetSetsFactory 
Description 
This method allows you to get pointer to ISetsFactory interface. 
Syntax 
SetsFactory= GetSetsFactory ( ); 
Return: (ISetsFactory) SetsFactoryPointer to ISetsFactory interface. 
IModel::PID 
Description 
This property allows you to get a model's PId. 
Syntax 
PId = PID ( ); 
Return: (String) PId PId of model.
IModel::Active2ModelTranslate 
Description 
This method allows you to translate Active UCS point coordinates to Model UCS 
point coordinates. 
Syntax 
ModelPoint = Active2ModelTranslate( ActivePoint ); 
Input: (Variant) 
ActivePoint 
Variant that contains double type one 
dimensional array of point coordinates in 
current active UCS. 
Return: (Variant) 
ModelPoint 
Variant that contains double type one 
dimensional array of point coordinates in 
model UCS. 
CimatronE 10.0 CimatronE SDK User Guide ⎪70 
 
Note 
All coordinates are given relative to the model's main UCS. 
IModel::Model2ActiveTranslate 
Description 
This method allows you to translate Model UCS point coordinates to Active UCS 
point coordinates. 
Syntax 
ActivePoint = Model2ActiveTranslate( ModelPoint ); 
Input: (Variant) 
ModelPoint 
Variant that contains double type one 
dimensional array of point coordinates in 
model UCS. 
Return: (Variant) 
ActivePoint 
Variant that contains double type one 
dimensional array of point coordinates in 
current active UCS. 
Note 
All coordinates are given relative to the model's main UCS. 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
CimatronE 10.0 CimatronE SDK User Guide ⎪71 
 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
AssemblyInstance 
AssemblyInstance 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪72 
 
IAssInstance 
IAssInstance 
This interface represents an assembly instance. 
Properties 
Get Transformation IModelTransformation
Get ID Long 
Get Model IModel 
Set Attribute IAttribute 
Get AddProcedure IAddModel 
Get AssRootInstance IAssInstance 
Get, Set Lock Boolean 
Get AssParentInstance IAssInstance 
Get, Set Color Long 
 
Methods 
IAttribute GetAttribute ( AttributeEnumType, String ) 
RemoveAttribute ( IAttribute ) 
IMdProcedure CreateProcedure( AssProcedureType ) 
ICimEntity GetEntityByName( String ) 
IAssInstance::AddProcedure 
Description 
This property allows you to get the procedure by which the instance was created. 
Syntax 
AddModel = AddProcedure ( ); 
Return: (IAddModel) 
AddModel 
The add procedure. Pointer to 
IAddModel interface. 
IAssInstance::Attribute 
Description 
This property allows you to set the attribute to instance. 
Syntax 
Attribute( Attribute ); 
Input: (IAttribute) Attribute Attribute to be atached to instance.
CimatronE 10.0 CimatronE SDK User Guide ⎪73 
 
IAssInstance::GetAttribute 
Description 
This method allows you to get the attribute attached to an instance. 
Syntax 
Attribute = GetAttribute( Type, Name ); 
Input: (AttributeEnumType) Type Type of required attribute.
Input: (String) Name Name of required attribute.
Return: (IAttribute) Attribute Required attribute. 
IAssInstance::ID 
Description 
This property allows you to get the instance ID. 
Syntax 
Id = ID ( ); 
Return: (Long) Id The instance ID.
IAssInstance::Model 
Description 
This property allows you to get the instance model. 
Syntax 
Model = Model ( ); 
Return: (IModel) Model Instance model.
 
IAssInstance::RemoveAttribute 
Description 
This method allows you to remove an attribute from an instance. 
Syntax 
RemoveAttribute( Attribute ); 
Input: (IAttribute) Attribute Attribute to be removed.
IAssInstance::Transformation 
Description 
This property allows you to get the transformation matrix of an instance. 
Syntax 
ModelTransformation = Transformation ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪74 
 
Return: (IModelTransformation) 
ModelTransformation 
Pointer to IModelTransformation interface 
through which you can get transformation. 
IAssInstance::AssRootInstance 
Description 
This property allows you to get the assembly root instance. This is the higher 
instance in a main assembly hierarchical tree. 
Syntax 
RootInstance = AssRootInstance( ); 
Return: (IAssInstance) RootInstanceRoot instance of assembly. 
IAssInstance::AssParentInstance 
Description 
This property allows you to get the parent assembly instance. This is 
the instance under which the current assembly was added. 
Syntax 
ParentInstance = AssParentInstance( ); 
Return: (IAssInstance) ParentInstanceAssembly parent instance. 
IAssInstance::CreateProcedure 
Description 
This method creates the assembly procedures that allow you to add new instances 
to an assembly and connect an instance to an instance in a current assembly. 
Syntax 
Procedure = CreateProcedure( Type ); 
Input: (AssProcedureType) Type Type of created procedure. 
Return: (IMdProcedure) 
Procedure Created procedure. 
IAssInstance::GetEntityByName 
Description 
This method allows you to get an assembly entity by its name. 
Syntax 
AssEntity = GetEntityByName( Name ); 
Input: (String) Name The name attached to entity. 
Return: (ICimEntity) AssEntityAssembly entity. 
CimatronE 10.0 CimatronE SDK User Guide ⎪75 
 
Note 
The assembly entity is different from the same entity in part model. 
IAssInstance::Lock 
Description 
This property allows you to get and set an assemblyinstance lock state. 
Syntax 
Property get: 
LockState = Lock( ); 
Return: 
(Boolean) 
LockState 
If FALSE (=0) the component is unlocked 
else the component islocked in its current 
position and cannot be moved. 
 
Property get: 
Lock( LockState ); 
Return: 
(Boolean) 
LockState 
If FALSE (=0) the component is unlocked 
else the component islocked in its current 
position and cannot be moved. 
 
IAssInstance::Color 
Description 
This property allows you to get and set the assembly instance color. 
Syntax 
Property get: 
Color = Color ( ); 
Return: (Long) Color Get current instance color.
 
Property get: 
Color ( Color ); 
Return: (Long) Color Set current instance color.
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪76 
 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪77 
 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
CimatronE 10.0 CimatronE SDK User Guide ⎪78 
 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
NcModel 
NcModel 
CimatronE 10.0 CimatronE SDK User Guide ⎪79 
 
 
INcModel 
INcModel 
This interface represents a NC file model. 
Properties 
Get ModelProcedures ICimEntityList
Get EntityModel IModel 
Get, Set ActiveObject ICimEntity 
Get,Set ActivateUcs ICimEntity 
 
Methods 
CheckExecutionStatus ( ) 
ConvertCSVCutters2CHL ( ) 
CreateFromTemplateReplaceCriteriaSets ( String, String ) 
CreateNcProceduresFromTemplate ( String ) 
IMdProcedure CreateProcedure ( MdProcedureType ) 
DeActivateObjects ( ) 
DeleteProcedure ( IMdProcedure ) 
ExecuteAllNcProcedures ( ) 
String ExecutePostToAllNcProcedures ( String, String, Variant ) 
IGeomServices GetGeomServicesObj ( ) 
ImportModelByPath ( String ) 
ImportModelFromBrowser ( ) 
Regenerate ( ) 
SuppressProcedure ( Variant , Long ) 
 
INcModel::ActivateUcs 
Description 
This method allows you to get a current active UCS and set another UCS as active. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪80 
 
Property get: 
ActiveUcs = ActivateUcs( ); 
Return: (ICimEntity) ActiveUcsCurrent active UCS entity.
 
Property set: 
ActivateUcs( UcsToActivate ); 
Return: (ICimEntity) UcsToActivateA UCS entity to activate.
INcModel::ActiveObject 
Description 
This property allows you to get the current active object or activate an object. An 
active object may be a non-wireframe body, solid object or standalone face. By 
default a first created solid body (also standalone face) or imported model object is 
active. 
Syntax 
Property Set: 
Entity = ActiveObject( ); 
Return: (ICimEntity) Entity Current active object.
Property Get: 
ActiveObject( Entity ); 
Input: (ICimEntity) Entity Object to be activated.
INcModel::CheckExecutionStatus 
Description 
Checks the status of all NC procedures in the active NC Setup and creates a log file 
in the Data Dir directory called NcExecuteApiLog.log. 
For every NC procedure, CheckExecutionStatus outputs a line in the file about its 
status. The line contains the procedure index and the toolpath index and is prefixed 
by "Error" in case of a procedure that is not executed, and by "Warning" in case of 
a procedure that is executed but does not have any and motions. 
Syntax 
CheckExecutionStatus (oResult) 
Output: oResult 0 = All procedures OK. 
1 = At least one of the procedures is not executed. 
2 = At least one of the procedures is without motions. 
3 = Failed to create a log file. 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪81 
 
INcModel::ConvertCSVCutters2CHL 
Description 
Allows you to convert a given CSV file to a CHL file and/or to the NC cutters 
paste buffer. 
Syntax 
T_NcConvertCSV2CHLResult aConvertStatus = 
ConvertCSVCutters2CHL(iInputFile, iOutputFile, iCHLCreate, iPaste, 
iConflictMethod); 
Input: (String) iInputFile The full path name of the source CSV file. 
The file should be an existing CSV file that 
is in the CimatronE cutters CSV format. 
Input: (String) iOutputFile The full path name of the destination CHL 
file. This can be an existing file or a new 
file. In the case of an existing file, the 
items from the CSV will be added to CHL 
file (the existing file can be empty if 
iCHLCreate is false). 
Input: (boolean) iCHLCreate If true, import the items from the CSV file 
to the CHL file. 
Input: (boolean) iPaste If true, import the items from the CSV file 
to the "paste buffer". 
Input: (integer) iConflictMethod Define the action if the target CHL file 
already exists and contains an item (eg. 
cutter) with the samename. The value of 
iConflictMethod can be one of the options 
in the enum NcConflictMethod. 
Return: 
(T_NcConvertCSV2CHLResult) 
Returns a Status struct. 
Note: See the example CutterApi2EDemo files. 
 
INcModel::CreateFromTemplateReplaceCriteriaSets 
Description 
The method creates NC toolpaths and procedures from the given template and 
replaces set names in criteria definitions according to the second input file, in all 
procedures created from the template. The template file name must the suffix .tpt 
or .mtt (single or multi toolpath - but not .pct). The toolpaths and procedures are 
created in the active NC file. 
 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪82 
 
CreateFromTemplateReplaceCriteriaSets( TemplateFileName , 
ReplaceSetsFileName ) 
Input: 
(String) TemplateFileName Input the template full path name. 
(String) ReplaceSetsFileName 
 
Input the full path name for the file containing 
sets to be replaces. 
File format: Pairs of set names, separated with 
a comma, the first one will be replaced by the 
second one. Each pair for replacement should 
be in a new line. 
Returns: 
0 = Operation successful. 
1 = Template file doesn't exist or invalid. 
2 = Execution failed. 
3 = No sets were replaced. 
 
INcModel::CreateNcProceduresFromTemplate 
Description 
The method creates NC toolpaths and procedures from the given template. The 
template must be .tpt or .mtt (single or multi toolpath - but not .pct ). The toolpaths 
and procedures are created in the active NC file. 
Syntax 
CreateNcProceduresFromTemplate( TemplateFileName ) 
Input: (String) TemplateFileName Input the template full path name. 
Returns: 
0 = Operation successful. 
1 = Error - not a valid file. 
2 = Execution failure 
 
INcModel::CreateProcedure 
Description 
This method allows you to create different types of procedures. To get more 
information about procedures in CimatronE see Procedures . 
Syntax 
Procedure = CreateProcedure( ProcedureType ); 
 
Input: (MdProcedureType) ProcedureType A type of procedure to be 
CimatronE 10.0 CimatronE SDK User Guide ⎪83 
 
created. 
Return: (IMdProcedure) ProcedureCreated 
procedure 
. 
INcModel::DeActivateObjects 
Description 
This method allows you to deactivate a current active object in a model. 
Syntax 
DeActivateObjects( ); 
Note 
After executing deactivation, there is no active object in a model. You have to 
activate an object before carrying out procedures that require an active object like 
adding an extrusion or the removal of a solid object. 
INcModel::DeleteProcedure 
Description 
This method deletes an existing procedure. 
Syntax 
DeleteProcedure( ProcedureToDelete ); 
Return: (IMdProcedure) ProcedureToDeleteA procedure to be deleted. 
INcModel::EntityModel 
Description 
This property allows you to get a model in which a given entity was created. It is 
useful when you have imported objects from other models. 
Syntax 
Model = EntityModel( Entity ); 
Input: (ICimEntity) An entity to get a model in which it was created. 
Return: (IModel) ModelA Model in which a given entity was created. 
INcModel::ExecuteAllNcProcedures 
Description 
Execute all NC procedures in the active NC file. 
Syntax 
ExecuteAllNcProcedures() 
Remarks 
Check for errors in case of failure. 
CimatronE 10.0 CimatronE SDK User Guide ⎪84 
 
Get errors description from file "NcExecuteApiLog.log" located in the Cimatron 
Data folder. 
 
INcModel::ExecutePostToAllNcProcedures 
Description 
Allows the user to receive information about results of batch executions via the 
API in a log file. This functionality enables the user to see the status of the job 
without opening the .elt file, and then proceed to the post processing stage. 
Syntax 
OutputFileName = ExecutePostToAllNcProcedures(iPostName, iOutputPath, 
iStartHome) 
Input: (String) 
iPostName 
If you work with IMS post (set in the Preferences) you have to 
supply the full path name. 
If you work with GPP or GPP2 you have to supply only the name 
of the post and the post files needed to be in the Post directory (if 
you supply the full path, the file name is taken from the path). 
Input: (String) 
iOutputPath 
The path name of the directory to contain the output files. 
Input: 
(Variant) 
iStartHome 
A variant to three doubles XYZ. 
Return: 
(String) 
The full path name of the created output file. The name of the log 
file is ncapilogfile.log, and it is located in the folder: 
Cimatron\CimatronE\Data. 
The log file contains: 
1. The .elt name 
2. The execution status for each procedure (In 
procedure No. "proc_num" "proc_name" in Toolpath 
No. "tp_num" "Tp_name"): 
a. Success, execution ended successfully. 
b. Warning, for a procedure whose execution 
ended successfully but without motions 
(empty toolpath). 
c. Error, interrupted procedure. 
 
INcModel::GetGeomServicesObj 
Description 
This method allows you to get a Geometrical services object. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪85 
 
GeomServices = GetGeomServicesObj( ); 
Return: ( IGeomServices) GeomServicesGeometrical services object. 
Note 
 
INcModel::ImportModelByPath 
Description 
This method allows you to import a model using its full path name. 
Syntax 
ImportModelByPath ( iDocPath ); 
Input: (String) iDocPath Document full path\name 
INcModel::ImportModelFromBrowser 
Description 
This method allows you to import a model into an open file using the file browser. 
Syntax 
ImportModelFromBrowser ( ); 
INcModel::ModelProcedures 
Description 
This property allows you to get a list of all procedures in a current model. 
Syntax 
Property get 
Procedures = ModelProcedures( ); 
Return: (ICimEntityList) ProceduresList of all procedures in a current model.
Note 
Doesn't work if the current model contains imported models. 
INcModel::Regenerate 
Description 
This method allows you to regenerate a model. After executing this procedure you 
are unable to call the UNDO command. 
Syntax 
Regenerate ( ); 
INcModel::SuppressProcedure 
This is preliminary documentation and subject to change. 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪86 
 
This method allows you to suppress procedures. 
Syntax 
SuppressProcedure( SuppressProcedureList, Suppress ); 
Input: (Variant) 
SuppressProcedureList 
Variant that contains an array of MdProcedures 
elements that have to be suppressed. 
Input: (Boolean) Suppress If TRUE (=1) then suppress all procedures in the 
list, otherwise unsuppress. 
IMdlrModel 
IMdlrModel 
This interface represents a part file model. 
Properties 
Get ModelProcedures ICimEntityList
Get EntityModel IModel 
Get, Set ActiveObject ICimEntity 
Get,Set ActivateUcs ICimEntity 
Methods 
IMdProcedure CreateProcedure ( MdProcedureType ) 
IDimension GetDimensionByName ( String ) 
IDimension GetDimensionByInternalName ( String ) 
IGeomServices GetGeomServicesObj ( ) 
ImportModelFromBrowser ( ) 
ImportModelByPath ( String ) 
SetDimensionByName ( IDimension ) 
DeleteProcedure ( IMdProcedure ) 
SuppressProcedure ( Variant , Long ) 
IMdProcedure GetProcById ( Long ) 
Regenerate ( ) 
Variant GetDimensions ( ) 
UpdateDimensions ( ) 
DeActivateObjects ( ) 
IMdlrModel::CreateProcedure 
Description 
This method allows you to create different types of procedures. To get more 
information about procedures in CimatronE visit Procedures . 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪87 
 
Procedure = CreateProcedure( ProcedureType ); 
Input: (MdProcedureType) ProcedureTypeA type of procedure to be created.
Return: (IMdProcedure) Procedure Created procedure. 
IMdlrModel::DeleteProcedure 
Description 
This method deletes an existing procedure. 
Syntax 
DeleteProcedure( ProcedureToDelete ); 
Return: (IMdProcedure) ProcedureToDeleteA procedure to be deleted. 
IMdlrModel::EntityModel 
Description 
This property allows you to get a model in which a given entity was created. It is 
useful when you have importedobjects from other models. 
Syntax 
Model = EntityModel( Entity ); 
Input: (ICimEntity) An entity to get a model in which it was created. 
Return: (IModel) ModelModel in which a given entity was created. 
IMdlrModel::GetDimensionByName 
Description 
This method allows you to get dimensions defined by its given name . 
Syntax 
Dimension = GetDimensionByName( Name ); 
Input: (String) Name A given name of a dimension. 
Return: (IDimension) 
Dimension 
A dimension that corresponds to this 
name. 
IMdlrModel::GetProcById 
Description 
This method allows you to get a procedure by its number. 
Syntax 
Procedure = GetProcById( ProcedureNumber ); 
Input: (Long) ProcedureNumber A procedure number. 
Return: (IMdProcedure) ProcedureA procedure with a given number. 
IMdlrModel::ModelProcedures 
CimatronE 10.0 CimatronE SDK User Guide ⎪88 
 
Description 
This property allows you to get a list of all procedures in a current model. 
Syntax 
Property get 
Procedures = ModelProcedures( ); 
Return: (ICimEntityList) ProceduresList of all procedures in a current model.
Note 
Doesn't work if the current model contains imported models. 
IMdlrModel::Regenerate 
Description 
This method allows you to regenerate a model. After executing this procedure you 
are unable to call the UNDO command. 
Syntax 
Regenerate ( ); 
IMdlrModel::SetDimensionByName 
Description 
This method allows you to set new values for an existing dimension. For example, 
if you have an existing dimension you may change it using the IDimension 
interface and then call this method to set updated values. To evaluate changes, call 
the IMdlrModel::UpdateDimension method. 
Syntax 
SetDimensionByName( NewDimension ); 
Input: (IDimension) NewDimension A dimension with new values. 
IMdlrModel::SuppressProcedure 
This is preliminary documentation and subject to change. 
Description 
This method allows you to suppress procedures. 
Syntax 
SuppressProcedure( SuppressProcedureList, Suppress ); 
Input: (Variant) 
SuppressProcedureList 
Variant that contains an array of MdProcedures 
elements that have to be suppressed. 
Input: (Boolean) Suppress If TRUE (=1) then suppress all procedures inthe 
 list, otherwise unsuppress. 
IMdlrModel::UpdateDimensions 
CimatronE 10.0 CimatronE SDK User Guide ⎪89 
 
Description 
This method allows you to update dimensions in the model after you set new 
values using the IMdlrModel::SetDimensionByName method. 
Syntax 
UpdateDimensions( ); 
IMdlrModel::ActivateUcs 
Description 
This method allows you to get a current active UCS and set another UCS as active. 
Syntax 
Property get: 
ActiveUcs = ActivateUcs( ); 
Return: (ICimEntity) ActiveUcsCurrent active UCS entity.
 
Property set: 
ActivateUcs( UcsToActivate ); 
Return: (ICimEntity) UcsToActivateA UCS entity to activate.
IMdlrModel::ActiveObject 
Description 
This property allows you to get the current active object or activate an object. An 
active object may be a non- wireframe body, solid object or standalone face. By 
default a first created solid body (also standalone face) or imported model object is 
active. 
Syntax 
Property Set: 
Entity = ActiveObject( ); 
Return: (ICimEntity) Entity Current active object.
Property Get: 
ActiveObject( Entity ); 
Inupt: (ICimEntity) Entity Object to be activated.
IMdlrModel::DeActivateObjects 
Description 
This method allows you to deactivate a current active object in a model. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪90 
 
DeActivateObjects( ); 
Note 
After executing deactivation, there is no active object in a model. You have to 
activate an object before carrying out procedures that require an active object like 
adding an extrusion or the removal of a solid object. 
IMdlrModel::GetDimensionByInternalName 
Description 
This method allows you to get a dimension defined by its internal name. 
Syntax 
Dimension = GetDimensionByInternalName( Name ); 
Input: (String) Name An internal dimensionn name. 
Return: (IDimension) Dimension A dimension that corresponds to this name.
IMdlrModel::GetDimensions 
Description 
This method allows you to get all dimensions that are in a current model. 
Syntax 
Dimensions = GetDimensions( ); 
Return: (Variant) 
Dimensions 
A variant that contains an array of IDimension type 
elements of dimensions in a current model. 
Note 
Doesn't work if there is an imported model in a current model. 
IMdlrModel::GetGeomServicesObj 
Description 
This method allows you to get Geometrical services object. 
Syntax 
GeomServices = GetGeomServicesObj( ); 
 
Return: ( IGeomServices) GeomServicesGeometrical services object. 
Note 
 
IMdlrModel::ImportModelFromBrowser 
Description 
This method allows you to import a model into an open file using the file browser. 
Syntax 
ImportModelFromBrowser ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪91 
 
IMdlrModel::ImportModelByPath 
Description 
This method allows you to import a model using its full path name. 
Syntax 
ImportModelByPath ( iDocPath ); 
Input: (String) iDocPath Document full path\name 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
CimatronE 10.0 CimatronE SDK User Guide ⎪92 
 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
DrftModel 
DrftModel 
 
IDrftModel 
This interface represents a Drafting file model. 
To be developed at a later stage. 
 
IModel 
IModel 
This interface represents the basic operation on a model in CimatronE. 
CimatronE 10.0 CimatronE SDK User Guide ⎪93 
 
Properties 
Get PID String 
Get Title String 
Get Unit DocumentEnumUnit
Get Type DocumentEnumType
Get ProcedureInEditMode Integer 
Methods 
ISetsFactory GetSetsFactory ( ) 
ICimEntity GetEntityById ( Integer, IModel ) 
Variant Active2ModelTranslate ( Variant ) 
Variant Model2ActiveTranslate ( Variant ) 
ICimEntityList ProceduresOfEntity ( ICimEntity ) 
IPointData GetPoint3D ( ) 
IModel::GetEntityById 
Description 
This method allows you to get an entity object, know its Id and the model in which 
it exists. 
Syntax 
Entity = GetEntityById( EntityId, Model ); 
Input: (Integer) EntityId An entity Id. 
Input: (IModel) Model Model in which entity exists.
Return: (ICimEntity) Entity Entity object.IModel::GetSetsFactory 
Description 
This method allows you to get pointer to ISetsFactory interface. 
Syntax 
SetsFactory= GetSetsFactory ( ); 
Return: (ISetsFactory) SetsFactoryPointer to ISetsFactory interface. 
IModel::PID 
Description 
This property allows you to get a model's PId. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪94 
 
PId = PID ( ); 
Return: (String) PId PId of model.
 
IModel::Active2ModelTranslate 
Description 
This method allows you to translate Active UCS point coordinates to Model UCS 
point coordinates. 
Syntax 
ModelPoint = Active2ModelTranslate( ActivePoint ); 
Input: (Variant) 
ActivePoint 
Variant that contains double type one 
dimensional array of point coordinates in 
current active UCS. 
Return: (Variant) 
ModelPoint 
Variant that contains double type one 
dimensional array of point coordinates in 
model UCS. 
Note 
All coordinates are given relative to the model's main UCS. 
IModel::Model2ActiveTranslate 
Description 
This method allows you to translate Model UCS point coordinates to Active UCS 
point coordinates. 
Syntax 
ActivePoint = Model2ActiveTranslate( ModelPoint ); 
Input: (Variant) 
ModelPoint 
Variant that contains double type one 
dimensional array of point coordinates in 
model UCS. 
Return: (Variant) 
ActivePoint 
Variant that contains double type one 
dimensional array of point coordinates in 
current active UCS. 
Note 
All coordinates are given relative to the model's main UCS. 
IModel::Unit 
Description 
This property allows you to get the current model units. 
Syntax 
Units = Unit ( ); 
Return: (DocumentEnumUnit) Units The file units.
CimatronE 10.0 CimatronE SDK User Guide ⎪95 
 
IModel::Title 
Description 
This property allows you to get the current model title. 
Syntax 
Title = Title ( ); 
Return: (String) Title The file title.
IModel::ProceduresOfEntity 
 
Description 
This method allows you to get the procedures list that created the selected entity. 
Syntax 
EntityList = ProceduresOfEntity ( Entity ); 
Input: (ICimEntity) Entity Selected entity 
Return: (ICimEntityList) EntityList EntityList object.
IModel::GetPoint3D 
Description 
This method allows you to create a new Point3D object. 
Syntax 
PointD = GetPoint3D( ); 
Return: (IPointData) PointD IPointData object.
IModel::ProcedureInEditMode 
Description 
This method allows you to get the ID of a procedure that is in edit mode. 
Syntax 
ID = ProcedureInEditMode ( ); 
Return: (Integer) ID ID of procedure. 
ID = -1 if there is no procedure in edit mode. 
IModel::Type 
Description 
This property allows you to get the model file type. 
Syntax 
Type = Type ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪96 
 
Return: (DocumentEnumType) Type The model type.
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪97 
 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
Documents 
Documents 
 
AssemblyDocument 
AssemblyDocument 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪98 
 
IAssemblyDocument 
This interface represents an assembly file and does not contain any methods. 
Intended for later use. 
Note 
You can use it to check what kind of file you have. In MS Visual C++, calling 
this interface with method QueryInterface(...) from a file returns NULL which 
means that this file isn't an assembly file. The same thing can be done in MS 
Visual Basic using the Set method. Assigning to a variable declared as 
IAssemblyDocument type with the Set method a variable of the IDocument type, 
returns an error if there is no assembly file. 
IDocument 
IDocument 
This interface represents the file in CimatronE. 
Properties 
Get Title String 
Get Type DocumentEnumType
Get Unit DocumentEnumUnit
Get Version Long 
Get PID String 
Get SetsOfDoc Variant 
Get Description String 
 
Methods 
Close ( ) 
Save ( ) 
SaveAs ( String ) 
SavePicture ( String ) 
Long ComparePIDs ( String ) 
String GetPath ( ) 
IDocument::Close 
Description 
This method closes the file. 
Syntax 
Close ( IsSave ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪99 
 
Input: (Boolean) IsSave If FALSE (=0) then don't save the file else save it. 
Note 
If IsSave parameter set to TRUE and the document was not saved or in time of the 
file creation the path was not set, the browser will appear. 
IDocument::ComparePIDs 
Description 
This property allows you to compare the PID of the file with another file PID. 
Syntax 
Result = ComparePIDs( PId ); 
Input: (String) PId PID of another compared file. 
Return: (Boolean) 
Result 
TRUE if PID's are equal meaning that this is the 
same file. 
IDocument::Description 
Description 
This property allows you to get the description of a file. 
Syntax 
Description = Description ( ); 
Return: (String) DescriptionDocument description.
IDocument::PID 
Description 
This property allows you to get the file model PId. 
Syntax 
PId = PID ( ); 
Return: (String) PId The file model PId.
IDocument::Save 
Description 
This method saves the current open active file in the CimatronE application. 
Syntax 
Save ( ); 
Note 
If in time of the file creation the path was not set, the browser will appear. 
IDocument::SetsOfDoc 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪100 
 
This property allows you to get a collection of sets in the current file. 
Syntax 
Property get: 
Sets = SetsOfDoc ( ); 
Return: (Variant) Sets An array of sets in the current file.
 
IDocument::Title 
Description 
This property allows you to get the current active file title. 
Syntax 
Title = Title ( ); 
Return: (String) Title The file title.
IDocument::Type 
Description 
This property allows you to get the current active file type. 
Syntax 
Type = Type ( ); 
Return: (DocumentEnumType) Type The file type.
IDocument::Unit 
Description 
This property allows you to get the current active file units. 
Syntax 
Units = Unit ( ); 
Return: (DocumentEnumUnit) Units The file units.
IDocument::Version 
Description 
This property allows you to get the file version. 
Syntax 
Version = Version ( ); 
Return: (Long) Version Document version
IDocument::GetPath 
Description 
CimatronE 10.0 CimatronE SDK User Guide⎪101 
 
This method returns the path of the file in the CimatronE Browser. 
Syntax 
DocumentPath = GetPath ( ); 
Return: 
(String) 
DocumentPath 
The path 
of the file. 
IDocument::SaveAs 
Description 
This method allows you to save the file in different path. 
Syntax 
SaveAs( DocumentPath ); 
Input: (String) DocumentPathThe document path.
Note 
This method doesn't work properly. It saves a file in same path just addes to the 
end of name Name_SaveAs appendix. 
IDocument::SavePicture 
Description 
This method allows you to capture the current file picture as a JPG file. 
Syntax 
SavePicture ( PicturePath ); 
Input: (String) PicturePath The picture path name.
Note 
It is not necessary to enter the .JPG extension. 
IModelContainer 
IModelContainer 
This interface allows you to get the main model of a file as well as the models it 
contains. 
Properties 
Get Model IModel 
 
Methods 
Variant GetModels ( ) 
IModelContainer::GetModels 
CimatronE 10.0 CimatronE SDK User Guide ⎪102 
 
Description 
This method allows you to get models that are included in the main model. For 
example, in assembly, models of instances under the root instance or in a part file, 
imported models. 
Syntax 
ModelsList = GetModels ( ); 
Return: (Variant) ModelsList Array of models.
 
IModelContainer::Model 
Description 
This property allows you to get the main model of a file. 
Syntax 
Model = Model ( ); 
Return: (IModel) Model The main model of a file.
IToolContainer 
IToolContainer 
This interface allows you to activate and deactivate different kinds of tools like PickTool 
or ArrowFigure interaction tool. 
Properties 
None 
Methods 
PopTool ( ITool ) 
PushPickTool ( ITool, IEntityFilter, IEntityFilter, Boolean); 
PushTool ( ITool ) 
Note 
To be able to use tools you have to create a COM object that implements at least 
the ITool interface of the Tool co-class. 
IToolContainer::PopTool 
Description 
This method deactivates a tool. 
Syntax 
PopTool( ToolImplementedObject ); 
Input: (ITool) An instance of an AxtiveX object that at least 
CimatronE 10.0 CimatronE SDK User Guide ⎪103 
 
ToolImplementedObject implements an ITool interface of the Tool co-class.
 
IToolContainer::PushTool 
Description 
This method allows you to activate a user-defined tool. 
Syntax 
PushTool( ToolImplementedObject ); 
Input: (ITool) 
ToolImplementedObject 
An instance of an AxtiveX object that at least 
implements an ITool interface of the Tool co-class.
IInteractionSink 
IInteractionSink::CreateInteraction 
Description 
This method allows you to create an interaction object. 
Syntax 
Interaction = CreateInteraction( InteractionType ); 
Input: (InteractionType) InteractionType An interaction type.
Return: (IInteraction) Interaction Created interaction.
Example 
If an anrgument InteractionType was set to cmArrowFig then return value of this 
method will be pointer to interface of IArrowFigure object. 
IInteractionSink::GetActiveInteractions 
Description 
This method allows you to get all user interaction ID's. 
Syntax 
oList = GetActiveInteractions( ); 
 
Return: (Variant) oList All interaction ID's.
Example 
 
IInteractionSink::GetInteraction 
Description 
This method allows you to get Interaction object by input ID. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪104 
 
oObj = GetActiveInteractions( iID); 
 
Input: (Integer) iID Input ID. 
Return: (IInteraction) oObj Get interaction object.
Note 
 
ISelection 
ISelection 
This interface represents the selection operation. 
Properties 
Get/Set Selection ICimEntityList
 
Methods 
UpdateSelection ( Boolean, ICimEntityList ) 
ISelection::Selection 
Description 
This property allows you to get and set the selection entities (show the selected 
entities highlighted). 
 
Syntax 
Property get: 
Objects = Selection ( ); 
Return: (ICimEntityList) ObjectsGet the selected entity list.
 
Property set: 
Selection ( Objects ); 
Return: (ICimEntityList) ObjectsSet the selected entity list.
 
Remarks 
ISelection::UpdateSelection 
Description 
This method allows you to update the selection list. 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪105 
 
Syntax 
UpdateSelection ( iAdd, iEntList ); 
Input: (Boolean) iAdd TRUE = Add the input entity list to the selection list.
FALSE = Remove the input entity list from the 
selection list. 
Input: (ICimEntityList) 
iEntList 
Set the entity list to Add/Remove from the selection 
list. 
Note 
 
DraftDocument 
DraftDocument 
 
IDraftDocument 
This interface represents a Drafting file. 
To be developed at a later stage. 
 
IInteractionSink 
IInteractionSink::GetActiveInteractions 
Description 
This method allows you to get all user interaction ID's. 
Syntax 
oList = GetActiveInteractions( ); 
 
Return: (Variant) oList All interaction ID's.
Example 
 
IInteractionSink::GetInteraction 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪106 
 
This method allows you to get Interaction object by input ID. 
Syntax 
oObj = GetActiveInteractions( iID); 
 
Input: (Integer) iID Input ID. 
Return: (IInteraction) oObj Get interaction object.
Note 
 
IModelContainer 
IModelContainer 
This interface allows you to get the main model of a file as well as the models it 
contains. 
Properties 
Get Model IModel 
 
Methods 
Variant GetModels ( ) 
IModelContainer::GetModels 
Description 
This method allows you to get models that are included in the main model. For 
example, in assembly, models of instances under the root instance or in a part file, 
imported models. 
Syntax 
ModelsList = GetModels ( ); 
Return: (Variant) ModelsList Array of models.
IModelContainer::Model 
Description 
This property allows you to get the main model of a file. 
Syntax 
Model = Model ( ); 
Return: (IModel) Model The main model of a file.
IDocument 
IDocument 
CimatronE 10.0 CimatronE SDK User Guide ⎪107 
 
This interface represents the file in CimatronE. 
Properties 
Get Title String 
Get Type DocumentEnumType
Get Unit DocumentEnumUnit
Get Version Long 
Get PID String 
Get SetsOfDoc Variant 
Get Description String 
 
Methods 
Close ( ) 
Save ( ) 
SaveAs ( String ) 
SavePicture ( String ) 
Long ComparePIDs ( String ) 
String GetPath ( ) 
IDocument::Close 
Description 
This method closes the file. 
Syntax 
Close ( IsSave ); 
Input: (Boolean) IsSave If FALSE (=0) then don't save the file else save it. 
Note 
If IsSave parameter set to TRUE and the document was not saved or in time of the 
file creation the path was not set, the browser will appear. 
IDocument::ComparePIDs 
Description 
This property allows you to compare the PID of the file with another file PID. 
Syntax 
Result = ComparePIDs( PId ); 
Input: (String) PId PID of another compared file. 
CimatronE 10.0 CimatronE SDK User Guide ⎪108 
 
Return: (Boolean) 
Result 
TRUE if PID's are equal meaning that this is the 
same file. 
 
IDocument::Description 
Description 
This property allows you to get the description of a file. 
Syntax 
Description = Description ( ); 
Return: (String) DescriptionDocument description.
IDocument::PID 
Description 
This property allows you to get the file model PId. 
Syntax 
PId = PID ( ); 
Return: (String) PId The file model PId.
IDocument::Save 
Description 
This method saves the current open active file in the CimatronE application. 
Syntax 
Save ( ); 
Note 
If in time of the file creation the path was not set, the browser will appear. 
IDocument::SetsOfDoc 
Description 
This property allows you to get a collection of sets in the current file. 
Syntax 
Property get: 
Sets = SetsOfDoc ( ); 
Return: (Variant) Sets An array of sets in the current file.
IDocument::Title 
Description 
This property allows you to get the current active file title. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪109 
 
Title = Title ( ); 
Return: (String) Title The file title.IDocument::Type 
Description 
This property allows you to get the current active file type. 
Syntax 
Type = Type ( ); 
Return: (DocumentEnumType) Type The file type.
IDocument::Unit 
Description 
This property allows you to get the current active file units. 
Syntax 
Units = Unit ( ); 
Return: (DocumentEnumUnit) Units The file units.
IDocument::Version 
Description 
This property allows you to get the file version. 
Syntax 
Version = Version ( ); 
Return: (Long) Version Document version
IDocument::GetPath 
Description 
This method returns the path of the file in the CimatronE Browser. 
Syntax 
DocumentPath = GetPath ( ); 
Return: 
(String) 
DocumentPath 
The path 
of the file. 
IDocument::SaveAs 
Description 
This method allows you to save the file in different path. 
Syntax 
SaveAs( DocumentPath ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪110 
 
Input: (String) DocumentPathThe document path.
Note 
This method doesn't work properly. It saves a file in same path just addes to the 
end of name Name_SaveAs appendix. 
IToolContainer 
IToolContainer 
This interface allows you to activate and deactivate different kinds of tools like PickTool 
or ArrowFigure interaction tool. 
Properties 
None 
Methods 
PopTool ( ITool ) 
PushPickTool ( ITool, IEntityFilter, IEntityFilter, Boolean); 
PushTool ( ITool ) 
Note 
To be able to use tools you have to create a COM object that implements at least 
the ITool interface of the Tool co-class. 
IToolContainer::PopTool 
Description 
This method deactivates a tool. 
Syntax 
PopTool( ToolImplementedObject ); 
Input: (ITool) 
ToolImplementedObject 
An instance of an AxtiveX object that at least 
implements an ITool interface of the Tool co-class.
 
IToolContainer::PushPickTool 
Description 
This method sets a filter on a pick tool (it is an extension of the PushTool method). 
The following parameters are required: iActiveFilter (the actual filter), 
iEnableFilter (the entities types that can be filtered), and iEnablePoints - if the 
filter includes points. 
Syntax 
PushPickTool( ToolImplementedObject , iActiveFilter, iEnableFilter, 
iEnablePoints); 
Input: (ITool) An instance of an AxtiveX object that at least 
CimatronE 10.0 CimatronE SDK User Guide ⎪111 
 
ToolImplementedObject implements an ITool interface of the Tool co-
class. 
Input: (IEntityFilter) iActiveFilter Entity filter. 
Input: (IEntityFilter) iEnableFilter The entity types that can be filtered. 
Input: (Boolean) iEnablePoints Define if the enable point selection is by pick. 
If False - point pick is disabled, otherwise it is 
enabled. 
 
IToolContainer::PushTool 
Description 
This method allows you to activate a user-defined tool. 
Syntax 
PushTool( ToolImplementedObject ); 
Input: (ITool) 
ToolImplementedObject 
An instance of an AxtiveX object that at least 
implements an ITool interface of the Tool co-class.
ISelection 
ISelection 
This interface represents the selection operation. 
Properties 
Get/Set Selection ICimEntityList
 
Methods 
UpdateSelection ( Boolean, ICimEntityList ) 
ISelection::Selection 
Description 
This property allows you to get and set the selection entities (show the selected 
entities highlighted). 
 
Syntax 
Property get: 
Objects = Selection ( ); 
Return: (ICimEntityList) ObjectsGet the selected entity list.
 
CimatronE 10.0 CimatronE SDK User Guide ⎪112 
 
Property set: 
Selection ( Objects ); 
Return: (ICimEntityList) ObjectsSet the selected entity list.
 
Remarks 
ISelection::UpdateSelection 
Description 
This method allows you to update the selection list. 
 
Syntax 
UpdateSelection ( iAdd, iEntList ); 
Input: (Boolean) iAdd TRUE = Add the input entity list to the selection list.
FALSE = Remove the input entity list from the 
selection list. 
Input: (ICimEntityList) 
iEntList 
Set the entity list to Add/Remove from the selection 
list. 
Note 
 
PartDocument 
PartDocument 
 
IPartDocument 
This interface represents a part file and does not have any methods. Intended for 
later use. 
Note 
You can use it to check what kind of file you have. In MS Visual C++ if calling 
this interface with method QueryInterface(...) from file you get NULL, it means 
that this file isn't a part file. The same thing can be done in MS Visual Basic using 
the Set method. Assigning a variable declared as IPartDocument type with the Set 
CimatronE 10.0 CimatronE SDK User Guide ⎪113 
 
method a variable of the IDocument type will produce an error if there is no part 
file. 
For later use 
IDocument 
IDocument 
This interface represents the file in CimatronE. 
Properties 
Get Title String 
Get Type DocumentEnumType
Get Unit DocumentEnumUnit
Get Version Long 
Get PID String 
Get SetsOfDoc Variant 
Get Description String 
 
Methods 
Close ( ) 
Save ( ) 
SaveAs ( String ) 
SavePicture ( String ) 
Long ComparePIDs ( String ) 
String GetPath ( ) 
IDocument::Close 
Description 
This method closes the file. 
Syntax 
Close ( IsSave ); 
Input: (Boolean) IsSave If FALSE (=0) then don't save the file else save it. 
Note 
If IsSave parameter set to TRUE and the document was not saved or in time of the 
file creation the path was not set, the browser will appear. 
IDocument::ComparePIDs 
CimatronE 10.0 CimatronE SDK User Guide ⎪114 
 
Description 
This property allows you to compare the PID of the file with another file PID. 
Syntax 
Result = ComparePIDs( PId ); 
Input: (String) PId PID of another compared file. 
Return: (Boolean) 
Result 
TRUE if PID's are equal meaning that this is the 
same file. 
IDocument::Description 
Description 
This property allows you to get the description of a file. 
Syntax 
Description = Description ( ); 
Return: (String) DescriptionDocument description.
IDocument::PID 
Description 
This property allows you to get the file model PId. 
Syntax 
PId = PID ( ); 
Return: (String) PId The file model PId.
IDocument::Save 
Description 
This method saves the current open active file in the CimatronE application. 
Syntax 
Save ( ); 
Note 
If in time of the file creation the path was not set, the browser will appear. 
IDocument::SetsOfDoc 
Description 
This property allows you to get a collection of sets in the current file. 
Syntax 
Property get: 
Sets = SetsOfDoc ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪115 
 
Return: (Variant) Sets An array of sets in the current file.
IDocument::Title 
Description 
This property allows you to get the current active file title. 
Syntax 
Title = Title ( ); 
Return: (String) Title The file title.
IDocument::Type 
Description 
This property allows you to get the current active file type. 
Syntax 
Type = Type ( ); 
Return: (DocumentEnumType) Type The file type.
 
IDocument::Unit 
Description 
This property allows you to get the current active file units. 
Syntax 
Units = Unit ( ); 
Return: (DocumentEnumUnit) Units The file units.
IDocument::Version 
Description 
This property allows you to get the file version. 
Syntax 
Version = Version ( ); 
Return: (Long) Version Document version
IDocument::GetPath 
Description 
This method returns the path of the file in the CimatronE Browser. 
Syntax 
DocumentPath = GetPath ( ); 
Return: 
(String) The path 
CimatronE 10.0 CimatronE SDK User Guide ⎪116 
 
DocumentPath of the file. 
IDocument::SaveAs 
Description 
This method allows you to save the file in different path. 
Syntax 
SaveAs( DocumentPath ); 
Input: (String) DocumentPathThe document path.
Note 
This method doesn't work properly. It saves a file in same path just addes to the 
end of name Name_SaveAs appendix. 
ISelection 
ISelection 
This interface represents the selection operation. 
Properties 
Get/Set Selection ICimEntityList
 
Methods 
UpdateSelection ( Boolean, ICimEntityList ) 
ISelection::Selection 
Description 
This property allows you to get and set the selection entities (show the selected 
entitieshighlighted). 
 
Syntax 
Property get: 
Objects = Selection ( ); 
Return: (ICimEntityList) ObjectsGet the selected entity list.
 
Property set: 
Selection ( Objects ); 
Return: (ICimEntityList) ObjectsSet the selected entity list.
 
Remarks 
CimatronE 10.0 CimatronE SDK User Guide ⎪117 
 
ISelection::UpdateSelection 
Description 
This method allows you to update the selection list. 
 
Syntax 
UpdateSelection ( iAdd, iEntList ); 
Input: (Boolean) iAdd TRUE = Add the input entity list to the selection list.
FALSE = Remove the input entity list from the 
selection list. 
Input: (ICimEntityList) 
iEntList 
Set the entity list to Add/Remove from the selection 
list. 
Note 
 
IModelContainer 
IModelContainer 
This interface allows you to get the main model of a file as well as the models it 
contains. 
Properties 
Get Model IModel 
 
Methods 
Variant GetModels ( ) 
IModelContainer::GetModels 
Description 
This method allows you to get models that are included in the main model. For 
example, in assembly, models of instances under the root instance or in a part file, 
imported models. 
Syntax 
ModelsList = GetModels ( ); 
Return: (Variant) ModelsList Array of models.
IModelContainer::Model 
Description 
This property allows you to get the main model of a file. 
Syntax 
Model = Model ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪118 
 
Return: (IModel) Model The main model of a file.
IToolContainer 
IToolContainer 
This interface allows you to activate and deactivate different kinds of tools like PickTool 
or ArrowFigure interaction tool. 
Properties 
None 
Methods 
PopTool ( ITool ) 
PushPickTool ( ITool, IEntityFilter, IEntityFilter, Boolean); 
PushTool ( ITool ) 
Note 
To be able to use tools you have to create a COM object that implements at least 
the ITool interface of the Tool co-class. 
IToolContainer::PopTool 
Description 
This method deactivates a tool. 
Syntax 
PopTool( ToolImplementedObject ); 
Input: (ITool) 
ToolImplementedObject 
An instance of an AxtiveX object that at least 
implements an ITool interface of the Tool co-class.
 
IToolContainer::PushTool 
Description 
This method allows you to activate a user-defined tool. 
Syntax 
PushTool( ToolImplementedObject ); 
Input: (ITool) 
ToolImplementedObject 
An instance of an AxtiveX object that at least 
implements an ITool interface of the Tool co-class.
IInteractionSink 
IInteractionSink::GetActiveInteractions 
Description 
This method allows you to get all user interaction ID's. 
CimatronE 10.0 CimatronE SDK User Guide ⎪119 
 
Syntax 
oList = GetActiveInteractions( ); 
 
Return: (Variant) oList All interaction ID's.
Example 
 
IInteractionSink::GetInteraction 
Description 
This method allows you to get Interaction object by input ID. 
Syntax 
oObj = GetActiveInteractions( iID); 
 
Input: (Integer) iID Input ID. 
Return: (IInteraction) oObj Get interaction object.
Note 
 
NcDocument 
NCDocument 
 
INcDocument 
This interface represents a NC file and does not have any methods. 
Intended for later use. 
Note 
You can use it to check what kind of file you have. In MS Visual C++, if 
calling this interface with method QueryInterface(...) from file produces 
NULL, it means that this file isn't a part file. The same thing can be done 
in MS Visual Basic using the Set method. Assigning a variable declared as 
IPartDocument type with the Set method a variable of the IDocument type 
will produce an error if there is no part file. 
CimatronE 10.0 CimatronE SDK User Guide ⎪120 
 
For later use 
IModelContainer 
IModelContainer 
This interface allows you to get the main model of a file as well as the models it 
contains. 
Properties 
Get Model IModel 
 
Methods 
Variant GetModels ( ) 
IModelContainer::GetModels 
Description 
This method allows you to get models that are included in the main model. For 
example, in assembly, models of instances under the root instance or in a part file, 
imported models. 
Syntax 
ModelsList = GetModels ( ); 
Return: (Variant) ModelsList Array of models.
IModelContainer::Model 
Description 
This property allows you to get the main model of a file. 
Syntax 
Model = Model ( ); 
Return: (IModel) Model The main model of a file.
IDocument 
IDocument 
This interface represents the file in CimatronE. 
Properties 
Get Title String 
Get Type DocumentEnumType
Get Unit DocumentEnumUnit
Get Version Long 
CimatronE 10.0 CimatronE SDK User Guide ⎪121 
 
Get PID String 
Get SetsOfDoc Variant 
Get Description String 
 
Methods 
Close ( ) 
Save ( ) 
SaveAs ( String ) 
SavePicture ( String ) 
Long ComparePIDs ( String ) 
String GetPath ( ) 
IDocument::Close 
Description 
This method closes the file. 
Syntax 
Close ( IsSave ); 
Input: (Boolean) IsSave If FALSE (=0) then don't save the file else save it. 
Note 
If IsSave parameter set to TRUE and the document was not saved or in time of the 
file creation the path was not set, the browser will appear. 
IDocument::ComparePIDs 
Description 
This property allows you to compare the PID of the file with another file PID. 
Syntax 
Result = ComparePIDs( PId ); 
Input: (String) PId PID of another compared file. 
Return: (Boolean) 
Result 
TRUE if PID's are equal meaning that this is the 
same file. 
IDocument::Description 
Description 
This property allows you to get the description of a file. 
Syntax 
Description = Description ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪122 
 
Return: (String) DescriptionDocument description.
IDocument::PID 
Description 
This property allows you to get the file model PId. 
Syntax 
PId = PID ( ); 
Return: (String) PId The file model PId.
IDocument::Save 
Description 
This method saves the current open active file in the CimatronE application. 
Syntax 
Save ( ); 
Note 
If in time of the file creation the path was not set, the browser will appear. 
IDocument::SetsOfDoc 
Description 
This property allows you to get a collection of sets in the current file. 
Syntax 
Property get: 
Sets = SetsOfDoc ( ); 
Return: (Variant) Sets An array of sets in the current file.
IDocument::Title 
Description 
This property allows you to get the current active file title. 
Syntax 
Title = Title ( ); 
Return: (String) Title The file title.
IDocument::Type 
Description 
This property allows you to get the current active file type. 
Syntax 
Type = Type ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪123 
 
Return: (DocumentEnumType) Type The file type.
IDocument::Unit 
Description 
This property allows you to get the current active file units. 
Syntax 
Units = Unit ( ); 
Return: (DocumentEnumUnit) Units The file units.
 
IDocument::Version 
Description 
This property allows you to get the file version. 
Syntax 
Version = Version ( ); 
Return: (Long) Version Document version
IDocument::GetPath 
Description 
This method returns the path of the file in the CimatronE Browser. 
Syntax 
DocumentPath = GetPath ( ); 
Return: 
(String) 
DocumentPath 
The path 
of the file. 
IDocument::SaveAs 
Description 
This method allows you to save the file in different path. 
Syntax 
SaveAs( DocumentPath ); 
Input: (String) DocumentPathThe document path.
Note 
This method doesn't work properly. It saves a file in same path just addes to the 
end of name Name_SaveAs appendix. 
ISelection 
ISelection 
CimatronE 10.0 CimatronE SDK User Guide ⎪124 
 
This interface represents the selection operation. 
Properties 
Get/Set Selection ICimEntityList
 
Methods 
UpdateSelection ( Boolean, ICimEntityList ) 
ISelection::Selection 
Description 
This property allows you to get and set the selection entities (show the selected 
entities highlighted). 
 
Syntax 
Property get: 
Objects = Selection ( ); 
Return: (ICimEntityList) ObjectsGet the selected entity list.
 
Property set: 
Selection ( Objects ); 
Return: (ICimEntityList) ObjectsSet the selectedentity list.
 
Remarks 
ISelection::UpdateSelection 
Description 
This method allows you to update the selection list. 
 
Syntax 
UpdateSelection ( iAdd, iEntList ); 
Input: (Boolean) iAdd TRUE = Add the input entity list to the selection list.
FALSE = Remove the input entity list from the 
selection list. 
Input: (ICimEntityList) 
iEntList 
Set the entity list to Add/Remove from the selection 
list. 
Note 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪125 
 
Entity Containers 
Entity Containers 
 
EntityList 
EntityList 
 
An EntityList object is an entity container. 
Note 
You have two opportunities to get EntityList object: 
a) receive it as output parameter from some methods that operates with it. For 
example executing query on part model you get an EntityList that consists of 
entities that appropriates to query filter. 
b) or you may create a new EntityList object and fill it in with desired entities or 
merge with another existing entity list. 
ICimEntityList 
ICimEntityList 
This interface represents a container of entities. It can be received, for example, 
after the IEntityQuery::Select method . 
Properties 
Get Item ICimEntity 
Get Count Long 
Set Show Boolean 
Methods 
Add ( ICimEntity ) 
AddFromList ( ICimEntityList ) 
Remove ( ICimEntity ) 
Boolean IsEntityExist ( ICimEntity) 
CimatronE 10.0 CimatronE SDK User Guide ⎪126 
 
Note 
Make sure entities in EntityList are indexed starting from Index 1. 
ICimEntityList::Count 
Description 
This property allows you get the number of entities in an entity list. 
Syntax 
Count = Count ( ); 
Return: (Long) Count The number of entities in a list.
 
ICimEntityList::IsEntityExist 
Description 
This method allows you to check whether a specified entity exists in an entity list. 
Syntax 
Result = IsEntityExist( Entity ); 
Input: (ICimEntity) 
Entity Entity to be checked 
Return: (Boolean) Result If entity appears in list it returns TRUE, otherwise FALSE. 
ICimEntityList::Item 
Description 
This property allows you to get an entity from an entity list specifying its (entity) 
position in the list. 
Syntax 
Entity = Item( Index ); 
Input: (Long) Index The position of an entity in an entity list. 
Return: (ICimEntity) Entity The required entity from an entity list. 
ICimEntityList::Add 
Description 
This method allows you to add an entity to an entity list. 
Syntax 
Add( Entity ); 
Input: (ICimEntity) Entity An entity to be added to an entity list. 
ICimEntityList::AddFromList 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪127 
 
This method allows you to merge an existing entity with a current entity list. 
Syntax 
AddFromList( EntityList ); 
Input: (ICimEntityList) 
EntityList 
An existing entity list to be added/merged with a 
current entity list. 
ICimEntityList::Remove 
Description 
This method allows you to merge an existing entity with a current entity list. 
Syntax 
Remove( EntityToRemove ); 
Input: (ICimEntity) 
EntityToRemove 
An entity to be removed from the current entity 
list. 
ICimEntityList::Show 
Description 
This property allows you to Hide/Show a set of entities. 
Syntax 
Property set: 
Show ( Status); 
Input: (Boolean) Status Set entity visibility
SelectionList 
 
Support for Online Help 
Support for Online Help 
 
 
SupportHelp 
CimatronE 10.0 CimatronE SDK User Guide ⎪128 
 
SupportHelp 
 
 
ISupportHelp 
ISupportHelp 
This interface enables the user to connect the CimatronE Help pages to an 
external tool. This can be implemented in the XFeatureGuide and 
XUserControlDialog. 
Properties 
None 
 
Methods 
SetHelpTopic 
GetHelpTopic 
 
 
 
ISupportHelp::SetHelpTopic 
Description 
This method sets the path of the Help file and topic. 
Syntax 
SetHelpTopic ( iFileName, iTopic ); 
Input: (String) 
iFileName 
The name of 
the Help file 
(.chm). 
Input: (String) 
iTopic 
The name of 
the Help topic 
(.htm) 
 
ISupportHelp::GetHelpTopic 
Description 
This method gets the path of the Help file and topic. 
CimatronE 10.0 CimatronE SDK User Guide ⎪129 
 
Syntax 
GetHelpTopic ( oFileName, oTopic ); 
Output: 
(String) 
oFileName 
The name of 
the Help file 
(.chm). 
Output: 
(String) oTopic 
The name of 
the Help topic 
(.htm) 
 
DI 
DI 
 
DI 
DI 
 
IDI 
IDI 
This interface allows you to Import and Export a Data interface file. 
Properties 
 
Methods 
Import ( iSrcFileName, iDstDirectory ) 
Export ( iSrcFileName, iDstFileName,EDIApplicationType ) 
ImportToCurrentDocument ( iSrcFileName, oCreatedPath) 
CimatronE 10.0 CimatronE SDK User Guide ⎪130 
 
SetParameterFileName (iFileName) 
 
IDI::Import 
 
Description 
This method allows you to Translate any DI file to a CimatronE file. 
 
Syntax 
Import ( iSrcFileName, iDstDirectory ); 
Input: (String) iSrcFileName Set the input DI file name + Extension. 
Input: (String) iDstDirectory Set output folder for the created CimatronE file.
 
Remarks 
The input DI file as to be supported by Cimatron. 
This option depend on license for DI. 
IDI::Export 
 
Description 
This method allows you to Translate a CimatronE file to a DI file dependent on the 
input type. 
 
Syntax 
Export ( iSrcFileName, iDstFileName, iAppType ); 
Input: (String) iSrcFileName Set the CimatronE source file. 
Input: (String) iDstFileName Set the destination file name (without the 
extension). 
Input: (EDIApplicationType) 
iAppType 
Set the type of DI file created. 
 
Remarks 
This option is dependent on a license for DI. 
IDI::ImportToCurrentDocument 
 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪131 
 
Import a file to the active CimatronE file. 
 
Syntax 
ImportToCurrentDocument( iSrcFileName, oCreatedPath); 
Input: (String) iSrcFileName The path of the model that will be imported. 
Input: (String) oCreatedPath The path of the new elt. 
 
IDI::SetParameterFileName 
 
Description 
Set the parameters from the parameter file for the Import operation. 
 
Syntax 
SetParameterFileName(iFileName); 
Input: (String) iFileName The full path of the parameter's file. 
 
NC 
NC 
 
 
NC 
NC 
CimatronE 10.0 CimatronE SDK User Guide ⎪132 
 
 
 
INC 
INC 
 
Properties 
T_NcConvertCSV2CHLResult 
 
T_NcConvertCSV2CHLResult 
This struct is the Result status of method ConvertCSVCutters2CHL from INcModel. 
Struct Members 
mErrorStatus Integer – Error status of ConvertCSVCutters2CHL the 
value can be a combination of values from enum 
NcConvert2CHLResult. 
mNumberOfItems Integer – Number of items that was imported from the 
CSV. 
mItemType NcImportedItemType – Item type (cutter or holder). 
mFailedItemIndex Integer – In case the import failed and stopped during 
conversion, contains the index of the item that failed. 
mFailedItemName String - In case the import failed and stopped during 
conversion, contains the name of the item that failed. 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪133 
 
Tools, Commands and Interaction 
Tools, Commands and Interaction 
 
Commands 
Commands 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪134 
 
Command 
Command 
 
ICimCommand 
ICimCommand 
Example 
Properties 
None 
Methods 
Execute( ) 
Boolean Enable( ) 
ICimCommand::Enable 
Example 
Description 
This property allows you to enable the command in CimatronE. 
Syntax 
Status = Enable ( ) 
Get/Set: (Boolean) Status 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICimCommand. 
 
ICimCommand::Execute 
Example 
Description 
This property allows you to execute your own application created in CimatronE 
API Command. 
Syntax 
Execute( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the ICimCommand class 
CimatronE 10.0 CimatronE SDK User Guide ⎪135 
 
 
ICreateCommand 
ICreateCommand 
Example 
Properties 
None 
Methods 
StringGetTooltip ( ) 
String GetPrompt ( ) 
String GetMenuPath ( ) 
String GetToolbarName ( ) 
Long IsBelongToDoc ( DocumentEnumType ) 
String GetCategoryName ( ) 
String GetCommandName ( ) 
Long ShowInMenu ( ) 
Long ShowInToolbar ( ) 
IPicture GetBitmap ( ) 
Remarks 
These methods cannot be used as standard calls. To work with them, you need to 
implement this interface in some class (see example). 
ICreateCommand::GetBitmap 
Example 
Description 
This property allows you to set the Bitmap/Icon picture that will be shown on your 
own command button. 
Syntax 
iPicture = GetBitmap ( ); 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
ICreateCommand::GetCategoryName 
Example 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪136 
 
This property allows you to set the Category Name of your own command. 
Syntax 
String = GetCategoryName( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
ICreateCommand::GetCommandName 
Example 
Description 
This property allows you to set the Command Name of your own command. 
Syntax 
String = GetCommandName( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
ICreateCommand::GetMenuPath 
Example 
Description 
This property allows you to set the location of your own command in CimatronE 
menus. 
Syntax 
String = GetMenuPath ( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
ICreateCommand::GetPrompt 
Example 
Description 
This property allows you to set the string that will be shown in the status bar of 
CimatronE. 
Syntax 
String = GetPrompt ( ) 
Remarks 
CimatronE 10.0 CimatronE SDK User Guide ⎪137 
 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
ICreateCommand::GetToolbarName 
Example 
Description 
This property allows you to set the Toolbar title of your own command. 
Syntax 
String = GetToolbarName( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand 
ICreateCommand::GetTooltip 
Example 
Description 
This property allows you to set the Tooltip for your own command. 
Syntax 
String = GetTooltip ( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
ICreateCommand::IsBelongToDoc 
Example 
Description 
This property allows you to define the type of file that you can use to view your 
own Commands. 
Syntax 
Status = IsBelongToDoc( iType ) 
Input: (ECommandCategory) iType Input Type 
Return: (Boolean) Status Set file Status
 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪138 
 
ICreateCommand::ShowInMenu 
Example 
Description 
This property allows you to Enable/Disable your own command in the Dropdown 
Menus. 
Syntax 
Boolean = ShowInMenu ( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
 
ICreateCommand::ShowInToolbar 
Example 
Description 
This property allows you to Enable/Disable the command in the Toolbar. 
Syntax 
Boolean = ShowInToolbar ( ) 
Remarks 
This property cannot be used as a standard call. To work with it, it is necessary to 
implement the class ICreateCommand. 
 
PoolCommand 
PoolCommand 
 
IPoolCommands 
IPoolCommands 
This interface allows you to get commands from the CimatronE menu. 
Properties 
None 
Methods 
ICimCommand GetCommand ( String, String ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪139 
 
Variant GetCommandsNames ( ) 
IPoolCommands::GetCommand 
Description 
This method allows you to get a command from the CimatronE menu. 
Syntax 
Command = GetCommand( CategoryName, CommandName ); 
Input: (String) CategoryName A category name to which a command 
belongs. 
Input: (String) CommandName A command name. 
Return: (ICimCommand) 
Command 
Reference to a specified command. 
Note 
It is possible to get external commands created by the user. See ICreateCommand. 
IPoolCommands::GetCommandsNames 
Description 
This method allows you to get a list of all commands from the CimatronE menu. 
Syntax 
CommandList = GetCommandsNames ( ); 
Return: (Variant) CommandList List of all CimatronE commands. 
Note 
1. Each command is represented by CategoryName,CommandName 
2. It is possible to execute those commands using 
IPoolCommands::GetCommand & ICimCommand::Execute 
 
 
Visual Basic Sample Code 
CimatronE 10.0 CimatronE SDK User Guide ⎪140 
 
 
 ' Init Application access 
 Dim AppAcc As AppAccess 
 ' Init CimatronE application 
 Dim CimApp As CimatronELib.Application 
 ' Init Pool command interface 
 Dim PoolCommands As CimBaseAPILib.PoolCommands 
 ' init command array 
 Dim aCommandsNamesArray As Variant 
 
 ' Set application access 
 Set AppAcc = New AppAccess 
 ' Set application from aplication access 
 Set CimApp = AppAcc.GetApplication 
 ' Get pool command interface from application 
 Set PoolCommands = CimApp.GetPoolCommands 
 
 ' Get list of all command from pool command interface. 
 aCommandsNamesArray = PoolCommands.GetCommandsNames 
 
 
Tools and Interaction 
Tools and Interaction 
CimatronE 10.0 CimatronE SDK User Guide ⎪141 
 
 
Tool 
Tool 
 
A Tool object represents a common user defined tool in the CimatronE application. It 
expose four interfaces, two of them, ITool and IToolEvents are tool's common interfaces, 
IPickToolEvents interface is specific for PickTool tool events and IFigureEvent interface 
traps events of interaction tool (ArrowFigure interaction object). 
User tool creation 
CimatronE 10.0 CimatronE SDK User Guide ⎪142 
 
To create your own tool you must to implement in COM object the ITool interface and 
also you may implement event trapping interfaces for specific tools you are going to use. 
To activate a user tool you have to create an instance of your COM object that 
implements the ITool interface and call IToolContaner::PushTool method. Deactivating 
of pushed tool may be done by pressing the middle button in the CimatronE interaction or 
by calling IToolContainer::PopTool method. 
ITool 
ITool 
An interface that must be implemented in user COM object to allow the user to 
define his own tool. 
Properties 
Get, Set ToolLevel Long 
Methods 
OnToolPushed ( Variant ) 
OnToolPoped ( ) 
ITool::OnToolPoped 
Description 
This method allows you to catch the moment when a user tool becomes 
deactivated. 
Syntax 
OnToolPoped ( ); 
Note 
If you work with a pick tool, add a code to this method to get the most updated 
list of selected entities. 
ITool::OnToolPushed 
Description 
This method allows you to catch the moment when a user tool becomes activated. 
Syntax 
OnToolPushed( ToolHelper ); 
Input: (Variant) 
ToolHelper 
The variant that contains a reference tothe IPickTool interface if 
it was implemented in the IPickToolEvents interface in a user 
tool, otherwise NULL. 
Notes: 
• Use this event to initialize a pointer to the IPickTool interface that allows you to 
set a filter for entities to be picked, and after completing the selection, to get a list 
with selected entities. 
CimatronE 10.0 CimatronE SDK User Guide ⎪143 
 
• To get the most updated list of selected entities for the pick tool, use the 
ITool::OnToolPoped event . After this event you can't get a list of selected 
entities. 
• To use pre-selection in the API PickTool, you need to implement your own 
PickTool and toset the filter in the OnToolPushed event to the PickToolHelper 
object. 
For example: 
ITool_OnToolPushed( iToolHelper As Variant) 
Call PickToolHelper.SetFilter(EntityFilter, EnablePoints) 
End Sub 
 
ITool::ToolLevel 
Description 
This property allows you to get and set tool levels. There are four tool levels: 
• eNormalLevel = 1 
• eSketcherLevel = 100 
• eServicesLevel = 150 
• eImmediateLevel = 200 
Syntax 
Property get: 
ToolLevel = ToolLevel ( ); 
Return: (Long) ToolLevel Tool level.
 
Property set: 
ToolLevel ( ToolLevel ); 
Input: (Long) ToolLevel Tool level.
IToolEvents 
IToolEvents 
This is one of the interfaces that the user may implement for his tool to get mouse 
and keyboard events. 
Properties 
None 
Methods 
OnMouseEvent ( MouseEventType, Long, Long ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪144 
 
OnKeyboardEvent ( Long, Long, Long ) 
OnBlockPop ( Long ) 
stdole.IPicture OnSetCursor ( Long, Long ) 
IToolEvents::OnKeyboardEvent 
Description 
This method allows you to control a keyboard event occurring in a file for which a 
user tool was set. 
Syntax 
OnKeyboardEvent( Char, RepetitionCount, Flags ); 
Input: (Long) Char Contains the character code value of the key. 
Input: (Long) 
RepetitionCount 
Contains the repeat count, the number of times the 
keystroke is repeated when the user holds down the key. 
Input: (Long) Flags Returns specific flags. The information in Flags is 
generally not useful in applications. 
IToolEvents::OnMouseEvent 
Description 
This method allows you to get mouse events occurring in the file view for which a 
user tool was set. 
Syntax 
OnMouseEvent( EventType, XDisplayPosition, YDisplayPosition ); 
Input: 
(MouseEventType) 
EventType 
A type of mouse event. 
Input: (Long) 
XDisplayPosition 
X-coordinate of the mouse position. This is a 
display coordinate in the file view. The start 
coordinate system is in the upper left-hand corner 
of the view. 
 Input: (Long) 
YDisplayPosition 
Y-coordinate of the mouse position. This is a 
display coordinate in the file view. The start 
coordinate system is in the upper left-hand corner 
of the view. 
IToolEvents::OnBlockPop 
Description 
This method allows you to decide if the tool will POP if the user pressed the MMB 
(Middle Mouse Button) while the tool is pushed. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪145 
 
OnBlockPop ( PopEvent ); 
Input: (Long) 
PopEvent 
FALSE = (default) the tool will set the pop event in 
MMB. 
TRUE = no pop event when MMB is pressed. 
IPickToolEvents 
IPickToolEvents 
This interface allows you to catch events that occur when a pick tool is activated. 
Properties 
OnClearSelection 
Methods 
OnEntityDraged ( ICimEntity, Long, Long ) 
OnEntityHighlighted ( ICimEntity, Long, Long ) 
OnEntityPressed ( ICimEntity, Long, Long ) 
OnEntityReleased ( ICimEntity, Long, Long ) 
OnEntityPicked ( ICimEntity ) 
OnNoEntityPicked ( Long, Long ) 
Note 
A sequence of pick tool events occurs when an entity is selected: 
1. OnEntityHighlighted 
2. OnEntityPressed 
3. OnEntityDraged (if an entity is beinig draged) 
4. OnEntityReleased 
5. OnEntityPicked 
IPickToolEvents::OnEntityDraged 
Description 
This method is used when a user attempts to drag an entity. 
Syntax 
OnEntityDraged( Entity, XDisplayPosition, YDisplayPosition ); 
Input: (ICimEntity) Entity An entity to be dragged. 
Input: (Long) 
XDisplayPosition 
X-coordinate of last mouse position where dragged 
entity was dropped. 
Input: (Long) 
YDisplayPosition 
Y-coordinate of last mouse position where dragged 
entity was dropped. 
Note 
CimatronE 10.0 CimatronE SDK User Guide ⎪146 
 
The mouse position coordinates are coordinates displayed in the file view. The start 
coordinate system is in the upper left-hand corner of the view. 
 
IPickToolEvents::OnEntityHighlighted 
Description 
This method is used when a user highlights an entity. 
Syntax 
OnEntityHighlighted( Entity, XDisplayPosition, YDisplayPosition ); 
Input: (ICimEntity) Entity A highlighted entity. 
Input: (Long) XDisplayPositionX-coordinate of mouse position. 
Input: (Long) YDisplayPosition Y-coordinate of mouse position. 
Note 
The mouse position coordinates are coordinates displayed in the file view. The start 
coordinate system is in the upper left hand corner of the view. 
 
IPickToolEvents::OnEntityPicked 
Description 
This method is used after a IPickToolEvents::OnEntityReleased event 
when the user selects an entity. It is not used when an entity is unselected. 
Syntax 
OnEntityPikced( Entity ); 
Input: (ICimEntity) EntityA picked entity.
IPickToolEvents::OnEntityPressed 
Description 
This method is used when a user presses an entity. 
Syntax 
OnEntityPressed( Entity, XDisplayPosition, YDisplayPosition ); 
Input: (ICimEntity) Entity A pressed entity. 
Input: (Long) XDisplayPositionX-coordinate of mouse position. 
Input: (Long) YDisplayPosition Y-coordinate of mouse position. 
Note 
The mouse position coordinates are coordinates displayed in the file view. The start 
coordinate system is in the upper left-hand corner of the view. 
IPickToolEvents::OnEntityReleased 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪147 
 
This method is used when a user releases an entity (left mouse button up). 
Syntax 
OnEntityReleased( Entity, XDisplayPosition, YDisplayPosition ); 
Input: (ICimEntity) Entity A released entity. 
Input: (Long) XDisplayPositionX-coordinate of mouse position. 
Input: (Long) YDisplayPosition Y-coordinate of mouse position. 
Note 
The mouse position coordinates are coordinates displayed in the file view. The start 
coordinate system is in the upper left-hand corner of the view. 
 
IPickToolEvents::OnNoEntityPicked 
Description 
This method is used when a user picks an empty place in the file view. 
Syntax 
OnNoEntityPicked( XDisplayPosition, YDisplayPosition ); 
Input: (Long) XDisplayPositionX coordinate of mouse position. 
Input: (Long) YDisplayPosition Y coordinate of mouse position. 
Note 
The mouse position coordinates are coordinates displayed in the file view. The start 
coordinate system is in the upper left hand corner of the view. 
 
IPickToolEvents::OnClearSelection 
Description 
Get an event when the user runs Clear Selection in CimatronE. 
OnClearSelection (); 
IFigureEvent 
IFigureEvent 
An interface that the user must implement in the same COM object with the ITool 
interface to be able to trap events of an interaction tool like ArrowFigure. 
Properties 
None 
Methods 
FigureChange( InteractionType, IInteraction ); 
IFigureEvent::FigureChange 
CimatronE 10.0 CimatronE SDK User Guide ⎪148 
 
Description 
This event is fired when a change occurs in the interaction tool. 
Syntax 
FigureChange( InteractionType, Interaction ); 
Input: (InteractionType) 
InteractionType 
An interaction tool type. Currently only the 
ArrowFigure interaction is available. 
Input: (IInteraction) 
Interaction 
A reference to an interaction tool. 
UserMessage 
UserMessage 
 
IUserMessage 
IUserMessage 
This interface represents an interaction interface of user messages. 
Properties 
 
Set SetPrompt String 
Methods 
None 
IUserMessage::SetPrompt 
Description 
This property allows you to set a string in the CimatronE prompt area. 
Syntax 
Property set: 
SetPrompt( iStr ); 
 
 
Input: (String) iStr Set string to be displayed in the prompt area. 
Note 
 
IInteraction 
CimatronE 10.0 CimatronE SDK User Guide ⎪149 
 
IInteraction 
This is a general interface that represents the interaction objects. 
Properties 
Get Type InteractionType 
Get ID Integer 
 
Methods 
 
 
IInteraction::ID 
Description 
This property allows you to get the ID of an existing interaction object. 
Syntax 
Property get: 
oID = ID( ); 
 
Return: (Integer) oID Get ID.
 
IInteraction::Type 
Description 
This property allows you to get the type of existing interaction object. 
Syntax 
Property get:oType = Type( ); 
 
Return: (InteractionType) oType Get type of interaction.
 
PickTool 
PickTool 
CimatronE 10.0 CimatronE SDK User Guide ⎪150 
 
 
PIckTool is a type of user tools that allows you to select entities using different 
conditions sets by existing filters. 
See Tool topic to find out how to create a user defined tool. 
IPickTool 
IPickTool 
This interface allows you to set a filter for entities to be selected by pick in a 
CimatronE file work area and get a result of the selection. 
Properties 
None 
Methods 
SetFilter ( IEntityFilter, Boolean ) 
ICimEntityList GetSelectionList ( ) 
Void SetFilterActive(IEntityFilter, Long) 
Void SetFilterEnable(IEntityFilter, Long) 
Sub SinglePick(Long) 
 
IPickTool::GetSelectionList 
Description 
This method returns a list of entities selected by pick. 
Syntax 
SelectionList = GetSelectionList ( ); 
Return: (ICimEntityList) 
SelectionList 
A list of picked entities according to a set 
filter. 
IPickTool::SetFilter 
Description 
This method allows you to set a filter that defines which entities are pickable in a 
CimatronE file. 
Syntax 
SetFilter( Filter, EnablePoints ); 
Input: (IEntityFilter) Entity filter . 
CimatronE 10.0 CimatronE SDK User Guide ⎪151 
 
Filter 
Input: (Boolean) 
EnablePoints 
Define if the enable point selection is by pick. If False - 
point pick is disabled, otherwise it is enabled. 
Note 
Limitations of the filter for entity pick: 
1. The cmLoop type is not applicable in the filter for this method; 
2. The cmBody type cannot be applied with cmFace and cmEdge 
types . 
IPickTool::SetFilterActive 
Description 
Activate filter types. 
Syntax 
Sub SetFilterActive(IEntityFilter iFilter, Long iEnablePoints) 
Input: (IEntityFilter) 
iFilter 
Entity filter. 
Input: (Boolean) 
iEnablePoints 
Define if the enable point selection is by pick. If False - 
point pick is disabled, otherwise it is enabled. 
IPickTool::SetFilterEnable 
Description 
Enable filter types. 
Syntax 
Sub SetFilterEnable(IEntityFilter iFilter, Long iEnablePoints) 
Input: (IEntityFilter) 
iFilter 
Entity filter. 
Input: (Boolean) 
iEnablePoints 
Define if the enable point selection is by pick. If False - 
point pick is disabled, otherwise it is enabled. 
IPickTool::SinglePick 
Description 
Enable/disable pick by box in the pick tool. 
Syntax 
Void SinglePick(Long iSingleMode) 
Input: (IEntityFilter) iFilter Entity filter. 
Input: (Boolean) iSingleMode True = Disable pick by box.
False = Enable pick by box.
CimatronE 10.0 CimatronE SDK User Guide ⎪152 
 
IPickToolConnection 
To be developed at a later stage. 
ArrowFigure 
ArrowFigure 
 
IArrowFigure 
IArrowFigure 
This interface represents an interaction interface of an arrow figure. 
Properties 
Get, Set BasePoint Variant
Get, Set Direction Variant
Get, Set MenuMode Boolean
Methods 
None 
IArrowFigure::BasePoint 
Description 
This property allows you to get and set a point in which an arrow figure is to 
be set. 
Syntax 
Property get: 
Point = BasePoint( ); 
Return: (Variant) Point Coordinates of 3D point in which an arrow is set. 
 
Property set: 
BasePoint( Point ); 
Input: (Variant) Point Coordinates of 3D point in which an arrow is set. 
Note 
All coordinates are given relative to the model's main UCS. 
IArrowFigure::Direction 
Description 
This property allows you to get and to set the start direction of an arrow figure. 
CimatronE 10.0 CimatronE SDK User Guide ⎪153 
 
Syntax 
Property get: 
Vector = Direction( ); 
Return: (Variant) 
Vector 
Coordinates of the start direction vector of an 
arrow. 
 
Property set: 
Direction( Vector ); 
Input: (Variant) VectorCoordinates of start direction vector of an arrow.
Note 
All coordinates are given relative to the model's main UCS. 
IArrowFigure::MenuMode 
Description 
This property allows you to get and set whether to show the direction change menu 
of an arrow figure. 
Syntax 
Property get: 
Status = MenuMode( ); 
Return: (Boolean) Status Show direction change menu if TRUE. 
 
Property set: 
MenuMode( Status ); 
Input: (Boolean) Status Show direction change menu if TRUE.
IInteraction 
IInteraction 
This is a general interface that represents the interaction objects. 
Properties 
Get Type InteractionType 
Get ID Integer 
 
Methods 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪154 
 
 
IInteraction::ID 
Description 
This property allows you to get the ID of an existing interaction object. 
Syntax 
Property get: 
oID = ID( ); 
 
Return: (Integer) oID Get ID.
 
IInteraction::Type 
Description 
This property allows you to get the type of existing interaction object. 
Syntax 
Property get: 
oType = Type( ); 
 
Return: (InteractionType) oType Get type of interaction.
 
InteractionSink 
InteractionSink 
 
IInteractionSink 
IInteractionSink 
This interface allows you to create an objects for interaction with user. 
Because an interction object is type of tool it must be implemented like a 
Tool object. 
Properties 
None 
Methods 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪155 
 
IInteraction CreateInteraction ( InteractionType ); 
Variant GetActiveInteractions ( ); 
IInteraction GetInteraction ( ); 
 
IInteractionSink::CreateInteraction 
Description 
This method allows you to create an interaction object. 
Syntax 
Interaction = CreateInteraction( InteractionType ); 
Input: (InteractionType) InteractionType An interaction type.
Return: (IInteraction) Interaction Created interaction.
Example 
If an anrgument InteractionType was set to cmArrowFig then return value of this 
method will be pointer to interface of IArrowFigure object. 
IInteractionSink::GetActiveInteractions 
Description 
This method allows you to get all user interaction ID's. 
Syntax 
oList = GetActiveInteractions( ); 
 
Return: (Variant) oList All interaction ID's.
Example 
 
IInteractionSink::GetInteraction 
Description 
This method allows you to get Interaction object by input ID. 
Syntax 
oObj = GetActiveInteractions( iID); 
 
Input: (Integer) iID Input ID. 
Return: (IInteraction) oObj Get interaction object.
Note 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪156 
 
Display 
DisplayFigureCone 
DisplayFigureCone 
This interface allows you to create a primitive cone figure to use in a 
display figure object. 
Properties 
Get, Set Radius1 Double 
Get, Set Radius2 Double 
Get, Set Height Double 
Methods 
None 
Remarks 
One of the radius values can be 0. 
DisplayFigureCone::Radius1 
Description 
This property allows you to set the first radius of a cone. 
Syntax 
Property get: 
radius = Radius1 ( ); 
Return: (Double) radius Get the radius value .
 
Property set: 
Radius1 ( radius ); 
Input: (Double) radius Set the radius value.
DisplayFigureCone::Radius2 
Description 
This property allows you to set the second radius of a cone. 
Syntax 
Property get: 
radius = Radius2 ( ); 
Return: (Double) radius Get the radius value .
 
CimatronE 10.0 CimatronE SDK User Guide ⎪157 
 
Property set: 
Radius2 ( radius ); 
Input: (Double) radius Set the radius value.
DisplayFigureBox 
This interface allows you to create primitive BOX figure to use in display 
figure object. 
Properties 
Get, Set XLength Double 
Get, Set YLength Double 
Get, Set ZLength Double 
Methods 
None 
Remarks 
 
DisplayFigureBox::XLength 
Description 
This property allows you to set the length of a box in the X direction. 
Syntax 
Property get: 
X_Len = XLength ( ); 
Return: (Double) X_LenLength in X direction.
 
Property set: 
XLength ( X_Len ); 
Input: (Double) X_Len Length in X direction.
DisplayFigureBox::YLength 
Description 
This property allows you to set the length of a box in the Y direction. 
Syntax 
Property get: 
Y_Len = YLength ( ); 
Return: (Double) Y_LenLength in Y direction.
CimatronE 10.0 CimatronE SDK User Guide ⎪158 
 
 
Property set: 
YLength ( Y_Len); 
Input: (Double) Y_Len Length in Y direction.
DisplayFigureBox::ZLength 
Description 
This property allows you to set the length of a box in the Z direction. 
Syntax 
Property get: 
Z_Len = ZLength ( ); 
Return: (Double) Z_LenLength in Z direction.
 
Property set: 
ZLength ( Z_Len ); 
Input: (Double) Z_Len Length in Z direction.
DisplayFigureCone::Height 
Description 
This property allows you to set the Height of a cone. 
Syntax 
Property get: 
Height = Height ( ); 
Return: (Double) HeightGet the Height value .
 
Property set: 
Height ( Height ); 
Input: (Double) Height Set the Height value.
 
DisplayFigureTorus::InnerRadius 
Description 
This property allows you to set the inner radius of a torus. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪159 
 
radius = InnerRadius ( ); 
Return: (Double) radius Get the radius value .
 
Property set: 
InnerRadius ( radius ); 
Input: (Double) radius Set the radius value.
Remarks 
DisplayFigureSphere 
This interface allows you to create a primitive sphere figure to use in a 
display figure object. 
Properties 
Get, Set Radius Double 
Methods 
None 
Remarks 
 
DisplayFigureSphere::Radius 
Description 
This property allows you to set the radius of a sphere. 
Syntax 
Property get: 
radius = Radius ( ); 
Return: (Double) radius get radius value .
 
Property set: 
Radius ( radius ); 
Input: (Double) radius set radius value.
DisplayFigurePoint 
This interface allows you to create a point figure to use in a display figure 
object. 
Properties 
Get, Set Type PointStyle 
CimatronE 10.0 CimatronE SDK User Guide ⎪160 
 
Get, Set Size Double 
Methods 
None 
Remarks 
DisplayFigurePoint::Size 
Description 
This property allows you to set the size of a point. 
Syntax 
Property get: 
Size = Size ( ); 
Return: (Double) Size get size of point.
 
Property set: 
Size ( Size ); 
Input: (Double) Size set size of point. 
Remarks 
DisplayFigurePoint::Type 
Description 
This property allows you to set the type of point. 
Syntax 
Property get: 
Type = Type ( ); 
Return: (PointStyle) Typeget type of point.
 
Property set: 
Type ( Type ); 
Input: (PointStyle) Typeset type of point.
Remarks 
DisplayFigureDisk 
This interface allows you to create primitive disk figure to use in a display 
figure object. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪161 
 
Get, Set InnerRadius Double 
Get, Set OuterRadius Double 
Methods 
None 
Remarks 
The InnerRadius radius value can be 0. 
DisplayFigureDisk::InnerRadius 
Description 
This property allows you to set the inner radius of a disk. 
Syntax 
Property get: 
radius = InnerRadius ( ); 
Return: (Double) radius Get the radius value.
 
Property set: 
InnerRadius ( radius ); 
Input: (Double) radius Set the radius value.
Remarks 
The inner radius of disk can be 0. 
DisplayFigureDisk::OuterRadius 
Description 
This property allows you to set the outer radius of a disk. 
Syntax 
Property get: 
radius = OuterRadius ( ); 
Return: (Double) radius Get a radius value.
 
Property set: 
OuterRadius ( radius ); 
Input: (Double) radius Set a radius value.
DisplayFigureCylinder 
CimatronE 10.0 CimatronE SDK User Guide ⎪162 
 
This interface allows you to create a primitive cylinder figure to use in the 
display figure object. 
Properties 
Get, Set Radius Double 
Get, Set Height Double 
Methods 
None 
Remarks 
 
DisplayFigureCylinder::Radius 
Description 
This property allows you to set the radius of a cylinder. 
Syntax 
Property get: 
radius = Radius ( ); 
Return: (Double) radius Get the radius value .
 
Property set: 
Radius ( radius ); 
Input: (Double) radius Set the radius value.
DisplayFigureCylinder::Height 
Description 
This property allows you to set the Height of a cylinder. 
Syntax 
Property get: 
Height = Height ( ); 
Return: (Double) HeightGet the Height value .
 
Property set: 
Height ( Height ); 
Input: (Double) Height Set the Height value.
DisplayFigureTorus 
CimatronE 10.0 CimatronE SDK User Guide ⎪163 
 
This interface allows you to create a primitive torus figure to use in a 
display figure object. 
Properties 
Get, Set InnerRadius Double
Get, Set OuterRadius Double
Methods 
None 
Remarks 
DisplayFigureTorus::OuterRadius 
Description 
This property allows you to set the outer radius of a torus. 
Syntax 
Property get: 
radius = OuterRadius ( ); 
Return: (Double) radius Get the radius value.
 
Property set: 
OuterRadius ( radius ); 
Input: (Double) radius Set the radius value.
 
IDisplayFigure 
IDisplayFigure 
The DisplayFigure Interface allows the creation of a one figure object that 
contains several primitives. 
 
Properties 
Get Id Long 
Get Primitives Variant 
Set Show Boolean 
Set RenderMode RenderOption
Set Transparency Double 
CimatronE 10.0 CimatronE SDK User Guide ⎪164 
 
 
Methods 
IDisplayFigureAttribute CreatePrimitive ( PrimitiveType ) 
 
Remarks 
1. This interface is created using IDisplayFigureFactory:NewFigure 
2. A display figure can include several primitive figures. 
3. The results are only for the display. 
IDisplayFigure::Show 
Description 
This property allows you to set the visibility of the current display figure. 
Syntax 
Property set: 
Show ( Vis ); 
Input: (Boolean) Vis Set the visibility of a display figure.
 
IDisplayFigure::ID 
Description 
This property allows you to get the ID of a created display figure object. 
Syntax 
Property get: 
num = ID ( ); 
 
Return: (Long) num Get the ID of created display figure objects. 
 
IDisplayFigure::CreatePrimitive 
Description 
This method allows you to create a primitive figure by selecting a type of figure. 
Syntax 
FigAtt = CreatePrimitive ( iType ); 
Input: (PrimitiveType) iType Set the type for current display figure.
Return: (IDisplayFigureAttribute) FigAtt Get the figure attribute object. 
CimatronE 10.0 CimatronE SDK User Guide ⎪165 
 
Remarks 
The return IDisplayFigureAttribute can be used to set different attributes for the 
created figure. For example: transformation of figure color. 
IDisplayFigure::Transparency 
Description 
This property allows you to define the transparency level for the current display 
figure. 
Syntax 
Property set: 
Transparency ( Level ); 
Input: (Double) Level Set transparency level (0-1):
0 to 0.9 = transparency mode
1 = Shade mode 
 
 Remarks 
This property will be valid only if RenderOption = cmRenderTransparency. 
 
IDisplayFigure::RenderMode 
Description 
This property allows you to define the render mode and transparency for the 
current display figure. 
Syntax 
Property set: 
RenderMode ( Option ); 
Input: (RenderOption) 
Option 
Set the render mode for a display 
figure. 
 
 Remarks 
If RenderOption = cmRenderTransparency then it is necessary to set the 
Transparency level. 
 
IDisplayFigure::Primitives 
Description 
This property allows you to get the list of created primitives display figure objects. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪166 
 
Property get: 
list = Primitives ( ); 
 
Return: (Variant) list Get list of created primitives.. 
 
IDisplayFigureFactory 
IDisplayFigureFactory::Refresh 
Description 
This method allows you to refresh the display to be able to Show/Hide a display 
figure object after PushFigure or PopFigure methods were called. 
Syntax 
Refresh ( ); 
Remarks 
IDisplayFigureFactory 
The DisplayFigureFactory interface allows the creation of primitive objects in the 
display only. 
 
Properties 
Get FigureList Variant 
 
Methods 
DisplayFigure NewFigure ( ) 
PushFigure ( DisplayFigure ) 
PopFigure ( DisplayFigure ) 
Refresh ( ) 
DisplayFigure GetFigureByID ( Long ) 
 
Remarks 
This interface doesn't create any CAD procedure. 
The results are only for the display. 
To show the figure after creating it, you have to call Refresh. 
To remove a figure from the display you have touse the PopFigure method. 
IDisplayFigureFactory will be set from IInteractionSink. 
IDisplayFigureFactory::FigureList 
CimatronE 10.0 CimatronE SDK User Guide ⎪167 
 
Description 
This property allows you to get the list of existing display figure objects. 
Syntax 
Property get: 
FigLst = FigureList ( ); 
 
Return: (Variant) FigLstGet the list of all figure objects.
 
IDisplayFigureFactory::NewFigure 
Description 
This method allows you to create a new display figure object. 
Syntax 
iFig = NewFigure ( ); 
Return: (DisplayFigure) iFigCreated figure object.
Remarks 
This new figure will be set to IDisplayFigure object. 
IDisplayFigureFactory::PushFigure 
Description 
This method allows you to push the display figure object. 
Syntax 
PushFigure ( iFig ); 
Input: (DisplayFigure) iFig Input the display figure object for push it. 
Remarks 
To be able to see the pushed figure needs to call the refresh method. 
IDisplayFigureFactory::PopFigure 
Description 
This method allows you to pop the display figure object. 
Syntax 
PopFigure ( iFig ); 
Input: (DisplayFigure) iFig Input the display figure object for push it. 
Remarks 
To be able to effect the pop operation you need to call the refresh method. 
CimatronE 10.0 CimatronE SDK User Guide ⎪168 
 
IDisplayFigureFactory::GetFigureByID 
Description 
This method allows you to get the display figure object by entering its ID. 
Syntax 
iFig = GetFigureByID ( iID ); 
Input: (Long) iID Set ID of existing display figure object. 
Return: (DisplayFigure) iFigget figure object. 
IDisplayFigureAttribute 
IDisplayFigureAttribute 
The interface IDisplayFigureAttribute allows you to set the attribute to display a 
figure object or a primitive figure. 
Properties 
Set Color Long 
Set Transform IModelTransformation
 
Methods 
None 
IDisplayFigureAttribute::Color 
Description 
This property allows you to set the display figure color. 
Syntax 
Property set: 
 Color ( Color ); 
Return: (Long) Color Set the current figure color.
 
Remarks 
It can also be used to set the color for each primitive object. 
IDisplayFigureAttribute::Transform 
Description 
This property allows you to set the display figure transformation. 
Syntax 
Property set: 
CimatronE 10.0 CimatronE SDK User Guide ⎪169 
 
 Transform ( FigTransformation ); 
Return: (IModelTransformation) FigTransformation Set the figure transformation.
DisplayUtils 
DisplayUtils 
 
IDisplayUtils 
IDisplayUtils 
This interface allows you to set display operations. 
Properties 
None 
Methods 
RenderModeBySelection ( ICimEntityList, RenderOption, Double ) 
Suspend ( ) 
Resume ( ) 
Remarks 
IDisplayUtils::RenderModeBySelection 
Description 
This method allows you to Define the render mode and transparency for a list of 
entities. 
Syntax 
RenderModeBySelection ( iEntList , iMode, iTransparencyLevel ); 
Input: (ICimEntityList) iEntList Entity list. 
Input: (RenderOption) iMode Set render mode option. 
Input: (Double) 
iTransparencyLevel 
Set transparency level (0-1): 
0 to 0.9 = transparency mode 
1 = Shade mode 
Remarks 
The transparency level will influence in cases where RenderOption is 
"cmRenderShade" and "cmRenderTransparency" 
 
IDisplayUtils::Suspend 
CimatronE 10.0 CimatronE SDK User Guide ⎪170 
 
Description 
This method allows you to suspend the graphic area of CimatronE. 
Syntax 
Suspend ( ); 
Remarks 
This operation will stop in two ways: 
1. Calling the Resume method . 
2. Highlighting any entity in the application (while the mouse is moving). 
 
IDisplayUtils::Resume 
Description 
This method allows you to resume the graphic area of CimatronE (in the event that 
it is suspended). 
Syntax 
Resume ( ); 
Remarks 
 
 
IInteraction 
IInteraction 
This is a general interface that represents the interaction objects. 
Properties 
Get Type InteractionType 
Get ID Integer 
 
Methods 
 
 
IInteraction::ID 
Description 
This property allows you to get the ID of an existing interaction object. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪171 
 
oID = ID( ); 
 
Return: (Integer) oID Get ID.
 
IInteraction::Type 
Description 
This property allows you to get the type of existing interaction object. 
Syntax 
Property get: 
oType = Type( ); 
 
Return: (InteractionType) oType Get type of interaction.
 
WaitCursor 
WaitCursor 
 
IWaitCursor 
IWaitCursor 
VB_Sample 
This interface represents an interaction interface of Wait Cursor 
 
Properties 
None 
 
Methods 
Start ( ) 
Stop ( ) 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪172 
 
Remarks 
The interaction for this interface will be set from the application. 
IWaitCursor::Stop 
Description 
This method changes the cursor image to the default Cursor. 
Syntax 
Stop ( ); 
Note 
IWaitCursor::Start 
Description 
This method changes the cursor image to the Wait Cursor. 
Syntax 
Start ( ); 
Note 
IInteraction 
IInteraction 
This is a general interface that represents the interaction objects. 
Properties 
Get Type InteractionType 
Get ID Integer 
 
Methods 
 
 
IInteraction::ID 
Description 
This property allows you to get the ID of an existing interaction object. 
Syntax 
Property get: 
oID = ID( ); 
 
Return: (Integer) oID Get ID.
CimatronE 10.0 CimatronE SDK User Guide ⎪173 
 
 
IInteraction::Type 
Description 
This property allows you to get the type of existing interaction object. 
Syntax 
Property get: 
oType = Type( ); 
 
Return: (InteractionType) oType Get type of interaction.
 
GuideBar 
GuideBar 
 
IGuideBar 
IGuideBar 
This interface creates a standard CimatronE guide bar. 
 
Properties 
Set BackgroundBitmap stdole.IPicture 
 
Methods 
Activate ( ) 
Create ( String ) 
Hide ( ) 
Show ( ) 
Long IsShown ( ) 
GuideBarButton CreateButton ( ) 
AddButton ( GuideBarButton ) 
EnableButton ( GuideBarButton , Long ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪174 
 
 
Events 
None 
 
Remarks 
 
IGuideBar::Show 
Description 
This method allows you to show the guide bar in CimatronE. 
Syntax 
Show ( ); 
Remarks 
 
IGuideBar::IsShown 
Description 
This method allows you to check if the guide bar is shown. 
Syntax 
Status = IsShown ( ); 
Return: (Boolean) Status TRUE = if the guide bar is shown.
 
Remarks 
 
IGuideBar::Hide 
Description 
This method allows you to hide the guide bar in CimatronE. 
Syntax 
Hide ( ); 
Remarks 
 
IGuideBar::EnableButton 
Description 
This method allows you to enable a created button in the current guide bar. 
CimatronE 10.0 CimatronE SDK User Guide ⎪175 
 
Syntax 
EnableButton ( Button, Status ); 
Input: (GuideBarButton) ButtonSet the button object. 
Input: (Boolean) Status TRUE = Enable the button.
 
Remarks 
 
IGuideBar::CreateButton 
Description 
This method allows you to create a new button in the current guide bar. 
Syntax 
Button = CreateButton ( ); 
Return: (GuideBarButton) ButtonCreate a new button in the guide bar. 
 
Remarks 
 
IGuideBar::Create 
Description 
This method allows you to create a guide bar in CimatronE. 
Syntax 
Create ( GuideName ); 
Input: (String) GuideName Set the guide bar name.
 
Remarks 
 
IGuideBar::BackgroundBitmap 
Description 
This property allows you to set a bitmap as the background of a guide bar. 
Syntax 
BackgroundBitmap ( Pic ); 
Input: (stdole.IPicture) Pic Set the guide bar background bitmap. 
IGuideBar::AddButton 
CimatronE 10.0 CimatronE SDK User Guide ⎪176 
 
Description 
This method allows you to add a created button to the current guide bar. 
Syntax 
AddButton ( Button ); 
Input: (GuideBarButton) ButtonAdd a created button to the guide bar. 
 
Remarks 
 
IGuideBar::Activate 
Description 
This method allows you to activate a guide bar in CimatronE. 
Syntax 
Activate ( ); 
Remarks 
 
IInteraction 
IInteraction 
This is a general interfacethat represents the interaction objects. 
Properties 
Get Type InteractionType 
Get ID Integer 
 
Methods 
 
 
IInteraction::ID 
Description 
This property allows you to get the ID of an existing interaction object. 
Syntax 
Property get: 
oID = ID( ); 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪177 
 
Return: (Integer) oID Get ID.
 
IInteraction::Type 
Description 
This property allows you to get the type of existing interaction object. 
Syntax 
Property get: 
oType = Type( ); 
 
Return: (InteractionType) oType Get type of interaction.
 
SPFigure 
SPFigure 
 
ISPFigure 
This interface creates SP figures. 
To be developed at a later stage. 
SPValueButton 
SPValueButton 
 
ISPValueButton 
This interface adds a value button to SP figures. 
To be developed at a later stage. 
SPButton 
SPButton 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪178 
 
ISPButton 
This interface adds a button to an SP figure. 
To be developed at a later stage. 
SPStringValueButton 
SPStringValueButton 
 
ISPStringValueButton 
This interface adds a string value button to an SP figure. 
To be developed at a later stage. 
GuideBarButton 
GuideBarButton 
 
IGuideBarButton 
IGuideBarButton 
This interface adds a button to the guide bar. 
Properties 
 
Set/Get BackgroundBitmap stdole.IPicture 
Set/Get Bitmap stdole.IPicture 
Set/Get BitmapDisable stdole.IPicture 
Set/Get BitmapHighlight stdole.IPicture 
Set/Get Id Integer 
Set/Get Text String 
Set/Get Tooltip String 
Set/Get Type GuideBarBtnType 
Methods 
None 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪179 
 
Events 
OnPressed 
 
Remarks 
 
IGuideBarButton::Type 
Description 
This property allows you to get and set the guide bar button type. 
Syntax 
Property get: 
Type = Type ( ); 
Return: (GuideBarBtnType) Type Get the button text description 
 
Property set: 
Type ( Type ); 
Input: (GuideBarBtnType) Type Set the button text description
IGuideBarButton::Tooltip 
Description 
This property allows you to get and set the guide bar button tooltip. 
Syntax 
Property get: 
Str = Tooltip ( ); 
Return: (String) Str Get the button tooltip
 
Property set: 
Tooltip ( Str ); 
Input: (String) Str Set the button tooltip
IGuideBarButton::Id 
Description 
This property allows you to get and set the guide bar button ID. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪180 
 
Id = Id ( ); 
Return: (Integer) Id Get an index of the current button
 
Property set: 
Index ( Id ); 
Input: (Integer) Id Set an index for the current button
 
IGuideBarButton::Text 
Description 
This property allows you to get and set the guide bar button text description. 
Syntax 
Property get: 
Str = Text ( ); 
Return: (String) Str Get the button text description
 
Property set: 
Text ( Str ); 
Input: (String) Str Set the button text description
IGuideBarButton::OnPressed 
Description 
This event is fired when you press the guide bar button. 
 
Remarks 
 
IGuideBarButton::BitmapHighlight 
Description 
This property allows you to get and set the picture that will be shown while the 
button is highlighted. 
Syntax 
Property get: 
Pic = BitmapHighlight ( ); 
Return: (stdole.IPicture) PicGet the picture for the highlighted button 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪181 
 
Property set: 
BitmapHighlight ( Pic ); 
Input: (stdole.IPicture) Pic Set the picture for the highlighted button 
IGuideBarButton::BitmapDisable 
Description 
This property allows you to get and set the picture that will be shown while the 
button is disabled. 
Syntax 
Property get: 
Pic = BitmapDisable ( ); 
Return: (stdole.IPicture) PicGet the picture for the disable button. 
 
Property set: 
BitmapDisable ( Pic ); 
Input: (stdole.IPicture) Pic Set the picture for the disable button. 
IGuideBarButton::Bitmap 
Description 
This property allows you to get and set the picture for the current button. 
Syntax 
Property get: 
Pic = Bitmap ( ); 
Return: (stdole.IPicture) PicGet button picture
 
Property set: 
Bitmap ( Pic ); 
Input: (stdole.IPicture) Pic Set button picture
 
IGuideBarButton::BackgroundBitmap 
Description 
This property allows you to get and set the background bitmap of a button in the 
guide bar. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪182 
 
Pic = BackgroundBitmap ( ); 
Return: (stdole.IPicture) PicGet the background bitmap of the current button
 
Property set: 
BackgroundBitmap ( Pic ); 
Input: (stdole.IPicture) Pic Set the background bitmap of the current button 
 
Interaction 
Interaction 
 
IInteraction 
IInteraction 
This is a general interface that represents the interaction objects. 
Properties 
Get Type InteractionType 
Get ID Integer 
 
Methods 
 
 
IInteraction::ID 
Description 
This property allows you to get the ID of an existing interaction object. 
Syntax 
Property get: 
oID = ID( ); 
 
Return: (Integer) oID Get ID.
 
IInteraction::Type 
CimatronE 10.0 CimatronE SDK User Guide ⎪183 
 
Description 
This property allows you to get the type of existing interaction object. 
Syntax 
Property get: 
oType = Type( ); 
 
Return: (InteractionType) oType Get type of interaction.
 
FeatureGuide 
FeatureGuide 
 
IFeatureGuide 
IFeatureGuide 
This interface represents an interaction interface for the Feature Guide. 
Properties 
None 
Methods 
Activate ( ) 
DeActivate ( ) 
SetTitle ( String ) 
SetBitmap ( IPicture ) 
CreateStage ( IFeatureGuideStage ) 
AddStage ( IFeatureGuideStage ) 
EnableStage ( Integer, Boolean ) 
RemoveStage ( IFeatureGuideStage ) 
ChangeStageBitmap ( Integer, IPicture ) 
ShowButton ( FeatureGuideButtons, Boolean ) 
EnableButton ( FeatureGuideButtons, Boolean ) 
SetInitStage ( ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪184 
 
SetNextStage ( ) 
Events (see remarks) 
OnApply 
OnCancel 
OnOk 
OnPreview 
OnStagePressed ( Integer ) 
OnStageReleased ( Integer ) 
OnPop 
Remarks 
1. To implement the events in VB, it is necessary to initialize the feature guide 
variable with the command "WithEvents". For example: Dim WithEvents 
MyFG As IFeatureGuide. 
2. It is recommended to implement a class for each stage. 
IFeatureGuide::ShowButton 
 
Description 
This method allows you to create a new stage object. 
Syntax 
ShowButton ( Button, Status ); 
Input: (FeatureGuideButtons) Button Set the button type (from four standard 
buttons) 
Input: (Boolean) Status TRUE = Show the button 
FALSE = Hide the button 
 
Remarks 
IFeatureGuide::RemoveStage 
 
Description 
This method allows you to remove a created stage object from the current feature 
guide. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪185 
 
RemoveStage ( StageObj ); 
Input: (IFeatureGuideStage ) StageObj Remove a created stage from current 
feature guide. 
 
Remarks 
IFeatureGuide::SetBitmap 
 
Description 
This method allows you to set the feature guide bitmap . 
Syntax 
SetBitmap ( Pic ); 
Input: (stdole.IPicture) Pic Set the feature guide title. 
Remarks 
IFeatureGuide::SetInitStage 
 
Description 
This method allows you to initialize the first stage in the feature guide. 
Syntax 
SetInitStage ( ); 
Remarks 
Using this method jumps to the first stage i.e. it releases the current stage and 
presses the first stage. 
IFeatureGuide::SetNextStage 
 
Description 
This method allows you to jump to the next stage (if there is one) from the current 
one. 
Syntax 
SetNextStage ( ); 
Remarks 
CimatronE 10.0 CimatronE SDK User Guide ⎪186 
 
1. This option only works on the required stages and not with the optional stages. 
2. This method releases the current stage and presses the next stage. In cases 
where there is no next stage, it only releases the current one. 
 
IFeatureGuide::SetTitle 
 
Description 
This method allows you to set the feature guide title. 
Syntax 
SetTitle ( Title);Input: (String ) Title Set feature guide title
 
Remarks 
IFeatureGuide::Activate 
 
Description 
This method allows you to activate a feature guide in CimatronE. 
Syntax 
Activate ( ); 
Remarks 
 
IFeatureGuide::ChangeStageBitmap 
 
Description 
This method allows you to change a bitmap to a created stage in runtime. 
Syntax 
ChangeStageBitmap ( StageIndex, Pic ); 
Input: (Integer) StageIndex Set a created stage index. 
Input: (stdole.IPicture) Pic Set a new picture for a created stage 
Remarks 
CimatronE 10.0 CimatronE SDK User Guide ⎪187 
 
IFeatureGuide::CreateStage 
 
Description 
This method allows you to create a new stage object. 
Syntax 
CreateStage ( StageObj ); 
Input: (IFeatureGuideStage ) StageObj Create a new stage object. 
 
Remarks 
IFeatureGuide::DeActivate 
 
Description 
This method allows you to deactivate a feature guide in CimatronE. 
Syntax 
DeActivate ( ); 
Remarks 
You can only activate a feature guide that was created using the API. 
IFeatureGuide::EnableStage 
 
Description 
This method allows you to enable a stage object. 
Syntax 
CreateStage ( StageIndex, Status ); 
Input: (Integer) StageIndex Set a created stage index. 
Input: (Boolean) Status TRUE = Enable the stage 
FALSE = Disable the stage 
 
Remarks 
IFeatureGuide::EnableButton 
CimatronE 10.0 CimatronE SDK User Guide ⎪188 
 
 
Description 
This method allows you to enable one of the four standard buttons in the feature 
guide. 
Syntax 
EnableButton ( Button, Status ); 
Input: (FeatureGuideButtons) Button Set button type (from four standard 
buttons) 
Input: (Boolean) Status TRUE = Enable the button 
FALSE = Disable the button 
 
Remarks 
IFeatureGuide::OnApply 
Description 
This event is fired when you press the apply button in the feature guide. 
Syntax 
OnApply ( ); 
IFeatureGuide::OnCancel 
Description 
This event is fired when you press the cancel button in the feature guide. 
Syntax 
OnCancel ( ); 
IFeatureGuide::OnOk 
Description 
This event is fired when you press the OK button in the feature guide. 
Syntax 
OnOk ( ); 
IFeatureGuide::OnPreview 
Description 
This event is fired when you press the Preview button in the feature guide. 
Syntax 
OnPreview ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪189 
 
IFeatureGuide::OnStagePressed 
Description 
This event is fired when you press one of the created stages in the feature guide; it 
returns the pressed stage index. 
Syntax 
OnStagePressed ( ButtonIndex ); 
Output: (Integer) 
ButtonIndex 
 
Set the button index number. 
Remarks 
 
IFeatureGuide::OnStageReleased 
Description 
This event is fired when you release one of the created stages in the 
feature guide; it returns the released stage index. 
Syntax 
OnStageReleased ( ButtonIndex ); 
Output: (Integer) 
ButtonIndex 
 
Set the button index number. 
Remarks 
IFeatureGuide::AddStage 
 
Description 
This method allows you to add a created stage object to the current feature guide. 
Syntax 
AddStage ( StageObj ); 
Input: (IFeatureGuideStage ) StageObj Add a created stage to a current feature 
guide. 
 
Remarks 
IFeatureGuide::OnPop 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪190 
 
This event is fired when the Feature Guide is closed. 
Syntax 
OnPop ( ); 
Remarks 
The Feature Guide can be closed in several ways: 
1. Clicking the Cancel button 
2. Clicking the OK button 
3. Loading another CimatronE tool will close the current tool. 
 
IInteraction 
IInteraction 
This is a general interface that represents the interaction objects. 
Properties 
Get Type InteractionType 
Get ID Integer 
 
Methods 
 
 
IInteraction::ID 
Description 
This property allows you to get the ID of an existing interaction object. 
Syntax 
Property get: 
oID = ID( ); 
 
Return: (Integer) oID Get ID.
 
IInteraction::Type 
Description 
This property allows you to get the type of existing interaction object. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪191 
 
oType = Type( ); 
 
Return: (InteractionType) oType Get type of interaction.
 
FeatureGuideStage 
FeatureGuideStage 
 
IFeatureGuideStage 
IFeatureGuideStage 
This interface adds a stage to the feature guide. 
Properties 
Set/Get Index Integer 
Set/Get Bitmap stdole.IPicture 
Set/Get Tooltip String 
Set/Get Optional Boolean 
 
Methods 
None 
 
Events 
OnPressed 
OnReleased 
 
Remarks 
It is recommended to implement a class for each stage. 
IFeatureGuideStage::Tooltip 
Description 
This property allows you to get and set the tooltip for the current stage. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪192 
 
str = Tooltip ( ); 
Return: (String) str Get tooltip of current stage
 
Property set: 
Tooltip ( str ); 
Input: (String) str Set tooltip for current stage
IFeatureGuideStage::Optional 
Description 
This property allows you to get and set whether the current stage is an optional. 
Syntax 
Property get: 
Status = Optional ( ); 
Return: (Boolean) Status TRUE = stage is optional
 
Property set: 
Optional ( Status ); 
Input: (Boolean) Status TRUE = set stage as optional
IFeatureGuideStage::OnReleased 
Description 
This event is fired when you release the created stages in the feature guide. 
 
Remarks 
IFeatureGuideStage::OnPressed 
Description 
This event is fired when you press the created stages in the feature guide. 
 
Remarks 
 
IFeatureGuideStage::Index 
Description 
This property allows you to get and set the index for the current stage. 
CimatronE 10.0 CimatronE SDK User Guide ⎪193 
 
Syntax 
Property get: 
Index = Index ( ); 
Return: (Integer) Index Get index of current stage
 
Property set: 
Index ( Index ); 
Input: (Integer) Index Set index for current stage
IFeatureGuideStage::Bitmap 
Description 
This property allows you to set and get the picture for the current stage. 
Syntax 
Property get: 
Pic = Bitmap ( ); 
Return: (stdole.IPicture) PicGet Stage picture
 
Property set: 
Bitmap ( Pic ); 
Input: (stdole.IPicture) Pic Set Stage picture
UserControlDialog 
UserControlDialog 
 
IUserControlDialog 
IUserControlDialog 
This interface represents an interaction interface of the user control dialog. 
Properties 
Get,Set Title String 
Get,Set CoordinateMapping ECoordinateMapping
Get,Set XPos Integer 
CimatronE 10.0 CimatronE SDK User Guide ⎪194 
 
Get,Set YPos Integer 
Get,Set ControlXPos Integer 
Get,Set ControlYPos Integer 
Get,Set ControlWidth Integer 
Get,Set ControlHeight Integer 
Get,Set Titlebar Boolean 
Methods 
Create ( ); 
SetControl ( String ); 
Close ( ); 
IUserControlDialog::Close 
Description 
This method closes the user dialog. 
Syntax 
Close ( ); 
 
IUserControlDialog::ControlHeight 
Description 
This property allows you to get and set the ActiveX control Height (in 
pixel units). 
Syntax 
Property get: 
Height = ControlHeight( ); 
 
Return: (Integer) Height Control Height.
 
Property set: 
ControlHeight( Height ); 
 
Input: (Integer) Height Control Height.
IUserControlDialog::ControlWidth 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪195 
 
This property allows you to get and set the ActiveX control width (in pixel 
units). 
Syntax 
Property get: 
width = ControlWidth( ); 
 
Return: (Integer) width Control width.
 
Property set: 
ControlWidth( width ); 
 
Input: (Integer) width Control width.
IUserControlDialog::ControlXPos 
Description 
This property allows you to get and set the ActiveX control position in the 
dialog (in pixel units). 
Syntax 
Property get: 
Pos = ControlXPos( ); 
 
Return: (Integer) Pos Control Position.
 
Property set: 
ControlXPos( Pos ); 
 
Input: (Integer) Pos Control Position.
 
IUserControlDialog::ControlYPos 
Description 
This property allows you to get and set the ActiveX control position in the 
dialog (in pixel units). 
SyntaxProperty get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪196 
 
Pos = ControlYPos( ); 
 
Return: (Integer) Pos Control Position.
 
Property set: 
ControlYPos( Pos ); 
 
Input: (Integer) Pos Control Position.
IUserControlDialog::CoordinateMapping 
Description 
This property allows you to get and set the coordinate mapping of the 
dialog position. 
Syntax 
Property get: 
iCoorMap = CoordinateMapping( ); 
 
Return: (ECoordinateMapping) iCoorMap Coordinate Mapping. 
 
Property set: 
CoordinateMapping( oCoorMap ); 
 
Input: (ECoordinateMapping) oCoorMap Coordinate Mapping.
 
Note 
ECoordinateMapping = cmScreen : dialog will be position in screen coordinate. 
ECoordinateMapping = cmCimatronWnd : dialog will be positioned in relation to 
the Cimatron position. 
 
IUserControlDialog::Create 
Description 
This method initializes the dialog of CimatronE. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪197 
 
Create( ); 
 
IUserControlDialog::SetControl 
Description 
This method allows you to set an ActiveX control (OCX) in the CimatronE dialog. 
Syntax 
SetControl( iStr ); 
 
Input: (String) iStr Set Control name Format:"ProjectName.ControlName" 
IUserControlDialog::Title 
Description 
This property allows you to get and set the dialog title. 
Syntax 
Property get: 
Title = Title( ); 
 
Return: (String) Title The Dialog Title.
 
Property set: 
String( Title ); 
 
Input: (String) Title The Dialog Title.
 
IUserControlDialog::Titlebar 
Description 
This property allows you to get and set whether the title bar will be 
disabled or enabled. 
Syntax 
Property get: 
Stt = Titlebar( ); 
 
Return: (Boolean) Stt Get the status of the title bar.
 
CimatronE 10.0 CimatronE SDK User Guide ⎪198 
 
Property set: 
Titlebar( Stt ); 
 
Input: (Boolean) Stt Set the status of the title bar.
IUserControlDialog::XPos 
Description 
This property allows you to get and set the dialog position (in pixel units). 
Syntax 
Property get: 
Pos = XPos( ); 
 
Return: (Integer) Pos Dialog Position.
 
Property set: 
XPos( Pos ); 
 
Input: (Integer) Pos Dialog Position.
IUserControlDialog::YPos 
Description 
This property allows you to get and set the dialog position (in pixel units). 
Syntax 
Property get: 
Pos = YPos( ); 
 
Return: (Integer) Pos Dialog Position.
 
Property set: 
YPos( Pos ); 
 
Input: (Integer) Pos Dialog Position.
SPManager 
CimatronE 10.0 CimatronE SDK User Guide ⎪199 
 
SPManager 
 
ISPManager 
This interface manages SP figures. 
To be developed at a later stage. 
IInteractionSink 
IInteractionSink 
This interface allows you to create an objects for interaction with user. 
Because an interction object is type of tool it must be implemented like a 
Tool object. 
Properties 
None 
Methods 
 
IInteraction CreateInteraction ( InteractionType ); 
Variant GetActiveInteractions ( ); 
IInteraction GetInteraction ( ); 
 
IInteractionSink::CreateInteraction 
Description 
This method allows you to create an interaction object. 
Syntax 
Interaction = CreateInteraction( InteractionType ); 
Input: (InteractionType) InteractionType An interaction type.
Return: (IInteraction) Interaction Created interaction.
Example 
If an anrgument InteractionType was set to cmArrowFig then return value of this 
method will be pointer to interface of IArrowFigure object. 
IInteractionSink::GetActiveInteractions 
Description 
This method allows you to get all user interaction ID's. 
CimatronE 10.0 CimatronE SDK User Guide ⎪200 
 
Syntax 
oList = GetActiveInteractions( ); 
 
Return: (Variant) oList All interaction ID's.
Example 
 
IInteractionSink::GetInteraction 
Description 
This method allows you to get Interaction object by input ID. 
Syntax 
oObj = GetActiveInteractions( iID); 
 
Input: (Integer) iID Input ID. 
Return: (IInteraction) oObj Get interaction object.
Note 
 
Procedures 
Procedures in CimatronE API 
Using procedures you can create various entities like bodies, faces, lines etc. as well as 
execute some operations like add instances to assembly model, connect instances in 
assembly with each other. 
Initializing procedures in CimatronE API 
To start any procedure you have to have a reference to one of the model's 
interfaces: IMdlrModel that is a part model interface or the IAssemblyModel 
interface that is an assembly model interface. After that you call their method 
::CreateProcedure with the appropriate input parameter that defines the procedure 
type and gets the reference to the IMdProcedure interface. 
To fill in procedure parameters, you use the appropriate procedure interface, for 
example IMdExtrude to set extrude parameters. 
After setting all the required parameters, the procedure executes by calling the 
IMdProcedure::Execute( ) method. 
Remark 
You can query procedures to get entities that were created by this procedure only. 
For example, if you have executed a procedure whose result is a topological entity, 
you may query the executed procedure using the IEntityQuery interface and get 
components of this entity. If a created entity is a body, it may be created using 
CimatronE 10.0 CimatronE SDK User Guide ⎪201 
 
the MdExtrude procedure, in which case you would get the body itself, the body's 
faces, edges and vertices after querying its procedure. 
CimatronE 10.0 CimatronE SDK User Guide ⎪202 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪203 
 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪204 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪205 
 
 
Electrode Procedures 
Electrode Procedure 
 
ElectrodeUcs 
ElectrodeUcs 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
CimatronE 10.0 CimatronE SDK User Guide ⎪206 
 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
CimatronE 10.0 CimatronE SDK User Guide ⎪207 
 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::SetDescription 
This method allows you to access a specific parameter and set a value for each 
procedure. 
CimatronE 10.0 CimatronE SDK User Guide ⎪208 
 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IElectrodeUcs 
IElectrodeUcs 
This interface allows you to set parameters for the ElectrodeUcs procedure. It 
specifies an Electrode UCS (User Coordinate System). This UCS serves as the 
reference point for this electrode in drawings and reports. 
Properties 
Get/Set Point Variant 
Get/Set Flip Bool 
Get/Set OffsetX Double 
Get/Set OffsetY Double 
Get/Set OffsetZ Double 
 
IElectrodeUcs::Point 
Description 
This property allows you to set an origin point for the Electrode UCS. Any point 
may be picked. This UCS is used as the electrode reference point for reports. 
Syntax 
Property set: 
Point (Point); 
Input: (Variant) 
Point 
Variant that contains double type one dimensional array of 
point coordinates (x,y,z). 
 
Property get: 
Point = Point ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪209 
 
Return: (Variant) 
Point 
Variant that contains double type one dimensional array of 
point coordinates (x,y,z). 
 
IElectrodeUcs::Flip 
Description 
This property gets and sets the option to flip the UCS 180 degrees around the X 
axis. 
Syntax 
Property set: 
Flip (Opt); 
Input: (Boolean) Opt Flip the UCS. 
 TRUE = Change the UCS side
 FALSE = default 
 
Property get: 
Opt = Flip ( ); 
Return: (Boolean) Opt Flip the UCS.
 
IElectrodeUcs::OffsetX/Y/Z 
Description 
Move the UCS, if required, by a delta value. 
Syntax 
Property set: 
OffsetX/Y/Z (Delta); 
Input: (Double) Delta Offset distance.
 
Property get: 
Delta = OffsetX/Y/Z ( ); 
Return: (Double) Delta Offset distance.
 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
CimatronE 10.0 CimatronE SDK User Guide ⎪210 
 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪211 
 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
CimatronE 10.0 CimatronE SDK User Guide ⎪212 
 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
Solid Procedures 
Solid Procedures 
CimatronE 10.0 CimatronE SDK User Guide ⎪213 
 
 
MdExtrude 
MdExtrude 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
CimatronE 10.0 CimatronE SDK User Guide ⎪214 
 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
CimatronE 10.0 CimatronE SDK User Guide ⎪215 
 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: Type of parameter to set. 
CimatronE 10.0 CimatronESDK User Guide ⎪216 
 
(MdParameterType) 
ParameterType 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdExtrude 
IMdExtrude 
This interface allows you to set extrude procedure parameters. 
Properties 
Get, Set Mode ExtrudeSweepMode 
Get, Set Contour ICimEntity 
Get, Set ToOption ExtrudeToOption 
Get, Set ToEntity ICimEntity 
Get, Set Direction Variant 
Get, Set Delta Double 
Get, Set OpositDelta Double 
Get, Set SideOption ExtrudeSideOption 
Get, Set DraftAngle Double 
CimatronE 10.0 CimatronE SDK User Guide ⎪217 
 
Get, Set DraftSideOption ExtrudeDraftSideOption
Get, Set InvertOption ExtrudeInvertOption 
Get, Set BaseEntity ICimEntity 
 
Methods 
None 
 
IMdExtrude::BaseEntity 
Description 
When you execute the extrude procedure in the add or remove mode, this property 
allows you to set an entity or body that is not wireframe, to which a newly created 
from extrude, solid object will be added. This property also provides the 
possibility of getting the current active object. 
Syntax 
Property get: 
BaseEntity = BaseEntity ( ); 
Return: (ICimEntity) BaseEntityCurrent active object.
 
Property set: 
BaseEntity( BaseEntity ); 
Input: (ICimEntity) 
BaseEntity 
A body (not wireframe) entity to which a new object 
created from a current extrude is added. 
IMdExtrude::Contour 
Description 
This property allows you to get and set a contour from which to do an extrude. 
Syntax 
Property get: 
Contour = Contour ( ); 
Return: (ICimEntity) Contour Entity for extrude.
 
Property set: 
 Contour( Contour ); 
Input: (ICimEntity) Contour Entity for extrude.
CimatronE 10.0 CimatronE SDK User Guide ⎪218 
 
IMdExtrude::Delta 
Description 
This property allows you to get and set the length of an extrude. 
Syntax 
Property get: 
Delta = Delta ( ); 
Return: (Double) Delta Length of extrude.
 
Property set: 
Delta( Delta ); 
Return: (Double) Delta Length of extrude.
 
IMdExtrude::Direction 
Description 
This property allows you to get and set an extrude direction. 
Syntax 
Property get: 
Direction = Direction ( ); 
Return: (Variant) 
Direction 
Variant that contains double type one dimensional array of 
vector coordinates that defines an extrude direction. 
 
Property set: 
 Direction( Direction ); 
Input: (Variant) 
Direction 
Variant that contains double type one dimensional array of 
vector coordinates that defines an extrude direction. 
IMdExtrude::DraftAngle 
Description 
This property allows you to get and set a draft angle. 
Syntax 
Property get: 
Angle = DraftAngle ( ); 
Return: (Double) Angle Draft angle.
 
CimatronE 10.0 CimatronE SDK User Guide ⎪219 
 
Property set: 
 DraftAngle( Angle ); 
Input: (Double) Angle Draft angle.
IMdExtrude::DraftSideOption 
Description 
This property allows you to get and set a draft side. If the draft side property is set 
to cmExtrudeDraftOutside, an extrude is expanded. If the draft side property is set 
to cmExtrudeDraftInside, it is contracted. 
Syntax 
Property get: 
Side = DraftSideOption ( ); 
Return: (ExtrudeDraftSideOption) Side Draft side.
 
Property set: 
DraftSideOption( Side ); 
Input: (ExtrudeDraftSideOption) Side Draft side.
IMdExtrude::InvertOption 
Description 
This property allows you to get and set the side from which there is material 
corresponding to the created solid object about to be created. Usable in modes 
cmExtrudeSweepModeAdd and cmExtrudeSweepModeRemove. 
Syntax 
Property get: 
Invert = InvertOption ( ); 
Return: (ExtrudeInvertOption) Invert Invert option.
 
Property set: 
InvertOption( Invert ); 
Input: (ExtrudeInvertOption) 
Invert 
cmExtrudeReversed option changes default 
position. 
 
IMdExtrude::Mode 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪220 
 
This property allows you to define if a created object is part of an existing object or 
a new object. 
Syntax 
Property get: 
Mode = Mode ( ); 
Return: (ExtrudeSweepMode) Mode Extrude mode.
 
Property set: 
 Mode( Mode ); 
Input: (ExtrudeSweepMode) ModeExtrude mode.
IMdExtrude::OpositDelta 
Description 
This property allows you to get and set the length of an extrude on the opposite 
side if property IMdExtrude::SideOption is set to cmExtrudeBothSide. 
Syntax 
Property get: 
OpositDelta = OpositDelta ( ); 
Return: (Double) OpositDeltaLength of extrude on opposite side. 
 
Property set: 
OpositDelta( OpositDelta ); 
Input: (Double) OpositDeltaLength of extrude on opposite side. 
IMdExtrude::SideOption 
Description 
This property allows you to get and set an extrude side option if there is an extrude 
on one or both sides of the plane on which the contour lies. 
Syntax 
Property get: 
Side = SideOption ( ); 
Return: (ExtrudeSideOption) Side Extrude side option.
 
Property set: 
SideOption( Side ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪221 
 
Input: (ExtrudeSideOption) SideExtrude side option.
IMdExtrude::ToEntity 
Description 
This property allows you to set an entity when the cmExtrudeToReference option is 
set in the IMdExtrude::ToOption property. 
Syntax 
Property get: 
ReferenceEntity = ToEntity ( ); 
Return: ( ICimEntity ) ReferenceEntity A reference entity. 
 
Property set: 
ToEntity( ReferenceEntity ); 
Input: ( ICimEntity ) ReferenceEntity A reference entity. 
 
IMdExtrude::ToOption 
Description 
This property allows you to define an extrude creation option. 
Syntax 
Property get: 
Option = ToOption ( ); 
Return: (ExtrudeToOption) Option An extrude creation type. 
 
Property set: 
ToOption( Option ); 
Input: (ExtrudeToOption) Option An extrude creation type. 
Note 
cmExtrudeOneDir - the same as cmExtrudeOneSide in the 
IMdExtrude::SideOption property. 
cmExtrudeMidPlane - creates an extrude from both sides of the contour sketcher 
plane with delta/2 length from each side. The same as cmExtrudeBothSide in the 
IMdExtrude::SideOption property where the delta and opposite delta are equal to 
the extrude length divided by 2. 
cmExtrudeToClosest - allows you to create an extrude to the closest face of an 
active object. The option is used with the cmExtrudeSweepModeAdd mode 
cmExtrudeToReference - allows you to create an extrude to a reference face. 
CimatronE 10.0 CimatronE SDK User Guide ⎪222 
 
cmExtrudeThroughOneSide and cmExtrudeThroughAll options are used with 
modes cmExtrudeSweepModeRemove and enables remove extrude that passes through 
one side defined by the extrude direction or through both sides. 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointerthat may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
CimatronE 10.0 CimatronE SDK User Guide ⎪223 
 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
CimatronE 10.0 CimatronE SDK User Guide ⎪224 
 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪225 
 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
MdChamfer 
MdChamfer 
 
 
IMdChamfer 
IMdChamfer 
This interface represents a Chamfer procedure in CimatronE. 
Properties 
Get, Set Entities ICimEntityList
Get, Set Distance Double 
Get, Set IsSymmetric Boolean 
Get, Set Angle Double 
Get, Set FlipSide Boolean 
Methods 
None 
 
IMdChamfer::Angle 
Description 
This property allows you to get and set an angle for a Chamfer procedure. 
Syntax 
Property get: 
Angle = Angle( ); 
Return: (Double) Angle The angle for Chamfer.
 
Property set: 
Angle ( Angle ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪226 
 
Input: (Double) Angle The angle for Chamfer.
Remarks 
This value is available only if IsSymmetric = False. 
 
IMdChamfer::Distance 
Description 
This property allows you to get and set a distance value for the Chamfer procedure. 
Syntax 
Property get: 
Value = Distance ( ); 
Return: (Double) Value A distance value.
 
Property set: 
Distance ( Value ); 
Input: (Double) Value A distance value.
 
IMdChamfer::Entities 
Description 
This property allows you to get and set entities for a Chamfer procedure. 
Syntax 
Property get: 
Entities = Entities ( ); 
Return: (ICimEntityList) 
Entities 
Entities on which to execute chamfer 
procedure. 
Property set: 
 Entities ( Entities ); 
Input: (ICimEntityList) 
Entities 
Entities on which to execute chamfer 
procedure. 
IMdChamfer::FlipSide 
Description 
This property gets and sets the option to flip the Chamfer side. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪227 
 
Opt = FlipSide ( ); 
Return: (Boolean) Opt Get the trimming side. 
 
Property set: 
FlipSide ( Opt ); 
Input: (Boolean) Opt Set the trimming side. 
 TRUE = default 
 FALSE = Change the trimming side 
Remarks 
This option is available only if the IsSymmetric = False and the Angle <> 45deg. 
IMdChamfer::IsSymmetric 
Description 
This property allows you to get and set whether the chamfer is symmetric. 
Syntax 
Property get: 
Status = Distance ( ); 
Return: (Boolean) Status distance value.
 
Property set: 
Distance ( Status ); 
Input: (Boolean) Status distance value.
Remarks 
If the option is FALSE than need also to set the Angle value. 
MdDivide 
MdDivide 
 
IMdDivide 
IMdDivide 
This interface represents the divide operation. 
Properties 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪228 
 
 
Get/Set ObjectsToDivide ICimEntityList
Get/Set DividingToolsEntities ICimEntityList
Methods 
 
IMdDivide::DividingToolsEntities 
Description 
This property allows you to get and set the dividing tool entities in the divide 
procedure. 
Syntax 
Property get: 
Objects = DividingToolsEntities( ); 
 
 
Return: (ICimEntityList) ObjectsGet dividing tool objects in list. 
 
Property set: 
DividingToolsEntities( Objects ); 
 
 
Return: (ICimEntityList) ObjectsSet dividing tool objects in list. 
 
IMdDivide::ObjectsToDivide 
Description 
This property allows you to get and set the divide entities in the divide procedure. 
Dividing entities must be bodies. 
Syntax 
Property get: 
Objects = ObjectsToDivide( ); 
 
 
Return: (ICimEntityList) ObjectsGet divide objects in list.
 
CimatronE 10.0 CimatronE SDK User Guide ⎪229 
 
Property set: 
ObjectsToDivide( Objects ); 
 
 
Return: (ICimEntityList) ObjectsSet divide objects to list.
MdHole 
MdHole 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪230 
 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
CimatronE 10.0 CimatronE SDK User Guide ⎪231 
 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParametersThis interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
CimatronE 10.0 CimatronE SDK User Guide ⎪232 
 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdHole 
IMdHole 
This interface represents the Hole procedure. 
Properties 
 
 
Get/Set Entities ICimEntityList
Get/Set Depth Double 
Get/Set Diameter Double 
Get/Set Direction Variant 
Get/Set HoleOption HoleOption 
Get/Set ReferenceEntity ICimEntity 
Get/Set DrilledType Boolean 
Get/Set DrillAngle Double 
Get/Set HeadType HoleHeadType
Get/Set HeadAngle Double 
Get/Set HeadDepth Double 
Get/Set HeadDiameter Double 
 
Methods 
 
 
IMdHole::ReferenceEntity 
Description 
This property allows you to get and set the plane or face at which the holes will 
end. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪233 
 
oEnt = Entity( ); 
 
Return: (ICimEntity) oEnt Plane / Face for Reference.
 
Property set: 
Entity( iEnt ); 
 
Input: (ICimEntity) iEnt Plane / Face for Reference.
IMdHole::HoleOption 
Description 
This property allows you to define the hole creation option. 
Syntax 
Property get: 
Option = ToOption ( ); 
 
Return: (HoleOption) OptionAn hole creation option.
 
Property set: 
ToOption( Option ); 
 
Input: (HoleOption) Option An extrude creation option.
Note 
cmHoleOneDir - Using this option needs to set the Depth parameter. 
cmHoleToReference - Choose the plane or face at which the holes will 
end. 
cmHoleToClosest - The holes will stop at the closest face. 
cmHoleThroughOneSide - The holes will proceed through the entire solid 
object. 
 
IMdHole::HeadType 
Description 
This property allows you to define the head creation type of a hole procedure. 
(See Hole_Counters) 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪234 
 
Option = HeadType ( ); 
 
Return: (HoleHeadType) OptionGet the Head Type.
 
Property set: 
HeadType( Option ); 
 
Input: (HoleHeadType) Option Set the Head Type.
Note 
 
IMdHole::HeadDiameter 
Description 
This property allows you to define the head Diameter of a hole procedure (only if 
the head was defined). 
(See Hole_Counters) 
Syntax 
Property get: 
oDiameter = HeadDiameter ( ); 
 
Return: (Double) oDiameter Get the Head Diameter.
 
Property set: 
HeadDiameter( iDiameter ); 
 
Input: (Double) iDiameter Set the Head Diameter.
Note 
 
IMdHole::HeadDepth 
Description 
This property allows you to define the head Depth of a hole procedure (only if the 
head was defined). 
(See Hole_Counters) 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪235 
 
Depth = HeadDepth ( ); 
 
Return: (Double) oDepth Get the Head Depth.
 
Property set: 
HeadDepth( iDepth ); 
 
Input: (Double) iDepth Set the Head Depth.
Note 
 
IMdHole::HeadAngle 
Description 
This property allows you to define the head angle of hole procedure (only if head 
was define). 
(See Hole_Counters) 
Syntax 
Property get: 
oAngle = HeadAngle ( ); 
 
Return: (Double) oAngle Get the Head angle.
 
Property set: 
HeadAngle( iAngle ); 
 
Input: (Double) iAngle Set the Head angle.
Note 
 
IMdHole::Entities 
Description 
This property allows you to get and set the Points (entities) for Hole procedure. 
Syntax 
Property get: 
oPointsEnt = Entities( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪236 
 
 
 
Return: (ICimEntityList) oPointsEnt sketched points.
 
Property set: 
Entities( iPointsEnt ); 
 
 
Return: (ICimEntityList) iPointsEnt sketched points.
IMdHole::DrilledType 
Description 
This property allows you to get and set the drill type of the Hole procedure. 
Syntax 
Property get: 
oType = DrilledType( ); 
 
Return: (Boolean) oType Get Drill Type 
TRUE = Drilled Bottom
FALSE = Flat Bottom 
 
Property set: 
DrilledType( iType ); 
 
Return: (Boolean) iType Set Drill Type 
TRUE = Drilled Bottom
FALSE = Flat Bottom 
 
Note 
If you selected the "Drilled Bottom" hole type, you also need to set the DrillAngle. 
IMdHole::DrillAngle 
Description 
This property allows you to get and set the drill Angle value of the hole procedure. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪237 
 
Property get: 
oAngle = DrillAngle( ); 
 
Return: (Double) oAngleGet Angle value.
 
Property set: 
DrillAngle( iAngle ); 
 
Return: (Double) iAngle Set Angle value
 
Note 
This parameter will be activate only if the DrillType is set to "Drilled Bottom". 
IMdHole::Direction 
Description 
This property allows you to get and set the in which to create a hole. 
(See Hole_Options) 
Syntax 
Property get: 
oDirection = Direction( ); 
 
 
Return: (Variant) 
oDirection 
Variant that contains double-type one-dimensional array 
of a hole direction vector. 
 
Property set: 
Direction( iDirection ); 
 
 
Return: (Variant) 
iDirection 
Variant that contains double-type one-dimensional array of 
a hole direction vector. 
IMdHole::Diameter 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪238 
 
This property allows you to get and set the Diameter value of a hole procedure. 
( See Hole_Options) 
Syntax 
Property get: 
oDia = Diameter( ); 
 
 
Return: (Double) oDia Get Diameter value.
 
Property set: 
Diameter( iDia ); 
 
 
Return: (Double) iDia Set Diameter value
IMdHole::Depth 
Description 
This property allows you to get and set the Depth value of the hole procedure. 
(See Hole_Options) 
Syntax 
Property get: 
oDepth = Depth( ); 
 
Return: (Double) oDepthGet Depth value.
 
Property set: 
Depth( iDepth ); 
 
Return: (Double) iDepth Set Depth value
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
CimatronE 10.0 CimatronE SDK User Guide ⎪239 
 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
Thismethod returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪240 
 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
CimatronE 10.0 CimatronE SDK User Guide ⎪241 
 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdShell 
MdShell 
CimatronE 10.0 CimatronE SDK User Guide ⎪242 
 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪243 
 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪244 
 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdShell 
IMdShell 
This interface represents a shell procedure in CimatronE. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪245 
 
 
 
Get, Set BodyEntity ICimEntity 
Get, Set Mode MdShellMode 
Get, Set OpenFaces ICimEntityList 
Get, Set ThicknessValue Double 
Get, Set FaceThickness ICimEntity,Double
Methods 
None 
 
IMdShell::BodyEntity 
Description 
This property allows you to get and set the body entity for a shell procedure. 
Syntax 
Property get: 
oBodyEnt = BodyEntity( ); 
 
Return: (ICimEntity) oBodyEnt An entity to define shell.
 
Property set: 
BodyEntity( iBodyEnt ); 
Input: (ICimEntity) iBodyEntAn entity to define shell.
 
Note 
The type of entity has to be a Body (Solid Body or Face Body); to shell a set of 
open faces it is necessary to stitch the faces then pass the resulting Body to this 
property. 
IMdShell::FaceThickness 
Description 
This property allows you to get and set a different face thickness of shell 
procedure. 
Syntax 
Property get: 
CimatronE 10.0 CimatronE SDK User Guide ⎪246 
 
oThick = FaceThickness( iEnt ); 
 
 
Input: (ICimEntity) iEnt Face Entity for different thickness
Return: (Double) oThickFace Thickness. 
 
Property set: 
FaceThickness( iEnt, iThick ); 
 
 
Input: (ICimEntity) iEnt Face Entity for different thickness
Input: (Double) iThick Face Thickness. 
Note 
In this case, the selected face thickness will be different from the global 
thickness. 
IMdShell::Mode 
Description 
This property allows you to get and set the side mode of the shell procedure. 
Syntax 
Property get: 
ShellMode = Mode ( ); 
 
Return: (MdShellMode) ShellMode The mode of Shell procedure. 
 
Property set: 
Mode( ShellMode ); 
 
Input: (MdShellMode) ShellMode The mode of Shell procedure. 
IMdShell::OpenFaces 
Description 
This property allows you to get and set the entities (Faces) to be opened in 
the shell procedure. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪247 
 
Property get: 
oFaces = OpenFaces( ); 
 
 
Return: (ICimEntityList) oFacesEntities to be opened in the shell procedure.
 
Property set: 
OpenFaces( iFaces ); 
 
 
Input: (ICimEntityList) iFacesEntities to be opened in the shell procedure. 
IMdShell::ThicknessValue 
Description 
This property allows you to get and set the global thickness of shell 
procedure. 
Syntax 
Property get: 
oThick = ThicknessValue( ); 
 
 
Return: (Double) oThickGlobal Thickness of shell.
 
Property set: 
ThicknessValue( iThick ); 
 
 
Input: (Double) iThick Global Thickness of shell.
Note 
 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures(like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪248 
 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
CimatronE 10.0 CimatronE SDK User Guide ⎪249 
 
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪250 
 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdRevolve 
MdRevolve 
CimatronE 10.0 CimatronE SDK User Guide ⎪251 
 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪252 
 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪253 
 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdRevolve 
IMdRevolve 
This interface represents a revolve procedure in CimatronE. It creates a solid 
object. 
CimatronE 10.0 CimatronE SDK User Guide ⎪254 
 
Properties 
Get, Set Mode RevolveSweepMode
Get, Set Contour ICimEntity 
Get, Set ToOption RevolveToOption 
Get, Set ToEntity ICimEntity 
Get, Set Axis ICimEntity 
Get, Set Theta Double 
Get, Set OpositTheta Double 
Get, Set Direction Variant 
Get, Set SideOption RevolveSideOption 
Get, Set InvertOption RevolveInvertOption
Get, Set BaseEntity ICimEntity 
 
Methods 
None 
 
IMdRevolve::Axis 
Description 
This property allows you to get and set the axis around which a revolve procedure 
is performed. An axis of revolve may be an axis or straight line. 
Syntax 
Property get: 
Axis = Axis ( ); 
Input: (ICimEntity) Axis An axis around which to do revolve.
 
Property set: 
Axis( Axis ); 
Input: (ICimEntity) Axis An axis around which to do revolve.
 
IMdRevolve::BaseEntity 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪255 
 
When you execute the revolve procedure in the add or remove mode, this property allows 
you to set an entity, body that is not wireframe, to which a new revolve object will be 
added . This property also allows getting the current active object. 
Syntax 
Property get: 
BaseEntity = BaseEntity ( ); 
Return: (ICimEntity) BaseEntityCurrent active object.
 
Property set: 
BaseEntity( BaseEntity );Input: (ICimEntity) 
BaseEntity 
A body (not wireframe) entity to which a new object 
created from current revolve is added. 
IMdRevolve::Contour 
Description 
This property allows you to get and set a contour that is revolved. A contour must 
be a closed wire body. 
Syntax 
Property get: 
Contour = Contour ( ); 
Input: (ICimEntity) Contour Revolved contour.
 
Property set: 
Contour( Contour ); 
Input: (ICimEntity) Contour A contour to be revolved.
IMdRevolve::Direction 
Description 
This property allows you to define which side, around the revolve axis, to revolve a 
contour . 
Syntax 
Property get: 
RevolveDirectionVector = Direction ( ); 
Return: (Variant) 
RevolveDirectionVector 
Variant that contains double type one dimensional 
array of vector coordinates that defines revolve 
direction. 
CimatronE 10.0 CimatronE SDK User Guide ⎪256 
 
 
Property set: 
Direction( RevolveDirectionVector ); 
Input: (Variant) 
RevolveDirectionVector 
Variant that contains double type one dimensional 
array of vector coordinates that defines revolve 
direction. 
Note 
All coordinates are given relative to the model's main UCS. 
IMdRevolve::InvertOption 
Description 
If an object, to which the new revolve object will be added or from which it will be 
removed is not solid, this property allows you to get and set the side from which 
there will be material in it. 
Used in modes cmRevolveSweepModeAdd and cmRevolveSweepModeRemove. 
Syntax 
Property get: 
Option = InvertOption ( ); 
Input: (RevolveInvertOption) 
Option 
Option that shows whether the inside or outside of 
an active open solid object is material. 
 
Property set: 
InvertOption( Option ); 
Input: 
(RevolveInvertOption) 
Option 
cmRevolveForward shows that the material is inside of 
the open solid object while cmRevolveReversed shows 
that the material is outside. 
 
IMdRevolve::Mode 
Description 
This property allows you to get and set the revolve procedure mode. 
Syntax 
Property get: 
Mode = Mode ( ); 
Return: (RevolveSweepMode) Mode Revolve procedure mode . 
 
Property set: 
CimatronE 10.0 CimatronE SDK User Guide ⎪257 
 
Mode( Mode ); 
Input: 
(RevolveSweepMode) 
Mode 
Mode in which a solid object will be created: new 
object, added to existing active object or removed 
from active object. 
 
IMdRevolve::OpositeTheta 
Description 
This property allows you to get and set the angle at which to revolve a contour 
opposite to the revolve direction that is set at IMdRevolve::Direction . 
This property is used when IMdRevolve::SideOption is set to cmRevolveBothSide. 
Syntax 
Property get: 
AngleTheta = OpositTheta ( ); 
Return: (Double) AngleThetaRevolve angle.
 
Property set: 
OpositTheta( AngleTheta ); 
Input: (Double) AngleThetaRevolve angle
IMdRevolve::SideOption 
Description 
This property allows you to define if the contour is revolved to one side or both 
sides using the opposite theta property. 
Syntax 
Property get: 
Option = SideOption ( ); 
Return: (RevolveSideOption) Option Revolve side option.
 
Property set: 
SideOption( Option ); 
Input: 
(RevolveSideOption) 
Option 
If cmRevolveOneSide is set, only the Theta angle is used 
to create the revolve object; otherwise both Theta and 
opposite Theta angles are used . 
IMdRevolve::Theta 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪258 
 
This property allows you to get and set an angle on which to revolve a contour. The 
revolve direction is set in IMdRevolve::Direction . 
Syntax 
Property get: 
AngleTheta = Theta ( ); 
Input: (Double) AngleThetaRevolve angle
 
Property set: 
Theta( AngleTheta ); 
Input: (Double) AngleThetaRevolve angle
 
IMdRevolve::ToEntity 
Description 
This property allows you to get and set an entity to which to revolve a contour. 
Used when IMdRevolve::ToOption is set to option cmRevolveToReference . 
Syntax 
Property get: 
ReferenceEntity = ToEntity ( ); 
Return: (ICimEntity) ReferenceEntityAn entity to which to revolve a contour.
 
Property set: 
ToEntity( ReferenceEntity ); 
Return: (ICimEntity) ReferenceEntityAn entity to which to revolve a contour.
IMdRevolve::ToOption 
Description 
This property allows you to define a type of revolve procedure. 
Syntax 
Property get: 
Option = ToOption ( ); 
Return: (RevolveToOption) Option Type of revolve procedure.
 
Property set: 
ToOption( Option ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪259 
 
Input: (RevolveToOption) Option Type of revolve procedure.
Note 
Instead of the cmRevolveBothDir option, use cmRevolveOneDir with the 
IMdRevolve::SideOption property to create a revolve object with different 
angles on each side. 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪260 
 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
CimatronE 10.0 CimatronE SDK User Guide ⎪261 
 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::TypeDescription 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪262 
 
Return: (IModel) Model A model to which the entity relates.
MdCut 
MdCut 
 
IMdCut 
IMdCut 
This interface represents the Cut operation. 
Properties 
 
Methods 
 
Get/Set ObjectsToCut ICimEntityList
Get/Set CuttingToolsEntities ICimEntityList
Get/Set DirectionSide Boolean 
Get GetDirection Variant 
 
IMdCut::ObjectsToCut 
Description 
This property allows you to get and set entities to be cut by other objects. Entities 
to be cut must be bodies that are not wireframe. 
Syntax 
Property get: 
Objects = ObjectsToCut( ); 
 
 
Return: (ICimEntityList) ObjectsObjects to be cut.
 
Property set: 
ObjectsToCut( Objects ); 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪263 
 
 
Return: (ICimEntityList) ObjectsObjects to be cut.
IMdCut::GetDirection 
Description 
This property allows you to get the start direction of a cut procedure. 
Syntax 
Property get: 
Vector = GetDirection( ); 
 
 
Return: (Variant) 
Vector 
Coordinates of the start direction vector of cut 
procedure. 
Note 
 
IMdCut::DirectionSide 
Description 
This property allows you to define the side on which to cut entities. 
Syntax 
Property get: 
Side = DirectionSide ( ); 
 
Return: (Boolean) Side A side for cut. If TRUE (=1) then change default direction.
 
Property set: 
Side = DirectionSide ( ); 
 
Input: (Boolean) Side A side for cut. If TRUE (=1) then change default direction. 
Note 
The direction side is needed only if CuttingToolsEntities is a planar 
face/plane 
IMdCut::CuttingToolsEntities 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪264 
 
This property allows you to get and set the cutting entities in cut procedure. cutting 
entities must be bodies, face or plan. 
Syntax 
Property get: 
Objects = CuttingToolsEntities( ); 
 
 
Return: (ICimEntityList) ObjectsGet cutting objects in list.
 
Property set: 
CuttingToolsEntities( Objects ); 
 
 
Return: (ICimEntityList) ObjectsSet cutting objects to list.
MdDriveSolid 
MdDriveSolid 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
CimatronE 10.0 CimatronE SDK User Guide ⎪265 
 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪266 
 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
CimatronE 10.0 CimatronE SDK User Guide ⎪267 
 
 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdDriveSolid 
IMdDriveSolid 
Properties 
Get, Set Mode DriveSolidSweepMode
Get, Set Section ICimEntity 
Get, Set Spine ICimEntity 
Get, Set ParallelNormal DriveSolidMode 
Get, Set Invert DriveSolidInvert 
Methods 
None 
IMdDriveSolid::Invert 
Description 
This property allows you to get and set the invert mode of a drive procedure. 
Syntax 
Property get: 
Invert = Invert ( ); 
Return: (DriveSolidInvert) Invert Invert mode.
 
Property set: 
CimatronE 10.0 CimatronE SDK User Guide ⎪268 
 
Invert( Invert ); 
Input: (DriveSolidInvert) Invert Invert mode.
IMdDriveSolid::Mode 
Description 
This property allows you to get and set a drive mode. 
Syntax 
Property get: 
Mode = Mode ( ); 
Return: (DriveSolidSweepMode) Mode Dive mode.
 
Property set: 
Mode( Mode ); 
Input: (DriveSolidSweepMode) Mode Dive mode.
IMdDriveSolid::ParallelNormal 
Description 
This property allows you to get and set the type of drive procedure. 
Syntax 
Property get: 
Mode = ParallelNormal ( ); 
Return: (DriveSolidMode) Mode Drive mode.
 
Property set: 
ParallelNormal( Mode ); 
Input: (DriveSolidMode) ModeDrive mode.
Note 
In normal mode, the sections of drive are perpendicular to normals of the spine in 
each point. In parallel mode, they are always parallel to the start section. 
Normal mode Parallel mode 
CimatronE 10.0 CimatronE SDK User Guide ⎪269 
 
 
 
 
IMdDriveSolid::Section 
Description 
This property allows you to get and set a driven section. 
Syntax 
Property get: 
Section = Section ( ); 
Return: (ICimEntity) Section Driven section.
 
Property set: 
Section( Section ); 
Input: (ICimEntity) SectionDriven section.
IMdDriveSolid::Spine 
Description 
This property allows you to get and set the spine for drive procedure. 
Syntax 
Property get: 
Spine = Spine ( ); 
Return: (ICimEntity) Spine Drive spine.
 
CimatronE 10.0 CimatronE SDK User Guide ⎪270 
 
Property set: 
Spine( Spine ); 
Input: (ICimEntity) Spine Drive spine.
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) FilterPointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪271 
 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
CimatronE 10.0 CimatronE SDK User Guide ⎪272 
 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪273 
 
Return: (IModel) Model A model to which the entity relates.
MdMerge 
MdMerge 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
CimatronE 10.0 CimatronE SDK User Guide ⎪274 
 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪275 
 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
CimatronE 10.0 CimatronE SDK User Guide ⎪276 
 
IMdMerge 
IMdMerge 
This interface represents the merge operation of certain objects (bodies). 
Properties 
Get/Set Entities ICimEntityList 
Get/Set EntDirectType ( ICimEntity )MergeDirectType
Methods 
RemoveEntity( ICimEntity ); 
IMdMerge::EntDirectType 
Description 
This property allows you to get and set the side from which there is material for a 
specified object. This property is relevant only if an entity is an open object (body). 
Syntax 
Property get: 
MaterialSide = EntDirectType( Entity ); 
Input: (ICimEntity) 
Entity 
An entity whose material side direction is checked. 
Return: (ICimEntity) 
MaterialSide 
A constant value that defines if the entity object is open 
and if so, shows the outside direction. 
 
Property set: 
EntDirectType( Entity, MaterialSide ); 
Input: (ICimEntity) Entity An entity whose material side direction is 
checked. 
Input: (ICimEntity) 
MaterialSide 
A constant value that defines the outside 
direction. 
Note 
Default values for IMdMerge::EntDirectType: 
If an entity object is closed - cmMdMergeNoDirection otherwise- 
cmMdMergeDontChange. If an entity object is open 
cmMdMergeDontChange constant shows that the material is inside an object. 
IMdMerge::Entities 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪277 
 
This property allows you to get and set entities to be merged into one object. 
Entities to be merged must be bodies that are not wireframe. 
Syntax 
Property get: 
Objects = Entities( ); 
Return: (ICimEntityList) ObjectsObjects to be merged.
 
Property set: 
Entities( Objects ); 
Return: (ICimEntityList) ObjectsObjects to be merged.
IMdMerge::RemoveEntity 
Description 
This method allows you to remove an entity from the merge procedure. 
Syntax 
RemoveEntity( RemovedEntity ); 
Input: (ICimEntity) 
RemovedEntity 
An entity to be removed from the merge 
procedure. 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
PropertiesNone 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
CimatronE 10.0 CimatronE SDK User Guide ⎪278 
 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
CimatronE 10.0 CimatronE SDK User Guide ⎪279 
 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪280 
 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdLoft 
MdLoft 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
CimatronE 10.0 CimatronE SDK User Guide ⎪281 
 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪282 
 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
CimatronE 10.0 CimatronE SDK User Guide ⎪283 
 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdLoft 
IMdLoft 
This interface allows you to get and set parameters of a Loft procedure. 
Properties 
Get, Set Entities ICimEntityList 
Get, Set OpenSolid Boolean 
Get, Set SingleFace Boolean 
Get, Set FirstDirection Variant 
Get, Set FirstSlopeOption LoftSlopeOption
Get, Set FirstSlopeWeight Double 
Get, Set SecondDirection Variant 
Get, Set ScndSlopeOption LoftSlopeOption
Get, Set SecondSlopeWeight Double 
Methods 
None 
IMdLoft::SingleFace 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪284 
 
This property allows you to define if the result will be Single face or Multi Face. 
Syntax 
Property get: 
Status = SingleFace ( ); 
Return: (Boolean) Status If FALSE (=0) then result will be Multi Face. 
By default set TRUE (= 1) - Single Face. 
 
Property set: 
SingleFace ( Status ); 
Input: (Boolean) Status If FALSE (=0) then result will be Multi Face. 
By default set TRUE (= 1) - Single Face. 
 
IMdLoft::SecondSlopeWeight 
Description 
This property allows you to get and set the second slope weight. 
Syntax 
Property get: 
SlopeWeight = SecondSlopeWeight ( ); 
Return: (Double) SlopeWeight Get second slope weight.
 
Property set: 
SecondSlopeWeight ( SlopeWeight ); 
Input: (Double) SlopeWeightSet second slope weight.
Note 
This will be valid only if the ScndSlopeOption is set to "Constant" or "Tangent". 
IMdLoft::SecondDirection 
Description 
This property allows you to get and set a second slope direction. 
Syntax 
Property get: 
Direction = SecondDirection ( ); 
Return: (Variant)Direction 
Variant that contains a double-type one-dimensional array of 
slope direction coordinates (x,y,z ). 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪285 
 
Property set: 
SecondDirection ( Direction ); 
Input: (Variant) 
Direction 
Variant that contains a double-type one-dimensional array of 
slope direction coordinates (x,y,z ). 
Note 
All coordinates are given relative to the model's main UCS. This will be valid 
only if the ScndSlopeOption is set to "cmLoftOptionConstant". 
IMdLoft::ScndSlopeOption 
Description 
This property allows you to get and set a second slope option. 
Syntax 
Property get: 
SlopeOption = ScndSlopeOption ( ); 
Return: (LoftSlopeOption) SlopeOption A second slope option.
 
Property set: 
ScndSlopeOption ( SlopeOption ); 
Input: (LoftSlopeOption) SlopeOption A second slope option.
IMdLoft::OpenSolid 
Description 
This property allows you to create an Oopen/Closed Solid body. 
Syntax 
Property get: 
Status = OpenSolid ( ); 
Return: (Boolean) Status If FALSE (=0) then the solid body will be closed. 
By default set TRUE (= 1) - the solid body will be open.
 
Property set: 
OpenSolid ( Status ); 
Input: (Boolean) Status If FALSE (=0) then the solid body will be closed. 
By default set TRUE (= 1) - the solid body will be open. 
 
IMdLoft::FirstSlopeWeight 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪286 
 
This property allows you to get and set the first slope weight. 
Syntax 
Property get: 
SlopeWeight = FirstSlopeWeight ( ); 
Return: (Double) SlopeWeight Get the first slope weight.
 
Property set: 
FirstSlopeWeight ( SlopeWeight ); 
Input: (Double) SlopeWeightSet the first slope weight.
Note 
This will only be valid if the FirstSlopeOption is set to "Constant" or "Tangent". 
IMdLoft::FirstSlopeOption 
Description 
This property allows you to get and set a first slope option. 
Syntax 
Property get: 
SlopeOption = FirstSlopeOption ( ); 
Return: (LoftSlopeOption) SlopeOption A first slope option.
 
Property set: 
FirstSlopeOption ( SlopeOption ); 
Input: (LoftSlopeOption) SlopeOption A first slope option.
IMdLoft::FirstDirection 
Description 
This property allows you to get and set a first slope direction. 
Syntax 
Property get: 
Direction = FirstDirection ( ); 
Return: (Variant) 
Direction 
Variant that contains double type one dimensional array of 
slope direction coordinates (x,y,z ). 
 
Property set: 
CimatronE 10.0 CimatronE SDK User Guide ⎪287 
 
FirstDirection ( Direction ); 
Input: (Variant) 
Direction 
Variant that contains double type one dimensional array of 
slope direction coordinates (x,y,z ). 
Note 
All coordinates are given relative to the model's main UCS. This will be valid 
only if the FirstSlopeOption is set to "cmLoftOptionConstant". 
IMdLoft::Entities 
Description 
This property allows you to get and set entities on which to execute the Loft 
procedure. 
Syntax 
Property get: 
Entities = Entities ( ); 
Return: (ICimEntityList) 
Entities 
A list of entities on which to execute the loft 
procedure. 
 
Property set: 
Entities = Entities ( ); 
Input: (ICimEntityList) 
Entities 
A list of entities on which to execute the loft 
procedure. 
Note 
Currently, it is only possible to create a Loft with closed contours, faces 
and object faces. 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
CimatronE 10.0 CimatronE SDK User Guide ⎪288 
 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) A filter defined by the IEntityQuery::CreateFilter 
CimatronE 10.0 CimatronE SDK User Guide ⎪289 
 
Filter method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪290 
 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdDivideByContour 
MdDivideByContour 
 
 
IMdDivideByContour 
IMdDivideByContour 
This interface allows you to divide solid object by contour. 
Properties 
CimatronE 10.0 CimatronE SDK User Guide ⎪291 
 
Get, Set ObjectsToDivide ICimEntityList 
Get, Set Contour ICimEntity 
Get, Set FromEntity ICimEntity 
Get, Set FromOption DivideFromOption 
Get, Set ToEntity ICimEntity 
Get, Set ToOption DivideToOption 
Get, Set Direction Variant 
Get, Set Delta Double 
Get, Set OpositDelta Double 
Get, Set SideOption DivideSideOption 
Get, Set DraftAngle Double 
Get, Set DraftSideOption DivideDraftSideOption
 
Methods 
None 
 
IMdDivideByContour::FromOption 
Description 
This property allows you to define the divide creation from option. 
Syntax 
Property get: 
Option = FromOption ( ); 
Return: (DivideFromOption) OptionDivide creation from option type.Property set: 
FromOption ( Option ); 
Input: (DivideFromOption) OptionDivide creation from option type. 
Note 
 
IMdDivideByContour::ToOption 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪292 
 
This property allows you to define the divide creation option. 
Syntax 
Property get: 
Option = ToOption ( ); 
Return: (DivideToOption) OptionDivide creation type.
 
Property set: 
ToOption ( Option ); 
Input: (DivideToOption) OptionDivide creation type.
Note 
cmDivideOneDir - the same as cmDivideOneSide in the 
IMdDivideByContour::DivideSideOption property. 
cmDivideMidPlane - creates the divide from both sides of the contour sketcher 
plane with delta/2 length from each side. The same as cmDivideBothDir in the 
IMdDivideByContour::DivideSideOption property where the delta and 
opposite delta are equal to the divide length/2. 
cmDivideToClosest - allows you to create the divide to the closest face of an 
active object. The option is used with the cmExtrudeSweepModeAdd mode 
cmDivideToReference - allows you to create the divide to a reference face. 
 
IMdDivideByContour::FromEntity 
Description 
This property allows you to set an entity when the cmDivideFromReference option 
is set in the IMdDivideByContour::FromOption property. 
Syntax 
Property get: 
ReferenceEntity = FromEntity ( ); 
Return: ( ICimEntity ) ReferenceEntityGet reference entity.
 
Property set: 
FromEntity ( ReferenceEntity ); 
Input: ( ICimEntity ) ReferenceEntity Set reference entity.
IMdDivideByContour::ToEntity 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪293 
 
This property allows you to set an entity when the cmDivideToReference option is 
set in the IMdDivideByContour::ToOption property. 
Syntax 
Property get: 
ReferenceEntity = ToEntity ( ); 
Return: ( ICimEntity ) ReferenceEntityGet reference entity.
 
Property set: 
ToEntity ( ReferenceEntity ); 
Input: ( ICimEntity ) ReferenceEntity Set reference entity.
 
IMdDivideByContour::SideOption 
Description 
This property allows you to get and set the divide side option if there is a divide on 
one or both sides of the plane on which the contour lies. 
Syntax 
Property get: 
Side = SideOption ( ); 
Return: (cmDivideOneSide) Side Divide side option.
 
Property set: 
SideOption ( Side ); 
Input: (cmDivideOneSide) SideDivide side option.
IMdDivideByContour::OpositDelta 
Description 
This property allows you to get and set the length of a divide on the opposite side if 
the property IMdDivideByContour::SideOption is set to cmDivideBothSide. 
Syntax 
Property get: 
OpositDelta = OpositDelta ( ); 
Return: (Double) OpositDeltaLength of the divide on the opposite side. 
 
Property set: 
CimatronE 10.0 CimatronE SDK User Guide ⎪294 
 
OpositDelta ( OpositDelta ); 
Input: (Double) OpositDeltaLength of the divide on the opposite side. 
IMdDivideByContour::ObjectsToDivide 
Description 
This property allows you to get and set the divide entities in the divide by contour 
procedure. The dividing entities must be bodies. 
Syntax 
Property get: 
Objects = ObjectsToDivide( ); 
 
 
Return: (ICimEntityList) ObjectsGet divide objects in list.
 
Property set: 
ObjectsToDivide( Objects ); 
 
 
Return: (ICimEntityList) ObjectsSet divide objects to list.
IMdDivideByContour::DraftSideOption 
Description 
This property allows you to get and set a draft side. If the draft side property is set 
to cmDivideDraftOutside, the divide is expanded. If the draft side property is set to 
cmDivideDraftInside, it is contracted. 
Syntax 
Property get: 
Side = DraftSideOption ( ); 
Return: (DivideDraftSideOption) Side Draft side.
 
Property set: 
DraftSideOption ( Side ); 
Input: (DivideDraftSideOption) Side Draft side.
 
IMdDivideByContour::DraftAngle 
CimatronE 10.0 CimatronE SDK User Guide ⎪295 
 
Description 
This property allows you to get and set a draft angle. 
Syntax 
Property get: 
Angle = DraftAngle ( ); 
Return: (Double) Angle Draft angle.
 
Property set: 
 DraftAngle ( Angle ); 
Input: (Double) Angle Draft angle.
IMdDivideByContour::Direction 
Description 
This property allows you to get and set the divide direction. 
Syntax 
Property get: 
Direction = Direction ( ); 
Return: (Variant) 
Direction 
Variant that contains a double-type one-dimensional array of 
vector coordinates that defines the divide direction. 
 
Property set: 
 Direction ( Direction ); 
Input: (Variant) 
Direction 
Variant that contains a double-type one-dimensional array of 
vector coordinates that defines the divide direction. 
IMdDivideByContour::Delta 
Description 
This property allows you to get and set the length of the divide operation. 
Syntax 
Property get: 
Delta = Delta ( ); 
Return: (Double) Delta Length of divide.
 
Property set: 
Delta ( Delta ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪296 
 
Return: (Double) Delta Length of divide.
IMdDivideByContour::Contour 
Description 
This property allows you to get and set a contour from which to perform the divide 
operation. 
Syntax 
Property get: 
Contour = Contour ( ); 
Return: (ICimEntity) Contour Entity for extrude.
 
Property set: 
 Contour( Contour ); 
Input: (ICimEntity) Contour Entity for extrude.
Remarks 
The contour can only be a wire body (Sketcher or Composite curve). 
MdTaper 
MdTaper 
 
 
IMdTaper 
IMdTaper 
This interface represents a Taper procedure in CimatronE. 
Properties 
Get, Set ReferenceEntities ICimEntityList 
Get, Set TaperedFaces ICimEntityList 
Get, Set Angle Double 
Get, Set ReferenceType TaperReferenceType
CimatronE 10.0 CimatronE SDK User Guide ⎪297 
 
Get, Set TaperSideOption TaperSideOption 
Set OpenReferenceVectorVariant 
Get GetDirectionVector Variant 
Methods 
None 
 
IMdTaper::ReferenceType 
Description 
This property allows you to define the reference type of a taper procedure. 
Syntax 
Property get: 
Type = ReferenceType ( ); 
 
Return: (TaperReferenceType) Type Get the reference type.
 
Property set: 
ReferenceType ( Type ); 
 
Input: (TaperReferenceType) Type Set the reference type.
Remarks 
IMdTaper::Angle 
Description 
This property allows you to get and set an angle on which to taper faces. 
Syntax 
Property get: 
Angle = Angle( ); 
Return: (Double) Angle The angle at which to taper the faces.
 
Property set: 
Angle( Angle ); 
Input: (Double) Angle The angle at which to taper the faces.
Remarks 
An angle can have values from 0.01 to 360 degrees. 
CimatronE 10.0 CimatronE SDK User Guide ⎪298 
 
IMdTaper::GetDirectionVector 
Description 
This property allows you to get the direction vector of a Taper procedure. 
Syntax 
Property get: 
Vector = GetDirectionVector ( ); 
Return: 
(Variant) Vector 
A variant that contains double-type one-dimensional array 
of vector coordinates that defines a line direction. 
 
Remarks 
1. All coordinates are given relative to the model's main UCS. 
2. If 2D curves / edges were selected, the default taper direction is normal to 
the curve plane. For 3D curves / edges, the default taper direction is 
parallel to the smallest side of the curve bounding box. 
IMdTaper::ReferenceEntities 
Description 
This property allows you to get and set the reference entities for a Taper 
procedure. 
Syntax 
Property get: 
Entities = ReferenceEntities ( ); 
Return: (ICimEntityList) EntitiesGet reference entities.
 
Property set: 
ReferenceEntities ( Entities ); 
Input: (ICimEntityList) EntitiesSet reference entities.
Remarks 
Make sure that the input entities type will exactly as you set in 
TaperReferenceType. This means: 
• Edges/Curves in cases where TaperReferenceType = cmNaturalContour 
• Planar face/plane in cases where TaperReferenceType = cmNaturalPlane 
IMdTaper::TaperedFaces 
Description 
This property allows you to get and set the entities (Faces) to be tapered in 
the Taper procedure. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪299 
 
Propertyget: 
oFaces = TaperedFaces ( ); 
Return: (ICimEntityList) oFacesEntities to be tapered in the taper procedure.
 
Property set: 
TaperedFaces ( iFaces ); 
Input: (ICimEntityList) iFacesEntities to be tapered in the taper procedure. 
 
IMdTaper::TaperSideOption 
Description 
This property allows you to get and set the taper side option. 
Syntax 
Property get: 
Side = TaperSideOption ( ); 
Return: (TaperSideOption) Side Taper side option.
 
Property set: 
TaperSideOption ( Side ); 
Input: (TaperSideOption) Side Taper side option.
IMdTaper::OpenReferenceVector 
Description 
This property allows you to set the direction vector for the Taper procedure. 
Syntax 
Property set: 
OpenReferenceVector ( Vector ); 
Input: (Variant) 
Vector 
A variant that contains a double-type one-dimensional array of 
vector coordinates that defines a line direction. 
Remarks 
1. All coordinates are given relative to the model's main UCS. 
2. If 2D curves / edges were selected, the default taper direction is normal to 
the curve plane. For 3D curves / edges, the default taper direction is 
parallel to the smallest side of the curve bounding box. 
CimatronE 10.0 CimatronE SDK User Guide ⎪300 
 
General Geometric Procedures 
General Geometric Procedures 
 
MdScale 
MdScale 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
CimatronE 10.0 CimatronE SDK User Guide ⎪301 
 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪302 
 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
CimatronE 10.0 CimatronE SDK User Guide ⎪303 
 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdScale 
IMdScale 
This interface represents a scale procedure in CimatronE. 
Properties 
 
 
Get, Set Entities ICimEntityList
Get, Set UniformMode Boolean 
Get, Set PivotPoint Variant 
Get, Set UCS ICimEntity 
Get, Set XVal Double 
Get, Set YVal Double 
Get, Set ZVal Double 
Get, Set TotalScaleValue Double 
Methods 
None 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪304 
 
IMdScale::Entities 
Description 
This property allows you to get and set the entities to be Scaled by the Scale 
procedure. 
Syntax 
Property get: 
Entities = Entities( ); 
 
 
Return: (ICimEntityList) EntitiesEntites in scale procedure.
 
Property set: 
Entities( Entities ); 
 
 
Input: (ICimEntityList) EntitiesEntites for scale procedure.
IMdScale::PivotPoint 
Description 
This property allows you to get and set the pivot point of a scale procedure. 
Syntax 
Property get: 
oPoint = PivotPoint ( ); 
Return: (Variant) 
oPoint 
A variant that contains a double array of the root 
point coordinates in (x,y,z ). 
 
 
Property set: 
PivotPoint( iPoint ); 
Return: (Variant) 
oPoint 
A variant that contains a double array of the root 
point coordinates in (x,y,z ). 
 
Note 
All coordinates are given relative to the model's main UCS. 
CimatronE 10.0 CimatronE SDK User Guide ⎪305 
 
IMdScale::TotalScaleValue 
Description 
This property allows you to get and set the total scale value of the scale 
procedure. 
This property is good only if the UniformMode is set to TRUE 
(Uniform). 
 
Syntax 
Property get: 
Value = TotalScaleValue( ); 
 
Return: (Double) Value Scale value.
 
Property set: 
TotalScaleValue( Value ); 
 
Input: (Double) Value Scale value
Note 
 
IMdScale::UCS 
Description 
This property allows you to get and set the UCS whose axes will be used to define 
the scaling in each direction. 
This property is good only if the UniformMode is set to False (Non-Uniform) 
Syntax 
Property get: 
oUcs = DestinationUcs( ); 
 
 
Return: (IUcs/ICimEntity) oUcs UCS .
 
Property set: 
DestinationUcs( iUcs ); 
 
CimatronE 10.0 CimatronE SDK User Guide ⎪306 
 
 
Input: (IUcs/ICimEntity) iUcsUCS .
 
IMdScale::UniformMode 
Description 
This property allows you to get and set the Uniform Mode of the Scale 
procedure. 
Syntax 
Property get: 
oMode = UniformMode( ); 
 
 
Return: (Boolean) oModeUniform Mode scale procedure. 
(TRUE = Uniform, FALSE = Non-Uniform) 
 
Property set: 
UniformMode( iMode ); 
 
 
Input: (Boolean) iMode Uniform Mode scale procedure.
IMdScale::XVal 
Description 
This property allows you to get and set the scale value of a selected UCS in the 
X direction. 
This property is good only if the UniformMode is set to False (Non-
Uniform). 
 
Syntax 
Property get: 
Value = XVal( ); 
 
Return: (Double) Value Scale value on X direction.
 
Property set: 
CimatronE 10.0 CimatronE SDK User Guide ⎪307 
 
XVal( Value ); 
 
Input: (Double) Value Scale value on X direction.
Note 
 
IMdScale::YVal 
Description 
This property allows you to get and set the scale value of a selected UCS in the 
Y direction. 
This property is good only if the UniformMode is set to False (Non-
Uniform). 
 
Syntax 
Property get: 
Value = YVal( ); 
 
Return: (Double) Value Scale value on Y direction.
 
Property set: 
YVal( Value ); 
 
Input: (Double) Value Scale value on Y direction.
Note 
 
IMdScale::ZVal 
Description 
This property allows you to get and set the scale value of a selected UCS in the Z 
direction. 
This property is good only if the UniformMode is set to False (Non-
Uniform) 
 
Syntax 
Property get: 
Value = ZVal( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪308 
 
 
Return: (Double) Value Scale value in the Z direction.
 
Property set: 
ZVal( Value ); 
 
Input: (Double) Value Scale value in theZ direction.
Note 
 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
CimatronE 10.0 CimatronE SDK User Guide ⎪309 
 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
CimatronE 10.0 CimatronE SDK User Guide ⎪310 
 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) Entity type from EntityEnumType 
CimatronE 10.0 CimatronE SDK User Guide ⎪311 
 
EntityType enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdPMIText 
MdPMIText 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪312 
 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪313 
 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪314 
 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdPMIText 
IMdPMIText 
This interface represents the PMI function in CimatronE. 
Properties 
 
 
Set Text String 
Set TextDirection Variant 
Set Plane ICimEntity
Set TextPosition Variant 
Set FontSize Double 
Set LeaderPosition Variant 
Set FontName String 
Set ShowArrow Boolean 
Methods 
None 
 
IMdPMIText::Text 
Description 
This property allows you to set the PMI text description. 
Syntax 
Property set: 
Text ( iText ); 
Input: (String) iText Set the PMI text description.
CimatronE 10.0 CimatronE SDK User Guide ⎪315 
 
 
IMdPMIText::TextDirection 
Description 
This property allows you to set the PMI text direction. 
Syntax 
Property set: 
Direction = Point; 
Input: (Variant) Point Array of 3 doubles that gives a direction with a point (0,0,0)
 
IMdPMIText::Plane 
Description 
This property allows you to set the a plane on which the PMI text will be written. 
Syntax 
Property set: 
Plane ( Plane ); 
Input: (ICimEntity) PlaneAn entity that is a planar face or plane. 
 
IMdPMIText::TextPosition 
Description 
This property allows you to set the PMI text position. 
Syntax 
Property set: 
TextPosition ( Position ); 
Input: (Variant) 
Position 
Variant that contains double-type one-dimensional array of 
text position coordinates. 
 
IMdPMIText::FontSize 
DescriptionThis property allows you to set the PMI text font size. 
Syntax 
Property set: 
FontSize ( iFontSize ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪316 
 
Input: (Double) iFontSizeSet the PMI text font size .
 
IMdPMIText::LeaderPosition 
Description 
This property allows you to set the PMI text leader position. 
Syntax 
Property set: 
LeaderPosition ( Position ); 
Input: (Variant) 
Position 
Variant that contains double-type one-dimensional array of 
leader position coordinates. 
 
IMdPMIText::FontName 
Description 
This property allows you to set the PMI text font name (font type). 
Syntax 
Property set: 
FontName ( iFontName ); 
Input: (String) iFontName Set the PMI text font name.
 
IMdPMIText::ShowArrow 
Description 
This property allows you to hide/show the PMI text arrow. 
Syntax 
Property set: 
ShowArrow ( Status ); 
Input: (Boolean) Status Show the arrow if TRUE.
 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
CimatronE 10.0 CimatronE SDK User Guide ⎪317 
 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
 
IEntityQuery::SetFilter 
CimatronE 10.0 CimatronE SDK User Guide ⎪318 
 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
CimatronE 10.0 CimatronE SDK User Guide ⎪319 
 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdRemoveGeometry 
MdRemoveGeometry 
CimatronE 10.0 CimatronE SDK User Guide ⎪320 
 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪321 
 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
CimatronE 10.0 CimatronE SDK User Guide ⎪322 
 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdRemoveGeometry 
IMdRemoveGeometry 
This interface represents the remove geometry procedure in CimatronE. 
CimatronE 10.0 CimatronE SDK User Guide ⎪323 
 
Properties 
 
Get, Set Entities ICimEntityList 
Get Mode MdRemoveGeometryMode
Methods 
None 
 
Remarks 
The remove entities have to be of the same type; if the entity list includes different 
types, only the entities with the same type of the first onewill be deleted. 
 
IMdRemoveGeometry::Entities 
Description 
This property allows you to get and set entities to be removed. 
Syntax 
Property get: 
Entities = Entities( ); 
 
Return: (ICimEntityList) EntitiesRemoved entities.
 
Property set: 
Entities( Entities ); 
 
Input: (ICimEntityList) EntitiesEntities to be removed.
IMdRemoveGeometry::Mode 
Description 
This property allows you to get remove geometry mode. 
Syntax 
Property get: 
Mode = Mode( ); 
 
 
Return: (MdRemoveGeometryMode) ModeRemoved entities mode. 
CimatronE 10.0 CimatronE SDK User Guide ⎪324 
 
 
 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
CimatronE 10.0 CimatronE SDK User Guide ⎪325 
 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
CimatronE 10.0 CimatronE SDK User Guide ⎪326 
 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪327 
 
Return: (IModel) Model A model to which the entity relates.
MdTextCurve 
MdTextCurve 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
CimatronE 10.0 CimatronE SDK User Guide ⎪328 
 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪329 
 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
CimatronE 10.0 CimatronE SDK User Guide ⎪330 
 
IMdTextCurve 
IMdTextCurve 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get VerticalAlignMode *pVal
 
 
Methods 
None. 
 
 
 
 
IMdTextCurve::VerticalAlignMode 
Description 
This property allows you to get and set the vertical alignment of text on a curve. 
T_TextVerticalAlignMode - Top,Middle,Bottom 
Syntax 
Property get: 
Entity = VerticalAlignMode ( ); 
Return: 
(T_TextVerticalAlignMode) 
*pVal 
The 
vertical 
alignment 
of text on 
a curve 
Property set: 
VerticalAlignMode ( Entity ); 
Input: 
(T_TextVerticalAlignMode) 
newVal 
The 
vertical 
alignment 
of text on 
a curve. 
 
Enumerator Enumerator Value Remark
cmMdTextTopVerticalAlign 0 
CimatronE 10.0 CimatronESDK User Guide ⎪331 
 
cmMdTextMiddleVerticalAlign 1 
cmMdTextBottomVerticalAlign 2 
 
 
 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪332 
 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪333 
 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
CimatronE 10.0 CimatronE SDK User Guide ⎪334 
 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdUserDefineProcedure 
MdUserDefineProcedure 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
CimatronE 10.0 CimatronE SDK User Guide ⎪335 
 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪336 
 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
CimatronE 10.0 CimatronE SDK User Guide ⎪337 
 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdUserDefineProcedure 
This interface merges a set of standard features into one user feature. 
To be developed at a later stage. 
 
 
 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
CimatronE 10.0 CimatronE SDK User Guide ⎪338 
 
IEntityQuery::GetFilterDescription 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
CimatronE 10.0 CimatronE SDK User Guide ⎪339 
 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪340 
 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
MdExportBySelect 
MdExportBySelect 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪341 
 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪342 
 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪343 
 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdExportBySelect 
IMdExportBySelect 
This interface represents the export geometry by selection procedure in CimatronE. 
Properties 
Get, Set Associate Boolean 
Get, Set DocPathName String 
Get, Set ExportedEntities ICimEntityList
Get, Set ExportModel IModel 
Get ResultFileName String 
Methods 
None 
IMdExportBySelect::ExportModel 
Description 
This property allows you to get and set the model object that will be exported to the 
other file. 
Syntax 
Property get: 
Model = ExportedModel ( ); 
Return: (IModel) Model Get model object for export.
 
Property set: 
ExportedModel ( Model ); 
Input: (IModel) Model Set model object for export.
Remarks 
CimatronE 10.0 CimatronE SDK User Guide ⎪344 
 
In cases where it is necessary to export selected entities, use the property 
IMdExportBySelect_ExportedEntities 
IMdExportBySelect::DocPathName 
Description 
This property allows you to set the full path name of the created file. 
Syntax 
Property set: 
DocPathName ( Name ); 
Input: (String) Name Document full path name.
Remarks 
According to the DM rule, in cases where the file name already exists the result 
will be the input name + numerator. To see the result name of the created file use 
IMdExportBySelect::ResultFileName 
IMdExportBySelect::Associate 
Description 
This property allows you to define whether the exported geometry will be 
associative to the original geometry. 
Syntax 
Property get: 
Type = Associate ( ); 
Return: (Boolean) 
Type 
If TRUE - The associativity between the placement and 
geometric dependencies is kept. 
if FALSE - There is no link between the original entity and the 
exported entity. 
 
Property set: 
Associate ( Type ); 
Input: (Boolean) 
Type 
If TRUE - The associativity between the placement and 
geometric dependencies is kept. 
if FALSE - There is no link between the original entity and the 
exported entity. 
Remarks 
Associative 
The associativity between the placement and geometric dependencies is kept. 
The entity can only be edited in the source file. 
CimatronE 10.0 CimatronE SDK User Guide ⎪345 
 
The associativity is kept with the entity and with its children; i.e. if the 
original entity is divided after it is exported to another file, then the exported 
entity is divided as well. 
The exported entity will be marked in the feature tree as an associative 
geometry. The status of this entity can be changed,at any time, to non-
associative. 
Non Associative 
There is no link between the original entity and the exported entity. 
IMdExportBySelect::ResultFileName 
Description 
This property allows you to get the full path name of the created file. 
Syntax 
Property get: 
Name = ResultFileName ( ); 
Return: (String) Name Document full path name.
Remarks 
According to the DM rule, in cases where the file name already exists, the result 
will be the input name + numerator. 
IMdExportBySelect::ExportedEntities 
Description 
This property allows you to get and set the set of entities that will be exported to 
other files. 
Syntax 
Property get: 
Entities = ExportedEntities ( ); 
Return: (ICimEntityList) EntitiesSet of entities or objects for export. 
 
Property set: 
ExportedEntities ( Entities ); 
Input: (ICimEntityList) EntitiesSet of entities or objects for export. 
Remarks 
In cases where it is necessary to export the entire model, use the property 
IMdExrpotBySelect::ExportModel 
IEntityQuery 
IEntityQuery 
CimatronE 10.0 CimatronE SDK User Guide ⎪346 
 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪347 
 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
CimatronE 10.0 CimatronE SDK User Guide ⎪348 
 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
Sketcher Procedures 
Sketcher Procedure 
CimatronE 10.0 CimatronE SDK User Guide ⎪349 
 
 
MdSketcher 
MdSketcher 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
CimatronE 10.0 CimatronE SDK User Guide ⎪350 
 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditMode 
This is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
Syntax 
Property get: 
Type = ProcedureType ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪351 
 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: Type of parameter to set. 
CimatronE 10.0 CimatronE SDK User Guide ⎪352 
 
(MdParameterType) 
ParameterType 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdSketcher 
IMdSketcher 
This interface allows you to set the parameters for creating a sketch. 
Properties 
Get, Set Sketcher ISketcher 
Get, Set Plane ICimEntity
Get Transformation Variant 
 
Methods 
AddExtGeometry ( MdExtGeomOption, ICimEntity) 
AddRefGeometry ( ICimEntity ) 
RemoveExtGeometry ( MdExtGeomOption, ICimEntity ) 
RemoveRefGeometry ( ICimEntity ) 
IMdSketcher::AddExtGeometry 
Description 
This method allows you to add external geometry to a sketch. 
Syntax 
AddExtGeometry( Option, ExternalGeometry ); 
Input: (MdExtGeomOption) 
Option 
Option that defines the project or makes an 
intersection between the sketcher plane and "adding" 
entity. 
Input: (ICimEntity) 
ExternalGeometry 
An entity whose geometry is added to a sketch. 
IMdSketcher::AddRefGeometry 
Description 
This method allows you to add a reference geometry to a sketch. A reference 
geometry is always projected onto a sketch plane. 
CimatronE 10.0 CimatronE SDK User Guide ⎪353 
 
Syntax 
AddRefGeometry( ReferenceGeometry ); 
Input: (ICimEntity) 
ReferenceGeometry 
An entity whose geometry is added to a sketch 
as reference. 
 
IMdSketcher::Plane 
Description 
This property allows you to get and set a plane on which a sketch will be drawn. 
Syntax 
Property get: 
Plane = Plane ( ); 
Return: (ICimEntity) Plane An entity that is a plane for the sketch. 
 
Property set: 
Plane( Plane ); 
Input: (ICimEntity) PlaneAn entity that is a planar face or plane. 
IMdSketcher::RemoveExtGeometry 
Description 
This method allows you to remove an external geometry that was added by the 
IMdSketcher::AddExtGeometry method. 
Syntax 
RemoveExtGeometry( Option, ExternalGeometry ); 
Input: 
(MdExtGeomOption) 
Option 
An option that defines which geometry to remove 
inserted as project or as intersection between sketcher 
plane and added entity. 
Input: (ICimEntity) 
ExternalGeometry 
An entity whose geometry is removed from the 
sketch. 
IMdSketcher::RemoveRefGeometry 
Description 
This method allows you to remove the reference geometry of an entity that was 
added using the IMdSketcher::AddRefGeometry method. 
Syntax 
RemoveRefGeometry( ReferenceGeometry ); 
Input: (ICimEntity) An entity whose geometry is removed from 
CimatronE 10.0 CimatronE SDK User Guide ⎪354 
 
ReferenceGeometry the sketch 
IMdSketcher::Sketcher 
Description 
This property allows you to get a sketcher interface that allows you to draw sketch 
geometry. It also allows you to assign a sketcher object to a sketcher procedure. 
Syntax 
Property get: 
Sketcher = Sketcher ( ); 
Return: (ISketcher) Sketcher Pointer to sketcher interface. 
 
Property set: 
Sketcher( Sketcher ); 
Return: (ISketcher) Sketcher Pointer to sketcher interface. 
IMdSketcher::Transformation 
This is preliminary documentation and is subject to change. 
Description 
This property allows you to get and set the transformation of a sketch default plane. 
Syntax 
Property get: 
TransformationMatrix = Transformation ( ); 
Return: (Variant) 
TransformationMatrix 
Variant that contains double type one dimensional array 
of 12 elements that consist of an affine transformation 
matrix and translation vector. First 9 elements is a 
transformation matrix, each 3 elements is one row in 
matrix. Last 3 elements is a translation vector. 
 
Property set: 
Transformation( TransformationMatrix ); 
Return: (Variant) 
TransformationMatrix 
Variant that contains double type one dimensional array 
of 12 elements that consist of an affine transformation 
matrix and translation vector. First 9 elements is a 
transformation matrix, each 3 elements is one row in a 
matrix. Last 3 elements is a translation vector. 
Note 
All coordinates are given relative to the model's main UCS. 
CimatronE 10.0 CimatronE SDK User Guide ⎪355 
 
Property set temporarily has no affect. 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
CimatronE 10.0 CimatronE SDK User Guide ⎪356 
 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method allows you to set the filter that was created by the 
IEntityQuery::CreateFilter method. 
Syntax 
SetFilter( Filter ); 
Input: (IEntityFilter) 
Filter 
A filter defined by the IEntityQuery::CreateFilter 
method 
ICimEntity 
ICimEntity 
The ICimEntity interface represents the basic information about entities in 
CimatronE. 
Properties 
Get Id Long 
Get Type EntityEnumType
Get Model IModel 
Get Geometry IGeometry3D 
Get/Set Show Boolean 
Methods 
Long IsOwnerWireBody ( ) 
ICimEntity::Geometry 
Description 
This property returns a pointer to the IGeometry3D interface through which you 
can get to the geometrical information of an entity like interfaces 
IGeom3DCurve and IGeom3DSurface . Also using this property you can get to 
other more specific geometry properties of an entity through interfaces like 
IGeom3DPoint, IGeom3DStraight, IGeom3DIntCurve, IGeom3DEllipse, 
IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, 
IGeom3DSpline, IGeom3DTorus . 
CimatronE 10.0 CimatronE SDK User Guide ⎪357 
 
Syntax 
Geom3D = Geometry( ); 
Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 
ICimEntity::ID 
Description 
This property allows you to get the ID of an entity. Using this ID you can reach the 
specific entity by calling the function IModel::GetEntityById. 
Syntax 
Id = Id ( ); 
Return: (Long) Id The entity ID
ICimEntity::IsOwnerWireBody 
Description 
This property lets you to know whether the entity is wireframe or not. 
Syntax 
Status = IsOwnerWireBody( ); 
Return: (Boolean) Status If FALSE (=0) then the entity is not a wireframe body. 
ICimEntity::Type 
Description 
This property returns an entity type. All types are listed in the EntityEnumType 
enumeration. 
Syntax 
EntityType = Type ( ); 
Return: (EntityEnumType) 
EntityType 
Entity type from EntityEnumType 
enumeration 
ICimEntity::Model 
Description 
This property allows you to get a model in which the entity exists. 
Syntax 
Property get: 
Model = Model( ); 
Return: (IModel) Model A model to which the entity relates.
CimatronE 10.0 CimatronE SDK User Guide ⎪358 
 
Assembly Procedures 
Assembly Procedures 
 
AddModel 
AddModel 
 
IMdProcedure 
IMdProcedure 
This interface allows you to manipulate procedures in the CimatronE API. 
Properties 
Get Name String 
Get ProcedureType AssPartProcType
 
Methods 
Execute ( ) 
EnterEditMode ( ) 
Variant GetDimensions ( ) 
UpdatePreview ( ) 
DeletePreview ( ) 
IMdProcedure::DeletePreview 
CimatronE 10.0 CimatronE SDK User Guide ⎪359 
 
Description 
This method deletes a preview created by the IMdProcedure::UpdatePreview 
method. 
Syntax 
DeletePreview( ); 
IMdProcedure::EnterEditModeThis is preliminary documentation and subject to change. 
Description 
This method allows you to set procedures in edit mode. 
Syntax 
EnterEditMode ( ); 
IMdProcedure::Execute 
Description 
This method executes a procedure. 
Syntax 
Execute ( ); 
IMdProcedure::GetDimensions 
Description 
This method allows you to get dimensions created in this procedure. 
Syntax 
DimensionsList = GetDimensions ( ); 
Return: (Variant) 
DimensionsList 
List of dimensions created in the 
procedure. 
IMdProcedure::Name 
Description 
This property allows you to get a procedure name. 
Syntax 
Property get: 
Name = Name ( ); 
Return: (String) Name Procedure name
IMdProcedure::ProcedureType 
Description 
This property allows you to get the procedure type . 
CimatronE 10.0 CimatronE SDK User Guide ⎪360 
 
Syntax 
Property get: 
Type = ProcedureType ( ); 
Return: (AssPartProcType) TypeA procedure type.
IMdProcedure::UpdatePreview 
Description 
This method allows you to create an initial preview and update a procedure. 
Syntax 
UpdatePreview ( ); 
IMdParameters 
IMdParameters 
This interface allows you to access parameters from all procedures. 
Properties 
None 
Methods 
Variant Get ( MdParameterType ) 
Set ( MdParameterType, Variant ) 
IMdParameters::Get 
Description 
This method allows you to access a specific parameter and get a value from each 
procedure. 
Syntax 
ParameterValue = Get( ParameterType ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Return: (Variant) 
ParameterValue 
Parameter value. According to the parameter type. 
It may be a value of a simple type (double, 
Boolean), enum value, entity(ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IMdParameters::Set 
Description 
This method allows you to access a specific parameter and set a value for each 
procedure. 
CimatronE 10.0 CimatronE SDK User Guide ⎪361 
 
Syntax 
Set( ParameterType, ParameterValue ); 
Input: 
(MdParameterType) 
ParameterType 
Type of parameter to set. 
Input: (Variant) 
ParameterValue 
Parameter value. According to the parameter 
type. It may bea value of a type (double, 
Boolean), enum value, entity( ICimEntity) or entity 
list ( ICimEntityList) object and also an array of 
simple types. 
IAddModel 
IAddModel 
This interface allows you to create in existing assembly model a new 
instance by adding an existing model or creating new one. 
Properties 
Get, Set AddModel IModel 
Get, Set Position Variant 
Get, Set Mode AddMode 
Get ModelType AddModelType 
Get ModelName String 
Get GetAddModelId String 
Get AddedInstanceInt IAssInstance 
Get, Set Transformation IModelTransformation
Methods 
 
AddNewModel ( AddModelType , String, DocumentEnumUnit )
Long GetAddedInstance ( ) 
String GetAddModelPath ( ) 
SetAddModelPath ( String ) 
SetAddedInstance ( Long ) 
IAddModel::Transformation 
Type topic text here. 
IAddModel::ModelType 
CimatronE 10.0 CimatronE SDK User Guide ⎪362 
 
Description 
This property allows you to get an added model type. 
Syntax 
Property get: 
ModelType = ModelType ( ); 
Return: (AddModelType) ModelType An added model type.
IAddModel::ModelName 
Type topic text here. 
IAddModel::Mode 
Description 
This property allows you to get and set the mode of add procedure if it is added an 
existing file or created an instance with new file. 
Syntax 
Property get: 
AddMode = Mode ( ); 
Return: (AddMode) AddModeThe mode of add procedure.
 
Property set: 
Mode( AddMode ); 
Input: (AddMode) AddModeThe mode of add procedure.
IAddModel::GetAddModelID 
Description 
This method gets the PId of a model added to an assembly file. 
Syntax 
PId = GetAddModelId( ); 
Return: (String) PId The model PId.
Note 
 
IAddModel::AddNewModel 
Description 
This method allows you to add new model to the Assembly file. 
Syntax 
CimatronE 10.0 CimatronE SDK User Guide ⎪363 
 
AddNewModel( ModelType, DocumentName, Units ); 
Input: (AddModelType) ModelTypeAn added model type.
Input: (String) DocumentName An added file name. 
Input: (DocumentEnumUnit) Units Added file units. 
IAddModel::AddedInstanceInt 
Description 
This property allows you to get an added instance after execution of procedure. 
Syntax 
Property get: 
AddedInstance = AddedInstanceInt( ); 
Return: (IAssInstance) AddedInstance An added instance.
IAddModel::Position 
Description 
This property allows you to get and set the translation of an added model according 
to an Assembly root model UCS or according to an instance UCS, with assembly 
model, under which it will be added. 
Syntax 
Set property: 
Position( Point ); 
Input: (Double) 
Point 
One dimensional array of translation point 
coordinates. 
Get property: 
Point = Position ( ); 
Return: (Double) 
Point 
One dimensional array of translation point 
coordinates . 
Note 
All coordinates are given relative to the model's main UCS. 
 
IAddModel::AddModel 
Description 
This property allows you to get and set the model to be added to the Assembly file. 
Syntax 
Set property: 
CimatronE 10.0 CimatronE SDK User Guide ⎪364 
 
AddModel( Model ); 
Input: (IModel) Model Model to be added to assembly file.
Get property: 
Model = AddModel( ); 
Return: (IModel) Model Model that was added to assembly file. 
Note 
Use IAddModel::AddNewModel to add new model, and 
IAddModel::GetAddModelId to get PId of added model. 
IAddModel::GetAddedInstance 
Description 
This method gets the ID of the added instance. 
Syntax 
ID = GetAddedInstance ( ); 
Return: (Long) ID Get the ID of added instance.
Note 
IAddModel::SetAddedInstance 
Description 
This method sets the instance to be added to an assembly file by its ID. 
Syntax 
SetAddedInstance ( ID ); 
Input: (Long) ID The instance ID.
Note 
IAddModel::GetAddModelPath 
Description 
This method gets the added model full path name. 
Syntax 
FullPathName = GetAddModelPath; 
Return: (String) FullPathName The model full path name .
Note 
IAddModel::SetAddModelPath 
Description 
This method sets the model to be added to an assembly file by its full path name. 
CimatronE 10.0 CimatronE SDK User Guide ⎪365 
 
Syntax 
SetAddModelPath ( FullPathName ); 
Input: (String) FullPathName The model's full path name .
Note 
IEntityQuery 
IEntityQuery 
Allows you to query a model, entity created procedures (like MdExtrude 
procedure) and specific entities by a predefined filter or set of filters. 
Properties 
None 
Methods 
ICimEntityList Select ( ); 
SetFilter ( IEntityFilter ); 
IEntityFilter GetFilter ( ); 
IEntityFilter CreateFilter ( EFilterEnumType ). 
IEntityQuery::CreateFilter 
Description 
This method allows you to create the filter that will define the entities selected 
using the IEntityQuery::Select method. All types of filters are listed in the 
 EFilterEnumType enumeration. 
Syntax 
Filter = CreateFilter( Type ) 
Input: (EFilterEnumType) Type Type of creating filter. 
Return: (IEntityFilter) Filter Pointer to created filter.
Remark 
The IEntityQuery::CreateFilter method returns a pointer that may be directly assigned to 
the filters types: FilterAnd, FilterColor, FilterEntityList, FilterNot, FilterOr, FilterPoint, 
FilterSet, FilterStyle, FilterType, FilterWidth, FilterWireBody . 
IEntityQuery::GetFilter 
Description 
This method allows you to get the filter that was set by the IEntityQuery::SetFilter 
method. 
Syntax 
Filter = GetFilter ( ); 
CimatronE 10.0 CimatronE SDK User Guide ⎪366 
 
Return: (IEntityFilter) FilterFilter by which selection mades
IEntityQuery::Select 
Description 
This method returns the list of chosen entities that meet the conditions of the filter 
set by IEntityQuery::SetFilter. Information about entities in a list can be obtained 
using the ICimEntityList interface. 
Syntax 
EntityList = Select ( ); 
Return: (ICimEntityList) EntityList The list of chosen entities
IEntityQuery::SetFilter 
Description 
This method

Mais conteúdos dessa disciplina