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