Está en la página 1de 1201

CimatronE SDK

CimatronE 9.0 User Guide

CimatronE 9.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 Starting a C++ Application with the CimatronE API .......................................................................... 2 CimatronE API..................................................................................................................................... 4 CimatronE API Chart ...................................................................................................................... 4 Object Containers ............................................................................................................................ 5 DI ................................................................................................................................................. 125 NC................................................................................................................................................ 127 Tools, Commands and Interaction............................................................................................... 128 Procedures ................................................................................................................................... 197 Sketcher and Sketcher Objects .................................................................................................... 783 Topological Objects..................................................................................................................... 821 Geometrical Information ............................................................................................................. 867 Filters ........................................................................................................................................... 982 Attributes ................................................................................................................................... 1008 CimatronE API Enums .............................................................................................................. 1012 Examples ................................................................................................................................... 1050 CimESuite API............................................................................................................................... 1051 CimatronE CimESuite API........................................................................................................ 1051 CimSuiteCommands.................................................................................................................. 1051 CimSuiteReferences .................................................................................................................. 1053 CimSuiteSurface........................................................................................................................ 1058 CimSuiteTransform ................................................................................................................... 1066 CimSuiteWireFrame.................................................................................................................. 1070 CimSuiteDM.............................................................................................................................. 1078 CimSuiteGeomData................................................................................................................... 1086 CimSuiteMath............................................................................................................................ 1103 CimSuitePickTool ..................................................................................................................... 1107 CimSuiteSketcher ...................................................................................................................... 1112 CimSuiteSolid............................................................................................................................ 1123 CimSuiteAssy ............................................................................................................................ 1138 CimSuite API Enums ................................................................................................................ 1140 CimSuiteGeneral ....................................................................................................................... 1159 Examples ................................................................................................................................... 1165 CimSuite .................................................................................................................................... 1178 CimSuiteDI................................................................................................................................ 1178 CimSuiteNC .............................................................................................................................. 1179 Glossary ............................................................................................................................................. 1181 Index................................................................................................................................................... 1195

CimatronE 9.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. 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.

CimatronE 9.0

CimatronE SDK User Guide 2

To start using API in your Visual Basic application you have to:

Create references 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 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.

CimatronE 9.0

CimatronE SDK User Guide 3

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 ) { 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 9.0

CimatronE SDK User Guide 4

CimatronE API
CimatronE API Chart

CimatronE 9.0

CimatronE SDK User Guide 5

Object Containers

Object Containers

CimatronE 9.0

CimatronE SDK User Guide 6

CimatronE 9.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) Application Current running active CimatronE application.

Application
Application

IApplication

CimatronE 9.0

CimatronE SDK User Guide 8

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) Type Set 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.

CimatronE 9.0

CimatronE SDK User Guide 9

Syntax
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

CimatronE 9.0

CimatronE SDK User Guide 10

This method allows you to set one of the open files as an active file.

Syntax
SetActiveDocument( Document ); 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.

CimatronE 9.0

CimatronE SDK User Guide 11

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 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) DiskSerNum Disk 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

CimatronE 9.0

CimatronE SDK User Guide 12

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:

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

CimatronE 9.0

CimatronE SDK User Guide 13

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

CimatronE 9.0

CimatronE SDK User Guide 14

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.

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
Input: (String) LocationRealPath

The name of a new location.


The physical path on storage device for a new location.

Example

CimatronE 9.0

CimatronE SDK User Guide 15

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 );


Input: (String) DocumentPath Input: (DocumentEnumType) DocumentType Input: (DocumentEnumUnit) DocumentUnit Return: (IModel) Model Path and name of new file. Type of new file. New file units. 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) DocumentPath Path 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.

CimatronE 9.0

CimatronE SDK User Guide 16

IPdm::DeleteLocation Description
This method allows you to delete an existing location.

Syntax 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: The interface of the relevant opened file. (IDocument) Document IPdm::GetListOfDocuments Description This method allows you to get files from a given location/folder. Syntax ListOfDocuments = GetListOfDocuments( FolderPath );
Input: (String) FolderPath Return: (Variant) ListOfDocuments Path to location/folder from which to get a list of included files. For example \Documents\LocationName\[SubFolders]\Folder. Variant type array each element of which contain two dimensioned string type array of files under current location/folder.

Note In string array 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.

CimatronE 9.0

CimatronE SDK User Guide 17

Syntax DiskPath = GetLocationRealPath( LocationPath );


Input: (String) LocationPath Path to location. For example \Documents\LocationName. 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 Note IPdm::GetRelatedDocuments Description


This method allows you to get related files from compound types of files, for example Assembly or Drawing. Variant array that includes the name of all open files.

Syntax RelatedDocuments = GetRelatedDocuments ( DocumentPath ); Input: (String) DocumentPath Return: (Variant) RelatedDocuments Note
Path to file. For example \Documents\Location\Folder\Document. The file must be Assembly or Drawing. Variant type array each element of which contain two dimensioned string type array of files related to selected one.

CimatronE 9.0

CimatronE SDK User Guide 18

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 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 Return: (IDocument) Document Path and name of file. For example \Documents\LocationName\[SubFolders]\Folder\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

CimatronE 9.0

CimatronE SDK User Guide 19

Property get: Status = Query( DocumentName, Type, Path );


Input: (String) DocumentName Document name to check for existence.

Input: (DocumentEnumType) Document type to check for existence. Type Input: (String) Path Return: (Variant) Status Path to folder in which to check for file existent. If you want to look in all folders pass an empty string. 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 Input/Output: (Variant) DocumentAttributes Input: (String) Owner Path and name of file from which to retrieve attributes. Array of retrieved attributes. 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. The parameter Owner temporary does not take affect. Set its value to "guest".

CimatronE 9.0

CimatronE SDK User Guide 20

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 Input: (String) IncludedDocPath Path and name of file that contains a link from which to retrieve attributes. 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. IPdm::SelectMultiFromBrowser Description

CimatronE 9.0

CimatronE SDK User Guide 21

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 UpdateLinkAttribute( InclusiveDocPath, IncludedDocPath, DocumentAttributes, Owner, AccessMode );
Input: (String) InclusiveDocPath Input: (String) IncludedDocPath Path and name of file that contains a link from which to retrieve attributes. Path and name of linked file.

Input: (Variant) DocumentAttributes Array of attributes to be updated or inserted.

CimatronE 9.0

CimatronE SDK User Guide 22

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 changed with 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>. The Interface
Before and After processing

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 users choice, which can be one of the following: Processed the user processes the event; Cancel the user cancels the events processing; Continue the user passes the control to CimatronE; the default processing of the event will be performed. These events are invoked after the event has been processed. This method passes the user the result of the events processing, which can be one of the following:

After

CimatronE 9.0

CimatronE SDK User Guide 23

Cancelled the events 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 ) 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 )

CimatronE 9.0

CimatronE SDK User Guide 24

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 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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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

CimatronE 9.0

CimatronE SDK User Guide 25

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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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::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 writeaccesses 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 Input: (Variant) iData Pointer to the application.

Not applicable.

CimatronE 9.0

CimatronE SDK User Guide 26

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: Processed Succeeded Failed Cancelled The event was processed. The event was processed successfully. The event was processed and has resulted in failure. The events processing was cancelled.

Input: (String) iDocPath Input: (AccessStatus) iAccessStatus

Full path name of the .elt file. 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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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 Input: (String) iLockInfo

Full path name of the .elt file. The lock information of the file.

CimatronE 9.0

CimatronE SDK User Guide 27

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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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 AfterOpenDocument(iApp, iData, iOperation, iDocPath)
Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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

CimatronE 9.0

CimatronE SDK User Guide 28

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 Input: (Variant) iData Input: (Integer) iOperation Pointer to the application.

Not applicable.
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 Input: (Short) iResult

Full path name of the .elt file.

The result of the event process: Processed Succeeded Failed Cancelled The event was processed. The event was processed successfully. The event was processed and has resulted in failure. The events 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.

CimatronE 9.0

CimatronE SDK User Guide 29

Syntax AfterSaveAs(iApp, iData, iOperation, iDmOperResult, iDocPath)


Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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: Processed Succeeded Failed Cancelled The event was processed. The event was processed successfully. The event was processed and has resulted in failure. The events 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.

CimatronE 9.0

CimatronE SDK User Guide 30

Input: (Variant) iData Input: (Long) iOperation

Not applicable.
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: Processed Succeeded Failed Cancelled The event was processed. The event was processed successfully. The event was processed and has resulted in failure. The events 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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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

CimatronE 9.0

CimatronE SDK User Guide 31

a pair of Before and After method calls with one event. Input: (DmOperResult) iOperResult

The result of the event process: Processed Succeeded Failed Cancelled The event was processed. The event was processed successfully. The event was processed and has resulted in failure. The events processing was cancelled.

Input: (String) iDocs

Full path name of the .elt file.

IPdmHooks::AfterUiDocPlacement Description An event occurs when the files 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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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 Succeeded Failed Cancelled The event was processed. The event was processed successfully. The event was processed and has resulted in failure. The events processing was cancelled.

CimatronE 9.0

CimatronE SDK User Guide 32

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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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 Succeeded Failed Cancelled The event was processed. The event was processed successfully. The event was processed and has resulted in failure. The events processing was cancelled.

Input: (String) iDocTemplatePath Input: (DocumentEnumType) iDocType Input: (DocumentEnumUnit) iUnitType

Full path name of the template file. Type of file. 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.

CimatronE 9.0

CimatronE SDK User Guide 33

This method takes the full path of the unlocked file. See BeforeUnLock. Syntax AfterUnLock(iApp, iData, iOperation, iDocPath)
Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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. See AfterActiveDocument. Syntax oMode = BeforeActiveDocument(iApp, iData, iOperation, iDocPath)
Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application.

Not applicable.
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 Return: (Integer) oMode

Full path name of the .elt file.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be

CimatronE 9.0

CimatronE SDK User Guide 34

performed. Cancel Restrictions You cannot override the default processing of the event. The user cancels the events processing.

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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Return: (Integer) oMode Full path name of the .elt file.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel Restrictions

You cannot override the default processing of the event.

IPdmHooks::BeforeGetAccess Description

CimatronE 9.0

CimatronE SDK User Guide 35

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 writeaccesses 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 access mode (read/write). If you override the default processing, the method returns the status of the attempt to access the file. See AfterGetAccess. Syntax oAccessStatus, oMode = BeforeGetAccess(iApp, iData, iOperation, iDocPath, iAccessMode)
Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Input: (HookAccessMode) iAccessMode Return: (AccessStatus) oAccessStatus Return: (Integer) oMode Full path name of the .elt file. Access mode (read/write). Status of the attempt to access the file.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel

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 9.0

CimatronE SDK User Guide 36

Syntax oLockInfo, oMode = BeforeGetLockInfo(iApp, iData, iOperation, iDocPath)


Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Return: (String) oLockInfo Return: (Integer) oMode Full path name of the .elt file. Lock information of the file.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel

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)
Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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

CimatronE 9.0

CimatronE SDK User Guide 37

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 Input: (DocumentEnumType) iDocType Input: (DocumentEnumUnit) iUnitType Return: (Integer) oMode Full path name of the template file.

Type of file.
Type of measurement unit.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel 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. Syntax oMode = BeforeOpenDocument(iApp, iData, iOperation, iDocPath)
Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Return: (Integer) oMode Full path name of the .elt file.

The event process mode as defined by the user:

CimatronE 9.0

CimatronE SDK User Guide 38

Process Continue

The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel 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 Input: (Variant) iData Input: (Integer) iOperation Pointer to the application. Not applicable. 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 Return: (Short) oResult Return: (Short) oMode Full path name of the .elt file. User entered result: ( 1 [default] = Continue; 0 = Stop process ).

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel

IPdmHooks::BeforeSaveAs

CimatronE 9.0

CimatronE SDK User Guide 39

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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Input: (String) iDocPath Return: (String) oPathTargetFolder Return: (Integer) oMode A replace mode (yes, yes to all, no, no to all, not defined). Full path name of the .elt file. The full path of the target folder (root folder).

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel 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.

CimatronE 9.0

CimatronE SDK User Guide 40

This method takes the full path of the file to be saved. See AfterSaveDocument. Syntax oMode = BeforeSaveDocument(iApp, iData, iOperation, iDocName, iDocPath)
Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Input: (String) iDocPath Return: (Integer) oMode Name of the .elt file. Full path name of the .elt file.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel 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). If you override the default processing of the event, this method returns a vector of selected files (vector of full paths). See AfterSelectByTree Syntax

CimatronE 9.0

CimatronE SDK User Guide 41

oDocIDs, oMode = BeforeSelectByTree(iApp, iData, iOperation, iDocType, iMaxNumber, iDefaultString)


Input: (Object) iApp Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Input: (Long) iMaxNumber Input: (String) iDefaultString Type of file. The maximum number of files allowed to be selected. 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). If you override the default processing of the event, this method returns a vector of selected files (vector of full paths).

Return: (String) oDocIDs Return: (Integer) oMode

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel

IPdmHooks::BeforeUiDocPlacement Description An event occurs when the files 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 Input: (Variant) iData Pointer to the application. Not applicable.

CimatronE 9.0

CimatronE SDK User Guide 42

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 Return: (String) oDocName Return: (String) oPath Return: (Integer) oMode

Type of file. Name of .elt file. Path name of the .elt file.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel

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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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.

CimatronE 9.0

CimatronE SDK User Guide 43

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 Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel

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 Input: (Variant) iData Input: (Long) iOperation Pointer to the application. Not applicable. 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 Return: (Integer) oMode Full path name of the .elt file.

The event process mode as defined by the user: Process Continue The user processes the event. The user passes the control to CimatronE; the default processing of the event will be performed. The user cancels the events processing.

Cancel

CimatronE 9.0

CimatronE SDK User Guide 44

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 Input: (Variant) iData Pointer to the application. 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 Input: (Variant) iData Pointer to the application. Not applicable.

Context
Context

ICimContext

ICimContext This interface enables you to manipulate entities in CimatronE. Properties Get, Set ActiveModel IModel

CimatronE 9.0

CimatronE SDK User Guide 45

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 Property set: ActiveModel (NewVal); Input: (IModel) NewVal Sets the active model that the user defines Gets the active model that the user defines

Models
Models

MdlrModel

CimatronE 9.0

CimatronE SDK User Guide 46

MdlrModel

IMdlrModel

IMdlrModel This interface represents a part file model. Properties Get Get ModelProcedures ICimEntityList EntityModel IModel ICimEntity ICimEntity

Get, Set ActiveObject Get,Set ActivateUcs 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

CimatronE 9.0

CimatronE SDK User Guide 47

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) ProcedureType A 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) ProcedureToDelete A 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) Model Model 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

CimatronE 9.0

CimatronE SDK User Guide 48

Description This method allows you to get a procedure by its number. Syntax Procedure = GetProcById( ProcedureNumber );
Input: (Long) ProcedureNumber A procedure number. Return: (IMdProcedure) Procedure A 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) Procedures List 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

CimatronE 9.0

CimatronE SDK User Guide 49

This is preliminary documentation and subject to change.

Description This method allows you to suppress procedures. Syntax


SuppressProcedure( SuppressProcedureList, Suppress ); Input: (Variant) SuppressProcedureList Input: (Boolean) Suppress Variant that contains an array of MdProcedures elements that have to be suppressed. 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) ActiveUcs Current active UCS entity. Property set: ActivateUcs( UcsToActivate ); Return: (ICimEntity) UcsToActivate A 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 nonwireframe 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( );

CimatronE 9.0

CimatronE SDK User Guide 50

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.

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.

CimatronE 9.0

CimatronE SDK User Guide 51

Syntax
GeomServices = GetGeomServicesObj( );

Return: ( IGeomServices) GeomServices Geometrical 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 Get Title Get Unit Get Type Methods ISetsFactory GetSetsFactory ( ) ICimEntity GetEntityById ( Integer, IModel ) String String DocumentEnumUnit DocumentEnumType

Get ProcedureInEditMode Integer

CimatronE 9.0

CimatronE SDK User Guide 52

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 Input: (IModel) Model An entity Id. 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) SetsFactory Pointer 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 9.0

CimatronE SDK User Guide 53

Input: (Variant) ActivePoint Return: (Variant) ModelPoint

Variant that contains double type one dimensional array of point coordinates in current active UCS. 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 Return: (Variant) ActivePoint Variant that contains double type one dimensional array of point coordinates in model UCS. 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 9.0

CimatronE SDK User Guide 54

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.

CimatronE 9.0

CimatronE SDK User Guide 55

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 56

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
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) TriangulationData String with triangulation data.

AssemblyModel
AssemblyModel

CimatronE 9.0

CimatronE SDK User Guide 57

IAssemblyModel

IAssemblyModel This interface represents an assembly file model. Properties

Get, Set ActivateUcs Get, Set ActiveInstance Get Get Get Get Get GetDimensions GetInstances GetModels GetConstrains

IUcs IAssInstance Variant Variant Variant ICimEntityList

ModelProcedures 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.

CimatronE 9.0

CimatronE SDK User Guide 58

Syntax RootInstance = GetRootInstance( );


Return: (IAssInstance) RootInstance A top-level instance in an assembly file.

IAssemblyModel::GetDimensions Description
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

CimatronE 9.0

CimatronE SDK User Guide 59

This method allows you to create an assembly procedure. Syntax Procedure = CreateProcedure( Type );
Input: (AssProcedureType) Type Type of created procedure. 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

CimatronE 9.0

CimatronE SDK User Guide 60

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

CimatronE 9.0

CimatronE SDK User Guide 61

Return: (Variant) InstanceList A list of instances created by the adding of a given model.

IAssemblyModel::GetModels Description 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.

CimatronE 9.0

CimatronE SDK User Guide 62

Syntax InstanceList = GetInstances( );


Return: (Variant) InstanceList An array of instances (IAssInstance) in the assembly 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.

CimatronE 9.0

CimatronE SDK User Guide 63

IAssemblyModel::GetGeomServicesObj Description
This method allows you to get Geometrical services object.

Syntax
GeomServices = GetGeomServicesObj( );

Return: ( IGeomServices) GeomServices Geometrical 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) ActiveUcs Current active UCS entity. Property set: ActivateUcs( UcsToActivate ); Return: (ICimEntity) UcsToActivate A UCS entity to activate.

IModel

IModel This interface represents the basic operation on a model in CimatronE. Properties Get PID Get Title Get Unit Get Type Methods String String DocumentEnumUnit DocumentEnumType

Get ProcedureInEditMode Integer

CimatronE 9.0

CimatronE SDK User Guide 64

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 Input: (IModel) Model An entity Id. 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) SetsFactory Pointer 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.

CimatronE 9.0

CimatronE SDK User Guide 65

Syntax ModelPoint = Active2ModelTranslate( ActivePoint );


Input: (Variant) ActivePoint Return: (Variant) ModelPoint Variant that contains double type one dimensional array of point coordinates in current active UCS. 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 Return: (Variant) ActivePoint Variant that contains double type one dimensional array of point coordinates in model UCS. 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

CimatronE 9.0

CimatronE SDK User Guide 66

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 67

AssemblyInstance
AssemblyInstance

IAssInstance

IAssInstance This interface represents an assembly instance. Properties


Get Get Get Set Get Get Transformation IModelTransformation ID Model Attribute AddProcedure Long IModel IAttribute IAddModel

AssRootInstance IAssInstance

Get, Set Lock


Get

Boolean Long

AssParentInstance IAssInstance

Get, Set Color 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.

CimatronE 9.0

CimatronE SDK User Guide 68

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.

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 Return: (IAttribute) Attribute Name of required 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.

CimatronE 9.0

CimatronE SDK User Guide 69

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 ( );
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) RootInstance Root 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) ParentInstance Assembly 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 );

CimatronE 9.0

CimatronE SDK User Guide 70

Input: (AssProcedureType) Type Return: (IMdProcedure) Procedure

Type of created 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) AssEntity Assembly entity.

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 assembly instance lock state.

Syntax Property get: LockState = Lock( );


Return: (Boolean) If FALSE (=0) the component is unlocked else the component islocked in its current position and cannot be moved. LockState

Property get: Lock( LockState );


Return: (Boolean) If FALSE (=0) the component is unlocked else the component islocked in its current position and cannot be moved. LockState

IAssInstance::Color
Description
This property allows you to get and set the assembly instance color.

Syntax Property get:

CimatronE 9.0

CimatronE SDK User Guide 71

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 Get Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 72

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.
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 9.0

CimatronE SDK User Guide 73

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 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) Filter Filter 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 ( ); Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 74

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

INcModel

INcModel This interface represents a NC file model. Properties Get Get ModelProcedures ICimEntityList EntityModel IModel ICimEntity ICimEntity

Get, Set ActiveObject Get,Set ActivateUcs Methods

CreateNcProceduresFromTemplate ( String ) IMdProcedure CreateProcedure ( MdProcedureType ) DeActivateObjects ( ) DeleteProcedure ( IMdProcedure ) ExecuteAllNcProcedures ( ) String ExecutePostToAllNcProcedures ( String, String, Variant )

CimatronE 9.0

CimatronE SDK User Guide 75

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
Property get: ActiveUcs = ActivateUcs( ); Return: (ICimEntity) ActiveUcs Current active UCS entity. Property set: ActivateUcs( UcsToActivate ); Return: (ICimEntity) UcsToActivate A 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 nonwireframe 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::CreateNcProceduresFromTemplate Description Create NC procedures from a template. Syntax

CimatronE 9.0

CimatronE SDK User Guide 76

CreateNcProceduresFromTemplate( TemplateFileName )
Input: (String) TemplateFileName Input the template full path name.

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 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) ProcedureToDelete A procedure to be deleted.

INcModel::EntityModel Description

CimatronE 9.0

CimatronE SDK User Guide 77

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) Model A 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. 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) If you work with IMS post (set in the Preferences) you have to supply the full path name. iPostName If you work with GPP 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) The path name of the directory to contain the output files. iOutputPath Input: (Variant) A variant to three doubles XYZ. iStartHome 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 C:\Cimatron\CimatronE\Data.

CimatronE 9.0

CimatronE SDK User Guide 78

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
GeomServices = GetGeomServicesObj( ); Return: ( IGeomServices) GeomServices Geometrical 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.

CimatronE 9.0

CimatronE SDK User Guide 79

Syntax Property get Procedures = ModelProcedures( );


Return: (ICimEntityList) Procedures List 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 This method allows you to suppress procedures. Syntax


SuppressProcedure( SuppressProcedureList, Suppress ); Input: (Variant) SuppressProcedureList Input: (Boolean) Suppress Variant that contains an array of MdProcedures elements that have to be suppressed. If TRUE (=1) then suppress all procedures in the list, otherwise unsuppress.

IMdlrModel

IMdlrModel This interface represents a part file model. Properties Get Get ModelProcedures ICimEntityList EntityModel IModel ICimEntity ICimEntity

Get, Set ActiveObject Get,Set ActivateUcs Methods

IMdProcedure CreateProcedure ( MdProcedureType )

CimatronE 9.0

CimatronE SDK User Guide 80

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
Procedure = CreateProcedure( ProcedureType ); Input: (MdProcedureType) ProcedureType A 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) ProcedureToDelete A 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.

CimatronE 9.0

CimatronE SDK User Guide 81

Syntax Model = EntityModel( Entity );


Input: (ICimEntity) An entity to get a model in which it was created. Return: (IModel) Model Model 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) Procedure A 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) Procedures List of all procedures in a current model.

Note
Doesn't work if the current model contains imported models.

CimatronE 9.0

CimatronE SDK User Guide 82

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 Input: (Boolean) Suppress Variant that contains an array of MdProcedures elements that have to be suppressed. 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.

CimatronE 9.0

CimatronE SDK User Guide 83

Syntax
Property get: ActiveUcs = ActivateUcs( ); Return: (ICimEntity) ActiveUcs Current active UCS entity. Property set: ActivateUcs( UcsToActivate ); Return: (ICimEntity) UcsToActivate A 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 nonwireframe 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

CimatronE 9.0

CimatronE SDK User Guide 84

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) GeomServices Geometrical 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

CimatronE 9.0

CimatronE SDK User Guide 85

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 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) Filter Filter by which selection mades Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 86

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. Properties Get PID Get Title String String

CimatronE 9.0

CimatronE SDK User Guide 87

Get Unit Get Type Methods

DocumentEnumUnit DocumentEnumType

Get ProcedureInEditMode Integer

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 Input: (IModel) Model An entity Id. 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) SetsFactory Pointer 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.

CimatronE 9.0

CimatronE SDK User Guide 88

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 Return: (Variant) ModelPoint Variant that contains double type one dimensional array of point coordinates in current active UCS. 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 Return: (Variant) ActivePoint Variant that contains double type one dimensional array of point coordinates in model UCS. 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

CimatronE 9.0

CimatronE SDK User Guide 89

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.

CimatronE 9.0

CimatronE SDK User Guide 90

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 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 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 ( ); Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 91

Return: (IEntityFilter) Filter Filter 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

Documents
Documents

AssemblyDocument
AssemblyDocument

CimatronE 9.0

CimatronE SDK User Guide 92

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 Get Type Get Unit Get Version Get PID String DocumentEnumType DocumentEnumUnit Long String

Get SetsOfDoc Variant Get Description String

Methods
Close ( ) Save ( ) SaveAs ( String ) SavePicture ( String ) Long ComparePIDs ( String )

String GetPath ( )

CimatronE 9.0

CimatronE SDK User Guide 93

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 ( );
Return: (String) Description Document 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

CimatronE 9.0

CimatronE SDK User Guide 94

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 ( );
Return: (DocumentEnumType) Type The file type.

IDocument::Unit Description This property allows you to get the current active file units. Syntax

CimatronE 9.0

CimatronE SDK User Guide 95

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: The path of the file. (String) DocumentPath

IDocument::SaveAs Description This method allows you to save the file in different path. Syntax SaveAs( DocumentPath );
Input: (String) DocumentPath The 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 );

CimatronE 9.0

CimatronE SDK User Guide 96

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 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

CimatronE 9.0

CimatronE SDK User Guide 97

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::CreateInteraction Description This method allows you to create an interaction object. Syntax Interaction = CreateInteraction( InteractionType ); Input: (InteractionType) InteractionType An interaction type.

CimatronE 9.0

CimatronE SDK User Guide 98

Return: (IInteraction) Interaction Example

Created interaction.

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 Note Input ID.

Return: (IInteraction) oObj Get interaction object.

ISelection

ISelection
This interface represents the selection operation.

Properties
Get/Set Selection ICimEntityList

Methods

CimatronE 9.0

CimatronE SDK User Guide 99

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) Objects Get the selected entity list. Property set: Selection ( Objects ); Return: (ICimEntityList) Objects Set 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

DraftDocument
DraftDocument

CimatronE 9.0

CimatronE SDK User Guide 100

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 This method allows you to get Interaction object by input ID. Syntax oObj = GetActiveInteractions( iID); Input: (Integer) iID Note Input ID.

Return: (IInteraction) oObj Get interaction object.

CimatronE 9.0

CimatronE SDK User Guide 101

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 Get Type Get Unit String DocumentEnumType DocumentEnumUnit

CimatronE 9.0

CimatronE SDK User Guide 102

Get Version Get PID

Long 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.

CimatronE 9.0

CimatronE SDK User Guide 103

Syntax Description = Description ( );


Return: (String) Description Document 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 ( );

CimatronE 9.0

CimatronE SDK User Guide 104

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: The path of the file. (String) DocumentPath

IDocument::SaveAs Description

CimatronE 9.0

CimatronE SDK User Guide 105

This method allows you to save the file in different path. Syntax SaveAs( DocumentPath );
Input: (String) DocumentPath The 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

CimatronE 9.0

CimatronE SDK User Guide 106

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) ToolImplementedObject An instance of an AxtiveX object that at least implements an ITool interface of the Tool co-class. Input: (IEntityFilter) iActiveFilter Input: (IEntityFilter) iEnableFilter Input: (Boolean) iEnablePoints Entity filter. The entity types that can be filtered. 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

CimatronE 9.0

CimatronE SDK User Guide 107

Property get:
Objects = Selection ( ); Return: (ICimEntityList) Objects Get the selected entity list. Property set: Selection ( Objects ); Return: (ICimEntityList) Objects Set 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

CimatronE 9.0

CimatronE SDK User Guide 108

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 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 Get Type Get Unit Get Version Get PID String DocumentEnumType DocumentEnumUnit Long 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

CimatronE 9.0

CimatronE SDK User Guide 109

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) Description Document 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

CimatronE 9.0

CimatronE SDK User Guide 110

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 ( );
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

CimatronE 9.0

CimatronE SDK User Guide 111

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: The path of the file. (String) DocumentPath

IDocument::SaveAs Description This method allows you to save the file in different path. Syntax SaveAs( DocumentPath );
Input: (String) DocumentPath The 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 entities highlighted).

CimatronE 9.0

CimatronE SDK User Guide 112

Syntax Property get:


Objects = Selection ( ); Return: (ICimEntityList) Objects Get the selected entity list. Property set: Selection ( Objects ); Return: (ICimEntityList) Objects Set 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

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

CimatronE 9.0

CimatronE SDK User Guide 113

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 implements an ITool interface of

CimatronE 9.0

CimatronE SDK User Guide 114

ToolImplementedObject

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. 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 Note Input ID.

Return: (IInteraction) oObj Get interaction object.

CimatronE 9.0

CimatronE SDK User Guide 115

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. 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 ( );

CimatronE 9.0

CimatronE SDK User Guide 116

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 Get Type Get Unit Get Version Get PID String DocumentEnumType DocumentEnumUnit Long 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 9.0

CimatronE SDK User Guide 117

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) Description Document 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 ( );

CimatronE 9.0

CimatronE SDK User Guide 118

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 ( );
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

CimatronE 9.0

CimatronE SDK User Guide 119

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: The path of the file. (String) DocumentPath

IDocument::SaveAs Description This method allows you to save the file in different path. Syntax SaveAs( DocumentPath );
Input: (String) DocumentPath The 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 )

CimatronE 9.0

CimatronE SDK User Guide 120

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) Objects Get the selected entity list. Property set: Selection ( Objects ); Return: (ICimEntityList) Objects Set 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

Entity Containers
Entity Containers

CimatronE 9.0

CimatronE SDK User Guide 121

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) 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

CimatronE 9.0

CimatronE SDK User Guide 122

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

CimatronE 9.0

CimatronE SDK User Guide 123

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
SupportHelp

CimatronE 9.0

CimatronE SDK User Guide 124

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 Input: (String) iTopic The name of the Help file (.chm). The name of the Help topic (.htm)

ISupportHelp::GetHelpTopic Description This method gets the path of the Help file and topic. Syntax GetHelpTopic ( oFileName, oTopic );
Output: (String) oFileName Output: (String) oTopic The name of the Help file (.chm). The name of the Help topic (.htm)

CimatronE 9.0

CimatronE SDK User Guide 125

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) SetParameterFileName (iFileName)

IDI::Import

Description This method allows you to Translate any DI file to a CimatronE file.

CimatronE 9.0

CimatronE SDK User Guide 126

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 Input: (String) iDstFileName Set the CimatronE source file. 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 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.

CimatronE 9.0

CimatronE SDK User Guide 127

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

CimatronE 9.0

CimatronE SDK User Guide 128

Tools, Commands and Interaction

Tools, Commands and Interaction

Commands
Commands

CimatronE 9.0

CimatronE SDK User Guide 129

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

CimatronE 9.0

CimatronE SDK User Guide 130

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

ICreateCommand

ICreateCommand Example Properties None Methods String GetTooltip ( ) 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

CimatronE 9.0

CimatronE SDK User Guide 131

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 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

CimatronE 9.0

CimatronE SDK User Guide 132

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 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

CimatronE 9.0

CimatronE SDK User Guide 133

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 Remarks

Set file Status

This property cannot be used as a standard call. To work with it, it is necessary to implement the class ICreateCommand.

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.

CimatronE 9.0

CimatronE SDK User Guide 134

PoolCommand
PoolCommand

IPoolCommands

IPoolCommands This interface allows you to get commands from the CimatronE menu. Properties None Methods ICimCommand GetCommand ( String, String ) 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 Input: (String) CommandName A category name to which a command belongs. 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

CimatronE 9.0

CimatronE SDK User Guide 135

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 ' 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 9.0

CimatronE SDK User Guide 136

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 9.0

CimatronE SDK User Guide 137

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 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. The variant that contains a reference tothe IPickTool interface if it was implemented in the IPickToolEvents interface in a user tool, otherwise NULL.

CimatronE 9.0

CimatronE SDK User Guide 138

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 to set 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 ) OnKeyboardEvent ( Long, Long, Long )

CimatronE 9.0

CimatronE SDK User Guide 139

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 Input: (Long) RepetitionCount Input: (Long) Flags Contains the character code value of the key. Contains the repeat count, the number of times the keystroke is repeated when the user holds down the key. 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) A type of mouse event. EventType Input: (Long) XDisplayPosition Input: (Long) YDisplayPosition 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. 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 OnBlockPop ( PopEvent );
Input: (Long) PopEvent FALSE = (default) the tool will set the pop event in MMB.

CimatronE 9.0

CimatronE SDK User Guide 140

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. 2. 3. 4. 5. OnEntityHighlighted OnEntityPressed OnEntityDraged (if an entity is beinig draged) OnEntityReleased 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
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.

CimatronE 9.0

CimatronE SDK User Guide 141

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) XDisplayPosition X-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) Entity A 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) XDisplayPosition X-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 9.0

CimatronE SDK User Guide 142

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) XDisplayPosition X-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) XDisplayPosition X 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

CimatronE 9.0

CimatronE SDK User Guide 143

FigureChange( InteractionType, IInteraction ); IFigureEvent::FigureChange Description This event is fired when a change occurs in the interaction tool. Syntax
FigureChange( InteractionType, Interaction ); Input: (InteractionType) InteractionType Input: (IInteraction) Interaction An interaction tool type. Currently only the ArrowFigure interaction is available. 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 );

CimatronE 9.0

CimatronE SDK User Guide 144

Input: (String) iStr Set string to be displayed in the prompt area.

Note

IInteraction

IInteraction This is a general interface that represents the interaction objects. Properties Get Type InteractionType Get ID Methods Integer

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( );

CimatronE 9.0

CimatronE SDK User Guide 145

Return: (InteractionType) oType Get type of interaction.

PickTool
PickTool

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

CimatronE 9.0

CimatronE SDK User Guide 146

This method allows you to set a filter that defines which entities are pickable in a CimatronE file. Syntax
SetFilter( Filter, EnablePoints ); Input: (IEntityFilter) Filter Entity 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)

CimatronE 9.0

CimatronE SDK User Guide 147

Input: (IEntityFilter) iFilter

Entity filter.

Input: (Boolean) iSingleMode True = Disable pick by box. False = Enable pick by box.

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.

CimatronE 9.0

CimatronE SDK User Guide 148

IArrowFigure::Direction Description
This property allows you to get and to set the start direction of an arrow figure.

Syntax Property get: Vector = Direction( ); Return: (Variant) Vector Coordinates of the start direction vector of an arrow. Property set: Direction( Vector ); Input: (Variant) Vector Coordinates 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

CimatronE 9.0

CimatronE SDK User Guide 149

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.

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.

CimatronE 9.0

CimatronE SDK User Guide 150

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 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 Created interaction.

IInteractionSink::GetInteraction Description This method allows you to get Interaction object by input ID.

CimatronE 9.0

CimatronE SDK User Guide 151

Syntax oObj = GetActiveInteractions( iID); Input: (Integer) iID Note Input ID.

Return: (IInteraction) oObj Get interaction object.

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 );

CimatronE 9.0

CimatronE SDK User Guide 152

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 .

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 Get, Set Get, Set 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 ( ); XLength YLength ZLength Double Double Double

CimatronE 9.0

CimatronE SDK User Guide 153

Return: (Double) X_Len Length 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_Len Length in Y direction.

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_Len Length in Z direction.

Property set: ZLength ( Z_Len );


Input: (Double) Z_Len Length in Z direction.

DisplayFigureCone::Height

CimatronE 9.0

CimatronE SDK User Guide 154

Description This property allows you to set the Height of a cone. Syntax Property get: Height = Height ( );
Return: (Double) Height Get 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: 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

CimatronE 9.0

CimatronE SDK User Guide 155

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

CimatronE 9.0

CimatronE SDK User Guide 156

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) Type get type of point.

Property set: Type ( Type );


Input: (PointStyle) Type set type of point.

Remarks DisplayFigureDisk This interface allows you to create primitive disk figure to use in a display figure object. Properties Get, Set Get, Set 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 InnerRadius OuterRadius Double Double

CimatronE 9.0

CimatronE SDK User Guide 157

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 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

CimatronE 9.0

CimatronE SDK User Guide 158

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) Height Get the Height value .

Property set: Height ( Height );


Input: (Double) Height Set the Height value.

DisplayFigureTorus 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

CimatronE 9.0

CimatronE SDK User Guide 159

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

Methods IDisplayFigureAttribute CreatePrimitive ( PrimitiveType )

CimatronE 9.0

CimatronE SDK User Guide 160

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. Remarks The return IDisplayFigureAttribute can be used to set different attributes for the created figure. For example: transformation of figure color.

CimatronE 9.0

CimatronE SDK User Guide 161

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
Property get:

list = Primitives ( );

CimatronE 9.0

CimatronE SDK User Guide 162

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 to use the PopFigure method. IDisplayFigureFactory will be set from IInteractionSink.

CimatronE 9.0

CimatronE SDK User Guide 163

IDisplayFigureFactory::FigureList
Description
This property allows you to get the list of existing display figure objects.

Syntax
Property get:

FigLst = FigureList ( ); Return: (Variant) FigLst Get 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) iFig Created 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

CimatronE 9.0

CimatronE SDK User Guide 164

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. 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) iFig get 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.

CimatronE 9.0

CimatronE SDK User Guide 165

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:
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.

CimatronE 9.0

CimatronE SDK User Guide 166

Input: (RenderOption) iMode Input: (Double) iTransparencyLevel

Set render mode option. 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 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

CimatronE 9.0

CimatronE SDK User Guide 167

Get Type InteractionType Get ID Methods Integer

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.

WaitCursor
WaitCursor

IWaitCursor

CimatronE 9.0

CimatronE SDK User Guide 168

IWaitCursor VB_Sample This interface represents an interaction interface of Wait Cursor

Properties None

Methods Start ( ) Stop ( )

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

CimatronE 9.0

CimatronE SDK User Guide 169

Get Type InteractionType Get ID Methods Integer

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.

GuideBar
GuideBar

IGuideBar

CimatronE 9.0

CimatronE SDK User Guide 170

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 )

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.

CimatronE 9.0

CimatronE SDK User Guide 171

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. Syntax EnableButton ( Button, Status ); Input: (GuideBarButton) Button Set the button object. Input: (Boolean) Status Remarks TRUE = Enable the button.

IGuideBar::CreateButton Description This method allows you to create a new button in the current guide bar. Syntax Button = CreateButton ( );

CimatronE 9.0

CimatronE SDK User Guide 172

Return: (GuideBarButton) Button Create 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 Description This method allows you to add a created button to the current guide bar. Syntax AddButton ( Button ); Input: (GuideBarButton) Button Add a created button to the guide bar. Remarks

IGuideBar::Activate

CimatronE 9.0

CimatronE SDK User Guide 173

Description This method allows you to activate a guide bar in CimatronE. Syntax Activate ( ); Remarks

IInteraction

IInteraction This is a general interface that represents the interaction objects. Properties Get Type InteractionType Get ID Methods Integer

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

CimatronE 9.0

CimatronE SDK User Guide 174

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

ISPButton

This interface adds a button to an SP figure. To be developed at a later stage.

SPStringValueButton
SPStringValueButton

CimatronE 9.0

CimatronE SDK User Guide 175

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 Set/Get Set/Get Set/Get Set/Get Set/Get Set/Get Set/Get Methods None BackgroundBitmap Bitmap BitmapDisable BitmapHighlight Id Text Tooltip Type stdole.IPicture stdole.IPicture stdole.IPicture stdole.IPicture Integer String String GuideBarBtnType

Events OnPressed

Remarks IGuideBarButton::Type Description

CimatronE 9.0

CimatronE SDK User Guide 176

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: 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

CimatronE 9.0

CimatronE SDK User Guide 177

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) Pic Get the picture for the highlighted button Property set: BitmapHighlight ( Pic ); Input: (stdole.IPicture) Pic Set the picture for the highlighted button

IGuideBarButton::BitmapDisable Description

CimatronE 9.0

CimatronE SDK User Guide 178

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) Pic Get 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) Pic Get 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: Pic = BackgroundBitmap ( ); Return: (stdole.IPicture) Pic Get the background bitmap of the current button Property set: BackgroundBitmap ( Pic ); Input: (stdole.IPicture) Pic Set the background bitmap of the current button

CimatronE 9.0

CimatronE SDK User Guide 179

Interaction
Interaction

IInteraction

IInteraction This is a general interface that represents the interaction objects. Properties Get Type InteractionType Get ID Methods Integer

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 9.0

CimatronE SDK User Guide 180

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 ( ) SetNextStage ( ) Events (see remarks) OnApply

CimatronE 9.0

CimatronE SDK User Guide 181

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 Input: (Boolean) Status

Set the button type (from four standard buttons) 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 RemoveStage ( StageObj );
Input: (IFeatureGuideStage ) StageObj

Remove a created stage from current feature guide.

CimatronE 9.0

CimatronE SDK User Guide 182

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

CimatronE 9.0

CimatronE SDK User Guide 183

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 Input: (stdole.IPicture) Pic

Set a created stage index. Set a new picture for a created stage

Remarks IFeatureGuide::CreateStage

CimatronE 9.0

CimatronE SDK User Guide 184

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 Input: (Boolean) Status

Set a created stage index. TRUE = Enable the stage FALSE = Disable the stage

Remarks IFeatureGuide::EnableButton

CimatronE 9.0

CimatronE SDK User Guide 185

Description This method allows you to enable one of the four standard buttons in the feature guide. Syntax EnableButton ( Button, Status );
Input: (FeatureGuideButtons) Button Input: (Boolean) Status

Set button type (from four standard buttons) 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 9.0

CimatronE SDK User Guide 186

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

CimatronE 9.0

CimatronE SDK User Guide 187

Description This event is fired when the Feature Guide is closed. Syntax
OnPop ( );

Remarks
The Feature Guide can be closed in several ways: 1. 2. 3. Clicking the Cancel button Clicking the OK button 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 Methods Integer

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

CimatronE 9.0

CimatronE SDK User Guide 188

This property allows you to get the type of existing interaction object.

Syntax
Property get: 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

CimatronE 9.0

CimatronE SDK User Guide 189

Description This property allows you to get and set the tooltip for the current stage. Syntax
Property get: 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.

CimatronE 9.0

CimatronE SDK User Guide 190

Remarks IFeatureGuideStage::Index Description This property allows you to get and set the index for the current stage. 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) Pic Get 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.

CimatronE 9.0

CimatronE SDK User Guide 191

Properties
Get,Set Title

String Integer Integer Integer Integer Integer Integer Boolean

Get,Set CoordinateMapping ECoordinateMapping Get,Set XPos Get,Set YPos Get,Set ControlXPos Get,Set ControlYPos Get,Set ControlWidth Get,Set ControlHeight Get,Set Titlebar

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:

CimatronE 9.0

CimatronE SDK User Guide 192

ControlHeight( Height );
Input: (Integer) Height Control Height.

IUserControlDialog::ControlWidth
Description

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.

CimatronE 9.0

CimatronE SDK User Guide 193

IUserControlDialog::ControlYPos
Description

This property allows you to get and set the ActiveX control position in the dialog (in pixel units).
Syntax
Property get: 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.

CimatronE 9.0

CimatronE SDK User Guide 194

IUserControlDialog::Create Description This method initializes the dialog of CimatronE. Syntax 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

CimatronE 9.0

CimatronE SDK User Guide 195

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.

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( );

CimatronE 9.0

CimatronE SDK User Guide 196

Return: (Integer) Pos Dialog Position.

Property set:

YPos( Pos );
Input: (Integer) Pos Dialog Position.

SPManager
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 );

CimatronE 9.0

CimatronE SDK User Guide 197

Input: (InteractionType) InteractionType An interaction type. Return: (IInteraction) 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 Created interaction.

IInteractionSink::GetInteraction Description This method allows you to get Interaction object by input ID. Syntax oObj = GetActiveInteractions( iID); Input: (Integer) iID Note Input ID.

Return: (IInteraction) oObj Get interaction object.

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

CimatronE 9.0

CimatronE SDK User Guide 198

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 the MdExtrude procedure, in which case you would get the body itself, the body's faces, edges and vertices after querying its procedure.

CimatronE 9.0

CimatronE SDK User Guide 199

CimatronE 9.0

CimatronE SDK User Guide 200

CimatronE 9.0

CimatronE SDK User Guide 201

CimatronE 9.0

CimatronE SDK User Guide 202

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 ( )

CimatronE 9.0

CimatronE SDK User Guide 203

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 9.0

CimatronE SDK User Guide 204

Return: (String) Name Procedure name

IMdProcedure::ProcedureType Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. ParameterType

CimatronE 9.0

CimatronE SDK User Guide 205

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) Type of parameter to set. 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.

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 Get/Set Flip Variant 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);

CimatronE 9.0

CimatronE SDK User Guide 206

Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z).

Property get: Point = Point ( );


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.

CimatronE 9.0

CimatronE SDK User Guide 207

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 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) Filter Filter by which selection mades IEntityQuery::Select Description Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 208

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 209

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 9.0

CimatronE SDK User Guide 210

Return: (IModel) Model A model to which the entity relates.

Solid Procedures
Solid Procedures

MdExtrude
MdExtrude

IMdProcedure

CimatronE 9.0

CimatronE SDK User Guide 211

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 This method executes a procedure. Syntax Execute ( ); IMdProcedure::GetDimensions Description

CimatronE 9.0

CimatronE SDK User Guide 212

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) Type A 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 9.0

CimatronE SDK User Guide 213

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdExtrude

IMdExtrude This interface allows you to set extrude procedure parameters. Properties
Get, Set Mode Get, Set Contour Get, Set ToOption ExtrudeSweepMode ICimEntity ExtrudeToOption

CimatronE 9.0

CimatronE SDK User Guide 214

Get, Set ToEntity Get, Set Direction Get, Set Delta Get, Set OpositDelta Get, Set SideOption Get, Set DraftAngle

ICimEntity Variant Double Double ExtrudeSideOption Double

Get, Set DraftSideOption ExtrudeDraftSideOption Get, Set InvertOption Get, Set BaseEntity ExtrudeInvertOption 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) BaseEntity Current 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:

CimatronE 9.0

CimatronE SDK User Guide 215

Contour = Contour ( ); Return: (ICimEntity) Contour Entity for extrude. Property set: Contour( Contour ); Input: (ICimEntity) Contour Entity for extrude.

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 Property set: Direction( Direction ); Input: (Variant) Direction Variant that contains double type one dimensional array of vector coordinates that defines an extrude direction. Variant that contains double type one dimensional array of vector coordinates that defines an extrude direction.

IMdExtrude::DraftAngle Description

CimatronE 9.0

CimatronE SDK User Guide 216

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.

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.

CimatronE 9.0

CimatronE SDK User Guide 217

Property set: InvertOption( Invert ); Input: (ExtrudeInvertOption) Invert cmExtrudeReversed option changes default position.

IMdExtrude::Mode Description 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) Mode Extrude 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) OpositDelta Length of extrude on opposite side.

Property set: OpositDelta( OpositDelta );


Input: (Double) OpositDelta Length 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

CimatronE 9.0

CimatronE SDK User Guide 218

Property get: Side = SideOption ( ); Return: (ExtrudeSideOption) Side Extrude side option. Property set: SideOption( Side ); Input: (ExtrudeSideOption) Side Extrude 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.

CimatronE 9.0

CimatronE SDK User Guide 219

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. 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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 220

Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 221

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.

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 222

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( ); Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface

MdChamfer
MdChamfer

IMdChamfer

IMdChamfer This interface represents a Chamfer procedure in CimatronE. Properties


Get, Set Entities Get, Set Distance ICimEntityList Double

Get, Set IsSymmetric Boolean Get, Set Angle Get, Set FlipSide Double Boolean

Methods

CimatronE 9.0

CimatronE SDK User Guide 223

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 );
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

CimatronE 9.0

CimatronE SDK User Guide 224

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: 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 );

CimatronE 9.0

CimatronE SDK User Guide 225

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

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) Objects Get dividing tool objects in list. Property set: DividingToolsEntities( Objects );

CimatronE 9.0

CimatronE SDK User Guide 226

Return: (ICimEntityList) Objects Set 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) Objects Get divide objects in list.

Property set:

ObjectsToDivide( Objects );

Return: (ICimEntityList) Objects Set 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

CimatronE 9.0

CimatronE SDK User Guide 227

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.

CimatronE 9.0

CimatronE SDK User Guide 228

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) Type A 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 )

CimatronE 9.0

CimatronE SDK User Guide 229

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdHole

IMdHole
This interface represents the Hole procedure.

Properties

Get/Set Entities Get/Set Depth Get/Set Diameter Get/Set Direction Get/Set HoleOption

ICimEntityList

Double Double Variant HoleOption

CimatronE 9.0

CimatronE SDK User Guide 230

Get/Set ReferenceEntity ICimEntity Get/Set DrilledType Get/Set DrillAngle Get/Set HeadType Get/Set HeadAngle Get/Set HeadDepth

Boolean Double HoleHeadType Double 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: 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:

CimatronE 9.0

CimatronE SDK User Guide 231

Option = ToOption ( );

Return: (HoleOption) Option An 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: Option = HeadType ( );

Return: (HoleHeadType) Option Get the Head Type.

Property set: HeadType( Option );

Input: (HoleHeadType) Option Set the Head Type.

Note

CimatronE 9.0

CimatronE SDK User Guide 232

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: Depth = HeadDepth ( );

Return: (Double) oDepth Get the Head Depth.

Property set: HeadDepth( iDepth );

CimatronE 9.0

CimatronE SDK User Guide 233

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( );

Return: (ICimEntityList) oPointsEnt sketched points.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 234

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
Property get: oAngle = DrillAngle( );

Return: (Double) oAngle Get Angle value.

CimatronE 9.0

CimatronE SDK User Guide 235

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
This property allows you to get and set the Diameter value of a hole procedure. ( See Hole_Options)

Syntax

CimatronE 9.0

CimatronE SDK User Guide 236

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) oDepth Get 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. Properties

CimatronE 9.0

CimatronE SDK User Guide 237

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 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) Filter Filter 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 ( ); Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 238

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 239

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.

MdShell
MdShell

CimatronE 9.0

CimatronE SDK User Guide 240

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 241

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 242

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 243

IMdShell

IMdShell This interface represents a shell procedure in CimatronE. Properties

Get, Set BodyEntity Get, Set Mode Get, Set OpenFaces

ICimEntity

MdShellMode 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) iBodyEnt An 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.

CimatronE 9.0

CimatronE SDK User Guide 244

IMdShell::FaceThickness
Description
This property allows you to get and set a different face thickness of shell procedure.

Syntax
Property get: oThick = FaceThickness( iEnt );

Input: (ICimEntity) iEnt Face Entity for different thickness


Return: (Double) oThick Face 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.

CimatronE 9.0

CimatronE SDK User Guide 245

IMdShell::OpenFaces
Description
This property allows you to get and set the entities (Faces) to be opened in the shell procedure.

Syntax
Property get: oFaces = OpenFaces( );

Return: (ICimEntityList) oFaces Entities to be opened in the shell procedure.

Property set:

OpenFaces( iFaces );

Input: (ICimEntityList) iFaces Entities 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) oThick Global Thickness of shell.

Property set:

ThicknessValue( iThick );

CimatronE 9.0

CimatronE SDK User Guide 246

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 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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 247

Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Geometry Description Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 248

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

CimatronE 9.0

CimatronE SDK User Guide 249

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

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 9.0

CimatronE SDK User Guide 250

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

CimatronE 9.0

CimatronE SDK User Guide 251

Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 252

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) Type of parameter to set. 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.

IMdRevolve

IMdRevolve This interface represents a revolve procedure in CimatronE. It creates a solid object. Properties
Get, Set Mode Get, Set Contour Get, Set ToOption Get, Set ToEntity Get, Set Axis Get, Set Theta RevolveSweepMode ICimEntity RevolveToOption ICimEntity ICimEntity 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

CimatronE 9.0

CimatronE SDK User Guide 253

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 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) BaseEntity Current 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.

CimatronE 9.0

CimatronE SDK User Guide 254

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.

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) cmRevolveForward shows that the material is inside of the open solid object while Option cmRevolveReversed shows that the material is outside.

CimatronE 9.0

CimatronE SDK User Guide 255

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: Mode( Mode );


Input: (RevolveSweepMode) Mode in which a solid object will be created: new object, added to existing active Mode 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) AngleTheta Revolve angle.

Property set: OpositTheta( AngleTheta );


Input: (Double) AngleTheta Revolve 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:

CimatronE 9.0

CimatronE SDK User Guide 256

Option = SideOption ( );
Return: (RevolveSideOption) Option Revolve side option.

Property set: SideOption( Option );


Input: (RevolveSideOption) If cmRevolveOneSide is set, only the Theta angle is used to create the revolve object; Option otherwise both Theta and opposite Theta angles are used .

IMdRevolve::Theta Description 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) AngleTheta Revolve angle Property set: Theta( AngleTheta ); Input: (Double) AngleTheta Revolve 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) ReferenceEntity An entity to which to revolve a contour.

Property set: ToEntity( ReferenceEntity );


Return: (ICimEntity) ReferenceEntity An entity to which to revolve a contour.

IMdRevolve::ToOption

CimatronE 9.0

CimatronE SDK User Guide 257

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 ); 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.

CimatronE 9.0

CimatronE SDK User Guide 258

Return: (IEntityFilter) Filter Remark

Pointer to created filter.

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) Filter Filter 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.

CimatronE 9.0

CimatronE SDK User Guide 259

Properties Get Get Get Get 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( ); Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 260

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.

MdCut
MdCut

IMdCut

IMdCut
This interface represents the Cut operation.

Properties

Methods

Get/Set ObjectsToCut

ICimEntityList

Get/Set CuttingToolsEntities ICimEntityList

CimatronE 9.0

CimatronE SDK User Guide 261

Get/Set DirectionSide Get

Boolean Variant

GetDirection

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) Objects Objects to be cut.

Property set:

ObjectsToCut( Objects );

Return: (ICimEntityList) Objects Objects 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

CimatronE 9.0

CimatronE SDK User Guide 262

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
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) Objects Get cutting objects in list. Property set: CuttingToolsEntities( Objects );

Return: (ICimEntityList) Objects Set cutting objects to list.

CimatronE 9.0

CimatronE SDK User Guide 263

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 ( ) 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

CimatronE 9.0

CimatronE SDK User Guide 264

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) Type A procedure type.

IMdProcedure::UpdatePreview

CimatronE 9.0

CimatronE SDK User Guide 265

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) Type of parameter to set. 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) Type of parameter to set. 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 (

CimatronE 9.0

CimatronE SDK User Guide 266

ICimEntityList) object and also an array of simple types.

IMdDriveSolid

IMdDriveSolid Properties Get, Set Mode Get, Set Section Get, Set Spine Get, Set Invert 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: Invert( Invert ); Input: (DriveSolidInvert) Invert Invert mode.

DriveSolidSweepMode ICimEntity ICimEntity DriveSolidInvert

Get, Set ParallelNormal DriveSolidMode

IMdDriveSolid::Mode Description This property allows you to get and set a drive mode. Syntax
Property get: Mode = Mode ( ); Return: (DriveSolidSweepMode) Mode Dive mode.

CimatronE 9.0

CimatronE SDK User Guide 267

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) Mode Drive 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

IMdDriveSolid::Section

CimatronE 9.0

CimatronE SDK User Guide 268

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) Section Driven 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. 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 ).

CimatronE 9.0

CimatronE SDK User Guide 269

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 270

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 271

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.

MdMerge
MdMerge

IMdProcedure

CimatronE 9.0

CimatronE SDK User Guide 272

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 This method executes a procedure. Syntax Execute ( ); IMdProcedure::GetDimensions Description

CimatronE 9.0

CimatronE SDK User Guide 273

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) Type A 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 9.0

CimatronE SDK User Guide 274

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdMerge

IMdMerge
This interface represents the merge operation of certain objects (bodies).

Properties
Get/Set Entities ICimEntityList

Get/Set EntDirectType ( ICimEntity ) MergeDirectType

Methods

CimatronE 9.0

CimatronE SDK User Guide 275

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 Return: (ICimEntity) MaterialSide Property set: EntDirectType( Entity, MaterialSide ); Input: (ICimEntity) Entity An entity whose material side direction is checked. An entity whose material side direction is checked. A constant value that defines if the entity object is open and if so, shows the outside direction.

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
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) Objects Objects to be merged. Property set: Entities( Objects ); Return: (ICimEntityList) Objects Objects to be merged.

CimatronE 9.0

CimatronE SDK User Guide 276

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. 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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 277

This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 278

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 9.0

CimatronE SDK User Guide 279

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 Execute ( ) EnterEditMode ( ) Variant GetDimensions ( ) UpdatePreview ( ) DeletePreview ( )

CimatronE 9.0

CimatronE SDK User Guide 280

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 9.0

CimatronE SDK User Guide 281

Return: (String) Name Procedure name

IMdProcedure::ProcedureType Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. ParameterType

CimatronE 9.0

CimatronE SDK User Guide 282

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) Type of parameter to set. 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.

IMdLoft

IMdLoft This interface allows you to get and set parameters of a Loft procedure. Properties Get, Set Entities Get, Set OpenSolid Get, Set SingleFace Get, Set FirstDirection Get, Set FirstSlopeOption Get, Set FirstSlopeWeight Get, Set SecondDirection Get, Set ScndSlopeOption Methods None IMdLoft::SingleFace Description
This property allows you to define if the result will be Single face or Multi Face.

ICimEntityList Boolean Boolean Variant LoftSlopeOption Double Variant LoftSlopeOption

Get, Set SecondSlopeWeight Double

CimatronE 9.0

CimatronE SDK User Guide 283

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) SlopeWeight Set 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 9.0

CimatronE SDK User Guide 284

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.

CimatronE 9.0

CimatronE SDK User Guide 285

IMdLoft::FirstSlopeWeight Description 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) SlopeWeight Set 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) Variant that contains double type one dimensional array of slope direction coordinates

CimatronE 9.0

CimatronE SDK User Guide 286

Direction

(x,y,z ).

Property set: 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 ( );

CimatronE 9.0

CimatronE SDK User Guide 287

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 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) Filter Filter 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. Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 288

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 Get Get Get 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 ( ); Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 289

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.

MdDivideByContour
MdDivideByContour

CimatronE 9.0

CimatronE SDK User Guide 290

IMdDivideByContour

IMdDivideByContour This interface allows you to divide solid object by contour. Properties
Get, Set ObjectsToDivide ICimEntityList Get, Set Contour Get, Set FromEntity Get, Set FromOption Get, Set ToEntity Get, Set ToOption Get, Set Direction Get, Set Delta Get, Set OpositDelta Get, Set SideOption Get, Set DraftAngle ICimEntity ICimEntity DivideFromOption ICimEntity DivideToOption Variant Double Double DivideSideOption 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) Option Divide creation from option type.

Property set: FromOption ( Option );

CimatronE 9.0

CimatronE SDK User Guide 291

Input: (DivideFromOption) Option Divide creation from option type.

Note

IMdDivideByContour::ToOption Description This property allows you to define the divide creation option. Syntax Property get: Option = ToOption ( );
Return: (DivideToOption) Option Divide creation type.

Property set: ToOption ( Option );


Input: (DivideToOption) Option Divide 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 ) ReferenceEntity Get reference entity.

CimatronE 9.0

CimatronE SDK User Guide 292

Property set: FromEntity ( ReferenceEntity );


Input: ( ICimEntity ) ReferenceEntity Set reference entity.

IMdDivideByContour::ToEntity Description 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 ) ReferenceEntity Get 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) Side Divide 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.

CimatronE 9.0

CimatronE SDK User Guide 293

Syntax Property get: OpositDelta = OpositDelta ( );


Return: (Double) OpositDelta Length of the divide on the opposite side.

Property set: OpositDelta ( OpositDelta );


Input: (Double) OpositDelta Length 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) Objects Get divide objects in list.

Property set:

ObjectsToDivide( Objects );

Return: (ICimEntityList) Objects Set 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:

CimatronE 9.0

CimatronE SDK User Guide 294

Side = DraftSideOption ( ); Return: (DivideDraftSideOption) Side Draft side. Property set: DraftSideOption ( Side ); Input: (DivideDraftSideOption) Side Draft side. IMdDivideByContour::DraftAngle 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 Property set: Direction ( Direction ); Input: (Variant) Direction Variant that contains a double-type one-dimensional array of vector coordinates that defines the divide direction. Variant that contains a double-type one-dimensional array of vector coordinates that defines the divide direction.

IMdDivideByContour::Delta

CimatronE 9.0

CimatronE SDK User Guide 295

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 ); 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

CimatronE 9.0

CimatronE SDK User Guide 296

IMdTaper

IMdTaper This interface represents a Taper procedure in CimatronE. Properties


Get, Set ReferenceEntities ICimEntityList Get, Set TaperedFaces Get, Set Angle Get, Set ReferenceType Get, Set TaperSideOption Set Get ICimEntityList

Double
TaperReferenceType TaperSideOption

OpenReferenceVector Variant 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

CimatronE 9.0

CimatronE SDK User Guide 297

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. IMdTaper::GetDirectionVector Description
This property allows you to get the direction vector of a Taper procedure.

Syntax
Property get:

Vector = GetDirectionVector ( );
Return: (Variant) A variant that contains double-type one-dimensional array of vector 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) Entities Get reference entities.

CimatronE 9.0

CimatronE SDK User Guide 298

Property set:

ReferenceEntities ( Entities ); Input: (ICimEntityList) Entities Set 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
Property get:

oFaces = TaperedFaces ( );
Return: (ICimEntityList) oFaces Entities to be tapered in the taper procedure.

Property set:

TaperedFaces ( iFaces );
Input: (ICimEntityList) iFaces Entities 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

CimatronE 9.0

CimatronE SDK User Guide 299

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.

General Geometric Procedures


General Geometric Procedures

MdScale
MdScale

CimatronE 9.0

CimatronE SDK User Guide 300

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 301

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 302

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 303

IMdScale

IMdScale This interface represents a scale procedure in CimatronE. Properties

Get, Set Entities Get, Set UniformMode Get, Set PivotPoint Get, Set UCS Get, Set XVal Get, Set YVal Get, Set ZVal

ICimEntityList Boolean

Variant
ICimEntity

Double Double Double

Get, Set TotalScaleValue Double

Methods None

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) Entities Entites in scale procedure.

Property set:

Entities( Entities );

CimatronE 9.0

CimatronE SDK User Guide 304

Input: (ICimEntityList) Entities Entites 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) A variant that contains a double array of the root point coordinates in (x,y,z ).

oPoint

Property set: PivotPoint( iPoint );


Return: (Variant) A variant that contains a double array of the root point coordinates in (x,y,z ).

oPoint Note

All coordinates are given relative to the model's main UCS. 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.

CimatronE 9.0

CimatronE SDK User Guide 305

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 );

Input: (IUcs/ICimEntity) iUcs UCS .

IMdScale::UniformMode
Description
This property allows you to get and set the Uniform Mode of the Scale procedure.

Syntax
Property get: oMode = UniformMode( );

CimatronE 9.0

CimatronE SDK User Guide 306

Return: (Boolean) oMode Uniform 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:

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

CimatronE 9.0

CimatronE SDK User Guide 307

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( );
Return: (Double) Value Scale value in the Z direction.

Property set:

ZVal( Value );
Input: (Double) Value Scale value in the Z direction.

Note

IEntityQuery

IEntityQuery

CimatronE 9.0

CimatronE SDK User Guide 308

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 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) Filter Filter by which selection mades IEntityQuery::Select Description Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 309

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 310

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 9.0

CimatronE SDK User Guide 311

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 This method deletes a preview created by the IMdProcedure::UpdatePreview method. Syntax DeletePreview( ); IMdProcedure::EnterEditMode
This is preliminary documentation and subject to change.

Description

CimatronE 9.0

CimatronE SDK User Guide 312

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 9.0

CimatronE SDK User Guide 313

Return: (AssPartProcType) Type A 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) Type of parameter to set. 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 );

CimatronE 9.0

CimatronE SDK User Guide 314

Input: (MdParameterType) Type of parameter to set. 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.

IMdPMIText

IMdPMIText This interface represents the PMI function in CimatronE. Properties

Set Text Set Plane Set TextPosition Set FontSize Set FontName Set ShowArrow Methods None

String
ICimEntity

Set TextDirection Variant Variant Double String Boolean

Set LeaderPosition Variant

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 9.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) Plane An 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 Description This property allows you to set the PMI text font size. Syntax
Property set: FontSize ( iFontSize );

CimatronE 9.0

CimatronE SDK User Guide 316

Input: (Double) iFontSize Set 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.

CimatronE 9.0

CimatronE SDK User Guide 317

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 318

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 319

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.

MdRemoveGeometry

CimatronE 9.0

CimatronE SDK User Guide 320

MdRemoveGeometry

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 321

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 322

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 323

IMdRemoveGeometry

IMdRemoveGeometry
This interface represents the remove geometry procedure in CimatronE.

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 one will be deleted.

IMdRemoveGeometry::Entities
Description
This property allows you to get and set entities to be removed.

Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Removed entities.

Property set: Entities( Entities );

Input: (ICimEntityList) Entities Entities to be removed.

IMdRemoveGeometry::Mode
Description
This property allows you to get remove geometry mode.

Syntax
Property get:

CimatronE 9.0

CimatronE SDK User Guide 324

Mode = Mode( );

Return: (MdRemoveGeometryMode) Mode Removed entities mode.

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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 325

This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 326

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 9.0

CimatronE SDK User Guide 327

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.

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 ( )

CimatronE 9.0

CimatronE SDK User Guide 328

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 9.0

CimatronE SDK User Guide 329

Return: (String) Name Procedure name

IMdProcedure::ProcedureType Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. ParameterType

CimatronE 9.0

CimatronE SDK User Guide 330

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) Type of parameter to set. 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.

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

CimatronE 9.0

CimatronE SDK User Guide 331

Property get:

Entity = VerticalAlignMode ( );
The Return: (T_TextVerticalAlignMode) vertical *pVal alignment of text on a curve

Property set: VerticalAlignMode ( Entity );


The Input: (T_TextVerticalAlignMode) vertical newVal alignment of text on a curve.

Enumerator cmMdTextTopVerticalAlign cmMdTextMiddleVerticalAlign cmMdTextBottomVerticalAlign

Enumerator Value Remark 0 1 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

CimatronE 9.0

CimatronE SDK User Guide 332

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 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) Filter Filter 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 ); Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 333

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 334

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.

MdUserDefineProcedure
MdUserDefineProcedure

IMdProcedure

CimatronE 9.0

CimatronE SDK User Guide 335

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 This method executes a procedure. Syntax Execute ( ); IMdProcedure::GetDimensions Description

CimatronE 9.0

CimatronE SDK User Guide 336

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) Type A 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 9.0

CimatronE SDK User Guide 337

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdUserDefineProcedure

This interface merges a set of standard features into one user feature. To be developed at a later stage.

IEntityQuery

CimatronE 9.0

CimatronE SDK User Guide 338

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 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) Filter Filter by which selection mades IEntityQuery::Select Description Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 339

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 340

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:

CimatronE 9.0

CimatronE SDK User Guide 341

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 This method deletes a preview created by the IMdProcedure::UpdatePreview method. Syntax DeletePreview( ); IMdProcedure::EnterEditMode
This is preliminary documentation and subject to change.

CimatronE 9.0

CimatronE SDK User Guide 342

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:

CimatronE 9.0

CimatronE SDK User Guide 343

Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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

CimatronE 9.0

CimatronE SDK User Guide 344

Set( ParameterType, ParameterValue );


Input: (MdParameterType) Type of parameter to set. 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.

IMdExportBySelect

IMdExportBySelect This interface represents the export geometry by selection procedure in CimatronE. Properties Get, Set Associate Get, Set DocPathName Get, Set ExportModel Get Methods None IMdExportBySelect::ExportModel Description
This property allows you to get and set the model object that will be exported to the other file.

Boolean String IModel

Get, Set ExportedEntities ICimEntityList ResultFileName String

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 In cases where it is necessary to export selected entities, use the property IMdExportBySelect_ExportedEntities IMdExportBySelect::DocPathName

CimatronE 9.0

CimatronE SDK User Guide 345

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

CimatronE 9.0

CimatronE SDK User Guide 346

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) Entities Set of entities or objects for export. Property set: ExportedEntities ( Entities ); Input: (ICimEntityList) Entities Set 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 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 ( );

CimatronE 9.0

CimatronE SDK User Guide 347

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 348

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 Get Get Get 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. Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 349

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 9.0

CimatronE SDK User Guide 350

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 9.0

CimatronE SDK User Guide 351

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

CimatronE 9.0

CimatronE SDK User Guide 352

Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 353

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) Type of parameter to set. 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 Get, Set Plane Get ISketcher ICimEntity

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 Input: (ICimEntity) ExternalGeometry Option that defines the project or makes an intersection between the sketcher plane and "adding" entity. An entity whose geometry is added to a sketch.

CimatronE 9.0

CimatronE SDK User Guide 354

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. 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) Plane An 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 Input: (ICimEntity) ExternalGeometry An option that defines which geometry to remove inserted as project or as intersection between sketcher plane and added entity. 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.

CimatronE 9.0

CimatronE SDK User Guide 355

Syntax RemoveRefGeometry( ReferenceGeometry );


Input: (ICimEntity) ReferenceGeometry An entity whose geometry is removed from 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

CimatronE 9.0

CimatronE SDK User Guide 356

translation vector.

Note All coordinates are given relative to the model's main UCS.
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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 357

Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Geometry Description Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 358

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

CimatronE 9.0

CimatronE SDK User Guide 359

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.

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

CimatronE 9.0

CimatronE SDK User Guide 360

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.

CimatronE 9.0

CimatronE SDK User Guide 361

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) Type A 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

CimatronE 9.0

CimatronE SDK User Guide 362

Description This method allows you to access a specific parameter and get a value from each procedure. Syntax ParameterValue = Get( ParameterType );
Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

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 Get, Set Position Get, Set Mode Get Get Get Get ModelType ModelName IModel Variant AddMode AddModelType String

GetAddModelId String AddedInstanceInt IAssInstance

CimatronE 9.0

CimatronE SDK User Guide 363

Get, Set Transformation Methods

IModelTransformation

AddNewModel ( AddModelType , String, DocumentEnumUnit ) Long GetAddedInstance ( ) String GetAddModelPath ( ) SetAddModelPath ( String ) SetAddedInstance ( Long ) IAddModel::Transformation Type topic text here. IAddModel::ModelType 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) AddMode The mode of add procedure.

Property set: Mode( AddMode );

CimatronE 9.0

CimatronE SDK User Guide 364

Input: (AddMode) AddMode The 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 AddNewModel( ModelType, DocumentName, Units );
Input: (AddModelType) ModelType An 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.

CimatronE 9.0

CimatronE SDK User Guide 365

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: 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

CimatronE 9.0

CimatronE SDK User Guide 366

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.

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 367

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 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) Filter Filter 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 Pointer to created filter.

IEntityQuery::SetFilter Description

CimatronE 9.0

CimatronE SDK User Guide 368

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 Get Get Get 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. Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 369

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.

Connect
Connect

CimatronE 9.0

CimatronE SDK User Guide 370

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 371

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 372

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 373

IConnect

IConnect This interface allows you to set parameters for connecting two components in an assembly model. Properties Get, Set Mode Get, Set Alignment Get, Set Flip Get, Set Distance Get, Set Angle Get, Set DeltaX Get, Set DeltaY Get, Set DeltaZ Get, Set RotateX Get, Set RotateY Get, Set RotateZ Set ConnectMode ConnectAlignmentMode ConnectFlipMode Double Double Double Double Double Double Double Double

Get, Set UCSOriginPoint IPointData ActiveInstance IAssInstance Methods SetEntities ( ICimEntity, ICimEntity ) Variant GetEntities ( ) Boolean IsValid ( ) Variant GetDisplayEntities ( )

IConnect::IsValid Description This method allows you to check if the reference nodes of a connection procedure still exist. Syntax Status IsValid ( );
Return: (Boolean) Status TRUE - if reference nodes are OK.

CimatronE 9.0

CimatronE SDK User Guide 374

Remarks Use this method in Edit procedure only. IConnect::UCSOriginPoint Description This property allows you to get and set the connection point of two parts. Syntax Property get: Point = UCSOriginPoint ( );
Return: (IPointData) Point Get connection point

Property set: UCSOriginPoint ( Point );


Input: (IPointData) Point Set Connection point

Remarks Connect two parts using this option; set associativity between the two parts. IConnect::Alignment Description This property allows you to set a type of alignment. Syntax Property get: AlignMode = Alignment ( );
Return: (ConnectAlignmentMode) AlignMode Align mode.

Property set: Alignment( AlignMode );


Input: (ConnectAlignmentMode) AlignMode Align mode.

IConnect::Angle Description This property allows you to set an angle for rotation.

CimatronE 9.0

CimatronE SDK User Guide 375

Syntax Property get: Angle = Angle ( );


Return: (Double) Angle A rotation angle.

Property set: Angle( Angle );


Input: (Double) Angle A rotation angle.

IConnect::DeltaX Description This property allows you to set a shift by the X-coordinate. This property is used when connect is made by UCS's. Syntax Property get: DeltaX = DeltaX ( );
Return: (Double) DeltaX Shift by X axis.

Property set: DeltaX( DeltaX );


Input: (Double) DeltaX Shift by X axis.

IConnect::DeltaY Description This property allows you to set a shift by the Y-coordinate. This property is used when connect is made by UCS's. Syntax Property get: DeltaY = DeltaY ( );
Return: (Double) DeltaY Shift by Y axis.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 376

DeltaY( DeltaY );
Input: (Double) DeltaY Shift by Y axis.

IConnect::DeltaZ Description This property allows you to set a shift by the Z coordinate. This property is used when connect is made by UCS's. Syntax Property get: DeltaZ = DeltaZ( );
Return: (Double) DeltaZ Shift by Z axis.

Property set: DeltaX( DeltaX );


Input: (Double) DeltaZ Shift by Z axis.

IConnect::Distance Description This property allows you to set a distance between entities. This property is used when IConnect::Mode is set to the cmConnectModeDistance mode. Syntax Property get: Distance = Distance ( );
Return: (Double) Distance Distance between connected entities.

Property set: Distance( Distance );


Input: (Double) Distance Distance between connected entities.

IConnect::Flip Description This property allows you to set a flip mode.

CimatronE 9.0

CimatronE SDK User Guide 377

Syntax Property get: ConnectFlipMode = Flip ( );


Return: (ConnectFlipMode) ConnectFlipMode Flip mode.

Property set: Flip( ConnectFlipMode );


Input: (ConnectFlipMode) ConnectFlipMode Flip mode.

IConnect::GetEntities Description This method allows you to get entities set by the IConnect::SetEntities method. Syntax EntityList = GetEntities ( );
Return: (Variant) EntityList An array of two entities (ICimEntity) which defines the connect operation.

IConnect::Mode Description This property allows you to define a type of connection. Syntax Property get: Mode = Mode ( );
Return: (ConnectMode) Mode Connection mode.

Property set: Mode( Mode );


Input: (ConnectMode) Mode Connection mode.

IConnect::RotateX Description

CimatronE 9.0

CimatronE SDK User Guide 378

This property allows you to set a rotation by around X-axis. This property is used when connect is made by UCS's. Syntax Property get: AngleX = RotateX ( );
Return: (Double) AngleX Rotation angle around X axis.

Property set: RotateX( AngleX );


Input: (Double) AngleX Rotation angle around X axis.

IConnect::RotateY Description This property allows you to set a rotation by around Y-axis. This property is used when connect is made by UCS's. Syntax Property get: AngleY = RotateY ( );
Return: (Double) AngleY Rotation angle around Y axis.

Property set: RotateY( AngleY );


Input: (Double) AngleY Rotation angle around Y axis.

IConnect::RotateZ Description This property allows you to set a rotation by around Z axis. This property is used when connect is made by UCS's. Syntax Property get: AngleZ = RotateZ ( );
Return: (Double) AngleZ The rotation angle around the Z axis.

CimatronE 9.0

CimatronE SDK User Guide 379

Property set: RotateZ( AngleZ );


Input: (Double) AngleZ The rotation angle around the Z axis.

IConnect::SetEntities Description This method allows you to set the components' entities used to define the connect operation between these components. Entities may be points, edges, faces, planes, axes or UCS's. If one of the entities is a UCS, a second must also be a UCS. Syntax SetEntities( FirstEntity, SecondEntity );
Input: (ICimEntity) FirstEntity An entity from the first connected object. Input: (ICimEntity) SecondEntity An entity from the second connected object.

IConnect::GetDisplayEntities Description This method allows you to get the display of the main model entity. Syntax EntList = GetDisplayEntities ( );
Return: (Variant) EntList A list of entities (ICimEntity) which defines the display of the main model entity.

IConnect::ActiveInstance Description This property allows you to set an instance (in an assembly file) as active. Syntax
Property set: ActiveInstance ( AssemblyInstance ); Input: (IAssInstance) AssemblyInstance An instance to be activated in an assembly file.

IEntityQuery

IEntityQuery

CimatronE 9.0

CimatronE SDK User Guide 380

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 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) Filter Filter by which selection mades IEntityQuery::Select Description Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 381

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 382

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:

CimatronE 9.0

CimatronE SDK User Guide 383

Model = Model( ); Return: (IModel) Model A model to which the entity relates.

AssemblyCut
AssemblyCut

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.

CimatronE 9.0

CimatronE SDK User Guide 384

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:

CimatronE 9.0

CimatronE SDK User Guide 385

Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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

CimatronE 9.0

CimatronE SDK User Guide 386

Set( ParameterType, ParameterValue );


Input: (MdParameterType) Type of parameter to set. 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.

IMdAssemblyCut

IMdAssemblyCut
This interface represents the assembly Cut operation.

Properties
Get/Set ObjectsToCut ICimEntityList

Get/Set CuttingToolsEntity ICimEntity Get/Set DirectionSide Get

Boolean Variant

GetDirection

Methods

IMdAssemblyCut::GetDirection
Description
This property allows you to get the start direction of an assembly cut procedure.

Syntax

Property get: Vector = GetDirection( ); Return: (Variant) Vector Note To change the default direction use IMdAssemblyCut::DirectionSide IMdAssemblyCut::ObjectsToCut
Description
This property allows you to get and set entities to be cut by another object or plane. Entities to be cut must be bodies.

Coordinates of the start direction vector of assembly cut procedure.

CimatronE 9.0

CimatronE SDK User Guide 387

Syntax
Property get: Objects = ObjectsToCut( ); Return: (ICimEntityList) Objects Objects to be cut.

Property set:

ObjectsToCut( Objects );
Return: (ICimEntityList) Objects Objects to be cut.

IMdAssemblyCut::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 the default direction.

Property set: Side = DirectionSide ( );

Input: (Boolean) Side A side for cut. If TRUE (=1) then change the default direction.

Note The direction side is needed only if CuttingToolsEntity is a plane. To get the current direction use the property IMdAssemblyCut::GetDirection IMdAssemblyCut::CuttingToolsEntity
Description
This property allows you to get and set the cutting entity in the assembly cut procedure. The cutting entity must be a body or plane.

Syntax Property get:

CimatronE 9.0

CimatronE SDK User Guide 388

Objects = CuttingToolsEntity( ); Return: (ICimEntity) Objects Get cutting object. Property set: CuttingToolsEntities( Objects ); Return: (ICimEntity) Objects Set cutting object.

Remarks

In cases where the cutting tool is a plane then also use the IMdAssemblyCut::DirectionSide property.
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 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 . Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 389

IEntityQuery::GetFilter Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Id Type Model Long EntityEnumType IModel

Geometry IGeometry3D

CimatronE 9.0

CimatronE SDK User Guide 390

Get/Set Show Methods

Boolean

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.

CimatronE 9.0

CimatronE SDK User Guide 391

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.

Datum Procedures
Datum Procedures

MdUcs
MdUcs

IMdProcedure

CimatronE 9.0

CimatronE SDK User Guide 392

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 This method executes a procedure. Syntax Execute ( ); IMdProcedure::GetDimensions Description

CimatronE 9.0

CimatronE SDK User Guide 393

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) Type A 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 9.0

CimatronE SDK User Guide 394

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdUcs

IMdUcs This interface allows you to define the parameters of a newly-created UCS. Properties
Get, Set Mode Get, Set UcsEntity Get, Set FaceEntities Get, Set EdgeEntity UcsMode ICimEntity ICimEntityList ICimEntity

CimatronE 9.0

CimatronE SDK User Guide 395

Get, Set FirstPoint Get, Set SecondPoint Get, Set ThirdPoint Get, Set EdgePoint Get, Set EdgeOptPoint Get, Set RotationMode Get, Set RotationX Get, Set RotationY Get, Set RotationZ Get, Set CopyMode Get, Set CopyBasePoint Get, Set CopyDirection

Variant Variant Variant Boolean Variant Boolean Double Double Double UcsCopyMode Variant Variant

Get, Set CopyDirectDistance Double Get, Set CopyDistanceX Get, Set CopyDistanceY Get, Set CopyDistanceZ Get, Set PlanarFaceEntity Get, Set PlanarFacePoint Double Double Double ICimEntity Variant

Get, Se PlanarFaceDirection Variant Get, Set BoundingBoxMode Boolean

Methods None IMdUcs::CopyBasePoint Description This property allows you to set a point for a new UCS origin point. This property is relevant when the IMdUcs::Mode property is set to cmUcsModeCopy and IMdUcs::CopyMode is set to cmUcsCopyModeByPoint. Syntax
Property get: BasePoint = CopyBasePoint ( ) Return: (Variant) BasePoint Base point for a new UCS original point. Property set: CopyBasePoint( BasePoint );

CimatronE 9.0

CimatronE SDK User Guide 396

Input: (Variant) BasePoint Base point for a new UCS original point.

IMdUcs::CopyDirectDistance Description This property allows you to set a distance by which to move a copied UCS along a vector. This property is relevant when the IMdUcs::Mode property is set to cmUcsModeCopy and IMdUcs::CopyMode is set to cmUcsCopyModeByVector. Syntax
Property get: Distance = CopyDirectDistance ( ); Return: (Double) Distance Distance by which to move a copied UCS along the direction vector. Property set: CopyDirectDistance( Distance ); Input: (Double) Distance Distance by which to move a copied UCS along the direction vector.

IMdUcs::CopyDirection Description This property allows you to define a vector along which to move a copied UCS . This property is relevant when the IMdUcs::Mode property is set to cmUcsModeCopy and IMdUcs::CopyMode is set to cmUcsCopyModeByVector. Syntax Property get: Direction = CopyDirection( );
Return: (Variant) Direction Array of vector coordinates.

Property set: CopyDirection( Direction );


Input: (Variant) Direction Array of vector coordinates.

IMdUcs::CopyDistanceX Description This property allows you to set a distance by which to move a copied UCS along the X-axis. This property is relevant when the IMdUcs::Mode property is set to cmUcsModeCopy and IMdUcs::CopyMode is set to cmUcsCopyModeByDistance. Syntax

CimatronE 9.0

CimatronE SDK User Guide 397

Property get: DistanceByX = CopyDistanceX ( ); Return: (Double) DistanceByX Distance along the X-axis of a copied UCS . Property set: HRESULT CopyDistanceX([in] double pVal); Input: (Double) DistanceByX Distance along the X-axis of a copied UCS .

IMdUcs::CopyDistanceY Description This property allows you to set a distance by which to move a copied UCS along the Y-axis. This property is relevant when the IMdUcs::Mode property is set to cmUcsModeCopy and IMdUcs::CopyMode is set to cmUcsCopyModeByDistance. Syntax Property get: DistanceByY = CopyDistanceY ( );
Return: (Double) DistanceByY Distance along the Y-axis of a copied UCS .

Property set: CopyDistanceY( DistanceByY );


Input: (Double) DistanceByY Distance along the Y-axis of copied UCS .

IMdUcs::CopyDistanceZ Description This property allows you to set a distance by which to move a copied UCS along the Z-axis. This property is relevant when the IMdUcs::Mode property is set to cmUcsModeCopy and IMdUcs::CopyMode is set to cmUcsCopyModeByDistance. Syntax Property get: DistanceByZ = CopyDistanceZ ( );
Return: (Double) DistanceByZ Distance along the Z-axis of a copied UCS .

Property set: CopyDistanceZ( DistanceByZ );

CimatronE 9.0

CimatronE SDK User Guide 398

Input: (Double) DistanceByZ Distance along the Z-axis of a copied UCS .

IMdUcs::CopyMode Description This property allows you to set the mode in which to perform the UCS copy operation. This property is only applicable when IMdUcs::Mode is set to the cmUcsModeCopy mode. Syntax
Property get: UcsCopyMode = CopyMode ( ); Return: (UcsMode) UcsCopyMode Mode of UCS copy. Property set: CopyMode( UcsCopyMode ); Input: (UcsMode) UcsCopyMode Mode of UCS copy.

Note Relevant properties for use with UCS copy modes: cmUcsCopyModeByPoint: IMdUcs::CopyBasePoint ; cmUcsCopyModeByVector: IMdUcs::CopyDirectDistance, IMdUcs::CopyDirection ; cmUcsCopyModeByDistance: IMdUcs::CopyDistanceX, IMdUcs::CopyDistanceY, IMdUcs::CopyDistanceZ . It is also relevant to set the rotation of a new UCS by IMdUcs::RotationMode, IMdUcs::RotationX, IMdUcs::RotationY, IMdUcs::RotationZ properties. IMdUcs::EdgeEntity Description This property allows you to set an edge or axis that define the X-axis of a new UCS. The edge must be a straight line. This property is only applicable when IMdUcs::Mode is set to the cmUcsModeGeometry mode. Syntax Property get: Edge = EdgeEntity ( );
Return: (ICimEntity) Edge An entity that may be a straight edge or an axis.

Property set: EdgeEntity( Edge );

CimatronE 9.0

CimatronE SDK User Guide 399

Input: (ICimEntity) Edge An entity that may be a straight edge or an axis.

IMdUcs::EdgeOptPoint Description This property allows you to define the direction of the Y-axis in a new UCS. A Y-axis direction is specified by the half-plane of a plane, defined by an edge and a given point, in which lies a given point .This property is only applicable when IMdUcs::Mode is set to the cmUcsModeGeometry mode. Syntax Property get: Point = EdgeOptPoint ( );
Return: (Variant) Point Array of point coordinates.

Property set: EdgeOptPoint( Point );


Input: (Variant) Point Array of point coordinates.

IMdUcs::EdgePoint Description This property allows you to define the direction of the X-axis in a new UCS. By default, the direction of the X-axis of a new UCS is the same as the direction of edge which defined it. This property is only applicable when IMdUcs::Mode is set to the cmUcsModeGeometry mode. Syntax Property get: AxisDirection = EdgePoint( );
Return: (Boolean) AxisDirection If FALSE, the axis direction is opposite to the edge direction.

Property set: EdgePoint( AxisDirection );


Input: (Boolean) AxisDirection If FALSE, the axis direction is opposite to the edge direction.

IMdUcs::FaceEntities Description

CimatronE 9.0

CimatronE SDK User Guide 400

This property allows you to get and set a list of faces that defines a box in whose center the new UCS is created. This property is only applicable when the IMdUcs::Mode is set to the cmUcsModeCenterOfGeom mode. Syntax Property get: FaceList = FaceEntities ( ); Return: (ICimEntityList) FaceList List of faces. Property set: FaceEntities ( FaceList ); Input: (ICimEntityList) FaceList List of faces.

IMdUcs::FaceEntity Description This property allows you to add a face to a list of faces that defines a box in whose center the new UCS is created. This property is applicable only when the IMdUcs::Mode is set to the cmUcsModeCenterOfGeom mode. Syntax Property set: FaceEntity( Face );
Input: (ICimEntity) Face Face entity.

IMdUcs::FirstPoint Description This property allows you to set a new UCS origin point. This property is applicable only when IMdUcs::Mode is set to the cmUcsModeGeometry mode. Syntax Property get: Point = FirstPoint ( );
Return: (Variant) Point Array of point coordinates.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 401

FirstPoint( Point );
Input: (Variant) Point Array of point coordinates.

IMdUcs::Mode Description This property allows you to define a mode in which to create a new UCS. Syntax Property get: UcsMode = Mode ( );
Return: (UcsMode) UcsMode A mode for new UCS creation.

Property set: Mode( UcsMode );


Return: (UcsMode) UcsMode A mode for new UCS creation.

Note Relevant properties for use with UCS creation modes: IMdUcs::RotationMode, IMdUcs::RotationX, IMdUcs::RotationY, IMdUcs::RotationZ .
cmUcsModeGeometry:

a) IMdUcs::EdgeEntity, IMdUcs::EdgeOptPoint, IMdUcs::EdgePoint ; b) IMdUcs::FirstPoint, IMdUcs::SecondPoint, IMdUcs::ThirdPoint.


cmUcsModeCenterOfGeom IMdUcs::FaceEntities, IMdUcs::FaceEntity, IMdUcs::UcsEntity .

IMdUcs::RotationMode, IMdUcs::RotationX, IMdUcs::RotationY, IMdUcs::RotationZ . IMdUcs::UcsEntity


cmUcsModeCopy

IMdUcs::CopyMode; IMdUcs::CopyBasePoint, IMdUcs::CopyDirectDistance, IMdUcs::CopyDirection, IMdUcs::CopyDistanceX, IMdUcs::CopyDistanceY, IMdUcs::CopyDistanceZ .


IMdUcs::PlanarFaceDirection, IMdUcs::PlanarFaceEntity, IMdUcs::PlanarFacePoint

cmUcsModePlanarFace

IMdUcs::RotationMode Description

CimatronE 9.0

CimatronE SDK User Guide 402

This property allows you to define whether to rotate a newly-created UCS. Syntax Property get: IsRotate = RotationMode ( );
Return: (Boolean) IsRotate If FALSE (0), do not rotate created UCS.

Property set: RotationMode( IsRotate );


Input: (Boolean) IsRotate If FALSE (0), do not rotate created UCS.

IMdUcs::RotationX Description This property allows you to set the angle of rotation around the X-axis. This property takes affect when the IMdUcs::RotationMode property is set to TRUE. Syntax Property get: Angle = RotationX ( );
Return: (Double) Angle Rotation angle around the X-axis.

Property set: RotationX( Angle );


Input: (Double) Angle Rotation angle around the X-axis.

IMdUcs::RotationY Description This property allows you to set the angle of rotation around the Y-axis. This property takes affect when the IMdUcs::RotationMode property is set to TRUE. Syntax Property get: Angle = RotationY ( );
Return: (Double) Angle Rotation angle around the Y-axis.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 403

RotationY( Angle );
input: (Double) Angle Rotation angle around the Y-axis.

IMdUcs::RotationZ Description This property allows you to set an angle of rotation around the Z-axis. This property takes affect when IMdUcs::RotationMode property set to TRUE. Syntax Property get: Angle = RotationZ ( );
Return: (Double) Angle Rotation angle around the Z-axis.

Property set: RotationZ( Angle );


Input: (Double) Angle Rotation angle around the Z-axis.

IMdUcs::SecondPoint Description This property allows you to define the X-axis direction for a new UCS. This property is only applicable when IMdUcs::Mode is set to the cmUcsModeGeometry mode. Syntax Property get: Point = SecondPoint ( );
Return: (Variant) Point Array of point coordinates.

Property set: SecondPoint( Point );


Input: (Variant) Point Array of point coordinates.

IMdUcs::ThirdPoint Description This property allows you to define the Y-axis direction for a new UCS. This property is only applicable when IMdUcs::Mode is set to the cmUcsModeGeometry mode. Syntax

CimatronE 9.0

CimatronE SDK User Guide 404

Property get: Point = ThirdPoint ( );


Return: (Variant) Point Array of point coordinates.

Property set: ThirdPoint( Point );


Input: (Variant) Point Array of point coordinates.

IMdUcs::UcsEntity Description This property allows you to set a UCS entity in the cmUcsModeCopy and cmUcsModeCenterOfGeom modes. Syntax Property get: Ucs = UcsEntity ( );
Return: (ICimEntity) Ucs An Ucs entity.

Property set: UcsEntity( Ucs );


Input: (ICimEntity) Ucs An Ucs entity.

IMdUcs::PlanarFaceDirection Type topic text here. IMdUcs::PlanarFaceEntity Type topic text here. IMdUcs::PlanarFacePoint Type topic text here. IMdUcs::BoundingBoxMode Description This property allows you to define whether to display Bounding Box (will work only if mode was set to "cmUcsModeCenterOfGeom"). Syntax

CimatronE 9.0

CimatronE SDK User Guide 405

Property get: Status = BoundingBoxMode ( );


Return: (Boolean) Status If FALSE (0), do not show Bounding Box.

Property set: BoundingBoxMode( Status );


Input: (Boolean) Status If FALSE (0), do not show Bounding Box.

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 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 . Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 406

IEntityQuery::GetFilter Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Id Type Model Long EntityEnumType IModel

Geometry IGeometry3D

CimatronE 9.0

CimatronE SDK User Guide 407

Get/Set Show Methods

Boolean

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.

CimatronE 9.0

CimatronE SDK User Guide 408

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.

MdAxis
MdAxis

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 ( )

CimatronE 9.0

CimatronE SDK User Guide 409

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 9.0

CimatronE SDK User Guide 410

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) Type A 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 );

CimatronE 9.0

CimatronE SDK User Guide 411

Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdAxis

IMdAxis This interface allows you to create an axis in four different ways:
parallel to an existing axis or straight curve, or two points; intersection of two planar faces or planes; as normal to a plane or surface, axis or curve through a given point; through a circular face or curve passing through its center.

Properties Get, Set Mode AxisMode

Get, Set ParallelDistance Long Get, Set ParallelDirection Variant Get, Set ParallelEntity Get, Set NormalEntity Get, Set NormalPoint Get, Set ThroughEntity Methods ICimEntity ICimEntity Variant ICimEntity

CimatronE 9.0

CimatronE SDK User Guide 412

SetParallel2Points ( Variant, Variant ) GetParallel2Points ( Variant, Variant ) SetIntersectionEntities ( ICimEntity, ICimEntity ) GetIntersectionEntities ( ICimEntity, ICimEntity ) SetThrough2Points ( Variant, Variant ) GetThrough2Points ( Variant, Variant ) IMdAxis::GetIntersectionEntities Description This method allows you to get entities that define an axis by their intersection. Syntax
GetIntersectionEntities( FirstEntity, SecondEntity ); Return: (ICimEntity) FirstEntity First plane or planar face in an intersection.

Return: (ICimEntity) SecondEntity Second plane or planar face in an intersection.

IMdAxis::GetThrough2Points Description This method allows you to get points through which an axis passes. Syntax GetThrough2Points( FirstPoint, SecondPoint );
Return: (Variant) FirstPoint Return: (Variant) SecondPoint Variant that contains double type one dimensional array of a first point coordinates that defines an axis. Variant that contains double type one dimensional array of a second point coordinates that defines an axis.

Note All coordinates are given relative to the model's main UCS. IMdAxis::Mode Description This property allows you to get and set a mode of axis creation. Syntax
Property get: Mode = Mode ( ); Return: (AxisMode) Mode Mode in which an axis was created.

CimatronE 9.0

CimatronE SDK User Guide 413

Property set: Mode( Mode ); Input: (AxisMode) Mode Mode in which an axis will be created.

IMdAxis::NormalEntity Description This property allows you to get and set an entity normal to which an axis is defined. Syntax
Property get: Entity = NormalEntity ( ); Return: (ICimEntity) Entity Entity normal to which axis is defined. Property set: NormalEntity( Entity ); Input: (ICimEntity) Entity Entity normal to which axis will be defined.

IMdAxis::NormalPoint Description This property allows you to get and set a point through which the normal to entity set in IMdAxis::NormalEntity must pass. Syntax
Property get: Point = NormalPoint ( ); Return: (Variant) Point Property set: NormalPoint( Point ); Input: (Variant) Point Variant that contains double type one dimensional array of a point coordinates through which the normal passes. Variant that contains double type one dimensional array of a point coordinates through which the normal passes.

Note All coordinates are given relative to the model's main UCS. IMdAxis::ParallelDirection Description

CimatronE 9.0

CimatronE SDK User Guide 414

Using both this property and the IMdAxis::ParallelDistance property uniquely defines a point through which an axis parallel to given in IMdAxis::ParallelEntity entity, passes. This property allows you to get and set a vector for parallel mode. Syntax
Property get: Direction = ParallelDirection ( ); Return: (Variant) Direction Variant that contains double type one dimensional array a vector coordinates. Property set: ParallelDirection( Direction ); Input: (Variant) Direction Variant that contains double type one dimensional array a vector coordinates.

Note All coordinates are given relative to the model's main UCS. IMdAxis::ParallelDistance Description This property allows you to get and to set a distance on which is apart an axis from vector, straight entity or line defined by two points to which it is parallel. This distance counts along a direction set in IMdAxis::ParallelDirection vector. Syntax Property get: Distance = ParallelDistance ( );
Return: (Long) Distance Distance along a direction vector.

Property set: ParallelDistance( Distance );


Input: (Long) Distance Distance along a direction vector.

IMdAxis::ParallelEntity Description This property allows you to get and set an entity to which an axis is parallel. An entity must be a straight. Syntax
Property get: Entity = ParallelDistance ( );

CimatronE 9.0

CimatronE SDK User Guide 415

Return: (ICimEntity) Entity An entity to which an axis is parallel. Property set: ParallelEntity( Entity ); Return: (ICimEntity) Entity An entity to which an axis will be parallel.

IMdAxis::SetIntersectionEntities Description This property allows you to set entities whose intersection defines the axis. These entities must be planes or planar faces. Syntax SetIntersectionEntities( FirstEntity, SecondEntity );
Input: (ICimEntity) FirstEntity First entity in intersection. Input: (ICimEntity) SecondEntity Second entity in intersection.

IMdAxis::SetParallel2Points Description This property allows you to set two points that define a straight line to which an axis is parallel. This method is used for same purpose as the IMdAxis::ParallelEntity property. Syntax SetParallel2Points( FirstPoint, SecondPoint );
Input: (Variant) FirstPoint Input: (Variant) SecondPoint Variant that contains double type one dimensional array a first point coordinates that defines a straight line. Variant that contains double type one dimensional array a second point coordinates that defines a straight line.

Note All coordinates are given relative to the model's main UCS. IMdAxis::SetThrough2Points Description This property allows you to set two points that define an axis. Syntax SetThrough2Points( FirstPoint, SecondPoint );
Input: (Variant) FirstPoint Variant that contains double type one dimensional array a first point coordinates that defines an axis.

CimatronE 9.0

CimatronE SDK User Guide 416

Input: (Variant) SecondPoint

Variant that contains double type one dimensional array a second point coordinates that defines an axis.

Note All coordinates are given relative to the model's main UCS. IMdAxis::ThroughEntity Description This property allows you to get and set an entity-like circular face or circular curve that defines an axis that passes through the center point in the direction of normal to plane in which an entity lies. Syntax
Property get: Entity = ThroughEntity ( ); Return: (ICimEntity) Entity An entity defines an axis. Property set: ThroughEntity( Entity ); Input: (ICimEntity) Entity An entity defines an axis.

IMdAxis::GetParallel2Points Description
This method allows you to get points set in the IMdAxis::SetParallel2Points method.

Syntax
GetParallel2Points( FirstPoint, SecondPoint ); Input: (Variant) FirstPoint Input: (Variant) SecondPoint Variant that contains double type one dimensional array of a first point coordinates that defines a straight line. Variant that contains double type one dimensional array of a second point coordinates that defines a straight line

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

CimatronE 9.0

CimatronE SDK User Guide 417

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 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) Filter Filter 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 ( ); Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 418

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 419

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.

MdPlane
MdPlane

CimatronE 9.0

CimatronE SDK User Guide 420

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 421

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 422

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 423

IMdPlane

IMdPlane This interface allows you to set plane parameters. Properties


Get, Set Mode Get, Set ParallelDirection Get, Set ParallelDistance Get, Set UcsEntity Get, Set FirstEntity Get, Set SecondEntity Get, Set FirstPoint Get, Set SecondPoint Get, Set ThirdPoint PlaneMode Variant Double ICimEntity ICimEntity ICimEntity Variant Variant Variant

Get, Set ParallelThroughPoint Variant Get, Set InclinedAngle Long

Methods None

IMdPlane::FirstEntity Description This property allows you to get and set an entity used in the procedure definitions. For examples of usage see the IMdPlane::Mode property. Syntax Property get: Entity = FirstEntity ( );
Return: (ICimEntity) Entity An entity.

Property set: FirstEntity( Entity );


Input: (ICimEntity) Entity An entity.

IMdPlane::FirstPoint

CimatronE 9.0

CimatronE SDK User Guide 424

Description This property allows you to get and set a point used in procedure definitions. For examples of usage see the IMdPlane::Mode property. Syntax Property get: Point = FirstPoint ( );
Return: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates.

Property set: FirstPoint( Point );


Input: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates.

Note All coordinates are given relative to the model's main UCS. IMdPlane::InclinedAngle Description This property allows you to get and set an angle on which a created plane is inclined to a reference. The property is relevant only in the cmPlaneModeInclinedTo mode. Syntax Property get: Angle = InclinedAngle ( );
Return: (Long) Angle An angle of incline.

Property set: InclinedAngle( Angle );


Input: (Long) Angle An angle of incline.

IMdPlane::Mode Description This method allows you to define in which mode to create a plane. Syntax

CimatronE 9.0

CimatronE SDK User Guide 425

Property get: Mode = Mode ( );


Return: (PlaneMode) Mode A mode in which a plane is created.

Property set: Mode( Mode );


Input: (PlaneMode) Mode A mode in which a plane will be created.

Note Depending on which mode is selected, you can use different properties to set up a new plane. If selected:
1. 2. cmPlaneModeMain cmPlaneModeParallel It is enough to set only the UcsEntity property to get the main planes of a selected UCS. In this mode you have to define a plane on which to create a parallel using: a) FirstEntity property to set: existing datum plane or planar face entity, or an entity of a 2D non-linear curve; b) FirstEntity and SecondEntity property to set: to entities of intersecting lines; c) using FirstEntity and FirstPoint property to set: a line/linear edge or an axis entity and a point or using FirstPoint, SecondPoint and ThirdPoint properties to set three points. Also you have to define a direction and distance on which to create a new plane using the ParallelDirection and ParallelDistance properties or set a point through which a new plane must pass using the ParallelThroughPoint property. 3. cmPlaneModeInclinedTo In this mode you have to define a plane on which a new one will be inclined using FirstEntity to set the plane/planar face entity and also define entities through which a new plane will pass using: a) SecondEntity to define line/linear edge or axis entity or b) FirstPoint and SecondPoint to define a line by points. Also you have to set incline angle using InclinedAngle property. 4. cmPlaneModeNormal In this mode you have to set: a) using FirstEntity a linear edge or an axis entity to which to create normal plane and using FirstPoint to set a point through which a plane will pass or b) using FirstEntity to set plane/planar face entity to which to create normal plane and using SecondEntity to set a linear edge or an axis entity through which a new plane will pass, or using FirstPoint and SecondPoint to define a line that belongs to a new created plane. In this mode you have to define a new plane by: a) a planar face entity set into FirstEntity property; b) a non linear 2D curve set into FirstEntity property; c) three points set into FirstPoint, SecondPoint and ThirdPoint properties; d) a linear edge or axis entity set into FirstEntity property and a point set into FirstPoint property; e) two intersecting linear edges set into FirstEntity and SecondEntity properties.

5.

cmPlaneModeThrough

IMdPlane::ParallelDirection Description This method allows you to define a half-plane relative to a reference plane/face on which to create a plane. This property is applicable in the cmPlaneModeParallel and cmPlaneModeInclinedTo modes. Syntax

CimatronE 9.0

CimatronE SDK User Guide 426

Property get: Direction = ParallelDirection ( ); Return: (Variant) Direction Property set: ParallelDirection( Direction ); Input: (Variant) Direction Variant that contains double type one dimensional array of a vector coordinates that defines a half-plane on which the plane is created. Variant that contains double type one dimensional array of a vector coordinates that defines a half-plane on which the plane is created.

Note All coordinates are given relative to the model's main UCS. IMdPlane::ParallelDistance Description This method allows you to get and set the distance from a reference plane/face to a newly created plane . This property is only applicable in the cmPlaneModeParallel mode . Syntax
Property get: Distance = ParallelDistance ( ); Return: (Double) Distance Distance between the new plane and the reference plane/face. Property set: ParallelDistance( Distance ); Input: (Double) Distance Distance between the new plane and the reference plane/face.

IMdPlane::ParallelThroughPoint Description This property allows you to get and set point coordinates through which a newly-created plane will pass . This property is only applicable in the cmPlaneModeParallel mode. Syntax
Property get: Point = ParallelThroughPoint ( ); Return: (Variant) Point Property set: ParallelThroughPoint( Point ); Variant that contains double type one dimensional array of point coordinates through which the newly-created plane passes.

CimatronE 9.0

CimatronE SDK User Guide 427

Input: (Variant) Point

Variant that contains double type one dimensional array of point coordinates through which the newly-created plane will pass.

Note All coordinates are given relative to the model's main UCS. IMdPlane::SecondEntity Description This property allows you to get and set an entity used in procedure definitions. For examples of usage see the IMdPlane::Mode property. Syntax
Property get: Entity = SecondEntity ( ); Return: (ICimEntity) Entity An entity. Property set: SecondEntity( Entity ); Input: (ICimEntity) Entity An entity.

IMdPlane::SecondPoint Description This property allows you to get and to set a point used in the procedure definitions. For examples of usage, see the IMdPlane::Mode property. Syntax
Property get: Point = SecondPoint ( ); Return: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates. Property set: SecondPoint( Point ); Input: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates.

Note All coordinates are given relative to the model's main UCS. IMdPlane::ThirdPoint Description

CimatronE 9.0

CimatronE SDK User Guide 428

This property allows you to get and set a point used in procedure definitions. For examples of usage, see the IMdPlane::Mode property. Syntax
Property get: Point = ThirdPoint ( ); Return: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates. Property set: ThirdPoint( Point ); Input: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates.

Note All coordinates are given relative to the model's main UCS. IMdPlane::UcsEntity Description This property allows you to define the UCS on which to create main planes. This property is only applicable in the cmPlaneModeMain mode . Syntax Property get: Ucs = UcsEntity ( );
Return: (ICimEntity) Ucs A Ucs on which main planes are created.

Property set: UcsEntity( Ucs );


Input: (ICimEntity) Ucs A Ucs on which main planes will be created.

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 429

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 430

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 Get Get Get 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. Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 431

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.

Face Procedures
Face Procedures

CimatronE 9.0

CimatronE SDK User Guide 432

MdRound
MdRound

CimatronE 9.0

CimatronE SDK User Guide 433

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 434

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 435

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 436

IMdRound

IMdRound This interface represents a round procedure in CimatronE. Properties


Get, Set Mode Get Set Entities Entity RoundMode ICimEntityList ICimEntity

Get, Set RoundRadius Double

Methods None

IMdRound::Entities Description This property allows you to get entities set for a round procedure. Syntax Property get: Entities = Entities ( );
Return: (ICimEntityList) Entities Entities on which to execute round procedure.

IMdRound::Entity Description This property allows you to set entities on which to execute the round procedure. Syntax Property set: Entity( Entity );
Input: (ICimEntity) Entity An entity on which to execute round procedure.

Note It is possible to set more than one entity using a loop on entities array and assigning each entity to this property. Temporarily unable to use a vertex to define a set of faces for the round procedure. IMdRound::Mode

CimatronE 9.0

CimatronE SDK User Guide 437

Description This property allows you to get and set the mode in which the round procedure will be done. Syntax Property get: Mode = Mode ( );
Return: (RoundMode) Mode Round procedure mode .

Property set: Mode( Mode );


Input: (RoundMode) Mode Round procedure mode .

Note The mode cmRoundVariable is not available yet. IMdRound::RoundRadius Description This property allows you to get and set a radius value for the round procedure. Syntax Property get: Radius = RoundRadius ( );
Return: (Double) Radius Radius value.

Property set: RoundRadius( Radius );


Input: (Double) Radius Radius 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. Properties None Methods

CimatronE 9.0

CimatronE SDK User Guide 438

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 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) Filter Filter by which selection mades Pointer to created filter.

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 9.0

CimatronE SDK User Guide 439

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 440

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.

MdSplitFaces
MdSplitFaces

CimatronE 9.0

CimatronE SDK User Guide 441

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 442

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 443

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 444

ImdSplitFaces

IMdSplitFaces
This interface allows you to split a face by point or other entities.

Properties

Get/Set Entities Get/Set SplittingEntity Get/Set SplittingPosition Get/Set ProjectionDir Get/Set ProjectionOption Get/Set ProjMaxDistance
Methods
None.

ICimEntityList ICimEntity Variant Variant


SplitFProjection

Get/Set PointSectionOption SplitFPointSection

Double

IMdSplitFaces::Entities
Description

This property allows you to get and set the face entities to be split.
Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be split.

Property set: Entities( Entities );

Input: (ICimEntityList) Entities Entities to be split.

CimatronE 9.0

CimatronE SDK User Guide 445

IMdSplitFaces::PointSectionOption Description This property sets and gets the point section option. Syntax
Property get: Option = PointSectionOption ( ); Return: (SplitFPointSection) Option Get section option. Property set: PointSectionOption ( Option ); Input: (SplitFPointSection) Option Set section option.

Note This option works only if the face is split using point/position. IMdSplitFaces::ProjectionDir Description This property defines the direction for projecting the splitting entity. Syntax
Property get: iDir = ProjectionDir ( ); Return: (Variant) iDir Property set: ProjectionDir ( iDir ); Input: (Variant) iDir Set vector direction for projection. An array of 3D point coordinates (x,y,z). Get vector direction for projection. An array of 3D point coordinates (x,y,z).

Note This will work only if ProjectionOption = cmSplitFProjectionDirection . IMdSplitFaces::ProjectionOption Description This property gets and sets the projection splitting entity option. Syntax
Property get: Option = ProjectionOption ( );

CimatronE 9.0

CimatronE SDK User Guide 446

Return: (SplitFProjection) Option Get projection option. Property set: ProjectionOption ( Option ); Input: (SplitFProjection) Option Set projection option.

Note IMdSplitFaces::ProjMaxDistance Description This property gets and sets the maximum distance projection of the splitting entity. Syntax
Property get: Distance = ProjMaxDistance ( ); Return: (Double) Distance Property set: ProjMaxDistance ( Distance ); Input: (Double) Distance Set the maximum distance projection. Get the maximum distance projection.

Note The Max Distance option will work only If the splitting entity is a curve and ProjectionOption = cmSplitFProjectionNormal IMdSplitFaces::SplittingEntity Description This property allows you to get and set the split entity. Syntax
Property get: Entity = SplittingEntity ( ); Return: (ICimEntity) Entity Get splitting entity. Property set: SplittingEntity ( Entity ); Input: (ICimEntity) Entity Set splitting entity .

IMdSplitFaces::SplittingPosition

CimatronE 9.0

CimatronE SDK User Guide 447

Description This property defines the splitting position. Syntax


Property get: iPoint = Position ( ); Return: (Variant) iPoint Variant that contains double-type one-dimensional array of a helix base circle center position. An array of 3D point coordinates (x,y,z).

Property set: Position( Center ); Input: (Variant) Variant that contains double-type one-dimensional array of a helix base circle center position. iPoint An array of 3D point coordinates (x,y,z).

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. Return: (IEntityFilter) Filter Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 448

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) Filter Filter 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

CimatronE 9.0

CimatronE SDK User Guide 449

Get Get Get Get Methods

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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.

CimatronE 9.0

CimatronE SDK User Guide 450

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.

MdGeneralFace
MdGeneralFace

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods

CimatronE 9.0

CimatronE SDK User Guide 451

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

CimatronE 9.0

CimatronE SDK User Guide 452

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) Type A 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.

CimatronE 9.0

CimatronE SDK User Guide 453

Syntax ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdGeneralFace

IMdGeneralFace This interface creates a new b-spline surface. Properties


Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set ControlPtsArray Variant Integer Integer Variant Variant Double Double Double Double Integer

NumControlPtsU
NumControlPtsV KnotsUArray

KnotsVArray UStart UEnd VStart VEnd DegreeU

CimatronE 9.0

CimatronE SDK User Guide 454

Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set

DegreeV IsClosedInUDir IsClosedInVDir IsPeriodicInU IsPeriodicInV IsWeights WeightForAllPts WeightsArray

Integer Boolean Boolean Boolean Boolean Boolean Double Variant

Methods None IMdGeneralFace::ControlPtsArray Description


This property allows you to get and set arrays of control points. The number of array members = 3 * NumControlPtsU * NumControlPtsV

Syntax
Property get: VariantArray = ControlPtsArray( ); Return: (Variant) VariantArray Array of control points. Property set: ControlPtsArray( VariantArray ); Input: (Variant) VariantArray Array of control points.

Remarks
Create the control points array in the order shown below. (For example P(u,v) defined by the 4x4 array of control points) P(0,0)X P(0,0)Y P(0,0)Z P(0,1)X P(0,1)Y P(0,1)Z . .

CimatronE 9.0

CimatronE SDK User Guide 455

. P(3,3)X P(3,3)Y P(3,3)Z

IMdGeneralFace::DegreeU Description
This property allows you to get and set the Degree of the U parametric curve.

Syntax
Property get: Degree = DegreeU ( ); Return: (Integer) Degree Get the Degree of the U parametric curve. Property set: DegreeU ( Degree ); Input: (Integer) Degree Set the Degree of the U parametric curve.

Remarks

CimatronE 9.0

CimatronE SDK User Guide 456

IMdGeneralFace::DegreeV Description
This property allows you to get and set the Degree of the V parametric curve.

Syntax
Property get: Degree = DegreeV ( ); Return: (Integer) Degree Get the Degree of the V parametric curve. Property set: DegreeV ( Degree ); Input: (Integer) Degree Set the Degree of the V parametric curve.

Remarks IMdGeneralFace::IsClosedInUDir Description


This property allows you to get and set if the surface is closed in the U direction.

Syntax
Property get: IsClose = IsClosedInUDir ( ); Return: (Boolean) IsClose TRUE if the surface is closed in the U direction. Property set: IsClosedInUDir ( IsClose ); Input: (Boolean) IsClose TRUE if the surface will be closed in the U direction.

Remarks IMdGeneralFace::IsClosedInVDir Description


This property allows you to get and set if the surface is closed in the V direction.

CimatronE 9.0

CimatronE SDK User Guide 457

Syntax
Property get: IsClose = IsClosedInVDir ( ); Return: (Boolean) IsClose TRUE if the surface is closed in the V direction. Property set: IsClosedInVDir ( IsClose ); Input: (Boolean) IsClose TRUE if the surface will be close in the V direction.

Remarks IMdGeneralFace::IsPeriodicInU Description


This property allows you to get and set if the surface is periodic in the U direction.

Syntax
Property get: IsPeriodic = IsPeriodicInU ( ); Return: (Boolean) IsPeriodic TRUE if the surface is periodic in the U direction. Property set: IsPeriodicInU ( IsPeriodic ); Input: (Boolean) IsPeriodic TRUE if the surface is periodic in the U direction.

Remarks IMdGeneralFace::IsPeriodicInV Description


This property allows you to get and set if the surface is periodic in the V direction.

Syntax
Property get: IsPeriodic = IsPeriodicInV ( ); Return: (Boolean) IsPeriodic TRUE if the surface is periodic in the V direction.

CimatronE 9.0

CimatronE SDK User Guide 458

Property set: IsPeriodicInV ( IsPeriodic ); Input: (Boolean) IsPeriodic TRUE if the surface is periodic in the V direction.

Remarks IMdGeneralFace::IsWeights Description


This property allows you to get and set the weight of each control point of a B-Spline surface.

Syntax
Property get: GetWeights = IsWeights ( ); Return: (Boolean) GetWeights TRUE if there are Weights. Property set: IsWeights ( SetWeights ); Input: (Boolean) SetWeights TRUE to set Weights.

Remarks IMdGeneralFace::KnotsUArray Description


This property allows you to get and set knots in U.

Syntax
Property get: KnotsArr = KnotsUArray ( ); Return: (Variant) KnotsArr

Get knots array in U.

Property set: KnotsUArray ( KnotsArr ); Input: (Variant) KnotsArr

Set knots array in U.

Remarks

CimatronE 9.0

CimatronE SDK User Guide 459

IMdGeneralFace::KnotsVArray Description
This property allows you to get and set the knots array in V.

Syntax
Property get: KnotsArr = KnotsVArray ( ); Return: (Variant) KnotsArr

Get knots array in V.

Property set: KnotsVArray ( KnotsArr ); Input: (Variant) KnotsArr

Set knots array in V.

Remarks IMdGeneralFace::NumControlPtsU Description


This property allows you to get and set the number of control points in U.

Syntax
Property get: Num = NumControlPtsU ( ); Return: (Integer) Num Get the number of control points. Property set: NumControlPtsU ( Num ); Input: (Integer) Num Set the number of control points.

Remarks IMdGeneralFace::NumControlPtsV Description


This property allows you to get and set the number of control points in V.

CimatronE 9.0

CimatronE SDK User Guide 460

Syntax
Property get: Num = NumControlPtsV ( ); Return: (Integer) Num Get the number of control points. Property set: NumControlPtsV ( Num ); Input: (Integer) Num Set the number of control points.

Remarks IMdGeneralFace::UEnd Description


This property allows you to get and set the end parameter in U.

Syntax
Property get: Param = UEnd ( ); Return: (Double) Param Get the end parameter in U. Property set: UEnd ( Param ); Input: (Double) Param Set the end parameter in U.

Remarks IMdGeneralFace::UStart Description


This property allows you to get and set the start parameter in U.

Syntax
Property get:

CimatronE 9.0

CimatronE SDK User Guide 461

Param = UStart ( ); Return: (Double) Param Get the start parameter in U. Property set: UStart ( Param ); Input: (Double) Param Set the start parameter in U.

Remarks IMdGeneralFace::VEnd Description


This property allows you to get and set the end parameter in V.

Syntax
Property get: Param = VEnd ( ); Return: (Double) Param Get the end parameter in V. Property set: VEnd ( Param ); Input: (Double) Param Set the end parameter in V.

Remarks IMdGeneralFace::VStart Description


This property allows you to get and set the start parameter in V.

Syntax
Property get: Param = VStart ( ); Return: (Double) Param Get the start parameter in V. Property set:

CimatronE 9.0

CimatronE SDK User Guide 462

VStart ( Param ); Input: (Double) Param Set the start parameter in V.

Remarks IMdGeneralFace::WeightForAllPts Description


This property allows you to get and set the weight for all control points of a B-Spline surface. This property takes affect only if IMdGeneralFace::IsWeights is TRUE.

Syntax
Property get: WeightVal = WeightForAllPts ( ); Return: (Double) WeightVal Get the Weight of a B-Spline surface. Property set: WeightForAllPts ( WeightVal ); Input: (Double) WeightVal Set the Weight of a B-Spline surface.

Remarks IMdGeneralFace::WeightsArray Description


This property allows you to get and set the weight to each control point of a B-Spline surface. This property takes affect only if IMdGeneralFace::IsWeights is TRUE.

Syntax
Property get: Arr = WeightsArray( ); Return: (Variant) Arr Get Weights array. Property set: WeightsArray ( Arr ); Input: (Variant) Arr Set Weights array.

Remarks

CimatronE 9.0

CimatronE SDK User Guide 463

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 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) Filter Filter by which selection mades IEntityQuery::Select Description Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 464

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 465

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 9.0

CimatronE SDK User Guide 466

Return: (IModel) Model A model to which the entity relates.

MdStitch
MdStitch

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

CimatronE 9.0

CimatronE SDK User Guide 467

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 9.0

CimatronE SDK User Guide 468

Return: (AssPartProcType) Type A 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) Type of parameter to set. 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 );

CimatronE 9.0

CimatronE SDK User Guide 469

Input: (MdParameterType) Type of parameter to set. 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.

IMdStitch

IMdStitch Description

This interface represents a stitch procedure in CimatronE. (Stitch the objects and try to produce a solid file) Properties

Get, Set Entities

ICimEntityList

Get, Set AddToActiveObj Boolean Get, Set HealOption

Boolean

Methods None

IMdStitch::AddToActiveObj
Description
This property allows you to get and set the entities to be stitched by the stitch procedure.

Syntax
Property get: Status = AddToActiveObj( );

Return: (Boolean) Status Get Status TRUE = add selected entities to active object. FALSE = set a new container of entities.

CimatronE 9.0

CimatronE SDK User Guide 470

Property set:

AddToActiveObj( Status );

Input: (Boolean) Status Set Status. TRUE = add selected entities to active object. FALSE = set a new container of entities.

IMdStitch::Entities
Description
This property allows you to get and set the entities to be stitched by the stitch procedure. (The entities as to be Body faces only)

Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities in stitch procedure.

Property set:

Entities( Entities );

Input: (ICimEntityList) Entities Entities for stitch procedure.

IMdStitch::HealOption
Description
This property allows you to get and set the Heal option in the stitch procedure.

Syntax
Property get: Status = HealOption( );

CimatronE 9.0

CimatronE SDK User Guide 471

Return: (Boolean) Status Get Heal Status FALSE = Heal and Stitch. TRUE = Stitch only.

Property set:

HealOption( Status );

Input: (Boolean) Status Set Heal Status. FALSE = Heal and Stitch. TRUE = Stitch only.

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.

CimatronE 9.0

CimatronE SDK User Guide 472

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) Filter Filter 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

CimatronE 9.0

CimatronE SDK User Guide 473

Get Get Get Get Methods

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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.

CimatronE 9.0

CimatronE SDK User Guide 474

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.

MdUnstitch
MdUnstitch

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods

CimatronE 9.0

CimatronE SDK User Guide 475

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

CimatronE 9.0

CimatronE SDK User Guide 476

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) Type A 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.

CimatronE 9.0

CimatronE SDK User Guide 477

Syntax ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

ImdUnstitch

IMdUnStitch Description

This interface represents an unstitch procedure in CimatronE. Properties

Get, Set Entities

ICimEntityList

Get, Set SingleOption Boolean

Methods None

CimatronE 9.0

CimatronE SDK User Guide 478

IMdUnStitch::SingleOption
Description
This property allows you to get and set the single option in the unstitch procedure.

Syntax
Property get: Status = SingleOption( );

Return: (Boolean) Status FALSE = Group all the faces into one object. TRUE = face should be a separate object.

Property set:

SingleOption( Status );
Input: (Boolean) Status FALSE = Group all the faces into one object. TRUE = face should be a separate object.

IMdUnStitch::Entities
Description
This property allows you to get and set the entities to be unstitched by the unstitch procedure. (The entities as to be faces only)

Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities in unstitch procedure.

Property set:

Entities( Entities );

CimatronE 9.0

CimatronE SDK User Guide 479

Input: (ICimEntityList) Entities Entities for unstitch 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. 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 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) Filter Filter by which selection mades Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 480

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 481

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 9.0

CimatronE SDK User Guide 482

Syntax Property get: Model = Model( ); Return: (IModel) Model A model to which the entity relates.

MdSweep
MdSweep

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 9.0

CimatronE SDK User Guide 483

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 9.0

CimatronE SDK User Guide 484

Property get: Type = ProcedureType ( );


Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 485

Syntax Set( ParameterType, ParameterValue );


Input: (MdParameterType) Type of parameter to set. 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.

IMdSweep

IMdSweep This interface represents the sweep procedure in CimatronE. Properties


Get, Set Contour Get, Set ToOption Get, Set ToEntity Get, Set Direction Get, Set Delta Get, Set OpositDelta Get, Set SideOption Get, Set DraftAngle ICimEntity SweepToOption ICimEntity Variant Double Double SweepSideOption Double

Get, Set AngleSideDirection Boolean Get AngleDirection Variant

Methods None

IMdSweep::AngleDirection Description This property allows you to get the draft angle side direction. Syntax Property get: AngleDirection = AngleDirection ( );
Return: (Variant) AngleDirection Variant that contains double type one dimensional array of vector coordinates that defines draft angle side direction.

CimatronE 9.0

CimatronE SDK User Guide 486

IMdSweep::AngleSideDirection Description This property allows you to define the draft angle side direction, by default or opposit side. Syntax Property get: ChangeSide = AngleSideDirection ( );
Return: (Boolean) ChangeSide If FALSE (=0) then draft side remain default else it changes to opopsit side.

Property set: AngleSideDirection( ChangeSide );


Return: (Boolean) ChangeSide If FALSE (=0) then draft side remain default else it changes to opopsit side.

IMdSweep::Contour Description This property allows you to get and set a contour for the sweep procedure. Syntax Property get:
Contour = Contour ( ); Return: (ICimEntity) Contour A sweeped contour. Property set: Contour( Contour ); Input: (ICimEntity) Contour A contour to be sweeped.

IMdSweep::Delta Description This property allows you to get and set the sweep length. Syntax
Property get: Delta = Delta ( ); Return: (Double) Delta Length of sweep.

CimatronE 9.0

CimatronE SDK User Guide 487

Property set: Delta( Delta ); Input: (Double) Delta Length of sweep.

IMdSweep::Direction Description This property allows you to get and set a direction in which to do sweep. Syntax
Property get: Direction = Direction ( ); Return: (Variant) Direction A direction in which to do sweep. Property set: Direction( Direction ); Input: (Variant) Direction A direction in which to do sweep.

IMdSweep::DraftAngle Description This property allows you to get and set the draft angle for sweep procedure. Syntax Property get: Angle = DraftAngle ( );
Return: (Double) Angle Draft angle.

Property set: DraftAngle( Angle );


Input: (Double) Angle Draft angle.

Remedy #00060832 no possibility to change draft side IMdSweep::OpositDelta Description If the IMdSweep::SideOption property is set to cmSweepBothSide, this property allows you to get and set the opposite side sweep length.

CimatronE 9.0

CimatronE SDK User Guide 488

Syntax Property get: Delta = OpositDelta( );


Return: (Double) Delta Opposite side length of sweep.

Property set: OpositDelta( Delta );


Input: (Double) Delta Opposite side length of sweep.

IMdSweep::SideOption Description This property allows you to get and set the side option for the sweep procedure. Syntax
Property get: Option = SideOption ( ); Return: (SweepSideOption) Option Side to which to sweep a contour. Property set: SideOption( Option ); Input: (SweepSideOption) Option Side to which to sweep a contour.

IMdSweep::ToEntity Description This property allows you to get and set the entity with which to sweep a contour when using the cmSweepToReference options in the IMdSweep::ToOption property. Syntax Property get: Entity = ToEntity ( );
Return: (ICimEntity) Entity Entity to which to sweep a contour.

Property set: ToEntity( Entity );


Input: (ICimEntity) Entity Entity to which to sweep a contour.

CimatronE 9.0

CimatronE SDK User Guide 489

IMdSweep::ToOption Description This property allows you to get and to set a type of sweep. Syntax
Property get: Option = ToOption ( ); Return: (SweepToOption) Option Type of sweep. Property set: ToOption( Option ); Return: (SweepToOption) Option Type of sweep.

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 Remark Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 490

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) Filter Filter 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 Get Id Type Long EntityEnumType

CimatronE 9.0

CimatronE SDK User Guide 491

Get Get Methods

Model

IModel Boolean

Geometry IGeometry3D

Get/Set Show

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 9.0

CimatronE SDK User Guide 492

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.

MdBlend
MdBlend

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods Execute ( ) EnterEditMode ( )

CimatronE 9.0

CimatronE SDK User Guide 493

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.

CimatronE 9.0

CimatronE SDK User Guide 494

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) Type A 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

CimatronE 9.0

CimatronE SDK User Guide 495

ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdBlend

IMdBlend This interface allows you to set parameters for blend procedure. Properties Set Get Set Get Get Entity Entities Point FirstPoint LastPoint ICimEntity ICimEntityList Variant Variant Variant BlendHealOption Double BlendSlopeOption BlendSlopeOption Double

Get, Set HealOption Get, Set Tolerance Get, Set SlopeOptionFirst Get, Set SlopeOptionScnd Get, Set FirstSlopeWeight

Get, Set SecondSlopeWeight Double

CimatronE 9.0

CimatronE SDK User Guide 496

Get, Set FirstDirection Get, Set SecondDirection Methods ClearData RemoveAllEntities

Variant Variant

IMdBlend::Entities Description This property allows you to get a list of entities that defines a blend face. Syntax Property get: EntityList = Entities ( );
Return: (ICimEntityList) EntityList List of entities that defines a blend face.

IMdBlend::Entity Description This property allows you to set entities, one by one, from which to create a blend face. Syntax Property set: Entity( Entity );
Input: (ICimEntity) Entity An entity to define blend face.

Note Entities that define blend face are set one by one. The order in which they are set is important. An entity can't be a point. IMdBlend::FirstDirection Description This property allows you to set a first slope direction. Syntax Property get: Direction = FirstDirection ( );

CimatronE 9.0

CimatronE SDK User Guide 497

Return: (Variant) Direction

Variant that contains double type one dimensional array of slope direction coordinates (x,y,z ).

Property set: 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. IMdBlend::FirstPoint Description This property allows you to get the first point defined in a blend face. Syntax Property get: Point = FirstPoint ( );
Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IMdBlend::FirstSlopeWeight Description This property allows you to set slope weight. Syntax Property get: SlopeWeight = FirstSlopeWeight ( );
Return: (Double) SlopeWeight A slope weight.

Property set: FirstSlopeWeight( SlopeWeight );


Input: (Double) SlopeWeight A slope weight.

IMdBlend::HealOption Description

CimatronE 9.0

CimatronE SDK User Guide 498

This property allows you to set a heal option. By default, set the cmBlendOptionHeal option. Syntax
Property get: HealOption = HealOption ( ); Return: (BlendHealOption) HealOption A heal option parameter. Property set: HealOption( HealOption ); Input: (BlendHealOption) HealOption A heal option parameter.

IMdBlend::LastPoint Description This property allows you to get the last point defined in a blend face. Syntax Property get: Point = LastPoint( );
Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z ).

Note All coordinates are given relative to the model's main UCS. IMdBlend::Point Description This property allows you to set points for a blend face definition. Syntax Property set: Point( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z).

Note It is not possible to add more then two points. A first point must be created before you set any entity in the IMdBlend::Entity property; and the last point, if it exists, after you have set all the entities in IMdBlend::Entity used in the blend procedure. All coordinates are given relative to the model's main UCS. IMdBlend::SecondDirection

CimatronE 9.0

CimatronE SDK User Guide 499

Description This property allows you to set a second slope direction. Syntax Property get: Direction = SecondDirection( );
Return: (Variant) Direction Variant that contains double type one dimensional array of slope direction coordinates (x,y,z ).

Property set: SecondDirection( 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. IMdBlend::SecondSlopeWeight Description This property allows you to set a slope weight. Syntax
Property get: SlopeWeight = SecondSlopeWeight( ); Return: (Double) SlopeWeight A slope weight. Property set: SecondSlopeWeight( SlopeWeight ); Input: (Double) SlopeWeight A slope weight.

IMdBlend::SlopeOptionFirst Description This property allows you to get and set a first slope type. Syntax Property get: SlopeOption = SlopeOptionFirst ( );
Return: (BlendSlopeOption) SlopeOption A first slope type.

CimatronE 9.0

CimatronE SDK User Guide 500

Property set: SlopeOptionFirst( SlopeOption );


Input: (BlendSlopeOption) SlopeOption A first slope type.

IMdBlend::SlopeOptionScnd Description This property allows you to get and set a second slope type. Syntax
Property get: SlopeOption = SlopeOptionScnd ( ); Return: (BlendSlopeOption) SlopeOption A second slope type. Property set: SlopeOptionScnd( SlopeOption ); Input: (BlendSlopeOption) SlopeOption A second slope type.

IMdBlend::Tolerance Description This property allows you to get and set tolerance. Syntax Property get: Tolerance = Tolerance ( );
Return: (Double) Tolerance A tolerance value.

Property set: Tolerance( Tolerance );


Input: (Double) Tolerance A tolerance value.

IMdBlend::ClearData Description
This method allows you to reset all the parameters of this procedure and remove all entities and points, Heal mode , tolerance = 0.

ClearData ();

CimatronE 9.0

CimatronE SDK User Guide 501

IMdBlend::RemoveAllEntities Description
This method allows you to remove all the entities and points of the procedure.

RemoveAllEntities ();
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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 502

Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Geometry Description Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 503

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

CimatronE 9.0

CimatronE SDK User Guide 504

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.

MdSkin
MdSkin

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 9.0

CimatronE SDK User Guide 505

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

CimatronE 9.0

CimatronE SDK User Guide 506

Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 507

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) Type of parameter to set. 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.

IMdSkin

IMdSkin This interface allows you to create a surface (solid) that interpolates a series of sections with a guide curve. A surface is fitted between the picked sections. Properties Get, Set SectionEntities ICimEntityList Get, Set GuidesEntities ICimEntityList Methods None

IMdSkin::GuidesEntities Description This property allows you to get and set guide curves entities. Syntax Property get: Guides = GuidesEntities ( );
Return: (ICimEntityList) Guides Guide curves entities.

Property set: GuidesEntities( Guides );


Return: (ICimEntityList) Guides Guide curves entities.

IMdSkin::SectionEntities

CimatronE 9.0

CimatronE SDK User Guide 508

Description This property allows you to get and set section entities. One or more sections may be specified. Syntax Property get: Sections = SectionEntities ( );
Return: (ICimEntityList) Sections Section entities.

Property put: SectionEntities( Sections );


Input: (ICimEntityList) Sections Section entities.

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 Remark Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 509

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) Filter Filter 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 Get Id Type Long EntityEnumType

CimatronE 9.0

CimatronE SDK User Guide 510

Get Get Methods

Model

IModel Boolean

Geometry IGeometry3D

Get/Set Show

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 9.0

CimatronE SDK User Guide 511

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.

MdMesh
MdMesh

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods Execute ( ) EnterEditMode ( )

CimatronE 9.0

CimatronE SDK User Guide 512

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.

CimatronE 9.0

CimatronE SDK User Guide 513

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) Type A 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

CimatronE 9.0

CimatronE SDK User Guide 514

ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdMesh

IMdMesh This interface allows you to set mesh procedure parameters. Properties

Get/Set SectionEntities

ICimEntityList

Get/Set CrossSectionEntities ICimEntityList Get/Set SectionPoint Get/Set Mode Get/Set Tolerance Variant

MeshMode
Double

Methods
None

IMdMesh::CrossSectionEntities
Description

CimatronE 9.0

CimatronE SDK User Guide 515

This property allows you to get and set the cross section entities for the mesh procedure.

Syntax
Property get: Entities = CrossSectionEntities ( ); Return: (ICimEntityList) Entities A list of entities on which to execute an mesh procedure. Property set: CrossSectionEntities ( Entities ); Input: (ICimEntityList) Entities A list of entities on which to execute an mesh procedure.

Note
The entity list should contain only curves.

IMdMesh::Mode
Description
This property allows you to get and set a mode Accurate/Gap in the Mesh procedure.

Accurate - There are no gaps between any of the section curves or cross section curves. Gap - The gap parameter defining the value at which the section curves may miss intersecting the cross-section curves, in order to enter the gap tolerance parameter.
Syntax
Property get: Mode = Mode( );

Return: (MeshMode) Mode Get the Mode of the Mesh procedure.

Property set: Mode( Mode );

Input: (MeshMode) Mode Set the Mode of the Mesh procedure.

IMdMesh::SectionPoint Description This property allows you to get and set the first section point for the Mesh procedure. Syntax

CimatronE 9.0

CimatronE SDK User Guide 516

Property get:
SecPoint = SectionPoint ( ) Return: (Variant) SecPoint first section point. Property set: SectionPoint( SecPoint ); Input: (Variant) SecPoint first section point .

Note This point can only be the first section. IMdMesh::Tolerance Description This property allows you to get and set tolerance (This will be activated only if Mode is set to Gap). Syntax Property get: Tolerance = Tolerance ( );
Return: (Double) Tolerance A tolerance value.

Property set: Tolerance( Tolerance );


Input: (Double) Tolerance A tolerance 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. Properties None Methods ICimEntityList Select ( ); SetFilter ( IEntityFilter ); IEntityFilter GetFilter ( );

CimatronE 9.0

CimatronE SDK User Guide 517

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 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) Filter Filter 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. Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 518

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 Get Get Get 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 ( ); Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 519

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.

MdTrimFaces
MdTrimFaces

CimatronE 9.0

CimatronE SDK User Guide 520

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 This method executes a procedure. Syntax Execute ( ); IMdProcedure::GetDimensions

CimatronE 9.0

CimatronE SDK User Guide 521

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) Type A 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 9.0

CimatronE SDK User Guide 522

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdTrimFaces

IMdTrimFaces
This interface allows you to trim a face by points or other entities.

Properties

CimatronE 9.0

CimatronE SDK User Guide 523

Get/Set Entities Get/Set TrimmingEntity

ICimEntityList ICimEntity

Get/Set TrimmingPosition Variant Get/Set PointSectionOption TrimFPointSection Get/Set ProjectionDir Get/Set ProjectionOption Get/Set ProjMaxDistance Get/Set FirstDir Get/Set FirstDirSide Get/Set SecondDir Get/Set SecondDirSide Get/Set OptionBoth Get/Set FlipSideDefault
Methods
None.

Variant
TrimFProjection

Double Variant Boolean Variant Boolean Boolean Boolean

IMdTrimFaces::Entities
Description

This property allows you to get and set the face entities to be trimmed.
Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be trimmed.

Property set: Entities( Entities );

CimatronE 9.0

CimatronE SDK User Guide 524

Input: (ICimEntityList) Entities Entities to be trimmed.

IMdTrimFaces::FirstDir Description This property defines the trimming direction for the first face. Syntax
Property get: iDir = FirstDir ( ); Return: (Variant) iDir Get a vector direction. An array of 3D point coordinates (x,y,z). Property set: FirstDir ( iDir ); Input: (Variant) iDir Set a vector direction. An array of 3D point coordinates (x,y,z).

Note This works only if ProjectionOption = cmTrimFProjectionDirection . IMdTrimFaces::FirstDirSide Description This property defines the trimming direction of the first face. Syntax
Property get: iDir = FirstDirSide ( ); Return: (Boolean) iDir Get the trimming direction. Property set: FirstDirSide ( iDir ); Input: (Boolean) iDir Set the trimming direction, Default = TRUE

Note This will work only is ProjectionOption = cmTrimFProjectionDirection . IMdTrimFaces::FlipSideDefault Description This property gets and sets the option to flip the trimming side. Syntax

CimatronE 9.0

CimatronE SDK User Guide 525

Property get: Opt = FlipSideDefault ( ); Return: (Boolean) Opt Get the trimming side. Property set: FlipSideDefault ( Opt ); Input: (Boolean) Opt Get the trimming side. TRUE = default FALSE = Change the trimming side

Note IMdTrimFaces::OptionBoth Description This property defines the trimming option. Syntax
Property get: Opt = OptionBoth ( ); Return: (Boolean) Opt TRUE =Trim both faces. FALSE = Regular trim. Property set: OptionBoth ( Opt ); Input: (Boolean) Opt TRUE = Trim both faces. FALSE = Regular trim.

Note IMdTrimFaces::PointSectionOption Description This property gets and sets the point section option. Syntax
Property get: Option = PointSectionOption ( ); Return: (TrimFPointSection) Option Get section option. Property set: PointSectionOption ( Option );

CimatronE 9.0

CimatronE SDK User Guide 526

Input: (TrimFPointSection) Option Set section option.

Note This option only works if the face is trimmed using point/position. IMdTrimFaces::ProjectionDir Description This property defines the direction for projecting the trimming curve entity. Syntax
Property get: iDir = ProjectionDir ( ); Return: (Variant) iDir Get the vector direction for a projection. An array of 3D point coordinates (x,y,z). Property set: ProjectionDir ( iDir ); Input: (Variant) iDir Set the vector direction for a projection. An array of 3D point coordinates (x,y,z).

Note This only works if ProjectionOption = cmTrimFProjectionDirection. IMdTrimFaces::ProjectionOption Description This property gets and sets the projection trimming curve entity option. Syntax
Property get: Option = ProjectionOption ( ); Return: (TrimFProjection) Option Get the projection option. Property set: ProjectionOption ( Option ); Input: (TrimFProjection) Option Set the projection option.

Note IMdTrimFaces::ProjMaxDistance Description This property gets and sets the maximum distance projection of a trimming curve entity. Syntax

CimatronE 9.0

CimatronE SDK User Guide 527

Property get: Distance = ProjMaxDistance ( ); Return: (Double) Distance Get the maximum distance projection. Property set: ProjMaxDistance ( Distance ); Input: (Double) Distance Set the maximum distance projection.

Note The Max Distance option will work only if the splitting entity is curve and ProjectionOption = cmTrimFProjectionNormal. IMdTrimFaces::SecondDir Description This property defines the trimming direction for the second face. Syntax
Property get: iDir = SecondDir ( ); Return: (Variant) iDir Get a vector direction. An array of 3D point coordinates (x,y,z). Property set: SecondDir ( iDir ); Input: (Variant) iDir Set a vector direction. An array of 3D point coordinates (x,y,z).

Note This will work only is ProjectionOption = cmTrimFProjectionDirection . IMdTrimFaces::SecondDirSide Description This property defines the trimming direction of the second face. Syntax
Property get: iDir = SecondDirSide ( ); Return: (Boolean) iDir Get the trimming direction. Property set: SecondDirSide ( iDir );

CimatronE 9.0

CimatronE SDK User Guide 528

Input: (Boolean) iDir Set the trimming direction, Default = TRUE

Note This only works if ProjectionOption = cmTrimFProjectionDirection. IMdTrimFaces::TrimmingEntity Description This property allows you to get and set the trimming entity. Syntax
Property get: Entity = TrimmingEntity ( ); Return: (ICimEntity) Entity Get Trimming entity. Property set: TrimmingEntity ( Entity ); Input: (ICimEntity) Entity Set Trimming entity.

IMdTrimFaces::TrimmingPosition Description This property defines the Trimming position. Syntax


Property get: iPoint = TrimmingPosition ( ); Return: (Variant) iPoint Variant that contains a double-type one-dimensional array of a helix base circle center position. An array of 3D point coordinates (x,y,z).

Property set: TrimmingPosition ( Center ); Input: (Variant) Variant that contains a double-type one-dimensional array of a helix base circle center iPoint position. An array of 3D point coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS.
IEntityQuery

IEntityQuery

CimatronE 9.0

CimatronE SDK User Guide 529

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 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) Filter Filter by which selection mades IEntityQuery::Select Description Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 530

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 531

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:

CimatronE 9.0

CimatronE SDK User Guide 532

Model = Model( ); Return: (IModel) Model A model to which the entity relates.

MdTrimUV
MdTrimUV

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.

CimatronE 9.0

CimatronE SDK User Guide 533

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:

CimatronE 9.0

CimatronE SDK User Guide 534

Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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

CimatronE 9.0

CimatronE SDK User Guide 535

Set( ParameterType, ParameterValue );


Input: (MdParameterType) Type of parameter to set. 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.

IMdTrimUV

IMdTrimUV This interface creates a trim b-spline surface by input general face, spline loops (outer loop and island loops). Properties
Get, Set Get, Set Get, Set Set

Surface OuterLoop IslandLoops


SaveOriginal

ICimEntity Variant
Variant Boolean

Methods SplineLoop CreateSplineLoop ( ); SplineUV CreateSplineUV ( ); ClearData

IMdTrimUV::Surface
Description

This property allows you to get and set a surface to create a trim face (This can be a B-Spline surface or GeneralFace).
Syntax
Property get:

iEntity = Surface ( ); Return: (ICimEntity) iEntity Surface entity. Property set: Surface ( iEntity ); Input: (ICimEntity) iEntity Surface entity.

CimatronE 9.0

CimatronE SDK User Guide 536

IMdTrimUV::OuterLoop Display Chart


Description

This property allows you to get and set the outer loop spline for a trim surface.
Syntax
Property get:

Loop = OuterLoop( ); Return: (Object) Loop Get the outer loop spline. This variant will include a 2D spline objects ISplineLoop Property set: OuterLoop ( Loop ); Input: (Object) Loop Set the outer loop spline. This variant will include a 2D spline objects ISplineLoop Remarks It is necessary to set the outer loop before setting the IslandLoops. Temporary Limitation: the input loop direction must be Clockwise.

IMdTrimUV::IslandLoops Display Chart


Description

This property allows you to get and set the island loops spline for a trim surface.
Syntax
Property get:

Loops = IslandLoops( ); Return: (Object) Loops Get the island loops spline. This variant will include 2D spline objects ISplineLoop Property set: IslandLoops ( Loops ); Input: (Object) Loops Set the island loops spline.

CimatronE 9.0

CimatronE SDK User Guide 537

This variant will include 2D spline objects ISplineLoop Remarks Temporary Limitation: 1. The input loop direction must be counter-clockwise. 2. It is necessary to set the island loop after setting the OuterLoop.

IMdTrimUV::CreateSplineUV Description This method allows you to create a new SplineUV object. Syntax SplineUV = CreateSplineUV ( );
Return: (ISplineUV) SplineUV ISplineUV object.

IMdTrimUV::CreateSplineLoop Description This method allows you to create a new SplineLoop object. Syntax SplineLoop = CreateSplineLoop ( );
Return: (ISplineLoop) SplineLoop ISplineLoop object.

IMdTrimUV::SaveOriginal Display Chart


Description

This property allows you to set if the original face will be saved/deleted.
Syntax

Property set: SaveOriginal ( FaceResult ); Input: (Boolean) FaceResult Set Original face. TRUE = will be saved. FALSE = the original face will deleted. Remarks

CimatronE 9.0

CimatronE SDK User Guide 538

IMdTrimUV::ClearData Description This method allows you to remove all the loops. Syntax ClearData ( );

IslandLoops Chart

CimatronE 9.0

CimatronE SDK User Guide 539

OuterLoop Chart

ISplineLoop This interface creates an object that contains one or more loop arrays of ISplineUV objects to create an IMdTrimUV surface. Properties
Get, Set

Loops

Object

Methods None Remarks One loop can contain one closed ISplineUV object or several ISplineUV objects that set one closed loop. This interface can include one or more loops that will implement into IMdTrimUV::OuterLoop or IMdTrimUV::IslandLoops. To create a new ISplineLoop object, it is necessary to set it with IMdTrimUV::CreateSplineLoop.

ISplineLoop::Loops

CimatronE 9.0

CimatronE SDK User Guide 540

Description
This property allows you to get and set spline loops to create a TrimUV surface. This object contains an array object with one or more spline loops.

Syntax
Property get: ObjectArray = Loops ( ); Return: (Object) ObjectArray Get spline loops of trim face. Property set: Loops ( ObjectArray ); Input: (Object) ObjectArray Set spline loops for trim face.

Remarks
This array object will contain one loop if it is an outer trim loop. In the case of an island, this object can contain more then one loop (Each loop represents one island).

ISplineUV This interface creates one spline object to pass it to ISplineLoop::Loops to create a IMdTrimUV surface. Properties
Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set

ControlPoints Close Degree Knots Periodic Rational Weights

Variant Boolean
Double Variant Boolean Boolean Variant

Methods Execute ( );

Remarks To create a new ISplineUV object, it is necessary to set it with IMdTrimUV::CreateSplineUV.

ISplineUV::Execute

CimatronE 9.0

CimatronE SDK User Guide 541

Description This method executes a procedure. Syntax Execute ( ); ISplineUV::Weights Description


This property allows you to get and set the weight for each control point of a SplineUV.

Syntax
Property get: Arr = Weights ( ); Return: (Variant) Arr Get the Weights array of a spline. Property set: Weights ( Arr ); Input: (Variant) Arr Set the Weights array for spline.

Remarks ISplineUV::Rationa Description This method allows you to get and set if the spline is rational. Syntax Property get: Status = Rationa ( );
Return: (Boolean) Status TRUE (= 1) if spline is rational.

Property set: Rationa ( Status );


Input: (Boolean) Status TRUE (= 1) if spline is rational.

Remarks ISplineUV::Periodic Description

CimatronE 9.0

CimatronE SDK User Guide 542

This property allows you to get and set if the spline is periodic.

Syntax
Property get: IsPeriodic = Periodic ( ); Return: (Boolean) IsPeriodic TRUE if the spline is periodic. Property set: Periodic ( IsPeriodic ); Input: (Boolean) IsPeriodic TRUE if the spline is periodic.

Remarks ISplineUV::Degree Description


This property allows you to get and set the Degree of the spline.

Syntax
Property get: Degree = Degree ( ); Return: (Double) Degree Get the Degree of the spline. Property set: Degree ( Degree ); Input: (Double) Degree Set the Degree of the spline.

Remarks ISplineUV::Knots Description


This property allows you to get and set the knots of a spline.

Syntax
Property get:

CimatronE 9.0

CimatronE SDK User Guide 543

KnotsArr = Knots ( ); Return: (Variant) KnotsArr

Get the knots array of a spline.

Property set: Knots ( KnotsArr ); Input: (Variant) KnotsArr

Set the knots array of a spline.

Remarks ISplineUV::ControlPoints Description This property allows you to set and get the array of 2D control points for the given spline. Syntax Property get: ControlPoints = ControlPoints ( );
Return: (Variant) ControlPoints A variant that contains a double array of spline control points. One dimensional array with points are stored in U, V order.

Property set: ControlPoints ( ControlPoints );


Input: (Variant) ControlPoints A variant that contains a double array of spline control points. One dimensional array with points stored in U, V order.

Note All coordinates are given relative to the UV parameters (limit) of the input surface that was given to the IMdTrimUV interface. In case that control points = 2 the degree as to be 1. In case that control points = 3 the degree as to be 2. In case that control points > 3 the degree as to be 3.

ISplineUV::Close Description

CimatronE 9.0

CimatronE SDK User Guide 544

This property allows you to get and set whether the spline is closed.

Syntax
Property get: isClose = Close ( ); Return: (Boolean) IsClose TRUE if the spline is closed. Property set: Close ( IsClose ); Input: (Boolean) IsClose TRUE if the spline will be closed.

Remarks
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.

CimatronE 9.0

CimatronE SDK User Guide 545

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) Filter Filter 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

CimatronE 9.0

CimatronE SDK User Guide 546

Get Get Get Get Methods

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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.

CimatronE 9.0

CimatronE SDK User Guide 547

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.

MdFairFace
MdFairFace

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods

CimatronE 9.0

CimatronE SDK User Guide 548

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

CimatronE 9.0

CimatronE SDK User Guide 549

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) Type A 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.

CimatronE 9.0

CimatronE SDK User Guide 550

Syntax ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdFairFace

IMdFairFace
This interface represents a modify fair face procedure.

Properties
Get/Set Entities ICimEntityList

Get/Set SlopeMode FairFaceSlopeOption Get/Set Tolerance Double

Methods
None

IMdFairFace::Tolerance Description This property allows you to get and set tolerance for the fair face procedure. Syntax Property get:

CimatronE 9.0

CimatronE SDK User Guide 551

Tolerance = Tolerance ( );
Return: (Double) Tolerance A tolerance value.

Property set: Tolerance( Tolerance );


Input: (Double) Tolerance A tolerance value.

IMdFairFace::SlopeMode
Description
This property allows you to get and set a slope mode of the fair face procedure.

Syntax
Property get: Mode = SlopeMode( ); Return: (FairFaceSlopeOption) Mode Slope mode. Property set: SlopeMode( Mode ); Input: (FairFaceSlopeOption) Mode Slope mode.

IMdFairFace::Entities
Description
This property allows you to get and set the faces entities to be fair.

Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be fair.

Property set:

Entities ( Entities );

Input: (ICimEntityList) Entities Entities to be fair.

CimatronE 9.0

CimatronE SDK User Guide 552

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 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) Filter Filter by which selection mades Pointer to created filter.

IEntityQuery::Select

CimatronE 9.0

CimatronE SDK User Guide 553

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 Get Get Get 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, Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 554

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

CimatronE 9.0

CimatronE SDK User Guide 555

Property get: Model = Model( ); Return: (IModel) Model A model to which the entity relates.

MdBounded
MDBounded

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 9.0

CimatronE SDK User Guide 556

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 9.0

CimatronE SDK User Guide 557

Property get: Type = ProcedureType ( );


Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 558

Syntax Set( ParameterType, ParameterValue );


Input: (MdParameterType) Type of parameter to set. 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.

IMdBounded

IMdBounded This interface allows you to get and set parameters for the bounded procedure. Properties Get, Set Get, Set Get, Set Get, Set Get, Set Get, Set ContourEntity ManipulateEntities ManipulatePoints OptionHeal OptionSmooth ICimEntity ICimEntityList Variant Boolean Boolean

Methods None

Remarks IMdBounded::ManipulateEntities Description This property allows you to get and set the reference geometry for manipulating the bounded face. Syntax Property get: EntityList = ManipulateEntities ( );

CimatronE 9.0

CimatronE SDK User Guide 559

Return: (ICimEntityList) EntityList List of entities that manipulate the bounded face.

Property Set: ManipulateEntities ( EntityList );


Input: (ICimEntityList) EntityList List of entities that manipulate the bounded face.

Remarks IMdBounded::ManipulatePoints Description This property allows you to get and set the reference points for manipulating the bounded face. Syntax Property get: PointArr = ManipulatePoints ( );
Return: (Variant) PointArr List of points that manipulate the bounded face.

Property Set: ManipulatePoints ( PointArr );


Input: (Variant) PointArr List of points that manipulate the bounded face.

Remarks IMdBounded::OptionSmooth Description This property allows you to get and set the smooth option of a bounded face. Syntax
Property get: Option = OptionSmooth ( ); Return: (Boolean) Option A smooth option: TRUE = Result will be smooth. Property set: OptionSmooth ( Option );

CimatronE 9.0

CimatronE SDK User Guide 560

Input: (Boolean) Option A smooth option: TRUE = Result will be smooth.

IMdBounded::ContourEntity Description This property allows you to get and set entities from which to create a blend face. Syntax Property get: Entity = ContourEntity ( );
Return: (ICimEntity) Entity An entity to define bounded face.

Property set: ContourEntity ( Entity );


Input: (ICimEntity) Entity An entity to define bounded face.

Note IMdBounded::OptionHeal Description This property allows you to get and set a heal option of a bounded face. Syntax
Property get: HealOption = HealOption ( ); Return: (Boolean) HealOption A heal option: TRUE = With Heal. Property set: HealOption ( HealOption ); Input: (Boolean) HealOption A heal option: TRUE = With Heal.

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 9.0

CimatronE SDK User Guide 561

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 562

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 563

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.

MdDriveFace

CimatronE 9.0

CimatronE SDK User Guide 564

MdDriveFace

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 565

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 566

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 567

IMdDriveFace

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 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 ( ); Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 568

Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Geometry Description Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 569

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

CimatronE 9.0

CimatronE SDK User Guide 570

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.

MdRoundFaceFace
MdRoundFaceFace

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 9.0

CimatronE SDK User Guide 571

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

CimatronE 9.0

CimatronE SDK User Guide 572

Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 573

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) Type of parameter to set. 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.

IMdRoundFaceFace

IMdRoundFaceFace This interface represents a round face (Face to Face) procedure in CimatronE. Properties
Get, Set Mode Get, Set FirstSetFaces Get, Set ScndSetFaces Set, Get Radius Get, Set Extension RoundFaceFaceOption ICimEntityList ICimEntityList Double Boolean (Long)

Get, Set FirstSetDirectionSide Boolean (Long) Get, Set ScndSetDirectionSide Boolean (Long)

Methods Variant GetFirstSetDirection ( ) Variant GetScndSetDirection( )

IMdRoundFaceFace::ScndSetFaces Description This property allows you to get and set a second set of faces for a round face procedure. Syntax Property set: ScndSetFaces ( Entities );

CimatronE 9.0

CimatronE SDK User Guide 574

Return: (ICimEntityList) The second set of Entities on which to execute Entities the round face procedure.

Property get: Entities = ScndSetFaces ( );


Return: (ICimEntityList) The second set of Entities on which to execute Entities the round face procedure.

IMdRoundFaceFace::ScndSetDirectionSide
Description
This property allows you to get and set a second direction for the round face procedure.

Syntax
Property get:

Direction = ScndSetDirectionSide ( ); Return: (Boolean) Direction Get application default direction


Property set:

ScndSetDirectionSide ( Direction ); Input: (Boolean) Direction Set direction


Note
To get the default vector direction, call the method "GetScndSetDirection".

IMdRoundFaceFace::RoundRadius Description This property allows you to get and set a radius value for the round face procedure. Syntax Property get: Radius = Radius ( );
Return: (Double) Radius Radius value.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 575

Radius ( Radius );
Input: (Double) Radius Radius value.

IMdRoundFaceFace::Mode Description This property allows you to get and set the mode in which the round face procedure will be done. Syntax Property get: Mode = Mode ( );
Return: (RoundFaceFaceOption) Mode Round face procedure mode .

Property set: Mode( Mode );


Input: (RoundFaceFaceOption) Mode Round face procedure mode .

Note

IMdRoundFaceFace::GetScndSetDirection Description This method allows you to get the second vector direction. Syntax Vector = GetScndSetDirection ( );
Return: (Variant) Vector Variant that contains a double-type one-dimensional array of vector coordinates that define a line direction.

IMdRoundFaceFace::GetFirstSetDirection Description This method allows you to get the first vector direction. Syntax Vector = GetFirstSetDirection ( );
Return: (Variant) Vector Variant that contains a double-type one-dimensional array of vector coordinates that define a line direction.

IMdRoundFaceFace::FirstSetFaces

CimatronE 9.0

CimatronE SDK User Guide 576

Description This property allows you to get and set the first set of faces for a round face procedure. Syntax Property set: FirstSetFaces ( Entities );
Return: (ICimEntityList) Entities First set of Entities on which to execute the round face procedure.

Property get: Entities = FirstSetFaces ( );


Return: (ICimEntityList) Entities First set of Entities on which to execute the round face procedure.

IMdRoundFaceFace::FirstSetDirectionSide
Description
This property allows you to get and set the first direction for a round face procedure.

Syntax
Property get:

Direction = FirstSetDirectionSide ( ); Return: (Boolean) Direction Get the application default direction
Property set:

FirstSetDirectionSide ( Direction ); Input: (Boolean) Direction Set the direction


Note
To get the default vector direction, call the method "GetFirstSetDirection"

IMdRoundFaceFace::Extension Description
This property allows you to get and set whether the picked faces will be extended (if required).

Syntax
Property get:

CimatronE 9.0

CimatronE SDK User Guide 577

Status = Extension ( ); Return: (Boolean) Status TRUE to make an extension, if required, to picked faces. Property set: Extension ( Status ); Input: (Boolean) Status TRUE to make an extension, if required, to picked faces.

Remarks
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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 578

Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 579

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

CimatronE 9.0

CimatronE SDK User Guide 580

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.

MdFaceExtend
MdExtend

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 ( )

CimatronE 9.0

CimatronE SDK User Guide 581

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 9.0

CimatronE SDK User Guide 582

Return: (String) Name Procedure name

IMdProcedure::ProcedureType Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. ParameterType

CimatronE 9.0

CimatronE SDK User Guide 583

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) Type of parameter to set. 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.

IMdFaceExtend

IMdFaceExtend This interface represents the "Face" -> "Extend" procedure in CimatronE. Properties
Get, Set Entities Get, Set Delta Get, Set Option ICimEntityList

Double
ExtendOptions

Get, Set NewFace Boolean

Methods None IMdFaceExtend::Delta Description This property allows you to get and set the length of an extend. Syntax
Property get: Delta = Delta ( ); Return: (Double) Delta Length of extend.

CimatronE 9.0

CimatronE SDK User Guide 584

Property set: Delta( Delta ); Return: (Double) Delta Length of extend.

IMdFaceExtend::Entities
Description

This property allows you to get and set the entities (edge of face) to be extended.
Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be extend.

Property set: Entities( Entities );

Input: (ICimEntityList) Entities Entities to be extend.

IMdFaceExtend::NewFace
Description
This property allows you to get and set whether the extend result will be as a new face or the same face.

Syntax
Property get:

Status = NewFace ( );
Return: (Boolean) Status Get extend Status FALSE = Same face. TRUE = New face.

Property set: HealOption( Status );


Input: (Boolean) Status Set extend Status.

FALSE = Same face. TRUE = New face. IMdFaceExtend::Option Description

CimatronE 9.0

CimatronE SDK User Guide 585

This property allows you to get and set the extend face option. Syntax
Property get: ExtendOption = ExtendOption ( ); Return: (ExtendOptions) ExtendOption An extend option. Property set: ExtendOption ( ExtendOption ); Input: (ExtendOptions) ExtendOption An extend option.

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 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 . Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 586

IEntityQuery::GetFilter Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Id Type Model Long EntityEnumType IModel

Geometry IGeometry3D

CimatronE 9.0

CimatronE SDK User Guide 587

Get/Set Show Methods

Boolean

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.

CimatronE 9.0

CimatronE SDK User Guide 588

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.

Edge Procedures
Edge Procedures

CimatronE 9.0

CimatronE SDK User Guide 589

MdHelix
MdHelix

CimatronE 9.0

CimatronE SDK User Guide 590

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 This method executes a procedure. Syntax Execute ( ); IMdProcedure::GetDimensions

CimatronE 9.0

CimatronE SDK User Guide 591

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) Type A 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 9.0

CimatronE SDK User Guide 592

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdHelix

IMdHelix This interface allows you to create a helix. Properties


Get, Set Mode HelixMode

CimatronE 9.0

CimatronE SDK User Guide 593

Get, Set Pitch

Double

Get, Set BaseRadius Double Get, Set UpperRadius Double Get, Set Clockwise Get, Set Direction Get, Set Position Long Variant Variant

Get, Set StartPosition Variant Get, Set Height Double

Methods None IMdHelix::BaseRadius Description This property allows you to get and set a helix base radius. This is the radius of a circle that is in the base of a helix. Syntax
Property get: Radius = BaseRadius ( ); Return: (Double) Radius Radius of helix base circle. Property set: BaseRadius( Radius ); Input: (Double) Radius Radius of helix base circle.

IMdHelix::Clockwise Description This property allows you to define the revolve direction of a helix. Syntax
Property get: ClockwiseDirection = Clockwise ( ); Return: (Boolean) ClockwiseDirection Helix revolve direction. TRUE if clockwise. Property set: Clockwise( ClockwiseDirection );

CimatronE 9.0

CimatronE SDK User Guide 594

Input: (Boolean) ClockwiseDirection Helix revolve direction. TRUE if clockwise.

IMdHelix::Direction Description This property allows you to get and set the direction in which to create a helix. Syntax Property get: Direction = Direction ( );
Return: (Variant) Direction Variant that contains double type one dimensional array of a helix direction vector.

Property set: Direction( Direction );


Input: (Variant) Direction Variant that contains double type one dimensional array of a helix direction vector.

Note All coordinates are given relative to the model's main UCS. IMdHelix::Height Description This property allows you to get and set the height of a helix. Syntax
Property get: Height = Height ( ); Return: (Double) Height Helix height. Property set: Height( Height ); Input: (Double) Height Helix height.

IMdHelix::Mode Description This property defines whether to create a cylindrical or conical helix. Syntax Property get:

CimatronE 9.0

CimatronE SDK User Guide 595

HelixMode = Mode ( );
Return: (HelixMode) HelixMode Helix creation mode. If cmHelixFree - cylindrical, if cmHelixLinear - conical.

Property set: Mode( HelixMode );


Input: (HelixMode) HelixMode Helix creation mode. If cmHelixFree - cylindrical, if cmHelixLinear - conical.

IMdHelix::Pitch Description This property allows you to get and set the height of one turn of a helix. Syntax
Property get: Pitch = Pitch ( ); Return: (Double) Pitch Height of helix one turn. Property set: Pitch( Pitch ); Input: (Double) Pitch Height of helix one turn.

IMdHelix::Position Description This property defines a helix base circle center position. Syntax
Property get: Center = Position ( ); Return: (Variant) Center Property set: Position( Center ); Input: (Variant) Center Variant that contains double type one dimensional array of a helix base circle center position. An array of 3D point coordinates (x,y,z). Variant that contains double type one dimensional array of a helix base circle center position. An array of 3D point coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IMdHelix::StartPosition

CimatronE 9.0

CimatronE SDK User Guide 596

Description This property allows you to get and set a start point on a helix base circle. Syntax Property get: Point = StartPosition ( );
Return: (Variant) Point Variant that contains double type one dimensional array of helix start point on helix base circle.

Property set: StartPosition( Point );


Input: (Variant) Point Variant that contains double type one dimensional array of helix start point on helix base circle.

Note All coordinates are given relative to the model's main UCS. IMdHelix::UpperRadius Description This property allows you to get and set a helix end radius if IMdHelix::Mode is set to cmHelixLinear mode. Syntax
Property get: Radius = UpperRadius ( ); Return: (Double) Radius A helix end radius. Property set: UpperRadius( Radius ); Input: (Double) Radius A helix end radius.

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 9.0

CimatronE SDK User Guide 597

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 598

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 Get Get Get 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::Model Description This property allows you to get a model in which the entity exists. Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 599

Syntax Property get: Model = Model( ); Return: (IModel) Model A model to which the entity relates.

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

MdSpline
MdSpline

CimatronE 9.0

CimatronE SDK User Guide 600

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 601

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 602

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 603

IMdSpline

IMdSpline
This interface allows you to create a true point spline.

Properties

Get/Set Points Get/Set ThroughType

Variant SplineType

Get/Set FirstSplineSlopeWeight Double Get/Set SecondSplineSlopeWeight Double Get/Set FirstDirection Get/Set Mode Get/Set SecondDirection Get/Set SlopeOptionFirst Get/Set SlopeOptionScnd Get/Set Degree Get/Set IsPeriodic Get/Set IsWeights Get/Set KnotsArray Get/Set WeightsArray
Methods
None. Variant

SplineMode
Variant SplineSlopeOption SplineSlopeOption

Integer Boolean Boolean VAriant VAriant

IMdSpline::SlopeOptionSecond Description
This property allows you to get and set a spline slope type at an endpoint.

Syntax
Property get: Type = SlopeOptionScnd( ); Return: (SplineSlopeOption) Type A slope type at a spline endpoint.

Property set: SlopeOptionScnd( Type );

CimatronE 9.0

CimatronE SDK User Guide 604

Return: (SplineSlopeOption) Type A slope type at a spline endpoint.

IMdSpline::SlopeOptionFirst
Description
This property allows you to get and set a spline slope type at a start point.

Syntax
Property get: Type = SlopeOptionFirst( ); Return: (SplineSlopeOption) Type A slope type at a spline start point. Property set: SlopeOptionFirst( Type ); Return: (SplineSlopeOption) Type A slope type at a spline start point.

IMdSpline::SecondSplineSlopeWeight Description
This property allows you to get and set a spline slope weight at an endpoint. This property takes affect only with IMdSpline::SlopeOptionScnd set to constant.

Syntax
Property get: Weight = SecondSplineSlopeWeight( ); Return: (Double) Weight The weight of a spline slope at an endpoint. Property set: SecondSplineSlopeWeight( Weight ); Input: (Double) Weight The weight of a spline slope at an endpoint.

IMdSpline::SecondDirection
Description
This property allows you to get and set the slope direction at the end point of a spline. This property takes affect only with IMdSpline::SlopeOptionScnd set to constant.

Syntax
Property get: Direction = SecondDirection( ); Return: (Variant) Variant that contains double type one dimensional array of vector coordinates that

CimatronE 9.0

CimatronE SDK User Guide 605

Direction Property set:

defines the slope direction at the end point of a spline.

SecondDirection( Coordinates ); Input: (Variant) Direction Variant that contains double type one dimensional array of vector coordinates that defines the slope direction at the end point of a spline.

Note All coordinates are given relative to the model's main UCS.

IMdSpline::Points
Description
This property allows you to get and set point coordinates through which a spline passes.

Syntax
Property get: Coordinates = Points( ); Return: (Variant) Coordinates Variant that contains double type one dimensional array of 3D points coordinates. Also possible a variant type array each element of which contains a double array of point coordinates in (X,Y,Z ) order.

Property set: Points( Coordinates ); Input: (Variant) Coordinates Variant that contains double type one dimensional array of 3D points coordinates. Also possible a variant type array each element of which contains a double array of point coordinates in (X,Y,Z ) order.

Note All coordinates are given relative to the model's main UCS. IMdSpline::Mode Description This property allows you to get and set the Spline procedure mode. Syntax Property get: Mode = Mode ( );

CimatronE 9.0

CimatronE SDK User Guide 606

Return: (SplineMode) Mode Spline procedure mode .

Property set: Mode( Mode );

Input: (SplineMode) Mode Spline procedure mode.

IMdSpline::FirstSplineSlopeWeight Description
This property allows you to get and set a spline slope weight at a start point. This property takes affect only with IMdSpline::SlopeOptionFirst set to constant.

Syntax
Property get: Weight = FirstSplineSlopeWeight( ); Return: (Double) Weight A weight of a spline slope at the start point. Property set: FirstSplineSlopeWeight( Weight ); Input: (Double) Weight A weight of a spline slope at the start point.

IMdSpline::FirstDirection Description
This property allows you to get and set a slope direction at the start point of a spline. This property takes affect only if IMdSpline::SlopeOptionFirst is set to constant.

Syntax
Property get: Direction = FirstDirection( ); Return: (Variant) Direction Property set: FirstDirection( Coordinates ); Variant that contains double type one dimensional array of vector coordinates that defines the slope direction at the start point of a spline.

CimatronE 9.0

CimatronE SDK User Guide 607

Input: (Variant) Variant that contains double type one dimensional array of vector Direction coordinates that defines the slope direction at the start point of a spline.

Note All coordinates are given relative to the model's main UCS. IMdSpline::Degree Description
This property allows you to get and set the Degree of the spline.

Syntax
Property get: Degree = Degree ( ); Return: (Double) Degree Get the Degree of the spline. Property set: Degree ( Degree ); Input: (Double) Degree Set the Degree of the spline.

Remarks IMdSpline::ThroughType Description This property allows you to get and set the Through Type option of a created 3D spline. Syntax Property get: Mode = ThroughType ( );
Return: (SplineType) Mode Spline procedure mode .

Property set: ThroughType ( Mode );


Input: (SplineType) Mode Spline procedure mode.

CimatronE 9.0

CimatronE SDK User Guide 608

IMdSpline::KnotsArray Description
This property allows you to get and the set knots of a spline.

Syntax
Property get: KnotsArr = KnotsArray( ); Return: (Variant) KnotsArr

Get knots array of spline.

Property set: KnotsArray ( KnotsArr ); Input: (Variant) KnotsArr

Set knots array of spline.

Remarks IMdSpline::IsWeights Description


This property allows you to get and set the weight of each control point of a Spline.

Syntax
Property get: GetWeights = IsWeights ( ); Return: (Boolean) GetWeights TRUE if there are Weights. Property set: IsWeights ( SetWeights ); Input: (Boolean) SetWeights TRUE to set Weights.

Remarks IMdSpline::IsPeriodic Description


This property allows you to get and set whether the 3D spline is periodic.

CimatronE 9.0

CimatronE SDK User Guide 609

Syntax
Property get: IsPeriodic = IsPeriodic ( ); Return: (Boolean) IsPeriodic TRUE if the spline is periodic. Property set: IsPeriodic ( IsPeriodic ); Input: (Boolean) IsPeriodic TRUE if the spline is periodic.

Remarks IMdSpline::WeightsArray Description


This property allows you to get and set the weight to each control point of a Spline. This property takes affect only if IMdSpline::IsWeights is TRUE.

Syntax
Property get: Arr = WeightsArray( ); Return: (Variant) Arr Get Weights array. Property set: WeightsArray ( Arr ); Input: (Variant) Arr Set Weights array.

Remarks
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 ( );

CimatronE 9.0

CimatronE SDK User Guide 610

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 611

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 Get Get Get Methods Long IsOwnerWireBody ( ) 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::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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 612

Syntax Geom3D = Geometry( ); Return: (IGeometry3D) Geom3D Pointer to IGeometry3D interface 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::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

MdTrimCurves
MdTrimCurves

CimatronE 9.0

CimatronE SDK User Guide 613

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

CimatronE 9.0

CimatronE SDK User Guide 614

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 615

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 616

IMdTrimCurves

IMdTrimCurves
This interface allows you to trim a curve by points or other entities.

Properties

Get/Set Entities

ICimEntityList

Get/Set TrimmingEntity ICimEntity Get/Set TrimmingPosition Variant Get/Set FlipSideDefault


Methods
None.

Boolean

IMdTrimCurves::Entities
Description

This property allows you to get and set the curve entities to be trimmed.
Syntax
Property get: Entities = Entities ( );

Return: (ICimEntityList) Entities Entities to be trimmed.

Property set: Entities ( Entities );

Input: (ICimEntityList) Entities Entities to be trimmed.

IMdTrimCurves::FlipSideDefault Description

CimatronE 9.0

CimatronE SDK User Guide 617

This property gets and sets the option to flip the trimming side. Syntax
Property get: Opt = FlipSideDefault ( ); Return: (Boolean) Opt Property set: FlipSideDefault ( Opt ); Input: (Boolean) Opt Get trimming side. TRUE = default FALSE = Change the trimming side Get trimming side.

Note IMdTrimCurves::TrimmingEntity Description This property allows you to get and set the trimming entity. Syntax
Property get: Entity = TrimmingEntity ( ); Return: (ICimEntity) Entity Get Trimming entity. Property set: TrimmingEntity ( Entity ); Input: (ICimEntity) Entity Set Trimming entity .

IMdTrimCurves::TrimmingPosition Description This property defines the Trimming position. Syntax


Property get: iPoint = TrimmingPosition ( ); Return: (Variant) iPoint Variant that contains a double-type one-dimensional array of a helix base circle center position. An array of 3D point coordinates (x,y,z).

Property set: TrimmingPosition ( Center );

CimatronE 9.0

CimatronE SDK User Guide 618

Input: (Variant) Variant that contains a double-type one-dimensional array of a helix base circle center iPoint position. An array of 3D point coordinates (x,y,z).

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. Return: (IEntityFilter) 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 619

Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Geometry Description Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 620

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::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::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.

CimatronE 9.0

CimatronE SDK User Guide 621

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

MdProject
MdProject

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 9.0

CimatronE SDK User Guide 622

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

CimatronE 9.0

CimatronE SDK User Guide 623

Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 624

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) Type of parameter to set. 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.

IMdProject

IMdProject This interface represents a project procedure in CimatronE. Properties


Get, Set Get, Set Get Get, Set Get, Set Get, Set Get, Set Get, Set ObjectEntities ReferenceEntities PointNumber Direction DraftOption DraftSide DraftAngle Points ICimEntityList ICimEntityList Double Variant Boolean Boolean Double Variant

Methods RemoveAllEntities ClearData

IMdProject::Direction
Description
This property allows you to get and set the direction of a project.

Syntax

CimatronE 9.0

CimatronE SDK User Guide 625

Property get: DirectionVector = Direction( ); Return: (Variant) DirectionVector Property set: Direction( DirectionVector ); Input: (Variant) DirectionVector Variant that contains double type one dimensional array of vector coordinates that defines project direction. Variant that contains double type one dimensional array of vector coordinates that defines project direction.

Note All coordinates are given relative to the model's main UCS.

IMdProject::DraftAngle
Description
This property allows you to get and set a draft angle for projection.

Syntax
Property get: Angle = DraftAngle( ); Return: (Double) Angle Draft angle. Property set: DraftAngle( Angle ); Input: (Double) Angle Draft angle.

IMdProject::DraftOption
Description
This property allows you to get and set whether a draft angle is available in projection.

Syntax Property get: Status = DraftOption ( );


Return: (Boolean) Status If TRUE (=1) - draft angle is available. If FALSE (= 0) - disable.

Property set: DraftOption( Status );


Input: (Boolean) Status Draft angle is available if property set to TRUE (=1). If FALSE (= 0) - disable.

CimatronE 9.0

CimatronE SDK User Guide 626

IMdProject::DraftSide
Description
This property allows you to get and set a draft angle side. If a projected object is closed, the draft side property defines if a draft angle is directed inside or outside. Otherwise, if a projected object is open, it defines the side of the draft angle.

Syntax Property get: Side = DraftSide ( );


Return: (Boolean) Side If projected object is closed: TRUE (=1) - outside direction of draft angle, FALSE (= 0) inside direction.

Property set: DraftSide( Side );


Input: (Boolean) Side If projected object is closed: TRUE (=1) - outside direction of draft angle, FALSE (= 0) inside direction.

Note
Not relevant for projection of points.

IMdProject::ObjectEntities
Description
This property allows you to get and set objects to be projected.

Syntax
Property get: ProjectEntities = ObjectEntities ( ); Return: (ICimEntityList) ProjectEntities Entities to be projected. Property set: ObjectEntities( ProjectEntities ); Input: (ICimEntityList) ProjectEntities Entities to be projected.

Note
To project points use the IMdProject::Points property.

IMdProject::PointNumber Description
This property returns a number of points to project that were set in the IMdProject::Points property.

Syntax

CimatronE 9.0

CimatronE SDK User Guide 627

Property get: PointNumber = PointNumber ( ); Return: (Double) PointNumber Number of points to be projected .

IMdProject::Points
Description
This property allows you to get and set points to project by their coordinates.

Syntax
Property get: PointCoordinates = Points ( ); Return: (Variant) PointCoordinates Variant that contains double type one dimensional array of 3D point coordinates. Also possible is a variant type array each element of which contains a double array of point coordinates in (X,Y,Z ) order.

Property set: Points( PointCoordinates ); Return: (Variant) PointCoordinates Variant that contains double type one dimensional array of 3D coordinates. Also possible is a variant type array each element of which contains a double array of point coordinates in (X,Y,Z ) order.

Note All coordinates are given relative to the model's main UCS.

IMdProject::ReferenceEntities
Description
This property allows you to get and set a face(s) or plane(s) on which a projection is made.

Syntax
Property get: ProjectPlane = ReferenceEntities( ); Return: (ICimEntityList) ProjectPlane Plane(s) on which projection is made. Property set: ReferenceEntities( ProjectPlane ); Input: (ICimEntityList) ProjectPlane Plane(s) on which to make projection.

IMdProject::RemoveAllEntities Description This method allows you to remove all the entities and points of a procedure.

CimatronE 9.0

CimatronE SDK User Guide 628

Syntax RemoveAllEntities ( );

IMdProject::ClearData Description This method allows you to reset all the parameters of a procedure, remove all entities and points. DraftOption = false, DraftAngle = 1, IsTypeNormal = false, IsKeepOriginal = true, default direction. Syntax ClearData ( );

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 Remark Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 629

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) Filter Filter 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 Get Id Type Long EntityEnumType

CimatronE 9.0

CimatronE SDK User Guide 630

Get Get Methods

Model

IModel Boolean

Geometry IGeometry3D

Get/Set Show

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::Model Description

CimatronE 9.0

CimatronE SDK User Guide 631

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

MdOffset
MdOffset

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods Execute ( ) EnterEditMode ( )

CimatronE 9.0

CimatronE SDK User Guide 632

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.

CimatronE 9.0

CimatronE SDK User Guide 633

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) Type A 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

CimatronE 9.0

CimatronE SDK User Guide 634

ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdOffset

IMdOffset This interface allows you to set offset procedure parameters. An offset may be executed on 2D curves and faces. Properties
Get/Set Entities Get/Set DeltaValue Get/Set DirectionSide ICimEntityList Double Boolean

Get/Set KeepOriginEntity Boolean Get/Set Mode Get/Set RemoveEntity OffsetMode ICimEntity

Methods
None

IMdOffset::DeltaValue Description
This property allows you to define an offset distance.

CimatronE 9.0

CimatronE SDK User Guide 635

Syntax
Property get: Delta = DeltaValue ( ); Return: (Double) Delta Offset distance. Property set: Delta = DeltaValue ( ); Input: (Double) Delta Offset distance.

IMdOffset::Entities Description
This property allows you to set an entity on which to execute an offset procedure.

Syntax Property get: Entities = Entities ( );


Return: (ICimEntityList) Entities A list of entities on which to execute an offset procedure.

Property set: Entities = Entities ( );


Input: (ICimEntityList) Entities A list of entities on which to execute an offset procedure.

Note
Currently, it is only possible to make an offset for one 2D curve entity or for two face entities (first two entities in entity list).

IMdOffset::KeepOriginEntity Description
This property allows you to define whether to keep an original entity from which an offset is made.

Syntax Property get: Status = KeepOriginEntity ( );


Return: (Boolean) Status If FALSE (=0) then delete original entity. By default set TRUE (= 1) - keep original entity.

Property set: Status = KeepOriginEntity ( );

CimatronE 9.0

CimatronE SDK User Guide 636

Input: (Boolean) Status If FALSE (=0) then delete original entity. By default set TRUE (= 1) - keep original entity.

IMdOffset::RemoveEntity Description
This property allows you to delete an entity from a list of entities set by IMdOffset::Entities .

Syntax Property set: RemoveEntity( EntityToRemove );


Input: ( ICimEntity) EntityToRemove An entity to be removed from the list of entities for the offset procedure.

IMdOffset::Mode Description
This property allows you to set a mode in which to create an offset entity. There are four available modes: cmKeep - in this mode offset created entities are not connected to each other. cmExtend (for adjacent faces) and cmNatural (for curves) - in this mode offset created entities are connected to each other by an extension. cmRound (for curves only) - in this mode offset created edges are connected to each other by making round corners between corresponding edge vertices.

Syntax Property get: Mode = Mode ( );


Return: (OffsetMode) Mode Mode in which to perform procedure.

Property set: Mode = Mode ( );


Input: (OffsetMode) Mode Mode in which to perform offset procedure.

IMdOffset::DirectionSide Description
This property allows you to define the side on which to offset entities.

Syntax Property get:

CimatronE 9.0

CimatronE SDK User Guide 637

Side = DirectionSide ( );
Return: (Boolean) Side A side for offset. If TRUE (=1) then change default direction.

Property set: Side = DirectionSide ( );


Input: (Boolean) Side A side for offset. If TRUE (=1) then change default direction.

Note By default, an offset side is calculated as a cross product of a slope vector and outgoing direction of a planar face on which a curve lies for 2D curves and as the outgoing direction for 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 ). 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 Remark Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 638

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) Filter Filter 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 Get Id Type Long EntityEnumType

CimatronE 9.0

CimatronE SDK User Guide 639

Get Get Methods

Model

IModel Boolean

Geometry IGeometry3D

Get/Set Show

Long IsOwnerWireBody ( ) 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::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

CimatronE 9.0

CimatronE SDK User Guide 640

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

MdFaceCurve
MdFaceCurve

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods Execute ( )

CimatronE 9.0

CimatronE SDK User Guide 641

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

CimatronE 9.0

CimatronE SDK User Guide 642

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) Type A 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.

CimatronE 9.0

CimatronE SDK User Guide 643

Syntax ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdFaceCurve

IMdFaceCurve This interface represents the "Curves" -> "From Face" procedure in CimatronE and allows you to create lines from face edges and/or display the lines of this face. Properties
Get, Set Entity Get, Set Mode Get, Set Point ICimEntity eFaceCurveMode Variant

Get, Set SectionOption Boolean Set RemoveEntity ICimEntity

Methods None

IMdFaceCurve::SectionOption
Description

CimatronE 9.0

CimatronE SDK User Guide 644

This property allows you to define which display line to get, section or cross-section, when IMdFaceCurve::Mode is set to get curve from point.

Syntax
Property get: Type = SectionOption( ); Return: (Boolean) Type If TRUE - display line section, if FALSE - display line cross-section. Property set: SectionOption( Type ); Input: (Boolean) Type If TRUE - display line section, if FALSE - display line cross-section.

IMdFaceCurve::RemoveEntity Description
This property allows you to set a face entity to remove from a procedure.

Syntax Property set: RemoveEntity( Face );


Input: (ICimEntity) Face A face entity to remove from procedure.

IMdFaceCurve::Point
Description
This property allows you to get and set a point in which to create a curve from a display line.

Syntax
Property get: Coordinates = Point( ); Return: (Variant) Coordinates Variant that contains double type one dimensional array (X,Y,Z) of point coordinates. Property set: Point( Coordinates ); Input: (Variant) Coordinates Variant that contains double type one dimensional array (X,Y,Z) of point coordinates.

Note All coordinates are given relative to the model's main UCS.

IMdFaceCurve::Mode

CimatronE 9.0

CimatronE SDK User Guide 645

Description
This property allows you to get and set a mode that defines which curves to get from face.

Syntax
Property get: Mode = Mode( ); Return: (eFaceCurveMode) Mode Procedure mode. Property set: Mode( Mode ); Input: (eFaceCurveMode) Mode Procedure mode.

IMdFaceCurve::Entity
Description
This property allows you to get and set a face entity from which to get curves. Curves may be created from face boundaries, face display lines, and face display lines as section or cross-sections in a given point.

Syntax
Property get: Face = Entity( ); Return: (ICimEntity) Face Face from which to get curves. Property set: Entity( Face ); Input: (ICimEntity) Face Face from which to set curves.

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 646

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 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) Filter Filter 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. Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 647

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 Get Get Get 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::Model Description This property allows you to get a model in which the entity exists. Syntax Property get: Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 648

Model = Model( ); Return: (IModel) Model A model to which the entity relates. 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

MdLine
MdLine

CimatronE 9.0

CimatronE SDK User Guide 649

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 This method executes a procedure. Syntax Execute ( ); IMdProcedure::GetDimensions

CimatronE 9.0

CimatronE SDK User Guide 650

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) Type A 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 9.0

CimatronE SDK User Guide 651

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdLine

IMdLine
This interface allows you to set parameters to create lines.

Properties Get/Set Mode


eMdLineMode

CimatronE 9.0

CimatronE SDK User Guide 652

Get/Set BasePointDirection Get/Set DirectionVector Get/Set DirectionSize Get/Set FirstEntity Get/Set SecondEntity Get/Set FirstPoint Get/Set SecondPoint

Variant

Variant
Double ICimEntity ICimEntity Variant Variant

Get/Set FirstEntityTangNormal Long Get/Set SecondEntityTangNormal Long Set Methods


None. RemoveEntity ICimEntity

IMdLine::BasePointDirection
Description
This property allows you to get and set the point coordinates of a line defined by its start point, length and direction.

Syntax
Property get:

Coordinates = BasePointDirection ( );
Return: (Variant) Coordinates Variant that contains double type one dimensional array of a line start point coordinates.

Property set: BasePointDirection( Coordinates );


Input: (Variant) Coordinates Variant that contains double type one dimensional array of a line start point coordinates.

Note All coordinates are given relative to the model's main UCS.

IMdLine::DirectionSize
Description
This property allows you to get and set the length of a line defined by its start point, length and direction.

Syntax

CimatronE 9.0

CimatronE SDK User Guide 653

Property get:

Length = DirectionSize ( );
Return: (Double) Length Lenght of line.

Property set: DirectionSize( Length );


Input: (Double) Length Lenght of line.

IMdLine::DirectionVector
Description
This property allows you to get and set the direction of a line defined by its start point, length and direction.

Syntax
Property get:

Vector = DirectionVector ( );
Return: (Variant) Vector Variant that contains double type one dimensional array of a vector coordinates that defines a line direction.

Property set: DirectionVector( Vector );


Input: (Variant) Vector Variant that contains double type one dimensional array of a vector coordinates that defines a line direction.

Note All coordinates are given relative to the model's main UCS.

IMdLine::FirstEntity
Description
This property allows you to get and set a first entity that defines a line. If an entity is a line, it is necessary to define the location of a new line according to this entity, tangential or normal using the the IMdLine::FirstEntityTangNormal property.

Syntax
Property get:

Entity = FirstEntity ( );
Return: (ICimEntity) Entity An entity that defines a line.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 654

FirstEntity( Entity );
Input: (ICimEntity) Entity An entity that defines a line.

IMdLine::FirstEntityTangNormal
Description
This property allows you to get and set how to create a new line relative to the first entity.

Syntax
Property get:

State = FirstEntityTangNormal ( );
Return: (Boolean) State If FALSE (=0) - make normal to first entity, otherwise make tangent.

Property set: FirstEntityTangNormal( State );


Input: (Boolean) State If FALSE (=0) - make normal to first entity, otherwise make tangent.

IMdLine::FirstPoint
Description
This property allows you to get and set the first vertex coordinates of a line that is defined by coordinates of two points.

Syntax
Property get:

Coordinates = FirstPoint ( );
Return: (Variant) Coordinates Variant that contains double type one dimensional array of a line first vertex coordinates.

Property set:
FirstPoint( Coordinates ); Input: (Variant) Coordinates Variant that contains double type one dimensional array of a line first vertex coordinates.

Note All coordinates are given relative to the model's main UCS.

IMdLine::Mode
Description
This property allows you to get and set the line creation mode.

CimatronE 9.0

CimatronE SDK User Guide 655

Syntax
Property get:

Mode = Mode ( );
Return: (eMdLineMode) Mode A line create mode.

Property set: Mode( Mode );


Input: (eMdLineMode) Mode A line create mode.

IMdLine::SecondEntity
Description
This property allows you to get and set a second entity that defines a line. If an entity is a line, not a point, it is necessary to define the location of a new line according to this entity, tangential or normal.

Syntax Property get: Entity = SecondEntity ( );


Return: (ICimEntity) Entity An entity that defines a line.

Property set: SecondEntity( Entity );


Input: (ICimEntity) Entity An entity that defines a line.

IMdLine::SecondEntityTangNormal
Description
This property allows you to get and set how to create a new line relative to a second entity.

Syntax Property get: State = SecondEntityTangNormal ( );


Return: (Boolean) State If FALSE (0) - make normal to second entity, otherwise make tangent.

Property set: SecondEntityTangNormal( State );


Input: (Boolean) State If FALSE (0) - make normal to second entity, otherwise make tangent.

CimatronE 9.0

CimatronE SDK User Guide 656

IMdLine:: SecondPoint
Description
This property allows you to get and set the second vertex coordinates of a line that is defined by the coordinates of two points.

Syntax
Property get:

Coordinates = SecondPoint ( );
Return: (Variant) Coordinates Variant that contains double type one dimensional array of a line second vertex coordinates.

Property set: SecondPoint( Coordinates );


Input: (Variant) Coordinates Variant that contains double type one dimensional array of a line second vertex coordinates.

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 )

CimatronE 9.0

CimatronE SDK User Guide 657

Input: (EFilterEnumType) Type Type of creating filter. Return: (IEntityFilter) 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) Filter Filter 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

Pointer to created filter.

ICimEntity The ICimEntity interface represents the basic information about entities in CimatronE.

CimatronE 9.0

CimatronE SDK User Guide 658

Properties Get Get Get Get 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( ); Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 659

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.

MdIntersection
MdIntersection

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

CimatronE 9.0

CimatronE SDK User Guide 660

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.

CimatronE 9.0

CimatronE SDK User Guide 661

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) Type A 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

CimatronE 9.0

CimatronE SDK User Guide 662

Description This method allows you to access a specific parameter and get a value from each procedure. Syntax ParameterValue = Get( ParameterType );
Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdIntersection

IMdIntersection This interface allows you to get intersection curves between certain intersected faces or objects. Properties
Get, Set FirstEntities ICimEntityList

Get, Set SecondEntities ICimEntityList Set RemoveEntity ICimEntity, Boolean

Methods
None

IMdIntersection::SecondEntities
Description
This property allows you to get and set a second set of entities that will intersect the first set of entities.

CimatronE 9.0

CimatronE SDK User Guide 663

Syntax
Property get: Entities = SecondEntities( ); Return: (ICimEntityList) Entities Set of faces or objects that intersect the first set of entities. Property set: SecondEntities( Entities ); Input: (ICimEntityList) Entities Set of faces or objects that will intersect first set of entities.

IMdIntersection::RemoveEntity Description
This property allows you to remove any entity from the first or second sets.

Syntax
Property set: RemoveEntity( Entity, SetNumber ); Input: (ICimEntity) Entity Input: (Boolean) SetNumber An entity to be removed. The argument defines from which set an entity Entity must be removed. If TRUE (=1)removes from first set, another from second.

IMdIntersection::FirstEntities
Description
This property allows you to get and set the first set of entities that will be intersected by the second set of entities.

Syntax
Property get: Entities = FirstEntities( ); Return: (ICimEntityList) Entities Set of faces or objects that is intersected. Property set: FirstEntities( Entities ); Input: (ICimEntityList) Entities Set of faces or objects to be intersected.

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 9.0

CimatronE SDK User Guide 664

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 665

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 Get Get Get Methods Long IsOwnerWireBody ( ) 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::Geometry Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 666

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) EntityType Entity type from EntityEnumType enumeration

CimatronE 9.0

CimatronE SDK User Guide 667

MdPoint
MdPoint

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

CimatronE 9.0

CimatronE SDK User Guide 668

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) Type A procedure type.

IMdProcedure::UpdatePreview

CimatronE 9.0

CimatronE SDK User Guide 669

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) Type of parameter to set. 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) Type of parameter to set. 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 (

CimatronE 9.0

CimatronE SDK User Guide 670

ICimEntityList) object and also an array of simple types.

IMdPoint

IMdPoint
This interface allows you to create points by their coordinates. It is possible to create more than one point in each call of a procedure.

Properties
Get, Set Points Variant

Methods
None.

IMdPoint::Points Description
This property allows you to get and set point coordinates to be created.

Syntax
Property get: Coordiantes= Points( ); Return: (Variant) Coordinates Property set: Points( Coordiantes ); Input: (Variant) Coordinates Variant that contains double type array of 3D points coordinates. Also possible a variant type array each element of which contains a double array of point coordinates in (X,Y,Z ) order. Variant that contains double type array of 3D points coordinates. Also possible a variant type array each element of which contains a double array of point coordinates in (X,Y,Z ) order.

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

CimatronE 9.0

CimatronE SDK User Guide 671

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 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) Filter Filter 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 672

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 Get Get Get Methods Long IsOwnerWireBody ( ) 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. Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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

CimatronE 9.0

CimatronE SDK User Guide 673

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

MdCompositeCurve
MdCompositeCurve

CimatronE 9.0

CimatronE SDK User Guide 674

IMdCompositeCurve

IMdCompositeCurve
This interface allows you to set parameters to create a Composite Curve.

Properties

Get/Set Entities Get/Set SplineMode Get/Set WithFair


Methods
None.

ICimEntityList Boolean Boolean

Get/Set GeneralRadius Double

IMdCompositeCurve::Entities Description This property allows you to get entities set for a Composite Curve procedure. Syntax Property get: Entities = Entities ( );

Return: (ICimEntityList) Entities Entities to create a Composite Curve.

MdAdvancedLine
MdAdvancedLine

CimatronE 9.0

CimatronE SDK User Guide 675

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 676

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 677

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 678

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 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) Filter Filter by which selection mades IEntityQuery::Select Description Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 679

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 Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Model Description This property allows you to get a model in which the entity exists. Syntax Property get: Model = Model( ); Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 680

Return: (IModel) Model A model to which the entity relates. 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

CimatronE 9.0

CimatronE SDK User Guide 681

EntityType = Type ( ); Return: (EntityEnumType) EntityType Entity type from EntityEnumType enumeration

MdSplitCurves
MdSplitCurve

IMdSplitCurves

IMdSplitCurves
This interface allows you to split curves by points or other entities.

Properties

Get/Set Entities

ICimEntityList

Get/Set SplittingEntity ICimEntity Get/Set SplittingPosition Variant


Methods
None.

IMdSplitCurves::Entities
Description

This property allows you to get and set the curve entities to be split.
Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be split.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 682

Entities( Entities );

Input: (ICimEntityList) Entities Entities to be split.

IMdSplitCurves::SplittingEntity Description This property allows you to get and set the split entity. Syntax
Property get: Entity = SplittingEntity ( ); Return: (ICimEntity) Entity Get splitting entity. Property set: SplittingEntity ( Entity ); Input: (ICimEntity) Entity Set splitting entity .

IMdSplitCurves::SplittingPosition Description This property defines the splitting position. Syntax


Property get: iPoint = Position ( ); Return: (Variant) iPoint Variant that contains a double-type one-dimensional array of a helix base circle center position. An array of 3D point coordinates (x,y,z).

Property set: Position( Center ); Input: (Variant) Variant that contains double-type one-dimensional array of a helix base circle center position. iPoint An array of 3D point coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS.

MdPointsOnCurve
MdPointsOnCurve

CimatronE 9.0

CimatronE SDK User Guide 683

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 ( );

CimatronE 9.0

CimatronE SDK User Guide 684

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) Type A procedure type.

IMdProcedure::UpdatePreview Description

CimatronE 9.0

CimatronE SDK User Guide 685

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) Type of parameter to set. 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 686

IMdPointsOnCurve

IMdPointsOnCurve This interface allows you to create points on a selected curve. Properties Get, Set Mode Get, Set Entity MdPointsOnCurveMode ICimEntity

Get, Set IntervalsNumberInteger Get, Set ReferancePoint Variant Get, Set Distance Get, Set Counter Get, Set Direction Get, Set DirectionSide Methods None Double Integer Variant Long

IMdPointsOnCurve::Mode Description This property allows you to define by which mode to create points on a curve (By Distance or By Intervals). Syntax Property get: Mode = Mode;
Return: (MdPointsOnCurveMode) Mode The mode by which points are created on a curve (By Distance or

By Intervals).

Property set: Mode = Mode;


Input: (MdPointsOnCurveMode) Mode The mode by which points are created on a curve (By Distance or

By Intervals).

Note

CimatronE 9.0

CimatronE SDK User Guide 687

IMdPointsOnCurve::Entity Description This property allows you to get and set the curve on which to create the points. Syntax Property get: Entity = Entity;
Return: (ICimEntity) Entity Get the curve.

Property set: Entity = Entity;


Input: (ICimEntity) Entity Set the curve.

IMdPointsOnCurve::IntervalsNumber Description
This property allows you to get and set the number of intervals on a selected curve.

Syntax
Property get:

IntervalsNumber= IntervalsNumber;
Return: (Integer) IntervalsNumber Get the number of intervals.

Property set:

IntervalsNumber = IntervalsNumber;
Input: (Integer) IntervalsNumber Set the number of intervals.

Remarks IMdPointsOnCurve::ReferancePoint Description This property allows you to get and set a point from which to start creating the points on the selected curve.

CimatronE 9.0

CimatronE SDK User Guide 688

Syntax Property get: Point = ReferancePoint;


Return: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates.

Property set: ReferancePoint = Point;


Input: (Variant) Point Variant that contains double type one dimensional array of 3D point coordinates.

Note All coordinates are given relative to the model's main UCS.

IMdPointsOnCurve::Distance
Description
This property allows you to get and set the distance between each point on the selected curve.

Syntax
Property get:

Distance = Distance;
Return: (Double) Distance Distance between each point on the selected curve.

Property set:

Distance = Distance;
Input: (Double) Distance Distance between each point on the selected curve.

IMdPointsOnCurve::Counter
Description
This property allows you to get and set the number of points that will be created on the selected curve.

Syntax
Property get:

Num = Counter;
Return: (Integer) Num Number of points that will be created on the selected curve.

CimatronE 9.0

CimatronE SDK User Guide 689

Property set:

Counter = Num;
Input: (Integer) Num Number of points that will be created on the selected curve.

IMdPointsOnCurve::Direction Description This property allows you to get and set the direction side for the created points on the selected curve. Syntax
Property get: Direction = Direction; Return: (Variant) Variant that contains double type one dimensional array of a vector coordinates that Direction defines the direction side for the created points on the selected curve.

Property set:

Direction = Direction;
Input: (Variant) Variant that contains double type one dimensional array of a vector coordinates that Direction defines the direction side for the created points on the selected curve.

Note All coordinates are given relative to the model's main UCS.

IMdPointsOnCurve::DirectionSide
This property allows you to define the side on which to create the points on the selected curve.

Syntax

Property get: Side = DirectionSide;


Return: (Boolean) Side A side on which to create the points on the selected curve. If TRUE (=1) then change default direction.

Property set: DirectionSide = Side;


Input: (Boolean) Side A side on which to create the points on the selected curve. If TRUE (=1) then change default direction.

The direction side is needed only if you use the ReferancePoint property.

CimatronE 9.0

CimatronE SDK User Guide 690

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 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) Filter Filter by which selection mades Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 691

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 Get Get Get 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 . Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 692

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::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::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 9.0

CimatronE SDK User Guide 693

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

MdCurveExtend
MdCurveExtend

IMdCurveExtend

IMdCurveExtend This interface represents the "Curve -> Extend" procedure in CimatronE. Properties
Get, Set Entity Get, Set DeltaValue Get, Set ExtendSide Get, Set LinearOption ICimEntity

Double CurveExtendSideCurveOptions
CurveExtendLinearOptions

Get, Set ReferenceEntity ICimEntity Get, Set ReferenceOption CurveExtendReferenceOptions

Methods None IMdCurveExtend::DeltaValue Description This property allows you to get and set the length of a curve extend. Syntax
Property get:

CimatronE 9.0

CimatronE SDK User Guide 694

Delta = DeltaValue ( ); Return: (Double) DeltaValue Length of extend. Property set: DeltaValue ( Delta ); Return: (Double) DeltaValue Length of extend.

Remarks This property will take effect only if ReferenceOption = cmExtendCurveDelta. IMdCurveExtend::Entity
Description

This property allows you to get and set the entity (curve) to be extended.
Syntax
Property get:

Entity = Entity( ); Return: (ICimEntity) Entity Entity to be extended.


Property set:

Entity ( Entity ); Input: (ICimEntity) Entity Entity to be extended. IMdCurveExtend::ExtendSide Description This property allows you to get and set the curve extend side option. Syntax
Property get: ExtendSide = ExtendSide ( ); Return: (CurveExtendSideCurveOptions) ExtendSide Curve extend side option. Property set: ExtendSide ( ExtendSide ); Input: (CurveExtendSideCurveOptions) ExtendSide Curve extend side option.

IMdCurveExtend::LinearOption Description

CimatronE 9.0

CimatronE SDK User Guide 695

This property allows you to get and set the linear option for curve extend. Syntax
Property get: Option = LinearOption ( ); Return: (CurveExtendLinearOptions) Option Curve extend linear option. Property set: LinearOption ( Option ); Input: (CurveExtendLinearOptions) Option Curve extend linear option.

IMdCurveExtend::ReferenceEntity
Description

This property allows you to get and set the reference entity.
Syntax
Property get:

Entity = ReferenceEntity ( ); Return: (ICimEntity) Entity Get reference entity.


Property set:

ReferenceEntity ( Entity ); Input: (ICimEntity) Entity Set reference entity. Remarks This property will take effect only if ReferenceOption = cmExtendCurveReference. IMdCurveExtend::ReferenceOption Description This property allows you to get and set the reference option for curve extend. Syntax
Property get: Option = ReferenceOption ( ); Return: (CurveExtendLinearOptions) Option Curve extend reference option. Property set:

CimatronE 9.0

CimatronE SDK User Guide 696

ReferenceOption ( Option ); Input: (CurveExtendLinearOptions) Option Curve extend reference option.

MdPolyLine
MdPolyLine

IMdPolyLine

IMdPolyLine
This interface allows you to set parameters on PolyLines.

Properties Get/Set Tolerance Double Get/Set Closed Get/Set Points Methods


None. Bool Variant

IMdPolyLine::Tolerance Description
This property allows you to get and set the tolerance for PolyLines.

Syntax
Property get:

PolyLineTolerance = Tolerance ( );
Return: (Double) *pVal A PolyLine tolerance.

Property set: Tolerance ( Double );


Input: (Double) NewVal A PolyLine tolerance.

CimatronE 9.0

CimatronE SDK User Guide 697

IMdPolyLine::Closed Description
This property allows you to get and set a closed PolyLine.

Syntax
Property get:

PolyLineClosed = Closed ( );
Return: (Boolean) *pVal A closed PolyLine.

Property set: Closed ( Boolean );


Input: (Boolean) NewVal A closed PolyLine.

IMdPolyLine::Points Description
This property allows you to get and set a points of a PolyLine.

Syntax
Property get:

PolyLinePoints = Points ( );
Return: (Variant) *pVal The points of a PolyLine.

Property set: Points ( Variant );


Input: (Variant) iPoints The points of a PolyLine.

Move Procedures
Move Procedures

CimatronE 9.0

CimatronE SDK User Guide 698

MdMoveRadial
MdMoveRadial

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 9.0

CimatronE SDK User Guide 699

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

CimatronE 9.0

CimatronE SDK User Guide 700

Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 701

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) Type of parameter to set. 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.

IMdMoveRadial

IMdMoveRadial
This interface represents the radial move procedure in CimatronE.

Properties
Get, Set Entities Get, Set Axis Get, Set AngleValue ICimEntityList ICimEntity Double

Get, Set DirectionSide Boolean Set RemoveEntity ICimEntity

Methods
None

IMdMoveRadial::AngleValue
Description
This property allows you to get and set an angle on which to rotate an entity. An angle can get values from 0.01 to 360 degrees.

Syntax
Property get: Angle = AngleValue( ); Return: (Double) Angle The angle at which an entity rotated around an axis. Property set: AngleValue( Angle );

CimatronE 9.0

CimatronE SDK User Guide 702

Input: (Double) Angle The angle at which an entity will be rotated around an axis.

IMdMoveRadial::Axis Description
This property allows you to get and set a rotation axis .

Syntax
Property get: Axis = Axis( ); Return: (ICimEntity) Axis An axis around which rotation is done.

Property set: Axis( Axis ); Input: (ICimEntity) Axis An axis around which rotation will be is done.

IMdMoveRadial::DirectionSide Description
This property allows you to get and set a rotation direction.

Syntax
Property get: RotationDirection = DirectionSide( ); Return: (Boolean) RotationDirection Property set: DirectionSide( RotationDirection ); Input: (Boolean) RotationDirection If TRUE (=1) clockwise direction around rotation axis, if FALSE (=0) anticlockwise direction. If TRUE (=1) clockwise direction around rotation axis, if FALSE (=0) anticlockwise direction.

Note
A clockwise direction is defined by a circuit around a rotation axis when looking in the direction of an axis formative vector.

IMdMoveRadial::Entities
Description
This property allows you to get and set entities for radial move.

Syntax
Property get:

CimatronE 9.0

CimatronE SDK User Guide 703

Entities = Entities( ); Return: (ICimEntityList) Entities Moved entities. Property set: Entities( Entities ); Input: (ICimEntityList) Entities Entities to be moved.

IMdMoveRadial::RemoveEntity
Description
This property allows you to delete an entity from a set of entities to be moved.

Syntax Property set: RemoveEntity( Entity ); Input: (ICimEntity) Entity An entity to be removed from a set of entities for a radial move.
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 )

CimatronE 9.0

CimatronE SDK User Guide 704

Input: (EFilterEnumType) Type Type of creating filter. Return: (IEntityFilter) 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) Filter Filter 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

Pointer to created filter.

ICimEntity The ICimEntity interface represents the basic information about entities in CimatronE.

CimatronE 9.0

CimatronE SDK User Guide 705

Properties Get Get Get Get Methods Long IsOwnerWireBody ( ) 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::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 Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 706

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

MdMoveLinear
MdMoveLinear

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

CimatronE 9.0

CimatronE SDK User Guide 707

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.

CimatronE 9.0

CimatronE SDK User Guide 708

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) Type A 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 )

CimatronE 9.0

CimatronE SDK User Guide 709

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) Type of parameter to set. 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) Type of parameter to set. 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.

IMdMoveLinear

IMdMoveLinear
This interface represents a linear shift of geometry. Four types of linear move are possible : 1. 2. 3. 4. by two points; by setting the delta parameter for X,Y,Z; by two UCS; by vector and length of shift.

Properties
Get/Set Entities Get/Set Mode Get/Set Direction Get/Set DirectionDelta ICimEntityList MoveLinearMode Variant Double

CimatronE 9.0

CimatronE SDK User Guide 710

Get/Set DeltaX Get/Set DeltaY Get/Set DeltaZ Get/Set OriginPosition

Double Double Double Variant

Get/Set DestinationPosition Variant Get/Set OriginUcs Get/Set DestinationUcs IUcs IUcs

Methods
None

IMdMoveLinear::DeltaX Description
This property allows you to get and set an X-coordinate of delta shift for the linear move procedure.

Syntax
Property get: X = DeltaX( ); Return: (Double) X X-coordinate of delta shift. Property set: DeltaX( X ); Input: (Double) X X-coordinate of delta shift.

IMdMoveLinear::DeltaY Description
This property allows you to get and set a Y-coordinate of delta shift for the linear move procedure.

Syntax Property get:


Y = DeltaY( );

Return: (Double) Y Y-coordinate of delta shift. Property set: DeltaY( Y ); Input: (Double) Y Y-coordinate of delta shift. IMdMoveLinear::DeltaZ

CimatronE 9.0

CimatronE SDK User Guide 711

Description
This property allows you to get and set a Z-coordinate of the delta shift for the linear move procedure.

Syntax
Property get: Z = DeltaZ( ); Return: (Double) Z Z-coordinate of delta shift. Property set: DeltaZ( Z ); Input: (Double) Z Z-coordinate of delta shift.

IMdMoveLinear::DestinationPosition Description
This property allows you to get and set a destination position according to which entities are moved by linear procedure.

Syntax
Property get: Position = DestinationPosition( ); Return: (Variant) Position Property set: DestinationPosition( Position ); Input: (Variant) Position Variant that contains double type one dimensional array of destination position coordinates (x,y,z). Variant that contains double type one dimensional array of destination position coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IMdMoveLinear::DestinationUcs Description
This property allows you to get and set a destination UCS according to which entities are moved .

Syntax
Property get: Ucs = DestinationUcs( ); Return: (IUcs) Ucs Destination UCS .

CimatronE 9.0

CimatronE SDK User Guide 712

Property set: DestinationUcs( Ucs ); Input: (IUcs) Ucs Destination UCS .

IMdMoveLinear::Direction Description
This property allows you to get and set a vector of shift for the linear move procedure.

Syntax
Property get: Vector = Direction( ); Return: (Variant) Vector Variant that contains double type one dimensional array of shift vector. Property set: Direction( Vector ); Input: (Variant) Vector Variant that contains double type one dimensional array of shift vector.

Note All coordinates are given relative to the model's main UCS. IMdMoveLinear::DirectionDelta Description
This property allows you to get and set a length of shift by a vector for the linear move procedure.

Syntax
Property get: Delta = DirectionDelta( ); Return: (Double) Delta Length of shift along a vector. Property set: DirectionDelta( Delta ); Return: (Double) Delta Length of shift along a vector.

IMdMoveLinear::Entities Description This property allows you to get and set the entities to be moved by linear procedure. Syntax

CimatronE 9.0

CimatronE SDK User Guide 713

Property get: Entities = Entities( ); Return: (ICimEntityList) Entities Entities to be moved. Property set: Entities( Entities ); Input: (ICimEntityList) Entities Entities to be moved.

IMdMoveLinear::Mode Description
This property allows you to get and set a mode according to which entities are moved by linear procedure.

Syntax
Property get: Mode = Mode( ); Return: (MoveLinearMode) Mode Type of move in linear move procedure. Property set: Mode( Mode ); Input: (MoveLinearMode) Mode Type of move in linear move procedure.

IMdMoveLinear::OriginPosition Description
This property allows you to get and set an origin position from which the entities are moved by linear procedure.

Syntax
Property get: Position = OriginPosition( ); Return: (Variant) Position Variant that contains double type one dimensional array of origin position coordinates. Property set: OriginPosition( Position ); Input: (Variant) Position Variant that contains double type one dimensional array of origin position coordinates.

Note All coordinates are given relative to the model's main UCS. IMdMoveLinear::OriginUcs

CimatronE 9.0

CimatronE SDK User Guide 714

Description
This property allows you to get and set an original UCS according to which entities are moved by linear procedure.

Syntax
Property get: Ucs = OriginUcs( ); Return: (IUcs) Ucs Origin UCS . Property set: OriginUcs( Ucs ); Input: (IUcs) Ucs Origin 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. Return: (IEntityFilter) Filter Remark Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 715

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) Filter Filter 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

CimatronE 9.0

CimatronE SDK User Guide 716

Get Get Get Methods

Type Model

EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

Long IsOwnerWireBody ( ) 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::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 ( );

CimatronE 9.0

CimatronE SDK User Guide 717

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

MdMoveMirror
MdMoveMirror

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods

CimatronE 9.0

CimatronE SDK User Guide 718

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

CimatronE 9.0

CimatronE SDK User Guide 719

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) Type A 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.

CimatronE 9.0

CimatronE SDK User Guide 720

Syntax ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdMoveMirror

IMdMoveMirror
This interface represents a mirror move of geometry.

Properties
Get/Set Entities ICimEntityList

Get/Set MirrorEntity ICimEntity

Methods
None

IMdMoveMirror ::Entities Description


This property allows you to get and set the entities to be mirrored by move mirror procedure.

Syntax
Property get: Entities = Entities( );

CimatronE 9.0

CimatronE SDK User Guide 721

Return: (ICimEntityList) Entities Entites in move mirror procedure. Property set: Entities( Entities ); Input: (ICimEntityList) Entities Entites for move mirror procedure.

IMdMoveMirror ::MirrorEntity Description


This property allows you to get and set an entity relative to which the mirror move is done.

Syntax
Property get: MirrorEntity = MirrorEntity( ); Return: (ICimEntity) MirrorEntity Mirror entity. Property set: MirrorEntity( MirrorEntity ); Return: (ICimEntity) MirrorEntity Mirror entity.

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 )

CimatronE 9.0

CimatronE SDK User Guide 722

Input: (EFilterEnumType) Type Type of creating filter. Return: (IEntityFilter) 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) Filter Filter 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

Pointer to created filter.

ICimEntity The ICimEntity interface represents the basic information about entities in CimatronE.

CimatronE 9.0

CimatronE SDK User Guide 723

Properties Get Get Get Get Methods Long IsOwnerWireBody ( ) 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::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 Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 724

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

MdApplyTransformation
MdApplyTransformation

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

CimatronE 9.0

CimatronE SDK User Guide 725

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.

CimatronE 9.0

CimatronE SDK User Guide 726

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) Type A 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

CimatronE 9.0

CimatronE SDK User Guide 727

Description This method allows you to access a specific parameter and get a value from each procedure. Syntax ParameterValue = Get( ParameterType );
Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

IMdApplyTransformation

IMdApplyTransformation This interface allows you to move any geometry by setting the transformation. Properties Get Entities
ICimEntityList

Get AffineVector1 Variant Get AffineVector2 Variant Get AffineVector3 Variant Get LinearVector Variant Methods

Remarks

CimatronE 9.0

CimatronE SDK User Guide 728

The result of this interface is the Move Linear feature. IMdApplyTransformation This interface allows you to move any geometry by setting the transformation. Properties Get Entities
ICimEntityList

Get AffineVector1 Variant Get AffineVector2 Variant Get AffineVector3 Variant Get LinearVector Variant Methods

Remarks The result of this interface is the Move Linear feature. IMdApplyTransformation::AffineVector1 Description
This property allows you to set a vector for the X direction in the IMdApplyTransformation procedure.

Syntax
Property set: AffineVector1 ( Vector ); Input: (Variant) Vector Variant that contains a double-type one-dimensional array of vector.

Note All coordinates are given relative to the model's main UCS. IMdApplyTransformation::AffineVector2 Description
This property allows you to set a vector for the Y direction in the IMdApplyTransformation procedure.

Syntax
Property set: AffineVector2 ( Vector ); Input: (Variant) Vector Variant that contains double type one dimensional array of vector.

CimatronE 9.0

CimatronE SDK User Guide 729

Note All coordinates are given relative to the model's main UCS. IMdApplyTransformation::AffineVector3 Description
This property allows you to set a vector in the Z direction for the IMdApplyTransformation procedure.

Syntax
Property set: AffineVector3 ( Vector ); Input: (Variant) Vector Variant that contains a double-type one-dimensional array of vector.

Note All coordinates are given relative to the model's main UCS. IMdApplyTransformation::Entities
Description

This property allows you to set the entities to be moved by the IMdApplyTransformation procedure.
Syntax
Property set: Entities( Entities );

Input: (ICimEntityList) Entities Entities to be copied.

IMdApplyTransformation::LinearVector Description
This property allows you to set a shift vector for the IMdApplyTransformation procedure.

Syntax
Property set: LinearVector ( Vector ); Input: (Variant) Vector Variant that contains a double-type one-dimensional array of vector.

Note All coordinates are given relative to the model's main UCS.

CimatronE 9.0

CimatronE SDK User Guide 730

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 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) Filter Filter by which selection mades Pointer to created filter.

IEntityQuery::Select

CimatronE 9.0

CimatronE SDK User Guide 731

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 Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Model Description This property allows you to get a model in which the entity exists. Syntax Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 732

Property get: Model = Model( ); Return: (IModel) Model A model to which the entity relates. 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.

CimatronE 9.0

CimatronE SDK User Guide 733

Syntax EntityType = Type ( ); Return: (EntityEnumType) EntityType Entity type from EntityEnumType enumeration

GUI
Control Dialog
IUserControlDialog
This interface represents an interaction interface of the user control dialog.

Properties
Get,Set Title

String Integer Integer Integer Integer Integer Integer Boolean

Get,Set CoordinateMapping ECoordinateMapping Get,Set XPos Get,Set YPos Get,Set ControlXPos Get,Set ControlYPos Get,Set ControlWidth Get,Set ControlHeight Get,Set Titlebar

Methods Create ( ); SetControl ( String ); Close ( );


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"

CimatronE 9.0

CimatronE SDK User Guide 734

Message
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

Copy Procedures
Copy Procedures

MdCopySingle

CimatronE 9.0

CimatronE SDK User Guide 735

MdCopySingle

IMdCopySingle

IMdCopySingle
This interface represents a linear copy of geometry.

Properties

Get/Set Entities

ICimEntityList

Get/Set DependedFaceMode Boolean Get/Set DirectionVector Get/Set MergeMode Get/Set VectorDelta Get/Set DeltaX Get/Set DeltaY Get/Set DeltaZ Get/Set OriginUCS Get/Set DestinationUCS Get/Set OriginPoint Get/Set DestinationPoint Get/Set RelocateMode Variant Boolean Double Double Double Double

ICimEntity ICimEntity
Variant Variant

MdCopySingleMode

Methods
None

IMdCopySingle::DeltaX
Description

CimatronE 9.0

CimatronE SDK User Guide 736

This property allows you to get and set the X-coordinate of the delta shift for the linear move procedure.

Syntax
Property get:

DeltaX = VectorDelta( );

Return: (Double) DeltaX X-coordinate of the delta shift.

Property set:

VectorDelta( DeltaX );

Input: (Double) DeltaX X-coordinate of the delta shift.

Note

IMdCopySingle::DeltaY
Description
This property allows you to get and set the Y-coordinate of the delta shift for the linear move procedure.

Syntax
Property get:

DeltaY = VectorDelta( );

Return: (Double) DeltaY Y-coordinate of the delta shift.

Property set:

VectorDelta( DeltaY );

CimatronE 9.0

CimatronE SDK User Guide 737

Input: (Double) DeltaY Y-coordinate of the delta shift.

Note

IMdCopySingle::DeltaZ
Description
This property allows you to get and set Z-coordinate of the delta shift for the linear move procedure.

Syntax
Property get:

DeltaZ = VectorDelta( );

Return: (Double) DeltaZ Z-coordinate of the delta shift.

Property set:

VectorDelta( DeltaZ );

Input: (Double) DeltaZ Z-coordinate of the delta shift.

Note

IMdCopySingle::DependedFaceMode
Description

This property allows you to get and set the entities you want to copy related on the picked entity
Syntax
Property get: Status = DependedFaceMode( );

CimatronE 9.0

CimatronE SDK User Guide 738

Return: (Boolean) Status Status of depended face mode

Property set:

DependedFaceMode( Status );

Input: (Boolean) Status TRUE(default) = Copy all faces belonging to the same feature FALSE = insert individual faces

IMdCopySingle::DestinationPoint
Description
This property allows you to get and set a destination position according to which entities are copied by linear single procedure.

Syntax
Property get: Position = DestinationPoint( );

Return: (Variant) Position

Variant that contains a double-type one-dimensional array of destination position coordinates (x,y,z).

Property set:

DestinationPoint( Position );

Input: (Variant) Position

Variant that contains a double-type one-dimensional array of destination position coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IMdCopySingle::DestinationUCS
Description

CimatronE 9.0

CimatronE SDK User Guide 739

This property allows you to get and set the Destination UCS from which the entities are copied by linear single procedure.

Syntax
Property get: iUCS = DestinationUCS( );

Return: (ICimEntity) iUCS UCS entity.

Property set:

DestinationUCS( Position );

Input: (ICimEntity) iUCS UCS entity.

Note

IMdCopySingle::DirectionVector
Description
This property allows you to get and set a vector of shift for the copy single procedure.

Syntax
Property get: Vector = DirectionVector( );

Return: (Variant) Vector Variant that contains double-type one-dimensional array of shift vector.

Property set:

DirectionVector( Vector );

CimatronE 9.0

CimatronE SDK User Guide 740

Input: (Variant) Vector

Variant that contains double-type one-dimensional array of shift vector.

Note All coordinates are given relative to the model's main UCS. IMdCopySingle::Entities
Description

This property allows you to get and set the entities to be copied.
Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be copied.

Property set: Entities( Entities );

Input: (ICimEntityList) Entities Entities to be copied.

IMdCopySingle::MergeMode
Description

This property allows you to get and set whether the copy will be created as a single object or individual objects.
Syntax
Property get: Status = MergeMode( );

Return: (Boolean) Status Current Status.

Property set:

MergeMode( Status );

CimatronE 9.0

CimatronE SDK User Guide 741

Input: (Boolean) Status TRUE = copied entities are part of the object FALSE(default) = each copied item will be an individual object.

Remarks This option will not work in case that DependedFaceMode is set to TRUE

IMdCopySingle::OriginPoint
Description
This property allows you to get and set an origin position from which the entities are copied by linear single procedure.

Syntax
Property get: Position = OriginPoint( );

Return: (Variant) Position Variant that contains double-type one-dimensional array of origin position coordinates.

Property set:

OriginPoint( Position );

Input: (Variant) Position

Variant that contains double-type one-dimensional array of origin position coordinates.

Note All coordinates are given relative to the model's main UCS. IMdCopySingle::OriginUCS
Description
This property allows you to get and set the origin UCS from which the entities are copied by linear single procedure.

Syntax
Property get: iUCS = OriginUCS( );

CimatronE 9.0

CimatronE SDK User Guide 742

Return: (ICimEntity) iUCS UCS entity.

Property set:

OriginUCS( Position );

Input: (ICimEntity) iUCS UCS entity.

Note

IMdCopySingle::RelocateMode
Description
This property allows you to get and set a mode according to which entities are moved by linear procedure.

Syntax
Property get: Mode = RelocateMode( );

Return: (MdCopySingleMode) Mode Type of copy in single copy procedure.

Property set:

RelocateMode( Mode );

Input: (MdCopySingleMode) Mode Type of copy in single copy procedure.

IMdCopySingle::VectorDelta
Description
This property allows you to get and set Direction Delta.

CimatronE 9.0

CimatronE SDK User Guide 743

Syntax
Property get:

Delta = VectorDelta( );

Return: (Double) Delta Direction Delta .

Property set:

VectorDelta( Delta );

Input: (Double) Delta Direction Delta .

Note

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 9.0

CimatronE SDK User Guide 744

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

CimatronE 9.0

CimatronE SDK User Guide 745

Description This property allows you to get the procedure type . Syntax Property get: Type = ProcedureType ( );
Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 746

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) Type of parameter to set. 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.

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 Remark Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 747

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) Filter Filter 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 Get Id Type Long EntityEnumType

CimatronE 9.0

CimatronE SDK User Guide 748

Get Get Methods

Model

IModel Boolean

Geometry IGeometry3D

Get/Set Show

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::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::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

CimatronE 9.0

CimatronE SDK User Guide 749

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

MdCopyLinear
MdCopyLinear

IMdCopyLinear

IMdCopyLinear
This interface represents a linear copy of geometry.

Properties

Get/Set Entities

ICimEntityList

CimatronE 9.0

CimatronE SDK User Guide 750

Get/Set ArrayFullMode

Boolean

Get/Set DependedFaceMode Boolean Get/Set DirectionVectorX Get/Set DirectionVectorY Get/Set MergeMode Get/Set Points Get/Set UcsEntity Get/Set XCounter Get/Set XDistance Get/Set YCounter Get/Set YDistance Variant Variant Boolean Variant IUcs Long Double Long Double

Methods
None

IMdCopyLinear::ArrayFullMode
Description

This property allows you to get and set if array spaces will be filled.
Syntax
Property get: Status = ArrayFullMode( );

Return: (Boolean) Status Status of the Array Full Mode.

Property set:

ArrayFullMode( Status );

Input: (Boolean) Status TRUE = means that all array spaces will be filled FALSE = as opposed to Boundary Only

IMdCopyLinear::DependedFaceMode

CimatronE 9.0

CimatronE SDK User Guide 751

Description

This property allows you to get and set the entities you want to copy related to the picked entity.
Syntax
Property get: Status = DependedFaceMode( );

Return: (Boolean) Status Status of depended face mode

Property set:

DependedFaceMode( Status );

Input: (Boolean) Status TRUE(default) = Copy all faces belonging to the same feature FALSE = insert individual faces

IMdCopyLinear::YDistance
Description
This property allows you to get and set the distance between each copied item in the Y direction.

Syntax
Property get:

Distance = YDistance( );

Return: (Double) Distance Distance between each copied item in the Y direction.

Property set:

YDistance( Distance );

CimatronE 9.0

CimatronE SDK User Guide 752

Input: (Double) Distance Distance between each copied item in the Y direction.

Note

IMdCopyLinear::YCounter
Description
This property allows you to get and set the number that represents the total number of items that will by copied in the Y direction.

Syntax
Property get: Num = YCounter( );

Return: (Long) Num Number of items that will by copied in the Y direction.

Property set:

YCounter( Num );

Input: (Long) Num Number of items that will by copied in the Y direction.

Note All coordinates are given relative to the model's main UCS. IMdCopyLinear::XDistance
Description
This property allows you to get and set the distance between each copied item in the X direction.

Syntax
Property get:

Distance = XDistance( );

CimatronE 9.0

CimatronE SDK User Guide 753

Return: (Double) Distance Distance between each copied item in the X direction.

Property set:

XDistance( Distance );

Input: (Double) Distance Distance between each copied item in the X direction.

Note

IMdCopyLinear::XCounter
Description
This property allows you to get and set the number representing the total number of items that will by copied in the X direction.

Syntax
Property get: Num = XCounter( );

Return: (Long) Num Number of items that will by copyed in the X direction.

Property set:

XCounter( Num );

Input: (Long) Num Number of items that will by copyed in the X direction.

Note All coordinates are given relative to the model's main UCS. IMdCopyLinear::UcsEntity
Description
This property allows you to get and set an original UCS according to which entities are copied by linear procedure.

CimatronE 9.0

CimatronE SDK User Guide 754

Syntax
Property get: Ucs = UcsEntity( );

Return: (IUcs) Ucs UCS Entity.

Property set:

UcsEntity( Ucs );

Input: (IUcs) Ucs UCS Entity.

IMdCopyLinear::Points
Description
This property allows you to get and set the coordinate system for the array by insert points.

Syntax
Property get: Points = Points( );

Return: (Variant) Points coordinate system of the array.

Property set:

Points( Points );

Input: (Variant) Points coordinate system for the array.

Note

CimatronE 9.0

CimatronE SDK User Guide 755

All coordinates are given relative to the model's main UCS. IMdCopyLinear::MergeMode
Description

This property allows you to get and set whether the copy will be created as one object or an individual object.
Syntax

Property get:
Status = MergeMode( );

Return: (Boolean) Status Current Status.

Property set:

MergeMode( Status );

Input: (Boolean) Status TRUE = copied entities are part of the object. FALSE(default) = each copied item will be an individual object.

Remarks This option will not work in the case where DependedFaceMode is set to TRUE.

IMdCopyLinear::Entities
Description

This property allows you to get and set the entities to be copied by linear procedure.
Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be copied.

CimatronE 9.0

CimatronE SDK User Guide 756

Property set: Entities( Entities );

Input: (ICimEntityList) Entities Entities to be copied.

IMdCopyLinear::DirectionVectorY
Description
This property allows you to get and set a Y vector of shift for the linear copy procedure.

Syntax
Property get: Vector = DirectionVectorY( );

Return: (Variant) Vector Variant that contains double-type, one-dimensional array of shift vector.

Property set:

DirectionVectorY( Vector );

Input: (Variant) Vector

Variant that contains double-type, one-dimensional array of shift vector.

Note All coordinates are given relative to the model's main UCS. IMdCopyLinear::DirectionVectorX
Description
This property allows you to get and set a X vector of shift for the linear copy procedure.

Syntax
Property get: Vector = DirectionVectorX( );

CimatronE 9.0

CimatronE SDK User Guide 757

Return: (Variant) Vector Variant that contains double type one dimensional array of shift vector.

Property set:

DirectionVectorX( Vector );

Input: (Variant) Vector Variant that contains double type one dimensional array of shift vector.

Note All coordinates are given relative to the model's main UCS.
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 9.0

CimatronE SDK User Guide 758

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 9.0

CimatronE SDK User Guide 759

Property get: Type = ProcedureType ( );


Return: (AssPartProcType) Type A 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) Type of parameter to set. 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.

CimatronE 9.0

CimatronE SDK User Guide 760

Syntax Set( ParameterType, ParameterValue );


Input: (MdParameterType) Type of parameter to set. 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.

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 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 Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 761

This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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 Get Get Get Methods Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 762

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::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::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

CimatronE 9.0

CimatronE SDK User Guide 763

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

MdCopyRadial
MdCopyRadial

IMdCopyRadial

IMdCopyRadial
This interface represents the radial copy procedure in CimatronE.

Properties

Get, Set Entities Get, Set AxisEntity Get, Set Angle Get, Set DirectionSide Get, Set CopyCounter

ICimEntityList ICimEntity Double Boolean

Long

Get, Set DependedFaceMode Boolean

CimatronE 9.0

CimatronE SDK User Guide 764

Get, Set MergeMode

Boolean

Methods
None

IMdCopyRadial::Angle
Description
This property allows you to get and set an angle on which to rotate an entity. An angle can get values from 0.01 to 360 degrees.

Syntax
Property get: Angle = Angle( );

Return: (Double) Angle The angle at which an entity is rotated around an axis.

Property set: Angle( Angle );

Input: (Double) Angle The angle at which an entity will be rotated around an axis.

IMdCopyRadial::AxisEntity
Description
This property allows you to get and set a rotation axis .

Syntax
Property get: Axis = Axis( );

Return: (ICimEntity) Axis An axis around which rotation is done.

Property set: Axis( Axis );

CimatronE 9.0

CimatronE SDK User Guide 765

Input: (ICimEntity) Axis An axis around which rotation will be done.

IMdCopyRadial::CopyCounter
Description
This property allows you to get and set the number that represents the total number of items that will by copied.

Syntax
Property get: Num = CopyCounter( );

Return: (Long) Num Number of items that will by copied.

Property set:

CopyCounter( Num );

Input: (Long) Num Number of items that will by copied.

Note

IMdCopyRadial::DependedFaceMode
Description

This property allows you to get and set the entities you want to copy related on the picked entity.
Syntax
Property get: Status = DependedFaceMode( );

CimatronE 9.0

CimatronE SDK User Guide 766

Return: (Boolean) Status Status of depended face mode

Property set:

DependedFaceMode( Status );

Input: (Boolean) Status TRUE(default) = Copy all faces belonging to the same feature FALSE = insert individual faces

IMdCopyRadial::DirectionSide
Description
This property allows you to get and set a rotation direction.

Syntax
Property get: RotationDirection = DirectionSide( );

Return: (Boolean) RotationDirection

If TRUE (=1) clockwise direction around rotation axis, if FALSE (=0) anticlockwise direction.

Property set: DirectionSide( RotationDirection );

Input: (Boolean) RotationDirection

If TRUE (=1) clockwise direction around rotation axis, if FALSE (=0) anticlockwise direction.

Note
A clockwise direction is defined by a circuit around a rotation axis when looking in the direction of an axis formative vector.

IMdCopyRadial::Entities
Description

CimatronE 9.0

CimatronE SDK User Guide 767

This property allows you to get and set the entities to be copied by copy radial procedure.
Syntax
Property get: Entities = Entities( );

Return: (ICimEntityList) Entities Entities to be copy.

Property set: Entities( Entities );

Input: (ICimEntityList) Entities Entities to be copy.

IMdCopyRadial::MergeMode
Description

This property allows you to get and set whether the copy will be created as one object or individual objects.
Syntax
Property get: Status = MergeMode( );

Return: (Boolean) Status Current Status.

Property set:

MergeMode( Status );
Input: (Boolean) Status TRUE = copied entities are part of the object FALSE(default) = each copied item will be an individual object

Remarks This option will not work in cases where DependedFaceMode is set to TRUE.

CimatronE 9.0

CimatronE SDK User Guide 768

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 This method executes a procedure. Syntax Execute ( );

CimatronE 9.0

CimatronE SDK User Guide 769

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) Type A procedure type.

IMdProcedure::UpdatePreview Description This method allows you to create an initial preview and update a procedure. Syntax UpdatePreview ( );
IMdParameters

IMdParameters

CimatronE 9.0

CimatronE SDK User Guide 770

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) Type of parameter to set. 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) Type of parameter to set. 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.

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 9.0

CimatronE SDK User Guide 771

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 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) Filter Filter 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 ( ); Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 772

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 Get Get Get 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 Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 773

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::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

MdCopyMirror

CimatronE 9.0

CimatronE SDK User Guide 774

MdCopyMirror

IMdCopyMirror

IMdCopyMirror
This interface represents a mirror copy of geometry.

Properties

Get/Set CopyEntities Get/Set MirrorSurface Get/Set MergeMode

ICimEntityList ICimEntity

Boolean

Get/Set DependedFaceMode Boolean

Methods
None

IMdCopyMirror::CopyEntities
Description
This property allows you to get and set the entities to be mirrored by copy mirror procedure.

Syntax
Property get: Entities = CopyEntities( );

Return: (ICimEntityList) Entities Entities in copy mirror procedure.

Property set:

CopyEntities( Entities );

CimatronE 9.0

CimatronE SDK User Guide 775

Input: (ICimEntityList) Entities Entities in copy mirror procedure.

IMdCopyMirror::DependedFaceMode
Description

This property allows you to get and set the entities you want to copy related to the picked entity.
Syntax
Property get: Status = DependedFaceMode( );

Return: (Boolean) Status Status of depended face mode

Property set:

DependedFaceMode( Status );

Input: (Boolean) Status TRUE(default) = Copy all faces belonging to the same feature FALSE = insert individual faces

IMdCopyMirror::MergeMode
Description

This property allows you to get and set whether the copy will be created as one object or an individual object.
Syntax
Property get: Status = MergeMode( ); Return: (Boolean) Status Current Status.

Property set:

CimatronE 9.0

CimatronE SDK User Guide 776

MergeMode( Status );
Input: (Boolean) Status TRUE = copied entities are part of the object FALSE(default) = each copied item will be an individual object

Remarks This option will not work in the case where DependedFaceMode is set to TRUE. IMdCopyMirror ::MirrorEntity
Description
This property allows you to get and set an entity relative to which the mirror copy is done (This can be a

planar face or datum plane).


Syntax
Property get: MirrorEntity = MirrorEntity( );

Return: (ICimEntity) MirrorEntity Mirror entity. Property set: MirrorEntity( MirrorEntity );

Return: (ICimEntity) MirrorEntity Mirror entity.

IMdProcedure

IMdProcedure This interface allows you to manipulate procedures in the CimatronE API. Properties
Get Name String

Get ProcedureType AssPartProcType

Methods Execute ( ) EnterEditMode ( )

CimatronE 9.0

CimatronE SDK User Guide 777

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.

CimatronE 9.0

CimatronE SDK User Guide 778

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) Type A 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

CimatronE 9.0

CimatronE SDK User Guide 779

ParameterValue = Get( ParameterType );


Input: (MdParameterType) Type of parameter to set. 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) Type of parameter to set. 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.

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

CimatronE 9.0

CimatronE SDK User Guide 780

Filter = CreateFilter( Type ) Input: (EFilterEnumType) Type Type of creating filter. Return: (IEntityFilter) 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) Filter Filter 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

Pointer to created filter.

ICimEntity

CimatronE 9.0

CimatronE SDK User Guide 781

The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get 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::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::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. Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 782

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

CimatronE 9.0

CimatronE SDK User Guide 783

Sketcher and Sketcher Objects

Sketcher and Sketcher Objects

Sketcher
Sketcher

ISketcher
ISketcher

Example This interface manages sketcher objects.

CimatronE 9.0

CimatronE SDK User Guide 784

Properties
Get, Set Tolerance Double Get Status SketchStatus

Methods ISkObject CreateObject ( SketchObjectType ) Integer AddObject ( ISkObject ) RemoveObject ( ISkObject ) Variant GetObjects ( Integer ) ISkObject FindObject ( Integer ) Evaluate ( ) RestoreFromFile ( String ) SaveToFile ( String ) AddPolyLine ( Variant ) AddBox ( Variant ) RadiusCorner ( ISkCurve, ISkCurve, Double, SketchTrimOption ) ChamferCorner ( ISkCurve, ISkCurve, Double, SketchTrimOption ) TrimCurve ( ISkCurve, ISkCurve, ISkPoint ) TransformAndEvaluate (Variant) Variant GetAllPointsInPosition ( ISkPoint )
ISketcher::GetAllPointsInPosition

Description This method allows you to get . Syntax PointList = GetAllPointsInPosition( Point );
Input: (ISkPoint) Point

???

Return: (Variant) PointList ???

ISketcher::AddBox

Description This method allows you to create a box defined by the coordinates of two opposite corner points. Syntax

CimatronE 9.0

CimatronE SDK User Guide 785

AddBox( CornersCoordinates ); Input: (Variant) CornersCoordinates The array of opposite corners points in order (x,y) of first corner and (x,y) of second corner.

ISketcher::AddObject

Description This method adds sketch objects created with ISketcher::CreateObject to the current open sketch. Syntax Id = AddObject( SketcherObject );
Input: (ISkObject) SketcherObject An object to be added to a sketch. Return: (Integer) Id The Id of an added object in a sketch.

ISketcher::AddPolyLine

Description This method allows you to create a polyline defined by the coordinates of its vertices. Syntax
AddPolyLine( VertexesCoordinates ); Input: (Variant) VertexesCoordinates Variant that contains double type one dimensional array of vertex coordinates in order (x,y ).

ISketcher::ChamferCorner

Description This method allows you to create a chamfer corner between two curves. Syntax ChamferCorner( FirstCurve, SecondCurve, Chamfer, TrimOption );
Input: (ISkCurve) FirstCurve Input: (ISkCurve) SecondCurve Input: (Double) Chamfer First curve in chamfer corner. Second curve in chamfer corner. Chamfer length. Measured from the point of curve intersection.

Input: (SketchTrimOption) TrimOption Defines if ends of curves are deleted from the side of the intersection point.

Note The function is not implemented yet.


ISketcher::CreateObject

Description

CimatronE 9.0

CimatronE SDK User Guide 786

This method allows you to create a new sketcher object. Syntax


SketcherObject = CreateObject( SketcherObjectType ); Input: (SketchObjectType) SketcherObjectType Type of new sketcher object. Return: (ISkObject) SketcherObject Newly-created created sketcher object.

ISketcher::Evaluate

Description This method makes an evaluation of the sketcher geometry. Syntax Evaluate( );
ISketcher::FindObject

Description This method allows you to find a sketcher object by its Id. Syntax
SketcherObject = FindObject( SketcherObjectId ); Input: (Integer) SketcherObjectId Id of looked for sketcher object.

Return: (ISkObject) SketcherObject Looked for sketcher object.

ISketcher::GetObjects

Description This method allows you to get the array of sketcher objects of a specific mask. Base mask types:
1. sketcher geometry mask = 1; 2. sketcher constraint mask = 2; 3. sketcher dimension mask = 4. A mask logically combined from the base mask types can be used. For example, the mask to get all sketcher geometry and dimensions will be (1 & 4)

Syntax Objects = GetObjects( Mask );


Input: (Integer) Mask The mask for searched objects. Return: (Variant) Objects Array of sketcher objects corresponding to the given mask.

CimatronE 9.0

CimatronE SDK User Guide 787

ISketcher::RadiusCorner

Description This method allows you to create a radius corner between two curves. Syntax RadiusCorner( FirstCurve, SecondCurve, Radius, TrimOption );
Input: (ISkCurve) FirstCurve Input: (ISkCurve) SecondCurve Input: (Double) Radius First curve in radius corner. Second curve in radius corner. Radius of corner.

Input: (SketchTrimOption) TrimOption Defines if deleted ends of curves are from side of intersection point.

Note The function is not implemented yet.


ISketcher::RemoveObject

Description This method allows you to delete a sketcher object. Syntax RemoveObject( SketcherObject );
Input: (ISkObject) SketcherObject Sketcher object for delete.

ISketcher::RestoreFromFile

Description This method allows you to load sketcher data from a file. Syntax RestoreFromFile( FileName );
Input: (String) FileName Name of file with sketcher data.

ISketcher::SaveToFile

Description This method allows you to save sketcher data to file. Syntax SaveToFile( FileName );
Input: (String) FileName Name of file to save sketcher data.

CimatronE 9.0

CimatronE SDK User Guide 788

ISketcher::Status

Description This property allows you to get the status of a sketcher. Syntax Status = Status ( );
Return: (SketchStatus) Status Current status of sketcher.

ISketcher::Tolerance

Description This property allows you to get and set sketcher tolerance. Syntax
Property get: Tolerance( Tolerance ); Return: (Double) Tolerance Sketcher tolerance. Property set: Tolerance( Tolerance ); Input: (Double) Tolerance Sketcher tolerance.

ISketcher::TransformAndEvaluate

Description This method allows you to make a transformation of sketcher geometry using a transformation matrix. Syntax TransformAndEvaluate( TransformationMatrix );
Input: (Variant) TransformationMatrix Variant that contains double type one dimensional array that represent transformation matrix for 2D transformation.

Note Transformation matrix array consists of: TransformationMatrix(0), TransformationMatrix(1) - first row elements of transformation matrix; TransformationMatrix(2), TransformationMatrix(3) - second row elements of transformation matrix;

CimatronE 9.0

CimatronE SDK User Guide 789

TransformationMatrix(4), TransformationMatrix(5) - translation vector coordinates.


ISketcher::TrimCurve

Description This method allows you to trim a curve by another curve. Syntax TrimCurve( FirstCurve, SecondCurve, HelpPoint );
Input: (ISkCurve) FirstCurve First curve. Input: (ISkCurve) SecondCurve Second curve. Input: (ISkPoint) HelpPoint Help point that defines which part of intersected curves to delete.

Note The function is not implemented yet.

Topology and Geometry


Topology and Geometry

SkPoint
SkPoint

ISkPoint

ISkPoint

CimatronE 9.0

CimatronE SDK User Guide 790

This interface represents a sketcher point. It may be used to create and to set help points for dimensions and constraint operations. Properties
Get, Let PointType SketchPointType Get, Let X Get, Let Y Get, Let Object1 Get, Let Object2 Double Double ISkObject ISkObject

Methods None ISkPoint::Object1 Description This property allows you to get and set a sketcher object on which to create a sketcher point. It may be a middle point of a curve, a center of a circle, arc, ellipse, etc. Syntax Property get: Object = Object1 ( );
Return: (ISkObject) Object Sketcher object.

Property set: Object1( Object );


Input: (ISkObject) Object Sketcher object.

ISkPoint::Object2 Description This property allows you to get and set a second sketcher object in the case of an intersection point of two sketcher curves. Syntax Property get: Object = Object2 ( );
Return: (ISkObject) Object Sketcher object.

CimatronE 9.0

CimatronE SDK User Guide 791

Property set: Object2( Object );


Input: (ISkObject) Object Sketcher object.

ISkPoint::PointType Description This property allows you to get and set a point type. Syntax Property get: Type = PointType ( );
Return: (SketchPointType) Type Type of sketcher point.

Property set: PointType( Type );


Return: (SketchPointType) Type Type of sketcher point.

ISkPoint::X Description This property allows you to get and set the X-coordinate of point in a sketch. Syntax Property get: X = X ( );
Return: (Double) X X coordinate of point in sketcher.

Property set: X( X );
Input: (Double) X X coordinate of point in sketcher.

ISkPoint::Y Description This property allows you to get and set a Y coordinate of point in a sketch. Syntax

CimatronE 9.0

CimatronE SDK User Guide 792

Property get: Y = Y ( ); Return: (Double) Y Y coordinate of point in sketcher. Property set: Y( Y ); Input: (Double) Y Y coordinate of point in sketcher.

ISkObject

ISkObject This interface represents a general sketcher object. Properties


Get, Let Id Get Integer

Type SketchObjectType

Methods None ISkObject::Id Description This property allows you to get and set a sketcher object Id. Syntax Property get: Id = Id ( );
Return: (Integer) Id Sketcher object Id.

Property set: Id( Id );


Input: (Integer) Id Sketcher object Id.

ISkObject::Type Description This property allows you to get a sketcher object type. Syntax Property get:

CimatronE 9.0

CimatronE SDK User Guide 793

Type = Type ( );
Return: (SketchObjectType) Type Sketcher object type.

SkLine
SkLine

ISkLine

ISkLine This interface allows you to get and set sketch line parameters. Properties Get, Let Start Variant Get, Let End Variant Methods ISkPoint GetStartPoint ( ) ISkPoint GetEndPoint ( ) ISkLine::End Description This property allows you to get and set the coordinates of a line endpoint. Syntax Property get: Point = End ( );
Return: (Variant) Point Coordinates of line endpoint.

Property set: End( Point );


Input: (Variant) Point Coordinates of line endpoint.

ISkLine::GetEndPoint

CimatronE 9.0

CimatronE SDK User Guide 794

Description This method allows you to get a sketch point object from the end line of a sketch. The end line is defined by the end parameter of ISkCurve::EndParam. Syntax SketcherPoint = GetEndPoint ( );
Return: (ISkPoint) SketcherPoint Sketch point from end of line.

ISkLine::GetStartPoint Description This method allows you to get a sketch point object from the start line of a sketch. The start line is defined by the start parameter ISkCurve::StartParam. Syntax SketcherPoint = GetStartPoint( );
Return: (ISkPoint) SketcherPoint Sketcher point from start of line.

ISkLine::Start Description This property allows you to get and set the coordinates of a line start point. Syntax
Property get: Point = Start ( ); Return: (Variant) Point Coordinates of line start point. Property set: Start( Point ); Input: (Variant) Point Coordinates of line start point.

ISkObject

ISkObject This interface represents a general sketcher object. Properties


Get, Let Id Get Integer

Type SketchObjectType

Methods

CimatronE 9.0

CimatronE SDK User Guide 795

None ISkObject::Id Description This property allows you to get and set a sketcher object Id. Syntax Property get: Id = Id ( );
Return: (Integer) Id Sketcher object Id.

Property set: Id( Id );


Input: (Integer) Id Sketcher object Id.

ISkObject::Type Description This property allows you to get a sketcher object type. Syntax Property get: Type = Type ( );
Return: (SketchObjectType) Type Sketcher object type.

ISkCurve

ISkCurve This interface allows you to get curve parameters and investigate a curve with first and second derivations. Properties
Get StartParam Double Get EndParam Double

Methods Variant Evaluate ( Double ) Double ParamByPoint ( ISkPoint ) Variant FirstDerivative ( Double )

CimatronE 9.0

CimatronE SDK User Guide 796

Variant SecondDerivative ( Double ) ISkCurve::ParamByPoint Description This method allows you to get coordinates of a sketcher point that lies on the sketcher curve. Syntax Parameter = ParamByPoint( SketcherPoint ); Input: (ISkPoint) SketcherPoint The sketcher point that lies on curve.
Return: (Double) Parameter The sketcher point parameter.

ISkCurve::EndParam Description This property allows you to get the curve end parameter. Syntax Property get: Parameter = EndParam ( );
Return: (Double) Parameter A curve end parameter.

ISkCurve::Evaluate Description This method allows you to evaluate the coordinates of a point on a curve with a given parameter. Syntax PointCoordinates = Evaluate( Parameter );
Input: (Double) Parameter Parameter of point on curve. Return: (Variant) PointCoordinates (x,y) coordinates of point with given parameter.

ISkCurve::FirstDerivative Description This method allows you to get the vector coordinates of the first derivative of a point on a curve with a given parameter. Syntax Vector = FirstDerivative( Parameter );
Input: (Double) Parameter Parameter of point on curve in which to get first derivative.

CimatronE 9.0

CimatronE SDK User Guide 797

Return: (Variant) Vector

(x,y) coordinates of vector of first derivative.

ISkCurve::SecondDerivative Description This method allows you to get the vector coordinates of the second derivative of a point on a curve with a given parameter. Syntax
Vector = SecondDerivative( Parameter ); Input: (Double) Parameter Return: (Variant) Vector Parameter of point on curve in which to get second derivative. Variant that contains double type one dimensional array of vector coordinates (x,y) that defines second derivative.

ISkCurve::StartParam Description This property allows you to get the curve start parameter. Syntax Property get:
Parameter = StartParam ( ); Return: (Double) Parameter A curve start parameter.

SkArc
SkArc

ISkArc

ISkArc This interface allows you to get and set sketcher arc parameters. With this interface you can define an arc or circle that is the type of an arc with an end angle equal to the start angle plus two PI. Properties

CimatronE 9.0

CimatronE SDK User Guide 798

Get, Set Center Variant Get, Set Radius Double Get, Set Start Variant Get, Set End Variant

Methods ISkPoint GetCenterPoint ( ) ISkPoint GetStartPoint ( ) ISkPoint GetEndPoint ( ) ISkArc::Center Description This property allows you to get and set the center point of an arc. Syntax Property get: CenterPoint = Center ( );
Return: (Variant) CenterPoint Array of coordinates of the center point of an arc.

Property set: Center( CenterPoint );


Input: (Variant) CenterPoint Array of coordinates of the center point of an arc.

ISkArc::End Description This property allows you to get and set an endpoint to define an arc. Syntax Property get: Point = End ( );
Return: (Variant) Point Array of point coordinates that lie on a circle.

Property set: End( Point );


Input: (Variant) Point Array of point coordinates that lie on a circle.

CimatronE 9.0

CimatronE SDK User Guide 799

Note To get the coordinates of a point that lie on a circle with a given center point and the radius on a given angle, use the following formulae: x = CenterX + Radius*cos(Angle), y = CenterY + Radius * sin(Angle); where CenterX, CenterY are the X and Y coordinates of the circle center accordingly, Radius circle radius, Angle - angle on which the points lie.

ISkArc::GetCenterPoint Description This method allows you to get a sketcher point object from the center of a sketcher arc. Syntax SketcherPoint = GetCenterPoint ( );
Return: (ISkPoint) SketcherPoint Sketcher point from the center of an arc.

ISkArc::GetEndPoint Description This method allows you to get a sketcher point object from the end of the sketcher arc. The circle ISkArc::GetStartPoint and ISkArc::GetEndPoint return the same point. Syntax
SketcherPoint = GetEndPoint ( ); Return: (ISkPoint) SketcherPoint Sketcher point from end of arc.

ISkArc::GetStartPoint Description This method allows you to get a sketcher point object from the start of a sketcher arc. ISkArc::GetStartPoint and ISkArc::GetEndPoint return the same point. Syntax
SketcherPoint = GetStartPoint ( ); Return: (ISkPoint) SketcherPoint Sketcher point from start of arc.

ISkArc::Radius

CimatronE 9.0

CimatronE SDK User Guide 800

Description This property allows you to get and set the radius of an arc. Syntax Property get: Radius = Radius ( );
Return: (Double) Radius Arc radius.

Property set: Radius( Radius );


Input: (Double) Radius Arc radius.

ISkArc::Start Description This property allows you to get and set a start point to define an arc. Syntax Property get: Point = Start ( );
Return: (Variant) Point Array of point coordinates that lie on a circle.

Property set: Start( Point );


Input: (Variant) Point Array of point coordinates that lie on a circle.

Note To get the coordinates of a point that lies on a circle with a given center point and radius on a given angle, use the following formulae: x = CenterX + Radius*cos(Angle), y = CenterY + Radius * sin(Angle); where CenterX, CenterY are the X and Y coordinates of a circle center accordingly, Radius - circle radius, Angle - angle on which points lie.

ISkObject

ISkObject

CimatronE 9.0

CimatronE SDK User Guide 801

This interface represents a general sketcher object. Properties


Get, Let Id Get Integer

Type SketchObjectType

Methods None ISkObject::Id Description This property allows you to get and set a sketcher object Id. Syntax Property get: Id = Id ( );
Return: (Integer) Id Sketcher object Id.

Property set: Id( Id );


Input: (Integer) Id Sketcher object Id.

ISkObject::Type Description This property allows you to get a sketcher object type. Syntax Property get: Type = Type ( );
Return: (SketchObjectType) Type Sketcher object type.

ISkCurve

ISkCurve This interface allows you to get curve parameters and investigate a curve with first and second derivations. Properties
Get StartParam Double

CimatronE 9.0

CimatronE SDK User Guide 802

Get EndParam Double

Methods Variant Evaluate ( Double ) Double ParamByPoint ( ISkPoint ) Variant FirstDerivative ( Double ) Variant SecondDerivative ( Double ) ISkCurve::ParamByPoint Description This method allows you to get coordinates of a sketcher point that lies on the sketcher curve. Syntax Parameter = ParamByPoint( SketcherPoint ); Input: (ISkPoint) SketcherPoint The sketcher point that lies on curve.
Return: (Double) Parameter The sketcher point parameter.

ISkCurve::EndParam Description This property allows you to get the curve end parameter. Syntax Property get: Parameter = EndParam ( );
Return: (Double) Parameter A curve end parameter.

ISkCurve::Evaluate Description This method allows you to evaluate the coordinates of a point on a curve with a given parameter. Syntax PointCoordinates = Evaluate( Parameter );
Input: (Double) Parameter Parameter of point on curve. Return: (Variant) PointCoordinates (x,y) coordinates of point with given parameter.

ISkCurve::FirstDerivative Description

CimatronE 9.0

CimatronE SDK User Guide 803

This method allows you to get the vector coordinates of the first derivative of a point on a curve with a given parameter. Syntax Vector = FirstDerivative( Parameter );
Input: (Double) Parameter Parameter of point on curve in which to get first derivative. Return: (Variant) Vector (x,y) coordinates of vector of first derivative.

ISkCurve::SecondDerivative Description This method allows you to get the vector coordinates of the second derivative of a point on a curve with a given parameter. Syntax
Vector = SecondDerivative( Parameter ); Input: (Double) Parameter Return: (Variant) Vector Parameter of point on curve in which to get second derivative. Variant that contains double type one dimensional array of vector coordinates (x,y) that defines second derivative.

ISkCurve::StartParam Description This property allows you to get the curve start parameter. Syntax Property get:
Parameter = StartParam ( ); Return: (Double) Parameter A curve start parameter.

SkEllipse
SkEllipse

ISkEllipse

CimatronE 9.0

CimatronE SDK User Guide 804

ISkEllipse This interface allows you to get and set sketcher ellipse parameters. Properties Get, Set Center Variant Get, Set Axis Variant Get, Set Ratio Double Methods ISkPoint GetCenterPoint ( ) ISkEllipse::Axis Description This property allows you to get and to set ellipse main axis coordinates. Syntax Property get: AxisCoordinates = Axis ( );
Return: (Variant) AxisCoordinates Coordinates of ellipse main axis in order (x,y).

Property set: Axis( AxisCoordinates );


Input: (Variant) AxisCoordinates Coordinates of ellipse main axis in order (x,y).

ISkEllipse::Center Description This property allows you to get and set the center point of an ellipse. Syntax Property get: CenterPoint = Center ( );
Return: (Variant) CenterPoint Coordinates of ellipse center point in order (x,y).

Property set: Center( CenterPoint );

CimatronE 9.0

CimatronE SDK User Guide 805

Input: (Variant) CenterPoint Coordinates of ellipse center point in order (x,y).

ISkEllipse::GetCenterPoint Description This method allows you to get a sketcher point object from the center of a sketcher ellipse. Syntax SketcherPoint = GetCenterPoint ( );
Return: (ISkPoint) SketcherPoint Sketcher point from the center of sketcher ellipse.

ISkEllipse::Ratio Description This property allows you to get and set a ratio between the major and minor axes of an ellipse. Syntax
Property get: Ratio = Ratio ( ); Return: (Double) Ratio The ratio between the major and minor axes of an ellipse. Property set: Ratio( Ratio ); Input: (Double) Ratio The ratio between the major and minor axes of an ellipse.

ISkObject

ISkObject This interface represents a general sketcher object. Properties


Get, Let Id Get Integer

Type SketchObjectType

Methods None ISkObject::Id Description This property allows you to get and set a sketcher object Id. Syntax

CimatronE 9.0

CimatronE SDK User Guide 806

Property get: Id = Id ( );
Return: (Integer) Id Sketcher object Id.

Property set: Id( Id );


Input: (Integer) Id Sketcher object Id.

ISkObject::Type Description This property allows you to get a sketcher object type. Syntax Property get: Type = Type ( );
Return: (SketchObjectType) Type Sketcher object type.

ISkCurve

ISkCurve This interface allows you to get curve parameters and investigate a curve with first and second derivations. Properties
Get StartParam Double Get EndParam Double

Methods Variant Evaluate ( Double ) Double ParamByPoint ( ISkPoint ) Variant FirstDerivative ( Double ) Variant SecondDerivative ( Double ) ISkCurve::ParamByPoint Description This method allows you to get coordinates of a sketcher point that lies on the sketcher curve. Syntax

CimatronE 9.0

CimatronE SDK User Guide 807

Parameter = ParamByPoint( SketcherPoint ); Input: (ISkPoint) SketcherPoint The sketcher point that lies on curve.
Return: (Double) Parameter The sketcher point parameter.

ISkCurve::EndParam Description This property allows you to get the curve end parameter. Syntax Property get: Parameter = EndParam ( );
Return: (Double) Parameter A curve end parameter.

ISkCurve::Evaluate Description This method allows you to evaluate the coordinates of a point on a curve with a given parameter. Syntax PointCoordinates = Evaluate( Parameter );
Input: (Double) Parameter Parameter of point on curve. Return: (Variant) PointCoordinates (x,y) coordinates of point with given parameter.

ISkCurve::FirstDerivative Description This method allows you to get the vector coordinates of the first derivative of a point on a curve with a given parameter. Syntax Vector = FirstDerivative( Parameter );
Input: (Double) Parameter Parameter of point on curve in which to get first derivative. Return: (Variant) Vector (x,y) coordinates of vector of first derivative.

ISkCurve::SecondDerivative Description This method allows you to get the vector coordinates of the second derivative of a point on a curve with a given parameter. Syntax

CimatronE 9.0

CimatronE SDK User Guide 808

Vector = SecondDerivative( Parameter ); Input: (Double) Parameter Return: (Variant) Vector Parameter of point on curve in which to get second derivative. Variant that contains double type one dimensional array of vector coordinates (x,y) that defines second derivative.

ISkCurve::StartParam Description This property allows you to get the curve start parameter. Syntax Property get:
Parameter = StartParam ( ); Return: (Double) Parameter A curve start parameter.

SkSpline
SkSpline

ISkSpline

ISkSpline This interface allows you to set parameters for a sketcher spline object. Properties
Get, Points Variant

Get, Set TruePointsMode Boolean

Methods
ISkPoint GetStartPoint ( ) ISkPoint GetEndPoint ( ) ISkLine GetStartSlope ( ) ISkLine GetEndSlope ( ) CreateFromThruPoints ( Variant ) CreateFromBezierControlPoints ( Variant )

CimatronE 9.0

CimatronE SDK User Guide 809

CreateFromNurbs ( Variant, Variant )

ISkSpline::CreateFromBezierControlPoints Description This method allows you to set the point coordinate for a Bezier spline. Syntax CreateFromBezierControlPoints( BezierControlPoints );
Input: (Variant) BezierControlPoints A one dimensional array of point coordinates (X,Y).

Note This method temporarily doesn't work. Remedy #00062954 ISkSpline::CreateFromNurbs Description This method allows you to set parameters for creating NURBS spline. Syntax CreateFromNurbs( ContorolPoints, Knots ); Input: (Variant) ContorolPoints A one dimensional array of control point coordinates (X,Y). Input: (Variant) Knots Note This method temporarily doesn't work. Remedy #00062954 ISkSpline::CreateFromThruPoints Description This method allows you to set point coordinates through which a spline passes. Syntax CreateFromThruPoints( ThroughPoints );
Input:(Variant) ThroughPoints A one-dimensional array of point coordinates (X,Y). A one dimensional array of knots.

ISkSpline::GetEndPoint Description This method allows you to get the spline coordinates of an endpoint.

CimatronE 9.0

CimatronE SDK User Guide 810

Syntax EndPoint = GetEndPoint ( );


Return: (ISkPoint) EndPoint A sketcher point.

ISkSpline::GetEndSlope Description This method allows you to get a vector of a spline slope at its endpoint. Syntax SketcherLine = GetEndSlope ( );
Return: (ISkLine) SketcherLine A sketcher line object.

ISkSpline::GetStartPoint Description This method allows you to get coordinates of a spline start point. Syntax StartPoint = GetEndPoint( );
Return: (ISkPoint) StartPoint A sketcher point.

ISkSpline::GetStartSlope Description This method allows you to get the vector of a spline slope at its start point. Syntax SketcherLine = GetStartSlope ( );
Return: (ISkLine) SketcherLine A sketcher line object.

ISkSpline::Points Description This property allows you to define points for the TruePoints mode that is set by default in the new spline initialization. Syntax Property get:

CimatronE 9.0

CimatronE SDK User Guide 811

Points = Points ( );
Return: (Variant) Points A one dimensional array of point coordinates (X,Y) through which a spline passes.

Property set: Points( Points );


Input: (Variant) Points

A one dimensional array of point coordinates (X,Y) through which a spline passes.

Note This method temporarily doesn't work. Remedy #00062954 ISkSpline::TruePointsMode Description This property defines a true points mode for spline creation. Set by default in new spline. Syntax Property get: Status = TruePointsMode ( );
Return: (Boolean) Status By default TRUE (1) - true points mode on.

Property set: TruePointsMode( Status );


Input: (Boolean) Status By default TRUE (1) - true points mode on, FALSE (0) - mode off.

ISkObject

ISkObject This interface represents a general sketcher object. Properties


Get, Let Id Get Integer

Type SketchObjectType

Methods None ISkObject::Id Description

CimatronE 9.0

CimatronE SDK User Guide 812

This property allows you to get and set a sketcher object Id. Syntax Property get: Id = Id ( );
Return: (Integer) Id Sketcher object Id.

Property set: Id( Id );


Input: (Integer) Id Sketcher object Id.

ISkObject::Type Description This property allows you to get a sketcher object type. Syntax Property get: Type = Type ( );
Return: (SketchObjectType) Type Sketcher object type.

ISkCurve

ISkCurve This interface allows you to get curve parameters and investigate a curve with first and second derivations. Properties
Get StartParam Double Get EndParam Double

Methods Variant Evaluate ( Double ) Double ParamByPoint ( ISkPoint ) Variant FirstDerivative ( Double ) Variant SecondDerivative ( Double ) ISkCurve::EndParam Description

CimatronE 9.0

CimatronE SDK User Guide 813

This property allows you to get the curve end parameter. Syntax Property get: Parameter = EndParam ( );
Return: (Double) Parameter A curve end parameter.

ISkCurve::Evaluate Description This method allows you to evaluate the coordinates of a point on a curve with a given parameter. Syntax PointCoordinates = Evaluate( Parameter );
Input: (Double) Parameter Parameter of point on curve. Return: (Variant) PointCoordinates (x,y) coordinates of point with given parameter.

ISkCurve::FirstDerivative Description This method allows you to get the vector coordinates of the first derivative of a point on a curve with a given parameter. Syntax Vector = FirstDerivative( Parameter );
Input: (Double) Parameter Parameter of point on curve in which to get first derivative. Return: (Variant) Vector (x,y) coordinates of vector of first derivative.

ISkCurve::SecondDerivative Description This method allows you to get the vector coordinates of the second derivative of a point on a curve with a given parameter. Syntax
Vector = SecondDerivative( Parameter ); Input: (Double) Parameter Return: (Variant) Vector Parameter of point on curve in which to get second derivative. Variant that contains double type one dimensional array of vector coordinates (x,y) that defines second derivative.

ISkCurve::StartParam

CimatronE 9.0

CimatronE SDK User Guide 814

Description This property allows you to get the curve start parameter. Syntax Property get:
Parameter = StartParam ( ); Return: (Double) Parameter A curve start parameter.

ISkCurve::ParamByPoint Description This method allows you to get coordinates of a sketcher point that lies on the sketcher curve. Syntax Parameter = ParamByPoint( SketcherPoint ); Input: (ISkPoint) SketcherPoint The sketcher point that lies on curve.
Return: (Double) Parameter The sketcher point parameter.

SkConstraint
SkConstraint

ISkConstraint

ISkConstraint This interface allows you to set different types of constraints between sketcher objects. Properties Get, Let ConstraintType SketchConstraintType Methods Integer ObjectsCount ( ) ISkObject GetObject ( Integer ) SetObject ( Integer, ISkObject ) Integer HelpPointsCount ( )

CimatronE 9.0

CimatronE SDK User Guide 815

ISkPoint GetHelpPoint ( Integer ) SetHelpPoint ( Integer, ISkPoint ) ISkConstraint::ConstraintType Description This property allows you to get and set the constraint type. Syntax Property get: ConstraintType = ConstraintType ( );
Return: (SketchConstraintType) ConstraintType The constraint type.

Property set: ConstraintType( ConstraintType );


Input: (SketchConstraintType) ConstraintType The constraint type.

ISkConstraint::GetHelpPoint Description This method allows you to get a constraint help point. Syntax HelpPoint = GetHelpPoint( Index ); Input: (Integer) Index Index of constraint help point.
Return: (ISkPoint) HelpPoint The constraint help point.

ISkConstraint::GetObject Description This method allows you to get a constrained object. Syntax SketcherObject = GetObject( Index ); Input: (Integer) Index Index of constrained object.
Return: (ISkObject) SketcherObject The constrained object.

ISkConstraint::HelpPointsCount Description

CimatronE 9.0

CimatronE SDK User Guide 816

This method allows you to get a constraint help points number. Syntax HelpPointsCount = HelpPointsCount ( );
Return: (Integer) HelpPointsCount The constraint help points number.

ISkConstraint::ObjectsCount Description This property allows you to get a number of constrained objects in a current constraint. Syntax SketcherObjectsCount = ObjectsCount ( );
Return: (Integer) SketcherObjectsCount Number of constrained objects.

ISkConstraint::SetHelpPoint Description This method allows you to set a sketcher point that will be used in constraint. Syntax SetHelpPoint( Index, HelpPoint ); Input: (Integer) Index Index of help point in current constraint.
Return: (ISkPoint) HelpPoint The constraint help point.

ISkConstraint::SetObject Description This method allows you to set a sketcher object that will be used in constraint. Syntax SetObject( Index, SketcherObject ); Input: (Integer) Index Index of sketcher object in current constraint.
Return: (ISkObject) SketcherObject The sketcher object for constraint.

ISkObject

ISkObject This interface represents a general sketcher object. Properties

CimatronE 9.0

CimatronE SDK User Guide 817

Get, Let Id Get

Integer

Type SketchObjectType

Methods None ISkObject::Id Description This property allows you to get and set a sketcher object Id. Syntax Property get: Id = Id ( );
Return: (Integer) Id Sketcher object Id.

Property set: Id( Id );


Input: (Integer) Id Sketcher object Id.

ISkObject::Type Description This property allows you to get a sketcher object type. Syntax Property get: Type = Type ( );
Return: (SketchObjectType) Type Sketcher object type.

Dimensions
Dimensions

CimatronE 9.0

CimatronE SDK User Guide 818

SKLinearDim
SkLinearDim

ISkDimension

This interface represents a sketcher dimension object. Properties


Get DimType SketchDimensionType Double

Get, Set Value

Get, Set Objects Variant Get, Set TextPos Variant

Methods None
ISkDimension::DimType

Description This property allows you to get the type of a created dimension. It depends on which type of dimension object was created in the ISketcher::CreateObject method: linear, radial or angular dimension and text position of dimension are set in the ISkDimension::TextPos property. Syntax Property get: DimensionType = DimType ( );
Return: (SketchDimensionType) DimensionType Dimension type.

ISkDimension::Objects

Description This property allows you to get and set objects between which a dimension is made. Syntax Property get: Objects = Objects ( );
Return: (Variant) Objects Array of sketcher objects between which a dimension is created .

CimatronE 9.0

CimatronE SDK User Guide 819

Property set: Objects( Objects );


Input: (Variant) Objects Array of sketcher objects between which a dimension is created .

ISkDimension::TextPos

Description This property allows you to get and to set the position of the dimension text box. Syntax
Property get: CursorPoint = TextPos ( ); Return: (Variant) CursorPoint The dimension text box position point (x,y). Property set: TextPos( CursorPoint ); Input: (Variant) CursorPoint The dimension text box position point (x,y).

Note The point that defines the text position located in the center of the lower line of the dimension text box. The type of dimension created depends on the dimension text position. For example, in the linear dimension you can get the horizontal or vertical dimension; in the radial dimension it is possible to get the outer or inner angle between the two curves.

ISkDimension::Value

Description This property allows you to get and set the dimension value. Syntax Property get: Value = Value ( );
Return: (Double) Value A dimension value.

Property set: Value( Value );


Input: (Double) Value A dimension value.

CimatronE 9.0

CimatronE SDK User Guide 820

SkRadialDim

SkAngularDim

CimatronE 9.0

CimatronE SDK User Guide 821

Topological Objects

Topological Objects

CimatronE 9.0

CimatronE SDK User Guide 822

Body
Body

CimatronE 9.0

CimatronE SDK User Guide 823

IBody
IBody
This interface represents a body object.

Properties
None

Methods
Long IsWire ( )

Long IsClosedWire ( ) Note


You can use this interface to check what kind of entity you have. In MS Visual C++, use the QueryInterface(...) method , in MS Visual Basic use the Set method and error trapping if an entity isn't a body.

IBody::IsWire

Description This method lets you know if the body is wire frame.

CimatronE 9.0

CimatronE SDK User Guide 824

Syntax Status = IsWire( ); Return: (Boolean) Status TRUE if body is wire frame
IBody::IsClosedWire

Description This method lets you know if the contour inside the wire body is closed or open. Syntax Status = IsClosedWire ( ); Return: (Boolean) Status TRUE if contour is closed.

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) TriangulationData String with triangulation data.

ICimEntity
ICimEntity

The ICimEntity interface represents the basic information about entities in CimatronE. Properties

CimatronE 9.0

CimatronE SDK User Guide 825

Get Get Get Get Methods

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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::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::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 ( );

CimatronE 9.0

CimatronE SDK User Guide 826

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

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.

CimatronE 9.0

CimatronE SDK User Guide 827

Syntax Filter = CreateFilter( Type ) Input: (EFilterEnumType) Type Type of creating filter. Return: (IEntityFilter) 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

Pointer to created filter.

Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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

IAttributeSink

CimatronE 9.0

CimatronE SDK User Guide 828

IAttributeSink

This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them). Properties None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( )
IAttributeSink::Attach

Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity. Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly.
IAttributeSink::Detach

Description This method disconnects the attribute from the entity. Syntax Detach ( Attribute ); Input: (IAttribute) Attribute The attribute to be detached
IAttributeSink::GetAttribute

Description This method returns a specific entity's attribute. Syntax

CimatronE 9.0

CimatronE SDK User Guide 829

Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved. Input: (String) Name Return: (IAttribute) Attribute Note To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity.
IAttributeSink::GetAttributes

Name of attribute to be retrieved. Retrieved attribute.

Description This method returns a list of attributes from a specific entity. Syntax AttributeList = GetAttributes ( ); Return: (Variant) AttributeList Retrieved attribute. Note

Face
Face Topology

CimatronE 9.0

CimatronE SDK User Guide 830

IFace
This interface represents a face and does not have any methods. Intended for later use. Note You can use this interface to check what kind of entity you have. In MS Visual C++ use the QueryInterface(...) method; in MS Visual Basic use the Set method and error trapping if an entity isn't a face.

ICimEntity
ICimEntity

The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get Methods Long IsOwnerWireBody ( )
ICimEntity::Model

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

Description

CimatronE 9.0

CimatronE SDK User Guide 831

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::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 9.0

CimatronE SDK User Guide 832

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

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 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

Pointer to created filter.

Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method.

CimatronE 9.0

CimatronE SDK User Guide 833

Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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

IAttributeSink
IAttributeSink

This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them). Properties None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( )

CimatronE 9.0

CimatronE SDK User Guide 834

IAttributeSink::Attach

Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity. Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly.
IAttributeSink::Detach

Description This method disconnects the attribute from the entity. Syntax Detach ( Attribute ); Input: (IAttribute) Attribute The attribute to be detached
IAttributeSink::GetAttribute

Description This method returns a specific entity's attribute. Syntax Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved. Input: (String) Name Return: (IAttribute) Attribute Note To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity. Name of attribute to be retrieved. Retrieved attribute.

Loop
Loop Topology

CimatronE 9.0

CimatronE SDK User Guide 835

ILoop
This interface represents a loop and does not have any methods. Intended for later use. Note You can use this interface to check what kind of entity you have. In MS Visual C++ use the QueryInterface(...) method; in MS Visual Basic use the Set method and error trapping if an entity isn't a loop.

ICimEntity
ICimEntity

The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get Id Type Model Long EntityEnumType IModel

Geometry IGeometry3D

CimatronE 9.0

CimatronE SDK User Guide 836

Get/Set Show Methods

Boolean

Long IsOwnerWireBody ( )
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::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 9.0

CimatronE SDK User Guide 837

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

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.

CimatronE 9.0

CimatronE SDK User Guide 838

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) Filter Filter 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

IAttributeSink
IAttributeSink

This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them). Properties

CimatronE 9.0

CimatronE SDK User Guide 839

None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( )
IAttributeSink::Attach

Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity. Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly.
IAttributeSink::Detach

Description This method disconnects the attribute from the entity. Syntax Detach ( Attribute ); Input: (IAttribute) Attribute The attribute to be detached
IAttributeSink::GetAttribute

Description This method returns a specific entity's attribute. Syntax Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved. Input: (String) Name Return: (IAttribute) Attribute Name of attribute to be retrieved. Retrieved attribute.

CimatronE 9.0

CimatronE SDK User Guide 840

Note To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity.

Edge
Edge Topology

IEdge
This interface represents an edge and does not have any methods. Intended for later use. Note You can use this interface to check what kind of entity you have. In MS Visual C++ use the QueryInterface method (...); in MS Visual Basic use the Set method and error trapping if an entity isn't an edge.

ICimEntity
ICimEntity

The ICimEntity interface represents the basic information about entities in CimatronE. Properties

CimatronE 9.0

CimatronE SDK User Guide 841

Get Get Get Get Methods

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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::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::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 ( );

CimatronE 9.0

CimatronE SDK User Guide 842

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

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

CimatronE 9.0

CimatronE SDK User Guide 843

Filter = CreateFilter( Type ) Input: (EFilterEnumType) Type Type of creating filter. Return: (IEntityFilter) 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

Pointer to created filter.

Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter 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

IAttributeSink

CimatronE 9.0

CimatronE SDK User Guide 844

IAttributeSink

This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them). Properties None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( )
IAttributeSink::Attach

Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity. Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly.
IAttributeSink::Detach

Description This method disconnects the attribute from the entity. Syntax Detach ( Attribute ); Input: (IAttribute) Attribute The attribute to be detached
IAttributeSink::GetAttribute

Description This method returns a specific entity's attribute. Syntax

CimatronE 9.0

CimatronE SDK User Guide 845

Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved. Input: (String) Name Return: (IAttribute) Attribute Note To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity. Name of attribute to be retrieved. Retrieved attribute.

Vertex
Vertex Topology

IVertex
IVertex

This interface enables you to get vertex point coordinates. Properties None Methods

CimatronE 9.0

CimatronE SDK User Guide 846

GetVertexPoint ( Double, Double, Double )


IVertex::GetVertexPoint

Description This method allows you to get vertex point coordinates. Syntax GetVertexPoint( VertexX, VertexY, VertexZ );
Return: (Double) VertexX X-coordinate. Return: (Double) VertexY Y-coordinate. Return: (Double) VertexZ Z-coordinate.

ICimEntity
ICimEntity

The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get Methods Long IsOwnerWireBody ( )
ICimEntity::Model

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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::Geometry

Description

CimatronE 9.0

CimatronE SDK User Guide 847

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

IEntityQuery

CimatronE 9.0

CimatronE SDK User Guide 848

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 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

Pointer to created filter.

Description This method allows you to get the filter that was set by the IEntityQuery::SetFilter method. Syntax Filter = GetFilter ( ); Return: (IEntityFilter) Filter Filter by which selection mades
IEntityQuery::Select

Description

CimatronE 9.0

CimatronE SDK User Guide 849

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

IAttributeSink
IAttributeSink

This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them). Properties None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( )
IAttributeSink::Attach

Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity.

CimatronE 9.0

CimatronE SDK User Guide 850

Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly.
IAttributeSink::Detach

Description This method disconnects the attribute from the entity. Syntax Detach ( Attribute ); Input: (IAttribute) Attribute The attribute to be detached
IAttributeSink::GetAttribute

Description This method returns a specific entity's attribute. Syntax Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved. Input: (String) Name Return: (IAttribute) Attribute Note To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity. Name of attribute to be retrieved. Retrieved attribute.

Datum Objects
Datum Topology

CimatronE 9.0

CimatronE SDK User Guide 851

Plane
Plane

IPlane

IPlane This interface allows you to get plane data. Properties


Get Transformation IModelTransformation

Methods None Note You can use this interface to check what kind of entity you have. In MS Visual C++ use the QueryInterface(...) method, in MS Visual Basic use the Set method and error trapping if an entity isn't a plane.

CimatronE 9.0

CimatronE SDK User Guide 852

IPlane::Transformation Description This property allows you to get plane transformation. Syntax Property get:
PlaneTransformation = Transformation ( ); Return: (IModelTransformation) PlaneTransformation A pointer to the IModelTransformation interface that represents transformation data.

ICimEntity

ICimEntity The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get 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::Model Description Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 853

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::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
IAttributeSink

IAttributeSink This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them).

CimatronE 9.0

CimatronE SDK User Guide 854

Properties None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( ) IAttributeSink::Attach Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity. Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly. IAttributeSink::Detach Description This method disconnects the attribute from the entity. Syntax Detach ( Attribute ); Input: (IAttribute) Attribute The attribute to be detached IAttributeSink::GetAttribute Description This method returns a specific entity's attribute. Syntax Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved.

CimatronE 9.0

CimatronE SDK User Guide 855

Input: (String) Name Return: (IAttribute) Attribute Note

Name of attribute to be retrieved. Retrieved attribute.

To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity.

Axis
Axis

IAxis

This interface represents an axis and does not contain any methods. Intended for later use. Note You can use this interface to check what kind of entity you have. In MS Visual C++ use the QueryInterface(...) method; in MS Visual Basic use the Set method and error trapping if an entity isn't an axis.
ICimEntity

ICimEntity The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Model Description Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 856

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::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

CimatronE 9.0

CimatronE SDK User Guide 857

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
IAttributeSink

IAttributeSink This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them). Properties None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( ) IAttributeSink::Attach Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity. Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly. IAttributeSink::Detach Description This method disconnects the attribute from the entity. Syntax

CimatronE 9.0

CimatronE SDK User Guide 858

Detach ( Attribute ); Input: (IAttribute) Attribute The attribute to be detached IAttributeSink::GetAttribute Description This method returns a specific entity's attribute. Syntax Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved. Input: (String) Name Return: (IAttribute) Attribute Note To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity. Name of attribute to be retrieved. Retrieved attribute.

Ucs
Ucs

IUcs

IUcs This interface represents a UCS object. Properties


Get/Set Name Get

String

Transformation IModelTransformation

Methods None IUcs::Transformation Description

CimatronE 9.0

CimatronE SDK User Guide 859

This property allows you to get a pointer to the IModelTransformation interface from which you can get the UCS transformation matrix. Syntax
Transformation = Transformation ( ); Return: (IModelTransformation) Transformation Pointer to IModelTransformation interface.

IUcs::Name Description This property allows you to get and set the UCS name. Syntax Property get: UcsName = Name ( );
Return: (String) UcsName Get UCS name.

Property set: Name ( UcsName);


Input: (String) UcsName Set UCS name.

ICimEntity

ICimEntity The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get Methods Long IsOwnerWireBody ( ) ICimEntity::Model Description This property allows you to get a model in which the entity exists. Id Type Model Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

CimatronE 9.0

CimatronE SDK User Guide 860

Syntax Property get: Model = Model( ); Return: (IModel) Model A model to which the entity relates. 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 9.0

CimatronE SDK User Guide 861

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
IAttributeSink

IAttributeSink This interface connects the attribute to the entity and allows you to manage entity attributes (attach, detach and retrieve them). Properties None Methods Attach ( IAttribute Attribute ) Detach ( IAttribute Attribute ) IAttribute GetAttribute ( AttributeEnumType Type, String Name ) Variant GetAttributes ( ) IAttributeSink::Attach Description This method connects the attribute to the entity. Syntax Attach ( Attribute ); Input: (IAttribute) Attribute The attribute to be attached to the entity. Remark Attributes of cmAttDouble and cmAttInteger are not saved with the file and are only accessible so long as a file they use is open. To save these types of attributes with a file, use the cmAttDoubleSaveable and cmAttIntegerSaveable attribute types accordingly. IAttributeSink::Detach Description This method disconnects the attribute from the entity. Syntax Detach ( Attribute );

CimatronE 9.0

CimatronE SDK User Guide 862

Input: (IAttribute) Attribute The attribute to be detached IAttributeSink::GetAttribute Description This method returns a specific entity's attribute. Syntax Attribute = GetAttribute( Type, Name ); Input: (AttributeEnumType) Type Type of attribute to be retrieved. Input: (String) Name Return: (IAttribute) Attribute Note To get attributes of types cmAttColor, cmAttStyle and cmAttWidth, set the Name argument with an empty string. This is caused by these types of attributes being only one per entity. Name of attribute to be retrieved. Retrieved attribute.

Point3D
Point3D

IGeom3DPoint
IGeom3DPoint

The IGeom3DPoint interface represents point geometrical data. Properties Get X Double Get Y Double Get Z Double Methods None
IGeom3DPoint::X

Description

CimatronE 9.0

CimatronE SDK User Guide 863

This property allows you to get the X-coordinate of a point. Syntax Property get: CoordinateX = X ( );
Return: (Double) CoordinateX The value of the X coordinate of a point.

Note All coordinates are given relative to the model's main UCS.
IGeom3DPoint::Y

Description This property allows you to get the Y-coordinate of a point. Syntax Property get: CoordinateY = Y ( );
Return: (Double) CoordinateY The value of the Y coordinate of a point.

Note All coordinates are given relative to the model's main UCS.
IGeom3DPoint::Z

Description This property allows you to get the Z-coordinate of a point. Syntax Property get: CoordinateZ = Z( );
Return: (Double) CoordinateZ The value of the Z coordinate of a point.

Note All coordinates are given relative to the model's main UCS.

ICimEntity
ICimEntity

The ICimEntity interface represents the basic information about entities in CimatronE. Properties

CimatronE 9.0

CimatronE SDK User Guide 864

Get Get Get Get Methods

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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::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::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 ( );

CimatronE 9.0

CimatronE SDK User Guide 865

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

IPointData
IPointData
This interface allows you to get point data like: type and in some cases, for example if point type is cmPtIntersc - intersection point, to get entities to which this point belongs.

Properties
Get DataType EPointType Get Entities ICimEntityList

Methods
None

IPointData::DataType

Description
This property allows to get a point type.

Syntax
Property get: Type = DataType( ); Return: (EPointType) Type A point type.

CimatronE 9.0

CimatronE SDK User Guide 866

IPointData::Entities

Description
This property allows to get a list of entities to which current point belongs. For example if point is middle of some curve the IPointData::Entities( ) property returns this curve entity.

Syntax
Property get: Entities = Entities( ); Return: (ICimEntityList) Entities A list of entities to which belongs a point.

CimatronE 9.0

CimatronE SDK User Guide 867

Geometrical Information

Geometrical Information

CimatronE 9.0

CimatronE SDK User Guide 868

CimatronE 9.0

CimatronE SDK User Guide 869

Body Geometry
Body types

Geom3DBody
Geom3DBody

IGeom3DBody

IGeom3DBody The Geom3DBody interface provides the basic information for Body geometries. Properties None Methods Variant Box Variant Center () ()

Double ProjArea ( ) Double SurfArea ( ) Double Volume ( )

IGeom3DBody::Box Description This method returns the bounding box of the body. Syntax

CimatronE 9.0

CimatronE SDK User Guide 870

Box = Box( );
Return: (Variant) Variant that contains a double type one dimensional array of coordinates (X,Y,Z) of the two Box opposite vertices of the box.

Note All coordinates are given relative to the model's main UCS.

IGeom3DBody::Center Description This method returns the center point of the body. Syntax Center = Center( );
Return: (Variant) Center Variant that contains a double array of arc/ellipse center coordinates (X,Y,Z).

Note All coordinates are given relative to the model's main UCS.

IGeom3DBody::ProjArea Description This method returns the projected area of the body. Syntax ProjArea = ProjArea( );
Return: (Double) ProjArea Projected area value.

IGeom3DBody::SurfArea Description This method returns the surface area of the body. Syntax SurfArea = SurfArea( );
Return: (Double) SurfArea Surface area value.

IGeom3DBody::Volume

CimatronE 9.0

CimatronE SDK User Guide 871

Description This method returns the volume of the body. Syntax Volume = Volume( );
Return: (Double) Volume Volume Of the body.

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property.

CimatronE 9.0

CimatronE SDK User Guide 872

Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

Point Geometry
Point Geometry

Geom3DPoint
Geom3DPoint

IGeom3DPoint

IGeom3DPoint The IGeom3DPoint interface represents point geometrical data. Properties Get X Double Get Y Double Get Z Double

CimatronE 9.0

CimatronE SDK User Guide 873

Methods None IGeom3DPoint::X Description This property allows you to get the X-coordinate of a point. Syntax Property get: CoordinateX = X ( );
Return: (Double) CoordinateX The value of the X coordinate of a point.

Note All coordinates are given relative to the model's main UCS. IGeom3DPoint::Y Description This property allows you to get the Y-coordinate of a point. Syntax Property get: CoordinateY = Y ( );
Return: (Double) CoordinateY The value of the Y coordinate of a point.

Note All coordinates are given relative to the model's main UCS. IGeom3DPoint::Z Description This property allows you to get the Z-coordinate of a point. Syntax Property get: CoordinateZ = Z( );
Return: (Double) CoordinateZ The value of the Z coordinate of a point.

Note All coordinates are given relative to the model's main UCS.

CimatronE 9.0

CimatronE SDK User Guide 874

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID

IGeometry3D::Type Description

CimatronE 9.0

CimatronE SDK User Guide 875

This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

Curve Geometry
Curve Types

Geom3DStraight
Straight Curve

IGeom3DStraight

CimatronE 9.0

CimatronE SDK User Guide 876

IGeom3DStraight Description This interface represents an infinite straight line represented by a point and a unit vector specifying the direction. A straight also has a scale factor for the parameterization, so the parameter values can be made invariant under transformation. A straight line is an open curve that is not periodic. It is parameterized as: Point = RootPoint + t* Scale* Direction where t is the parameter. Properties
Get RootPoint Variant Get Scale Double

Get Direction Variant

Methods None IGeom3DStraight::Direction Description This property returns the direction of the curve. Syntax Direction = Direction ( );
Return: (Variant) Direction Variant that contains double type one dimensional array of (x,y,z) coordinates of straight direction vector.

Note All coordinates are given relative to the model's main UCS. IGeom3DStraight::RootPoint Description This property allows you to get a point through which the straight line passes. Syntax RootPoint = RootPoint ( );
Return: (Variant) RootPoint Variant that contains double type one dimensional array of (x,y,z) coordinates of a straight root point.

Note

CimatronE 9.0

CimatronE SDK User Guide 877

All coordinates are given relative to the model's main UCS. IGeom3DStraight::Scale Description This property allows you to get the scaling factor for parameterization. Syntax Scale = Scale ( );
Return: (Double) Scale Scale factor.

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description

CimatronE 9.0

CimatronE SDK User Guide 878

This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DCurve

CimServices IGeom3DCurve This interface represents the general curve geometry data. More specific data about required curve types may be obtained through the IGeom3DStraight, IGeom3DEllipse, IGeom3DIntCurve, IGeom3DSpline interfaces . Properties Get Limit Get Start Get End Get Length Methods Variant Evaluate ( Double ) Variant Bound ( Double, Double ) Variant Curvature ( Double ) Double Extremum ( Variant ) Double BoundedLength ( Double, Double ) Double ParamByPoint ( Variant, Double ) Variant Variant Variant Double

Get CurveType GeomCurveType

CimatronE 9.0

CimatronE SDK User Guide 879

Long IsPeriodic ( ) Long IsClosed ( ) Boolean TestPoint ( Variant, Double ) Variant PrepByPoint ( Variant, Double ) Variant Tangent ( Double ) Variant Facet ( Double, Double, Double ) IPointData GetPointData ( EPointType ) IGeom3DCurve::Tangent Description This method allows you to get the tangent vector to a curve in a given parametrically defined point. Syntax Tangent = Tangent ( Parameter );
Input: (Double) Parameter The parameter of a point in which the tangent will be defined. Return: (Variant) Tangent A variant that contains a double array of coordinates (x,y,z) of a tangent vector.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::Start Description This property allows you to get the coordinates of the start of a curve. Syntax StartPoint = Start ( );
Return: (Variant) StartPoint Variant that contains double array of start point coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::PrepByPoint Description This method allows you to find the foot of the perpendicular from a given point to the curve, the tangent to and curvature of the curve at that point. If a Guess parameter value is supplied, the perpendicular found is the one nearest to the supplied parameter position, otherwise it is the one at which the curve is nearest to the given point.

CimatronE 9.0

CimatronE SDK User Guide 880

Syntax ResultArray = PrepByPoint( Point, Guess );


Input: (Variant) Point Input: (Double) Guess Return: (Variant) ResultArray Variant that contains a double array of coordinates of a given point. Parameter on a curve defining the nearest area to a perpendicular from point. Variant that contains a double array of 9 elements consists of:

ResultArray(0)-ResultArray(2) - The perpendicular's foot point coordinates; ResultArray(3)-ResultArray(5) - The tangent to curve in that point; ResultArray(6)-ResultArray(8) - The curvature of curve in that point.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::ParamByPoint Description This method allows you to find the parameter value of a point on a curve, corresponding to the given point. Only guaranteed to be valid for points on the curve, though particular curve types may give useful curve-dependent results for other points. Syntax Param = ParamByPoint( Point, GuesParam );
Input: (Variant) Point Variant that contains double array of a point coordinates that belong to a curve. Input: (Double) GuessParam Estimated curve parameter near to which the point may lie. Return: (Double) Param If the point doesn't lie on a curve, return its parameter.

Note Before using this method, it is advisable to check the point using the IGeom3DCurve::TestPoint method to be sure that it lies on the curve. All coordinates are given relative to the model's main UCS. IGeom3DCurve::Limit Description This property allows you to get curve parameter limits. Syntax Limits = Limit ( );
Return: (Variant) Limits The curve limits: Limits(0) - start parameter, Limits(1) - end parameter.

CimatronE 9.0

CimatronE SDK User Guide 881

IGeom3DCurve::Length Description This property allows you to get a curve length. Syntax Length = Length ( );
Return: (Double) Length Length of curve.

IGeom3DCurve::IsPeriodic Description This method indicates whether a curve is periodic, i.e. it joins itself smoothly at the ends of its principal parameter range, so that the edges span the "seam". Syntax Status = IsPeriodic ( );
Return: (Boolean) Status TRUE if curve periodic.

IGeom3DCurve::IsClosed Description This method indicates whether a curve is closed, i.e. it joins itself (smoothly or not) at the ends of its principal parameter range. Syntax Status = IsClosed ( );
Return: (Boolean) Status TRUE if curve closed.

Note This function must always return TRUE if IGeom3DCurve::IsPeriodic does. IGeom3DCurve::Extremum Description This method allows you to get the curve parameter in which it has the extremum in the direction of a defined vector. Syntax Param = Extremum( Vector );

CimatronE 9.0

CimatronE SDK User Guide 882

Input: (Variant) Vector Variant that contains double array of direction vector coordinates. Return: (Double) Param Parameter of curve in which it reaches extremum.

Note All coordinates are given relative to the model's main UCS. The result is not satisfactory. IGeom3DCurve::Evaluate Description This method evaluates a curve at a given parameter value and gives the coordinates of a point responding to this parameter. Syntax Point = Evaluate( Parameter );
Input: (Double) Parameter Curve parameter. Return: (Variant) Point Variant that contains double array of corresponding point c oordinates .

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::End Description This property allows you to get the coordinates of the end of a curve. Syntax EndPoint = End ( );
Return: (Variant) EndPoint Variant that contains double array of end point coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::CurveType Description This property allows you to get the curve type. Syntax CurveType = CurveType ( );
Return: (GeomCurveType) CurveType Curve type.

CimatronE 9.0

CimatronE SDK User Guide 883

IGeom3DCurve::Curvature Description This method allows you to get the curvature of a curve in a given parameter. Syntax Curvature = Curvature( Parameter );
Input:(Double) Parameter The parameter of point in which the curvature will be defined. Return: (Variant) Curvature Variant that contains double array of curvature vector coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::BoundedLength Description This property allows you to get the curve length between two parameters. Syntax Length = BoundedLength( StartParam, EndParam );
Input: (Double) StartParam Start parameter. Input: (Double) EndParam End parameter. Return: (Double) Length Length of curve between StartParam and EndParam.

IGeom3DCurve::Bound Description This method returns a minimal box around the curve limited by two parameters. Syntax VectorOfPoints = Bound( StartParam, EndParam );
Input: (Double) StartParam Input: (Double) EndParam Return: (Variant) VectorOfPoints Start parameter. End parameter. Variant that contains double array of 6 elements that represents vertices of bounded box (x,y,z).

Note All coordinates are given relative to the model's main UCS. The result is not satisfactory. IGeom3DCurve::TestPoint

CimatronE 9.0

CimatronE SDK User Guide 884

Description This method allows you to determine if the point is on the curve. Syntax Result = TestPoint( Point, GuessParam );
Input: (Variant) Point Input: (Double) GuessParam Return: (Boolean) Result Variant that contains double array of checked point coordinates. Estimated curve parameter near which the required point may lie.

TRUE = Point on curve.

Note IGeom3DCurve::Facet Description This method allows you to make approximation of given curve between its two parameters. Syntax Points = Facet( StartParam, EndParam, Tolerance );
Input: (Double) StartParam An approximation start parameter. Input: (Double) EndParam An approximation end parameter. Input: (Double) Tolerance An approximation tolerance. Return: (Variant) Points Variant that contains double array of approximation points coordinates.

Note All coordinates are given relative to the model's main UCS.

Geom3DEllipse
Ellipse Curve

CimatronE 9.0

CimatronE SDK User Guide 885

IGeom3DEllipse

IGeom3DEllipse This interface represents the Arc and Ellipse geometrical data. Properties
Get Center Variant

Get ParamOffset Double Get RadiusRatio Double Get Normal Get MajorAxis Variant Variant

Get RadiusMajor Double Get RadiusMinor Double Get StartAngle Get EndAngle Double Double

Methods None IGeom3DEllipse::StartAngle Description This property allows you to get the start angle of an Arc or Ellipse. Syntax StartAngle = StartAngle ( );
Return: (Double) StartAngle Start angle in degrees.

IGeom3DEllipse::RadiusRatio Description This property allows you to get the ratio between the main and minor radius. In the case of an arc/circle, it will be 1. Syntax Ratio = RadiusRatio ( );
Return: (Double) Ratio Ratio between main and minor radius.

IGeom3DEllipse::RadiusMajor

CimatronE 9.0

CimatronE SDK User Guide 886

Description This property returns a major radius of an ellipse. In the case of an arc/circle, the minor and major radii will be equivalent. Syntax MajorRadius = RadiusMajor ( );
Return: (Double) MajorRadius Major radius of an ellipse.

IGeom3DEllipse::Normal Description This property allows you to get the normal to the plane of an arc/ellipse. Syntax Normal = Normal ( );
Return: (Variant) Normal Variant that contains double array of normal vector coordinates (x,y, z) to an arc/ellipse plane.

Note All coordinates are given relative to the model's main UCS. IGeom3DEllipse::ParamOffset Description This property allows you to get the parameter of the point at the end of the major axis of an ellipse. Syntax Parameter = ParamOffset ( );
Return: (Double) Parameter Parameter of point at the end of the major axis.

IGeom3DEllipse::MajorAxis Description This property allows you to get the major axis of an arc/ellipse. Syntax MajorAxis = MajorAxis ( );
Return: (Variant) MajorAxis Variant that contains double array of major axis coordinates (x,y, z) of ellipse.

Note

CimatronE 9.0

CimatronE SDK User Guide 887

All coordinates are given relative to the model's main UCS. IGeom3DEllipse::EndAngle Description This property allows you to get the end angle of an Arc or Ellipse. Syntax EndAngle = EndAngle ( );
Return: (Double) EndAngle End angle in degrees.

IGeom3DEllipse::Center Description This property returns the center of an Arc or Ellipse. Syntax Center = Center ( );
Return: (Variant) Center Variant that contains double array of arc/ellipse center coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IGeom3DEllipse::RadiusMinor Description This property returns the minor radius of an ellipse. In the case of a arc/circle, the minor and major radii will be equivalent. Syntax MinorRadius = RadiusMinor ( );
Return: (Double) MinorRadius Minor radius of ellipse.

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType

CimatronE 9.0

CimatronE SDK User Guide 888

Get Id

Long

Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DCurve

CimatronE 9.0

CimatronE SDK User Guide 889

CimServices IGeom3DCurve This interface represents the general curve geometry data. More specific data about required curve types may be obtained through the IGeom3DStraight, IGeom3DEllipse, IGeom3DIntCurve, IGeom3DSpline interfaces . Properties Get Limit Get Start Get End Get Length Methods Variant Evaluate ( Double ) Variant Bound ( Double, Double ) Variant Curvature ( Double ) Double Extremum ( Variant ) Double BoundedLength ( Double, Double ) Double ParamByPoint ( Variant, Double ) Long IsPeriodic ( ) Long IsClosed ( ) Boolean TestPoint ( Variant, Double ) Variant PrepByPoint ( Variant, Double ) Variant Tangent ( Double ) Variant Facet ( Double, Double, Double ) IPointData GetPointData ( EPointType ) IGeom3DCurve::Tangent Description This method allows you to get the tangent vector to a curve in a given parametrically defined point. Syntax Tangent = Tangent ( Parameter );
Input: (Double) Parameter The parameter of a point in which the tangent will be defined.

Variant Variant Variant Double

Get CurveType GeomCurveType

CimatronE 9.0

CimatronE SDK User Guide 890

Return: (Variant) Tangent A variant that contains a double array of coordinates (x,y,z) of a tangent vector.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::Start Description This property allows you to get the coordinates of the start of a curve. Syntax StartPoint = Start ( );
Return: (Variant) StartPoint Variant that contains double array of start point coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::PrepByPoint Description This method allows you to find the foot of the perpendicular from a given point to the curve, the tangent to and curvature of the curve at that point. If a Guess parameter value is supplied, the perpendicular found is the one nearest to the supplied parameter position, otherwise it is the one at which the curve is nearest to the given point. Syntax ResultArray = PrepByPoint( Point, Guess );
Input: (Variant) Point Input: (Double) Guess Return: (Variant) ResultArray Variant that contains a double array of coordinates of a given point. Parameter on a curve defining the nearest area to a perpendicular from point. Variant that contains a double array of 9 elements consists of:

ResultArray(0)-ResultArray(2) - The perpendicular's foot point coordinates; ResultArray(3)-ResultArray(5) - The tangent to curve in that point; ResultArray(6)-ResultArray(8) - The curvature of curve in that point.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::ParamByPoint Description

CimatronE 9.0

CimatronE SDK User Guide 891

This method allows you to find the parameter value of a point on a curve, corresponding to the given point. Only guaranteed to be valid for points on the curve, though particular curve types may give useful curve-dependent results for other points. Syntax Param = ParamByPoint( Point, GuesParam );
Input: (Variant) Point Variant that contains double array of a point coordinates that belong to a curve. Input: (Double) GuessParam Estimated curve parameter near to which the point may lie. Return: (Double) Param If the point doesn't lie on a curve, return its parameter.

Note Before using this method, it is advisable to check the point using the IGeom3DCurve::TestPoint method to be sure that it lies on the curve. All coordinates are given relative to the model's main UCS. IGeom3DCurve::Limit Description This property allows you to get curve parameter limits. Syntax Limits = Limit ( );
Return: (Variant) Limits The curve limits: Limits(0) - start parameter, Limits(1) - end parameter.

IGeom3DCurve::Length Description This property allows you to get a curve length. Syntax Length = Length ( );
Return: (Double) Length Length of curve.

IGeom3DCurve::IsPeriodic Description This method indicates whether a curve is periodic, i.e. it joins itself smoothly at the ends of its principal parameter range, so that the edges span the "seam". Syntax

CimatronE 9.0

CimatronE SDK User Guide 892

Status = IsPeriodic ( );
Return: (Boolean) Status TRUE if curve periodic.

IGeom3DCurve::IsClosed Description This method indicates whether a curve is closed, i.e. it joins itself (smoothly or not) at the ends of its principal parameter range. Syntax Status = IsClosed ( );
Return: (Boolean) Status TRUE if curve closed.

Note This function must always return TRUE if IGeom3DCurve::IsPeriodic does. IGeom3DCurve::Extremum Description This method allows you to get the curve parameter in which it has the extremum in the direction of a defined vector. Syntax Param = Extremum( Vector );
Input: (Variant) Vector Variant that contains double array of direction vector coordinates. Return: (Double) Param Parameter of curve in which it reaches extremum.

Note All coordinates are given relative to the model's main UCS. The result is not satisfactory. IGeom3DCurve::Evaluate Description This method evaluates a curve at a given parameter value and gives the coordinates of a point responding to this parameter. Syntax Point = Evaluate( Parameter );
Input: (Double) Parameter Curve parameter. Return: (Variant) Point Variant that contains double array of corresponding point c oordinates .

CimatronE 9.0

CimatronE SDK User Guide 893

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::End Description This property allows you to get the coordinates of the end of a curve. Syntax EndPoint = End ( );
Return: (Variant) EndPoint Variant that contains double array of end point coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::CurveType Description This property allows you to get the curve type. Syntax CurveType = CurveType ( );
Return: (GeomCurveType) CurveType Curve type.

IGeom3DCurve::Curvature Description This method allows you to get the curvature of a curve in a given parameter. Syntax Curvature = Curvature( Parameter );
Input:(Double) Parameter The parameter of point in which the curvature will be defined. Return: (Variant) Curvature Variant that contains double array of curvature vector coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::BoundedLength Description This property allows you to get the curve length between two parameters.

CimatronE 9.0

CimatronE SDK User Guide 894

Syntax Length = BoundedLength( StartParam, EndParam );


Input: (Double) StartParam Start parameter. Input: (Double) EndParam End parameter. Return: (Double) Length Length of curve between StartParam and EndParam.

IGeom3DCurve::Bound Description This method returns a minimal box around the curve limited by two parameters. Syntax VectorOfPoints = Bound( StartParam, EndParam );
Input: (Double) StartParam Input: (Double) EndParam Return: (Variant) VectorOfPoints Start parameter. End parameter. Variant that contains double array of 6 elements that represents vertices of bounded box (x,y,z).

Note All coordinates are given relative to the model's main UCS. The result is not satisfactory. CimServices IGeom3DCurve This interface represents the general curve geometry data. More specific data about required curve types may be obtained through the IGeom3DStraight, IGeom3DEllipse, IGeom3DIntCurve, IGeom3DSpline interfaces . Properties Get Limit Get Start Get End Get Length Methods Variant Evaluate ( Double ) Variant Bound ( Double, Double ) Variant Variant Variant Double

Get CurveType GeomCurveType

CimatronE 9.0

CimatronE SDK User Guide 895

Variant Curvature ( Double ) Double Extremum ( Variant ) Double BoundedLength ( Double, Double ) Double ParamByPoint ( Variant, Double ) Long IsPeriodic ( ) Long IsClosed ( ) Boolean TestPoint ( Variant, Double ) Variant PrepByPoint ( Variant, Double ) Variant Tangent ( Double ) Variant Facet ( Double, Double, Double ) IPointData GetPointData ( EPointType ) IGeom3DCurve::Facet Description This method allows you to make approximation of given curve between its two parameters. Syntax Points = Facet( StartParam, EndParam, Tolerance );
Input: (Double) StartParam An approximation start parameter. Input: (Double) EndParam An approximation end parameter. Input: (Double) Tolerance An approximation tolerance. Return: (Variant) Points Variant that contains double array of approximation points coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::GetPointData Description This method allows you to get the IPointData object from a curve by input type of point. Syntax PointData = GetPointData ( PointType );
Input: (EPointType) PointType Set point type on curve. Return: (IPointData) PointData Returned the PointData object.

Note

CimatronE 9.0

CimatronE SDK User Guide 896

You cannot use all types of points. For example, you cannot use "cmPtCenter" or "cmPtScreen" etc.

Geom3DIntCurve
IntCurve Curve

IGeom3DIntCurve

IGeom3DIntCurve An IGeom3DIntCurve is the general representation of any curve that is not defined by an explicit equation, but by reference to other geometric entities. This includes the intersection between two surfaces, the projection of a curve onto a surface, an exact spline curve, or any other general curve. Properties
Get Degree Double

Get ControlPoints Variant Get Weights Get Knots Variant Variant

Methods Long IsRational ( ). IGeom3DIntCurve::ControlPoints Description This property allows you to get an array of control points for a 3D B-spline curve. Syntax ControlPoints = ControlPoints ( );
Return: (Variant) ControlPoints Variant that contains double array of control points coordinates in (x, y, z) order.

Note All coordinates are given relative to the model's main UCS.

CimatronE 9.0

CimatronE SDK User Guide 897

IGeom3DIntCurve::Degree Description This property allows you to get the degree of a curve. Syntax Degree = Degree ( );
Return: (Double) Degree Degree of curve.

IGeom3DIntCurve::IsRational Description This method returns if the current curve is rational or not. Syntax Status = IsRational ( );
Return: (Boolean) Status TRUE if rational.

IGeom3DIntCurve::Knots Description This property allows you to get the knots for a 3D B-spline curve. Syntax Knots = Knots ( );
Return: (Variant) Knots An array of curve knots.

IGeom3DIntCurve::Weights Description This property allows you to get weights for a rational, 3D B-spline curve. Syntax Weights = Weights ( );
Return: (Variant) Weights An array of curve weights.

IGeom3DCurve::TestPoint Description This method allows you to determine if the point is on the curve.

CimatronE 9.0

CimatronE SDK User Guide 898

Syntax Result = TestPoint( Point, GuessParam );


Input: (Variant) Point Input: (Double) GuessParam Return: (Boolean) Result Variant that contains double array of checked point coordinates. Estimated curve parameter near which the required point may lie.

TRUE = Point on curve.

Note
IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description

CimatronE 9.0

CimatronE SDK User Guide 899

This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DCurve

CimServices IGeom3DCurve This interface represents the general curve geometry data. More specific data about required curve types may be obtained through the IGeom3DStraight, IGeom3DEllipse, IGeom3DIntCurve, IGeom3DSpline interfaces . Properties Get Limit Get Start Get End Get Length Methods Variant Evaluate ( Double ) Variant Bound ( Double, Double ) Variant Curvature ( Double ) Double Extremum ( Variant ) Double BoundedLength ( Double, Double ) Double ParamByPoint ( Variant, Double ) Variant Variant Variant Double

Get CurveType GeomCurveType

CimatronE 9.0

CimatronE SDK User Guide 900

Long IsPeriodic ( ) Long IsClosed ( ) Boolean TestPoint ( Variant, Double ) Variant PrepByPoint ( Variant, Double ) Variant Tangent ( Double ) Variant Facet ( Double, Double, Double ) IPointData GetPointData ( EPointType ) IGeom3DCurve::Tangent Description This method allows you to get the tangent vector to a curve in a given parametrically defined point. Syntax Tangent = Tangent ( Parameter );
Input: (Double) Parameter The parameter of a point in which the tangent will be defined. Return: (Variant) Tangent A variant that contains a double array of coordinates (x,y,z) of a tangent vector.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::Start Description This property allows you to get the coordinates of the start of a curve. Syntax StartPoint = Start ( );
Return: (Variant) StartPoint Variant that contains double array of start point coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::PrepByPoint Description This method allows you to find the foot of the perpendicular from a given point to the curve, the tangent to and curvature of the curve at that point. If a Guess parameter value is supplied, the perpendicular found is the one nearest to the supplied parameter position, otherwise it is the one at which the curve is nearest to the given point.

CimatronE 9.0

CimatronE SDK User Guide 901

Syntax ResultArray = PrepByPoint( Point, Guess );


Input: (Variant) Point Input: (Double) Guess Return: (Variant) ResultArray Variant that contains a double array of coordinates of a given point. Parameter on a curve defining the nearest area to a perpendicular from point. Variant that contains a double array of 9 elements consists of:

ResultArray(0)-ResultArray(2) - The perpendicular's foot point coordinates; ResultArray(3)-ResultArray(5) - The tangent to curve in that point; ResultArray(6)-ResultArray(8) - The curvature of curve in that point.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::ParamByPoint Description This method allows you to find the parameter value of a point on a curve, corresponding to the given point. Only guaranteed to be valid for points on the curve, though particular curve types may give useful curve-dependent results for other points. Syntax Param = ParamByPoint( Point, GuesParam );
Input: (Variant) Point Variant that contains double array of a point coordinates that belong to a curve. Input: (Double) GuessParam Estimated curve parameter near to which the point may lie. Return: (Double) Param If the point doesn't lie on a curve, return its parameter.

Note Before using this method, it is advisable to check the point using the IGeom3DCurve::TestPoint method to be sure that it lies on the curve. All coordinates are given relative to the model's main UCS. IGeom3DCurve::Limit Description This property allows you to get curve parameter limits. Syntax Limits = Limit ( );
Return: (Variant) Limits The curve limits: Limits(0) - start parameter, Limits(1) - end parameter.

CimatronE 9.0

CimatronE SDK User Guide 902

IGeom3DCurve::Length Description This property allows you to get a curve length. Syntax Length = Length ( );
Return: (Double) Length Length of curve.

IGeom3DCurve::IsPeriodic Description This method indicates whether a curve is periodic, i.e. it joins itself smoothly at the ends of its principal parameter range, so that the edges span the "seam". Syntax Status = IsPeriodic ( );
Return: (Boolean) Status TRUE if curve periodic.

IGeom3DCurve::IsClosed Description This method indicates whether a curve is closed, i.e. it joins itself (smoothly or not) at the ends of its principal parameter range. Syntax Status = IsClosed ( );
Return: (Boolean) Status TRUE if curve closed.

Note This function must always return TRUE if IGeom3DCurve::IsPeriodic does. IGeom3DCurve::Extremum Description This method allows you to get the curve parameter in which it has the extremum in the direction of a defined vector. Syntax Param = Extremum( Vector );

CimatronE 9.0

CimatronE SDK User Guide 903

Input: (Variant) Vector Variant that contains double array of direction vector coordinates. Return: (Double) Param Parameter of curve in which it reaches extremum.

Note All coordinates are given relative to the model's main UCS. The result is not satisfactory. IGeom3DCurve::Evaluate Description This method evaluates a curve at a given parameter value and gives the coordinates of a point responding to this parameter. Syntax Point = Evaluate( Parameter );
Input: (Double) Parameter Curve parameter. Return: (Variant) Point Variant that contains double array of corresponding point c oordinates .

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::End Description This property allows you to get the coordinates of the end of a curve. Syntax EndPoint = End ( );
Return: (Variant) EndPoint Variant that contains double array of end point coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::CurveType Description This property allows you to get the curve type. Syntax CurveType = CurveType ( );
Return: (GeomCurveType) CurveType Curve type.

CimatronE 9.0

CimatronE SDK User Guide 904

IGeom3DCurve::Curvature Description This method allows you to get the curvature of a curve in a given parameter. Syntax Curvature = Curvature( Parameter );
Input:(Double) Parameter The parameter of point in which the curvature will be defined. Return: (Variant) Curvature Variant that contains double array of curvature vector coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::BoundedLength Description This property allows you to get the curve length between two parameters. Syntax Length = BoundedLength( StartParam, EndParam );
Input: (Double) StartParam Start parameter. Input: (Double) EndParam End parameter. Return: (Double) Length Length of curve between StartParam and EndParam.

IGeom3DCurve::Bound Description This method returns a minimal box around the curve limited by two parameters. Syntax VectorOfPoints = Bound( StartParam, EndParam );
Input: (Double) StartParam Input: (Double) EndParam Return: (Variant) VectorOfPoints Start parameter. End parameter. Variant that contains double array of 6 elements that represents vertices of bounded box (x,y,z).

Note All coordinates are given relative to the model's main UCS. The result is not satisfactory. IGeom3DCurve::Facet

CimatronE 9.0

CimatronE SDK User Guide 905

Description This method allows you to make approximation of given curve between its two parameters. Syntax Points = Facet( StartParam, EndParam, Tolerance );
Input: (Double) StartParam An approximation start parameter. Input: (Double) EndParam An approximation end parameter. Input: (Double) Tolerance An approximation tolerance. Return: (Variant) Points Variant that contains double array of approximation points coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DCurve::Sense Description This property indicates whether this edge shares the direction of the underlying curve, or has the opposite direction. Syntax CurveSense= Sense( );
Returns the sense of Return: (BOOL) *pVal) this EDGE (while false - forward).

IGeom3DCoedge

IGeom3DCoedge This interface represents the general coedge geometry data. More specific data about required curve types may be obtained through the IGeom3DStraight, IGeom3DEllipse, IGeom3DIntCurve, IGeom3DSpline interfaces. Properties Get EndParam Get StartParam Get Previous Get Next Get Partner Get Loop Double Double ICimEntity* ICimEntity* ICimEntity* ICimEntity*

CimatronE 9.0

CimatronE SDK User Guide 906

Get Edge Get Sense Get Knots Get Weights Get Degree Methods

ICimEntity* Bool Varient Varient Double

Get ControlPoints Varient

Variant IsRational ( Long*)

IGeom3DCoedge::EndParam Description This property allows you to get the coordinates of the end parameter of a coedge. Syntax EndCoedgeParam = EndParam( );
Return: (double) *pVal Double of end parameter.

IGeom3DCoedge::StartParam Description This property allows you to get the coordinates of the start parameter of a coedge. Syntax StartCoedgeParam = StartParam( );
Return: (double) *pVal Double of start parameter.

IGeom3DCoedge::Previous Description This property returns a pointer to the previous coedge if the sense argument is FORWARD; otherwise returns a pointer to the next coedge.

CimatronE 9.0

CimatronE SDK User Guide 907

Syntax CoedgePointer = Previous( );


Return: (ICimEntity*) *pVal Pointer to the previous or next coedge.

IGeom3DCoedge::Next Description This property returns a pointer to the next coedge if the sense argument is FORWARD; otherwise returns a pointer to the previous coedge. Syntax CoedgePointer = Next( );
Return: (ICimEntity*) *pVal Pointer to the next or previous coedge.

IGeom3DCoedge::Partner Description This property returns the pointer to the partner coedge of this coedge . Rule: The return will be NULL if this Coedge is unembedded or attached to a free edge. Syntax PartnerPointer = Partner( );
Return: (ICimEntity*) *pVal Pointer to the partner coedge of this coedge.

IGeom3DCoedge::Loop Description This property returns the owner of this coedge if the former is a Loop, otherwise NULL. Syntax CoedgeOwner = Loop( );
Return: (ICimEntity*) *pVal Owner of the coedge or NULL.

IGeom3DCoedge::Edge

CimatronE 9.0

CimatronE SDK User Guide 908

Description This property returns the single edge on which this coedge and all its partners lie. Syntax SingleEdge = Edge( );
Return: (ICimEntity*) *pVal The single edge.

IGeom3DCoedge::Sense Description This property indicates whether this edge shares the direction of the underlying curve, or has the opposite direction. Syntax CoedgeSense= Sense( );
Returns the sense of Return: (BOOL) *pVal this edge (while false forward).

IGeom3DCoedge::Knots Description This property allows you to get the knots for a coedge. Syntax Knots = Knots ( );
Return: (Variant) *pVal An array of coedge knots.

IGeom3DCoedge::Weights Description This property allows you to get weights for a coedge. Syntax Weights = Weights ( );

CimatronE 9.0

CimatronE SDK User Guide 909

Return: (Variant) *pVal An array of coedge weights.

IGeom3DCoedge::ControlPoints Description This property allows you to get an array of control points for a coedge. Syntax ControlPoints = ControlPoints ( );
Return: (Variant) *pVal Variant that contains double array of control points coordinates in (x, y, z) order.

Note All coordinates are given relative to the model's main UCS.

IGeom3DCoedge::IsRational Description This method returns if the current coedge is rational or not. Syntax ORational = IsRational ( );
Return: (long*) ORational TRUE if rational.

IGeom3DCoedge::Degree Description This property allows you to get the degree of a coedge. Syntax Degree = Degree ( );
Return: (Double) *pval Degree of coedge.

Face Geometry
Face Types

CimatronE 9.0

CimatronE SDK User Guide 910

Geom3DPlan
Planar Face

CimatronE 9.0

CimatronE SDK User Guide 911

IGeom3DPlan

IGeom3DPlan
Found in CimServicesAPI.dll.

This interface represents the geometrical data of planar surfaces. Properties Get RootPoint Variant Get Normal Methods
Boolean IsReverseV ( )

Variant

Get Direction Variant

IGeom3DPlan::Direction Description This property allows you to get the vector in the plane which gives the direction and scaling of U parameter lines. Syntax Direction = Direction ( );
Return: (Variant) Direction Coordinates (x,y,z) of the direction vector.

IGeom3DPlan::IsReverseV Description This method allows you to determine if the V parameter is reversed. By default, the V direction is the cross-product of a normal with a direction vector. Syntax

Status = IsReverseV ( );

CimatronE 9.0

CimatronE SDK User Guide 912

Return: (Boolean) Status TRUE if V reversed.

IGeom3DPlan::Normal Description This property allows you to get the normal to the plane. Syntax Normal = Normal ( );
Return: (Variant) Normal Coordinates (x,y,z) of the normal to plane.

IGeom3DPlan::RootPoint Description This property allows you to get a point, any point, through which the plane passes. Syntax RootPoint = RootPoint ( );
Return: (Variant) RootPoint 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.
IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box

CimatronE 9.0

CimatronE SDK User Guide 913

Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DSurface

IGeom3DSurface The IGeom3DSurface interface provides the basic information for a range of surface geometries. Through this interface you can get the type of surface, and by using the appropriate interface like IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DTorus, get more specific data about them. Properties Get SurfType GeomSurfaceType

CimatronE 9.0

CimatronE SDK User Guide 914

Get Limit Get Closed Get Sense Methods

Variant Long T_SurfaceSense

Variant Evaluate (Double, Double ) Variant NormalFromPoint ( Double, Double, Double ) Integer TestPoint ( Variant )
Variant ClosestPoint ( Variant )

Variant ParametersByPoint ( Variant ) Boolean IsPlanar ( ) Boolean IsParametric ( ) Double Area ( ) Double ParamPeriodU ( ) Double ParamPeriodV ( ) Curvature ( Double, Double, Double, Variant, Double, Variant) GetMinMaxRadius ( Double, Double ) Variant Normal ( Variant, Double ) Variant DiscontinuitiesU ( Integer ) Variant DiscontinuitiesV ( Integer )

IGeom3DSurface::Closed
This is preliminary documentation and subject to change.

Description This property allows you to check if a face is closed. The face is closed if it does not have exactly 1 // external loop, or if its outer loop contains 2 partner co-edges. Syntax Result = Closed ( );
Return: (Boolean) Result

IGeom3DSurface::DiscontinuitiesU

CimatronE 9.0

CimatronE SDK User Guide 915

Description This method returns the parameter values of discontinuities by the U parameter of the surface of the given order (maximum three). Syntax DiscontinuitiesU = DiscontinuitiesU( Order );
Input: (Integer) Order Order of discontinuity. Maximum three. Return: (Variant) DiscontinuitiesU The array of parameters in which discontinuities occurred.

IGeom3DSurface::DiscontinuitiesV Description This method returns the parameter values of discontinuities by the V parameter of the surface of the given order (maximum three). Syntax
DiscontinuitiesV = DiscontinuitiesV( Order ); Input: (Integer) Order Order of discontinuity. Maximum three.

Return: (Variant) DiscontinuitiesV The array of parameters in which discontinuities occurred.

IGeom3DSurface::Evaluate Description This method allows you to evaluate the point coordinates by their parameters on a surface. Syntax Point = Evaluate( U, V );
Input: (Double) U Input: (Double) V U parameter of point. V parameter of point.

Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z)

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::IsParametric Description This method allows you to check if a surface is parametric. Syntax Result = IsParametric ( );

CimatronE 9.0

CimatronE SDK User Guide 916

Return: (Boolean) Result Returns TRUE if the surface is a parametric surface; otherwise it returns FALSE

IGeom3DSurface::IsPlanar Description This method allows you to check if a given surface is planar. Syntax Result = IsPlanar ( );
Return: (Boolean) Result TRUE if the surface is planar.

IGeom3DSurface::Limit Description This property allows you to get the U,V limits. Syntax Limits = Limit ( );
Return: (Variant) Variant that contains double type one dimensional array of limits in the following order Limits MinimalU,MinimalV,MaximalU,MaximalV.

IGeom3DSurface::Normal Description This method allows you to get the normal vector to surface at a point (Point) on the surface nearest to the given point (GuessPoint). Syntax Normal = Normal( Point, GuessPoint );
Input: (Variant) Point Input: (Double) GuessPoint Return: (Variant) Normal Variant that contains double type one dimensional array of point coordinates from which to get normal to surface. Parameters of a guessed point on a surface near which to get a normal. Variant that contains double type one dimensional array of normal coordinates.

Note All coordinates are given relative to the model's main UCS. Temporarily, the GuessPoint parameter is not available.

CimatronE 9.0

CimatronE SDK User Guide 917

IGeom3DSurface::NormalFromPoint Description This method allows you to get the normal vector to surface of a given point. Syntax Normal = NormalFromPoint( X, Y, Z );
Input: (Double) X Input: (Double) Y Input: (Double) Z X coordinate of point. Y coordinate of point. Z coordinate of point.

Return: (Variant) Normal Variant that contains double type one dimensional array of normal vector coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::ParametersByPoint Description This method allows you to find the parameters of a point on a face, closest to a given point. Syntax ParametersUV = ParametersByPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates. Return: (Variant) ParametersUV Variant that contains double type one dimensional array of point parameters.

IGeom3DSurface::Area Description This returns the area value of a surface. Syntax Value = Area ( );
Return: (Double) Value The surface area.

IGeom3DSurface::ParamPeriodU Description This returns the period of a surface in the U direction. If the surface is neither parametric nor periodic in the U direction, this method returns 0. Syntax

CimatronE 9.0

CimatronE SDK User Guide 918

PeriodU = ParamPeriodU ( );
Return: (Double) PeriodU The period in the U direction.

IGeom3DSurface::ParamPeriodV Description This returns the period of a surface in the V direction. If the surface is neither parametric nor periodic in the V direction, this method returns 0. Syntax PeriodV = ParamPeriodV ( );
Return: (Double) PeriodV The period in the the V direction.

IGeom3DSurface::SurfType Description This property allows you to get the type of surface. The types are defined in the GeomSurfaceType enumeration. Syntax SurfaceType = SurfType ( );
Return: (GeomSurfaceType) SurfaceType Surface type from GeomSurfaceType enumeration.

IGeom3DSurface::TestPoint Description This method allows you to check a point position relative to a surface. Syntax Result = TestPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of coordinates of the point to be tested. Return: (Integer) Result The number that is displayed: 1 2 3 Point inside face, Point on boundary of face, Point outside face,

-1 Position cannot be defined.

Note

CimatronE 9.0

CimatronE SDK User Guide 919

All coordinates are given relative to the model's main UCS. IGeom3DSurface::ClosestPoint Description
This method gets a point and returns a point that lies on a given face that is closest to a given point and also returns a normal to a face from a received point on a face.

Syntax PointOnSurface = ClosestPoint( Point ); Input: (Variant) Point Return: (Variant) PointOnSurface Variant that contains double type one dimensional array of given point coordinates. Variant that contains double type one dimensional array of six elements. First three elements are normal vector coordinates to face form received closest point, second three elements are coordinates of closest point on face.

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::GetMinMaxRadius Description
This method returns the minimum/maximum radius of a selected face.

Syntax GetMinMaxRadius ( oMin, oMax); Return: (Double) oMin Return the minimum radius of face. Return: (Double) oMax Return the maximum radius of face Note

Geom3DSphere
Sphere face

CimatronE 9.0

CimatronE SDK User Guide 920

IGeom3DSphere

IGeom3DSphere This interface represents sphere geometrical data. Properties Get Center Get Radius Get PoleDir Methods Long IsReverseV ( ) Variant Double Variant

Get OriginDir Variant

IGeom3DSphere::Center Description This property allows you to get a sphere center. Syntax Center = Center ( );
Return: (Variant) Center The array of coordinates (x,y,z) of sphere center.

CimatronE 9.0

CimatronE SDK User Guide 921

Note All coordinates are given relative to the model's main UCS. IGeom3DSphere::IsReverseV Description This method allows you to check if the V parameter increases in the normal direction or is reversed. The normal direction for the V parameter is clockwise if looking in the pole direction (IGeom3DSphere::PoleDir ). Syntax Status = IsReverseV ( );
Return: (Boolean) Status TRUE if V is reversed.

IGeom3DSphere::OriginDir Description This property returns the direction from the center of the sphere to the parameters' origin (a point where U = 0 and V = 0).

Syntax OriginalDirection = OriginDir ( );


Return: (Variant) OriginalDirection Variant that contains double array of vector coordinates (x,y,z).

Note All coordinates are given relative to the model's main UCS. IGeom3DSphere::PoleDir Description This property returns a direction normal to (U,V) - original direction (IGeom3DSphere::OriginDir) which points from the center towards the maximum singularity point with the U parameter. This property allows you to get the direction in which the U parameter increases.

CimatronE 9.0

CimatronE SDK User Guide 922

Syntax PoleDirection = PoleDir ( );


Return: (Variant) PoleDirection Variant that contains double array of vector coordinates (x,y,z).

IGeom3DSphere::Radius Description This property allows you to get the sphere radius. Syntax Radius = Radius ( );
Return: (Double) Radius The sphere radius.

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );

CimatronE 9.0

CimatronE SDK User Guide 923

Return: (Variant) Box

Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DSurface

IGeom3DSurface The IGeom3DSurface interface provides the basic information for a range of surface geometries. Through this interface you can get the type of surface, and by using the appropriate interface like IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DTorus, get more specific data about them. Properties Get SurfType GeomSurfaceType Get Limit Get Closed Get Sense Methods Variant Long T_SurfaceSense

CimatronE 9.0

CimatronE SDK User Guide 924

Variant Evaluate (Double, Double ) Variant NormalFromPoint ( Double, Double, Double ) Integer TestPoint ( Variant )
Variant ClosestPoint ( Variant )

Variant ParametersByPoint ( Variant ) Boolean IsPlanar ( ) Boolean IsParametric ( ) Double Area ( ) Double ParamPeriodU ( ) Double ParamPeriodV ( ) Curvature ( Double, Double, Double, Variant, Double, Variant) GetMinMaxRadius ( Double, Double ) Variant Normal ( Variant, Double ) Variant DiscontinuitiesU ( Integer ) Variant DiscontinuitiesV ( Integer )

IGeom3DSurface::Closed
This is preliminary documentation and subject to change.

Description This property allows you to check if a face is closed. The face is closed if it does not have exactly 1 // external loop, or if its outer loop contains 2 partner co-edges. Syntax Result = Closed ( );
Return: (Boolean) Result

IGeom3DSurface::DiscontinuitiesU Description This method returns the parameter values of discontinuities by the U parameter of the surface of the given order (maximum three). Syntax DiscontinuitiesU = DiscontinuitiesU( Order );

CimatronE 9.0

CimatronE SDK User Guide 925

Input: (Integer) Order

Order of discontinuity. Maximum three.

Return: (Variant) DiscontinuitiesU The array of parameters in which discontinuities occurred.

IGeom3DSurface::DiscontinuitiesV Description This method returns the parameter values of discontinuities by the V parameter of the surface of the given order (maximum three). Syntax
DiscontinuitiesV = DiscontinuitiesV( Order ); Input: (Integer) Order Order of discontinuity. Maximum three.

Return: (Variant) DiscontinuitiesV The array of parameters in which discontinuities occurred.

IGeom3DSurface::Evaluate Description This method allows you to evaluate the point coordinates by their parameters on a surface. Syntax Point = Evaluate( U, V );
Input: (Double) U Input: (Double) V U parameter of point. V parameter of point.

Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z)

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::IsParametric Description This method allows you to check if a surface is parametric. Syntax Result = IsParametric ( );
Return: (Boolean) Result Returns TRUE if the surface is a parametric surface; otherwise it returns FALSE

IGeom3DSurface::IsPlanar Description This method allows you to check if a given surface is planar. Syntax

CimatronE 9.0

CimatronE SDK User Guide 926

Result = IsPlanar ( );
Return: (Boolean) Result TRUE if the surface is planar.

IGeom3DSurface::Limit Description This property allows you to get the U,V limits. Syntax Limits = Limit ( );
Return: (Variant) Variant that contains double type one dimensional array of limits in the following order Limits MinimalU,MinimalV,MaximalU,MaximalV.

IGeom3DSurface::Normal Description This method allows you to get the normal vector to surface at a point (Point) on the surface nearest to the given point (GuessPoint). Syntax Normal = Normal( Point, GuessPoint );
Input: (Variant) Point Input: (Double) GuessPoint Return: (Variant) Normal Variant that contains double type one dimensional array of point coordinates from which to get normal to surface. Parameters of a guessed point on a surface near which to get a normal. Variant that contains double type one dimensional array of normal coordinates.

Note All coordinates are given relative to the model's main UCS. Temporarily, the GuessPoint parameter is not available. IGeom3DSurface::NormalFromPoint Description This method allows you to get the normal vector to surface of a given point. Syntax Normal = NormalFromPoint( X, Y, Z );

CimatronE 9.0

CimatronE SDK User Guide 927

Input: (Double) X Input: (Double) Y Input: (Double) Z

X coordinate of point. Y coordinate of point. Z coordinate of point.

Return: (Variant) Normal Variant that contains double type one dimensional array of normal vector coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::ParametersByPoint Description This method allows you to find the parameters of a point on a face, closest to a given point. Syntax ParametersUV = ParametersByPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates. Return: (Variant) ParametersUV Variant that contains double type one dimensional array of point parameters.

IGeom3DSurface::ParamPeriodU Description This returns the period of a surface in the U direction. If the surface is neither parametric nor periodic in the U direction, this method returns 0. Syntax PeriodU = ParamPeriodU ( );
Return: (Double) PeriodU The period in the U direction.

IGeom3DSurface::ParamPeriodV Description This returns the period of a surface in the V direction. If the surface is neither parametric nor periodic in the V direction, this method returns 0. Syntax PeriodV = ParamPeriodV ( );
Return: (Double) PeriodV The period in the the V direction.

IGeom3DSurface::SurfType Description

CimatronE 9.0

CimatronE SDK User Guide 928

This property allows you to get the type of surface. The types are defined in the GeomSurfaceType enumeration. Syntax SurfaceType = SurfType ( );
Return: (GeomSurfaceType) SurfaceType Surface type from GeomSurfaceType enumeration.

IGeom3DSurface::TestPoint Description This method allows you to check a point position relative to a surface. Syntax Result = TestPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of coordinates of the point to be tested. Return: (Integer) Result The number that is displayed: 1 2 3 Point inside face, Point on boundary of face, Point outside face,

-1 Position cannot be defined.

Note All coordinates are given relative to the model's main UCS.

Geom3DCone
Cone face

CimatronE 9.0

CimatronE SDK User Guide 929

IGeom3DCone

IGeom3DCone This interface represents the cone surface geometry data. Properties Get CosineAng Get SineAng Get Scale Get Base Get Direction Get RootPoint Get MajorAxis Double Double Double IGeom3DEllipse Variant Variant Variant

Get RadiusMajor Double Get RadiusMinor Double Get RadiusRatio Double Methods Boolean IsReverseU ( ) Boolean IsContracting ( )

CimatronE 9.0

CimatronE SDK User Guide 930

Boolean IsCylinder ( ) Boolean IsExpanding ( ) Boolean IsHollow ( )

IGeomSDCone::Base Description This property allows you to get the base ellipse defining the cone. Syntax BaseEllipse = Base ( );
Return: (IGeom3DEllipse) BaseEllipse Pointer to ellipse geometry interface.

IGeomSDCone::CosineAng Description This property allows you to get the cosine of an angle between the major generator and cone axis. See the drawing in IGeomSDCone::SineAng. Syntax Cosine = CosineAng ( );
Return: (Double) Cosine The cosine of angle.

IGeom3DCone::Direction Description This property allows you to get the cone axis direction. Syntax Direction = Direction( );
Return: (Variant) Direction Variant that contains double array of three elements that represent cone axis direction.

Note All coordinates are given relative to the model's main UCS. IGeom3DCone::IsContracting Description This method allows you to check if a cone contracts in the direction of its axis. This happens when IGeom3DCone::CosineAng is more than 0 and IGeom3DCone::SineAng is less than 0.

CimatronE 9.0

CimatronE SDK User Guide 931

Syntax Status = IsContracting ( );


Return: (Boolean) Status TRUE if contracting.

Note This is only really significant if IGeom3DCone::IsCylinder returns FALSE otherwise it is irrelevant. IGeom3DCone::IsCylinder Description This method allows you to check if a cone is cylindrical. It happens when IGeom3DCone::SineAng is equal to 0. Syntax Status = IsCylinder ( );
Return: (Boolean) Status TRUE if cone is cylindrical.

IGeom3DCone::IsExpanding Description This method allows you to check if a cone expands in the direction of its axis. This happens when IGeom3DCone::CosineAng is more than 0 and IGeom3DCone::SineAng is more than 0. Syntax Status = IsExpanding ( );
Return: (Boolean) Status TRUE if cone expands.

Note This is only really significant if IGeom3DCone::IsCylinder returns FALSE otherwise it is irrelevant. IGeom3DCone::IsHollow Description This method allows you to check if a cone has a hollow form. This can happen when IGeom3DCone::CosineAng is less than 0. Syntax Status = IsHollow ( );
Return: (Boolean) Status TRUE if cone has hollow form.

CimatronE 9.0

CimatronE SDK User Guide 932

IGeom3DCone::IsReverseU Description This method allows you to check if the U parameter is reversed. The U parameter direction, along generators, is normally in the same general direction as the cone axis (the normal to the base ellipse). Syntax Status = IsReverseU ( );
Return: (Boolean) Status TRUE if U reversed.

IGeom3DCone::MajorAxis Description This property allows you to get the major axis vector of the ellipse defining the CONE. Syntax MajorAxis = MajorAxis( );
Return: (Variant) MajorAxis Variant that contains double array of three elements that represents major axis vector.

Note All coordinates are given relative to the model's main UCS. IGeom3DCone::RootPoint Description This property allows you to get the center of the ellipse defining the CONE. Syntax RootPoint = RootPoint( );
Return: (Variant) RootPoint Variant that contains double array of three elements that represents root point.

Note All coordinates are given relative to the model's main UCS. IGeom3DCone::Scale Description This property allows you to get the scaling of U parameter lines. The U parameter direction is along the cone generators and the V parameter direction is around the cross-sectional ellipse. Syntax Scale = Scale ( );

CimatronE 9.0

CimatronE SDK User Guide 933

Return: (Double) Scale Parameter scale .

IGeom3DCone::SineAng Description This property allows you to get the sine of an angle between the major generator and the cone axis. If sine > 0, the cone expands; if sine < 0 the cone contracts, if sine is 0, the "cone" is cylindrical.

Syntax Sine = SineAng ( );


Return: (Double) Sine Sine of angle.

IGeom3DCone::RadiusRatio Description This property allows you to get the ratio between the major and minor radius. In the case of an arc/circle, it will be 1. Syntax

CimatronE 9.0

CimatronE SDK User Guide 934

Ratio = RadiusRatio ( );
Return: (Double) Ratio The ratio between main and minor radius.

IGeom3DCone::RadiusMinor Description This property returns the minor radius of an ellipse. In the case of a arc/circle, the minor and major radius will be equal. Syntax MinorRadius = RadiusMinor ( );
Return: (Double) MinorRadius The minor radius of an ellipse.

IGeom3DCone::RadiusMajor Description This property returns a major radius of an ellipse. In the case of an arc/circle, the minor and major radius will be equal. Syntax MajorRadius = RadiusMajor ( );
Return: (Double) MajorRadius Major radius of an ellipse.

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description

CimatronE 9.0

CimatronE SDK User Guide 935

This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DSurface

IGeom3DSurface The IGeom3DSurface interface provides the basic information for a range of surface geometries. Through this interface you can get the type of surface, and by using the appropriate interface like IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DTorus, get more specific data about them. Properties Get SurfType GeomSurfaceType Get Limit Variant

CimatronE 9.0

CimatronE SDK User Guide 936

Get Closed Get Sense Methods

Long T_SurfaceSense

Variant Evaluate (Double, Double ) Variant NormalFromPoint ( Double, Double, Double ) Integer TestPoint ( Variant )
Variant ClosestPoint ( Variant )

Variant ParametersByPoint ( Variant ) Boolean IsPlanar ( ) Boolean IsParametric ( ) Double Area ( ) Double ParamPeriodU ( ) Double ParamPeriodV ( ) Curvature ( Double, Double, Double, Variant, Double, Variant) GetMinMaxRadius ( Double, Double ) Variant Normal ( Variant, Double ) Variant DiscontinuitiesU ( Integer ) Variant DiscontinuitiesV ( Integer )

IGeom3DSurface::Closed
This is preliminary documentation and subject to change.

Description This property allows you to check if a face is closed. The face is closed if it does not have exactly 1 // external loop, or if its outer loop contains 2 partner co-edges. Syntax Result = Closed ( );
Return: (Boolean) Result

IGeom3DSurface::DiscontinuitiesU Description

CimatronE 9.0

CimatronE SDK User Guide 937

This method returns the parameter values of discontinuities by the U parameter of the surface of the given order (maximum three). Syntax DiscontinuitiesU = DiscontinuitiesU( Order );
Input: (Integer) Order Order of discontinuity. Maximum three. Return: (Variant) DiscontinuitiesU The array of parameters in which discontinuities occurred.

IGeom3DSurface::DiscontinuitiesV Description This method returns the parameter values of discontinuities by the V parameter of the surface of the given order (maximum three). Syntax
DiscontinuitiesV = DiscontinuitiesV( Order ); Input: (Integer) Order Order of discontinuity. Maximum three.

Return: (Variant) DiscontinuitiesV The array of parameters in which discontinuities occurred.

IGeom3DSurface::Evaluate Description This method allows you to evaluate the point coordinates by their parameters on a surface. Syntax Point = Evaluate( U, V );
Input: (Double) U Input: (Double) V U parameter of point. V parameter of point.

Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z)

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::IsParametric Description This method allows you to check if a surface is parametric. Syntax Result = IsParametric ( );
Return: (Boolean) Result Returns TRUE if the surface is a parametric surface; otherwise it returns FALSE

CimatronE 9.0

CimatronE SDK User Guide 938

IGeom3DSurface::IsPlanar Description This method allows you to check if a given surface is planar. Syntax Result = IsPlanar ( );
Return: (Boolean) Result TRUE if the surface is planar.

IGeom3DSurface::Limit Description This property allows you to get the U,V limits. Syntax Limits = Limit ( );
Return: (Variant) Variant that contains double type one dimensional array of limits in the following order Limits MinimalU,MinimalV,MaximalU,MaximalV.

IGeom3DSurface::Normal Description This method allows you to get the normal vector to surface at a point (Point) on the surface nearest to the given point (GuessPoint). Syntax Normal = Normal( Point, GuessPoint );
Input: (Variant) Point Input: (Double) GuessPoint Return: (Variant) Normal Variant that contains double type one dimensional array of point coordinates from which to get normal to surface. Parameters of a guessed point on a surface near which to get a normal. Variant that contains double type one dimensional array of normal coordinates.

Note All coordinates are given relative to the model's main UCS. Temporarily, the GuessPoint parameter is not available. IGeom3DSurface::NormalFromPoint Description

CimatronE 9.0

CimatronE SDK User Guide 939

This method allows you to get the normal vector to surface of a given point. Syntax Normal = NormalFromPoint( X, Y, Z );
Input: (Double) X Input: (Double) Y Input: (Double) Z X coordinate of point. Y coordinate of point. Z coordinate of point.

Return: (Variant) Normal Variant that contains double type one dimensional array of normal vector coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::ParametersByPoint Description This method allows you to find the parameters of a point on a face, closest to a given point. Syntax ParametersUV = ParametersByPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates. Return: (Variant) ParametersUV Variant that contains double type one dimensional array of point parameters.

IGeom3DSurface::ParamPeriodU Description This returns the period of a surface in the U direction. If the surface is neither parametric nor periodic in the U direction, this method returns 0. Syntax PeriodU = ParamPeriodU ( );
Return: (Double) PeriodU The period in the U direction.

IGeom3DSurface::ParamPeriodV Description This returns the period of a surface in the V direction. If the surface is neither parametric nor periodic in the V direction, this method returns 0. Syntax PeriodV = ParamPeriodV ( );

CimatronE 9.0

CimatronE SDK User Guide 940

Return: (Double) PeriodV The period in the the V direction.

IGeom3DSurface::SurfType Description This property allows you to get the type of surface. The types are defined in the GeomSurfaceType enumeration. Syntax SurfaceType = SurfType ( );
Return: (GeomSurfaceType) SurfaceType Surface type from GeomSurfaceType enumeration.

IGeom3DSurface::TestPoint Description This method allows you to check a point position relative to a surface. Syntax Result = TestPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of coordinates of the point to be tested. Return: (Integer) Result The number that is displayed: 1 2 3 Point inside face, Point on boundary of face, Point outside face,

-1 Position cannot be defined.

Note All coordinates are given relative to the model's main UCS.

Geom3DTorus
Torus Face

CimatronE 9.0

CimatronE SDK User Guide 941

IGeom3DTorus

IGeom3DTorus This interface represents the torus geometrical data. Properties Get Center Variant

Get MajorRadius Double Get MinorRadius Double Get Normal Get OriginDir Methods Long IsReverseV ( ) Long IsApple ( ) Long IsDoughnut ( ) Long IsHollow ( ) Long IsLemon ( ) Long IsVortex ( ) IGeom3DTorus::Center Variant Variant

CimatronE 9.0

CimatronE SDK User Guide 942

Description This property allows you to get a torus center. Syntax Center = Center ( );
Return: (Variant) Center Variant that contains double type one dimensional array of center point coordinates of torus spine curve.

Note All coordinates are given relative to the model's main UCS. IGeom3DTorus::IsApple Description This method allows you to check if a torus is apple-shaped. This occurs when both the major and minor radii are positive, and the minor radius is greater than the major radius. Syntax Result = IsApple ( );
Return: (Boolean) TRUE if torus in apple shape. Result

IGeom3DTorus::IsDoughnut Description This method allows you to check if a torus is doughnut-shaped. This occurs when both the major and minor radii are positive and the minor radius is less than the major radius.

CimatronE 9.0

CimatronE SDK User Guide 943

Syntax Result = IsApple ( );


Return: (Boolean) Result TRUE if torus in doughnut-shaped.

IGeom3DTorus::IsHollow Description This method allows you to check if a torus is hollow. This occurs when the minor radius of the torus is less than zero. Syntax Result = IsHollow ( );
Return: (Boolean) Result TRUE if torus in hollow shape.

IGeom3DTorus::IsLemon Description This method allows you to check if a torus is lemon-shaped. This occurs when the major radius is essentially "negative". Syntax Result = IsLemon ( );
Return: (Boolean) Result TRUE if the torus in lemon shaped.

CimatronE 9.0

CimatronE SDK User Guide 944

IGeom3DTorus::IsReverseV Description This method allows you to check the V parameter measure direction. The V parameter is normally measured clockwise around the torus normal. Syntax Result = IsReverseV ( );
Return: (Boolean) Result If TRUE the V parameter is reversed and it is measured anticlockwise.

IGeom3DTorus::IsVortex Description This method allows you to check if the torus is in the shape of a vortex. This occurs when both the major and minor radii are equal. Syntax Result = IsVortex ( );
Return: (Boolean) Result TRUE if torus is vortex shape.

CimatronE 9.0

CimatronE SDK User Guide 945

IGeom3DTorus::MajorRadius Description This property allows you to get the radius of a torus spine. Syntax Radius = MajorRadius ( );
Return: (Double) Radius Torus spine radius.

IGeom3DTorus::MinorRadius Description This property allows you to get the circular cross-section radius. Syntax Radius = MinorRadius ( );
Return: (Double) Radius Torus circular cross-section radius.

IGeom3DTorus::Normal Description This property allows you to get the normal to the surface in which a torus spine lies. Syntax Normal = Normal ( );
Return: (Variant) Normal Variant that contains double type one dimensional array of normal coordinates.

Note All coordinates are given relative to the model's main UCS.

CimatronE 9.0

CimatronE SDK User Guide 946

IGeom3DTorus::OriginDir Description This property returns the vector to the origin of the U,V parameters. Syntax Vector = OriginDir ( );
Return: (Variant) Vector Variant that contains double type one dimensional array coordinates of vector to origin of U,V coordinates.

Note All coordinates are given relative to the model's main UCS.
IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id

CimatronE 9.0

CimatronE SDK User Guide 947

Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DSurface

IGeom3DSurface The IGeom3DSurface interface provides the basic information for a range of surface geometries. Through this interface you can get the type of surface, and by using the appropriate interface like IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DTorus, get more specific data about them. Properties Get SurfType GeomSurfaceType Get Limit Get Closed Get Sense Methods Variant Evaluate (Double, Double ) Variant NormalFromPoint ( Double, Double, Double ) Integer TestPoint ( Variant )
Variant ClosestPoint ( Variant )

Variant Long T_SurfaceSense

Variant ParametersByPoint ( Variant )

CimatronE 9.0

CimatronE SDK User Guide 948

Boolean IsPlanar ( ) Boolean IsParametric ( ) Double Area ( ) Double ParamPeriodU ( ) Double ParamPeriodV ( ) Curvature ( Double, Double, Double, Variant, Double, Variant) GetMinMaxRadius ( Double, Double ) Variant Normal ( Variant, Double ) Variant DiscontinuitiesU ( Integer ) Variant DiscontinuitiesV ( Integer )

IGeom3DSurface::Closed
This is preliminary documentation and subject to change.

Description This property allows you to check if a face is closed. The face is closed if it does not have exactly 1 // external loop, or if its outer loop contains 2 partner co-edges. Syntax Result = Closed ( );
Return: (Boolean) Result

IGeom3DSurface::DiscontinuitiesU Description This method returns the parameter values of discontinuities by the U parameter of the surface of the given order (maximum three). Syntax DiscontinuitiesU = DiscontinuitiesU( Order );
Input: (Integer) Order Order of discontinuity. Maximum three. Return: (Variant) DiscontinuitiesU The array of parameters in which discontinuities occurred.

IGeom3DSurface::DiscontinuitiesV Description

CimatronE 9.0

CimatronE SDK User Guide 949

This method returns the parameter values of discontinuities by the V parameter of the surface of the given order (maximum three). Syntax
DiscontinuitiesV = DiscontinuitiesV( Order ); Input: (Integer) Order Order of discontinuity. Maximum three.

Return: (Variant) DiscontinuitiesV The array of parameters in which discontinuities occurred.

IGeom3DSurface::Evaluate Description This method allows you to evaluate the point coordinates by their parameters on a surface. Syntax Point = Evaluate( U, V );
Input: (Double) U Input: (Double) V U parameter of point. V parameter of point.

Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z)

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::IsParametric Description This method allows you to check if a surface is parametric. Syntax Result = IsParametric ( );
Return: (Boolean) Result Returns TRUE if the surface is a parametric surface; otherwise it returns FALSE

IGeom3DSurface::IsPlanar Description This method allows you to check if a given surface is planar. Syntax Result = IsPlanar ( );
Return: (Boolean) Result TRUE if the surface is planar.

IGeom3DSurface::Limit Description

CimatronE 9.0

CimatronE SDK User Guide 950

This property allows you to get the U,V limits. Syntax Limits = Limit ( );
Return: (Variant) Variant that contains double type one dimensional array of limits in the following order Limits MinimalU,MinimalV,MaximalU,MaximalV.

IGeom3DSurface::Normal Description This method allows you to get the normal vector to surface at a point (Point) on the surface nearest to the given point (GuessPoint). Syntax Normal = Normal( Point, GuessPoint );
Input: (Variant) Point Input: (Double) GuessPoint Return: (Variant) Normal Variant that contains double type one dimensional array of point coordinates from which to get normal to surface. Parameters of a guessed point on a surface near which to get a normal. Variant that contains double type one dimensional array of normal coordinates.

Note All coordinates are given relative to the model's main UCS. Temporarily, the GuessPoint parameter is not available. IGeom3DSurface::NormalFromPoint Description This method allows you to get the normal vector to surface of a given point. Syntax Normal = NormalFromPoint( X, Y, Z );
Input: (Double) X Input: (Double) Y Input: (Double) Z X coordinate of point. Y coordinate of point. Z coordinate of point.

Return: (Variant) Normal Variant that contains double type one dimensional array of normal vector coordinates.

Note

CimatronE 9.0

CimatronE SDK User Guide 951

All coordinates are given relative to the model's main UCS. IGeom3DSurface::ParametersByPoint Description This method allows you to find the parameters of a point on a face, closest to a given point. Syntax ParametersUV = ParametersByPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates. Return: (Variant) ParametersUV Variant that contains double type one dimensional array of point parameters.

IGeom3DSurface::ParamPeriodU Description This returns the period of a surface in the U direction. If the surface is neither parametric nor periodic in the U direction, this method returns 0. Syntax PeriodU = ParamPeriodU ( );
Return: (Double) PeriodU The period in the U direction.

IGeom3DSurface::ParamPeriodV Description This returns the period of a surface in the V direction. If the surface is neither parametric nor periodic in the V direction, this method returns 0. Syntax PeriodV = ParamPeriodV ( );
Return: (Double) PeriodV The period in the the V direction.

IGeom3DSurface::SurfType Description This property allows you to get the type of surface. The types are defined in the GeomSurfaceType enumeration. Syntax SurfaceType = SurfType ( );
Return: (GeomSurfaceType) SurfaceType Surface type from GeomSurfaceType enumeration.

CimatronE 9.0

CimatronE SDK User Guide 952

IGeom3DSurface::TestPoint Description This method allows you to check a point position relative to a surface. Syntax Result = TestPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of coordinates of the point to be tested. Return: (Integer) Result The number that is displayed: 1 2 3 Point inside face, Point on boundary of face, Point outside face,

-1 Position cannot be defined.

Note All coordinates are given relative to the model's main UCS.

Geom3DSpline
Spline face

IGeom3DSpline

IGeom3DSpline This interface represents spline surface geometrical data. Properties

Get FitTol Get ControlPoints

Double Variant

Get NumControlPtsU Integer Get NumControlPtsV Integer

CimatronE 9.0

CimatronE SDK User Guide 953

Get KnotsU Get KnotsV Get Weights Get DegreeU Get DegreeV Methods

Variant Variant Variant Double Double

Long IsLeftHanded ( ) Long IsPlanar ( ) Long IsRationalU ( ) Long IsRationalV ( ) IGeom3DSpline::ControlPoints Description This property allows you to get the array of control points for the given surface. Syntax ControlPoints = ControlPoints ( );
Return: (Variant) ControlPoints Variant that contains a double array of a spline surface control points. One dimensional array where points stored in x,y,z order.

Note All coordinates are given relative to the model's main UCS. IGeom3DSpline::DegreeU Description This property returns the spline degree in the U direction. Syntax DegreeU = DegreeU ( );
Return: (Double) DegreeU Spline degree in U direction.

IGeom3DSpline::DegreeV Description

CimatronE 9.0

CimatronE SDK User Guide 954

This property returns the spline degree in the V direction. Syntax DegreeV = DegreeV ( );
Return: (Double) DegreeV Spline degree in V direction.

IGeom3DSpline::FitTol Description This property allows you to get the precision with which the spline approximates the true surface. Syntax Tolerans = FitTol ( );
Return: (Double) Tolerans The approximation tolerance.

IGeom3DSpline::IsLeftHanded Description This method allows you to indicate whether the parameter coordinate system of the surface is right- or left-handed. Syntax Status = IsLeftHanded ( );
Return: (Boolean) Status TRUE (=1) if left-handed

Note With a right-handed system, at any point the outward normal is given by the cross product of the increasing U direction with the increasing V direction, in that order. With a left-handed system, the outward normal is in the opposite direction of this cross product. IGeom3DSpline::IsPlanar Description This method allows you to check if a surface is planar. Syntax Status = IsPlanar ( );
Return: (Boolean) Status TRUE (=1) if surface is planar.

IGeom3DSpline::IsRationalU Description

CimatronE 9.0

CimatronE SDK User Guide 955

This method returns if the surface is rational in the U direction. Syntax Status = IsRationalU ( );
Return: (Boolean) Status TRUE (=1) if surface is rational in U direction.

IGeom3DSpline::IsRationalV Description This method returns if the surface is rational in the V direction. Syntax Status = IsRationalV ( );
Return: (Boolean) Status TRUE (= 1) if surface is rational in V direction.

IGeom3DSpline::KnotsU Description This property gets the knot values in the U direction. Syntax KnotsByU = KnotsU ( );
Return: (Variant) KnotsByU Array of spline surface knots in U direction.

IGeom3DSpline::KnotsV Description This property gets the knot values in the V direction. Syntax KnotsByV = KnotsV ( );
Return: (Variant) KnotsByV Array of spline surface knots in V direction.

IGeom3DSpline::Weights Description This property allows you to get the array of weights for a given surface. Syntax Weights = Weights ( ); Return: (Variant) Array of spline surface weights. The order of the weights stored in

CimatronE 9.0

CimatronE SDK User Guide 956

Weights

the array is (U, V).

IGeom3DSpline::NumControlPtsU Description This property gets the number of control points in the U direction. Syntax Num = NumControlPtsU ( );
Return: (Integer) Num Number of control points in the U direction.

IGeom3DSpline::NumControlPtsV Description This property gets the number of control points in the V direction. Syntax Num = NumControlPtsV ( );
Return: (Integer) Num Number of control points in the V direction.

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax

CimatronE 9.0

CimatronE SDK User Guide 957

Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DSurface

IGeom3DSurface The IGeom3DSurface interface provides the basic information for a range of surface geometries. Through this interface you can get the type of surface, and by using the appropriate interface like IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DTorus, get more specific data about them. Properties Get SurfType GeomSurfaceType Get Limit Get Closed Get Sense Variant Long T_SurfaceSense

CimatronE 9.0

CimatronE SDK User Guide 958

Methods Variant Evaluate (Double, Double ) Variant NormalFromPoint ( Double, Double, Double ) Integer TestPoint ( Variant )
Variant ClosestPoint ( Variant )

Variant ParametersByPoint ( Variant ) Boolean IsPlanar ( ) Boolean IsParametric ( ) Double Area ( ) Double ParamPeriodU ( ) Double ParamPeriodV ( ) Curvature ( Double, Double, Double, Variant, Double, Variant) GetMinMaxRadius ( Double, Double ) Variant Normal ( Variant, Double ) Variant DiscontinuitiesU ( Integer ) Variant DiscontinuitiesV ( Integer )

IGeom3DSurface::Closed
This is preliminary documentation and subject to change.

Description This property allows you to check if a face is closed. The face is closed if it does not have exactly 1 // external loop, or if its outer loop contains 2 partner co-edges. Syntax Result = Closed ( );
Return: (Boolean) Result

IGeom3DSurface::DiscontinuitiesU Description This method returns the parameter values of discontinuities by the U parameter of the surface of the given order (maximum three). Syntax

CimatronE 9.0

CimatronE SDK User Guide 959

DiscontinuitiesU = DiscontinuitiesU( Order );


Input: (Integer) Order Order of discontinuity. Maximum three. Return: (Variant) DiscontinuitiesU The array of parameters in which discontinuities occurred.

IGeom3DSurface::DiscontinuitiesV Description This method returns the parameter values of discontinuities by the V parameter of the surface of the given order (maximum three). Syntax
DiscontinuitiesV = DiscontinuitiesV( Order ); Input: (Integer) Order Order of discontinuity. Maximum three.

Return: (Variant) DiscontinuitiesV The array of parameters in which discontinuities occurred.

IGeom3DSurface::Evaluate Description This method allows you to evaluate the point coordinates by their parameters on a surface. Syntax Point = Evaluate( U, V );
Input: (Double) U Input: (Double) V U parameter of point. V parameter of point.

Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z)

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::IsParametric Description This method allows you to check if a surface is parametric. Syntax Result = IsParametric ( );
Return: (Boolean) Result Returns TRUE if the surface is a parametric surface; otherwise it returns FALSE

IGeom3DSurface::IsPlanar Description This method allows you to check if a given surface is planar.

CimatronE 9.0

CimatronE SDK User Guide 960

Syntax Result = IsPlanar ( );


Return: (Boolean) Result TRUE if the surface is planar.

IGeom3DSurface::Limit Description This property allows you to get the U,V limits. Syntax Limits = Limit ( );
Return: (Variant) Variant that contains double type one dimensional array of limits in the following order Limits MinimalU,MinimalV,MaximalU,MaximalV.

IGeom3DSurface::Normal Description This method allows you to get the normal vector to surface at a point (Point) on the surface nearest to the given point (GuessPoint). Syntax Normal = Normal( Point, GuessPoint );
Input: (Variant) Point Input: (Double) GuessPoint Return: (Variant) Normal Variant that contains double type one dimensional array of point coordinates from which to get normal to surface. Parameters of a guessed point on a surface near which to get a normal. Variant that contains double type one dimensional array of normal coordinates.

Note All coordinates are given relative to the model's main UCS. Temporarily, the GuessPoint parameter is not available. IGeom3DSurface::NormalFromPoint Description This method allows you to get the normal vector to surface of a given point. Syntax

CimatronE 9.0

CimatronE SDK User Guide 961

Normal = NormalFromPoint( X, Y, Z );
Input: (Double) X Input: (Double) Y Input: (Double) Z X coordinate of point. Y coordinate of point. Z coordinate of point.

Return: (Variant) Normal Variant that contains double type one dimensional array of normal vector coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::ParametersByPoint Description This method allows you to find the parameters of a point on a face, closest to a given point. Syntax ParametersUV = ParametersByPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates. Return: (Variant) ParametersUV Variant that contains double type one dimensional array of point parameters.

IGeom3DSurface::ParamPeriodU Description This returns the period of a surface in the U direction. If the surface is neither parametric nor periodic in the U direction, this method returns 0. Syntax PeriodU = ParamPeriodU ( );
Return: (Double) PeriodU The period in the U direction.

IGeom3DSurface::ParamPeriodV Description This returns the period of a surface in the V direction. If the surface is neither parametric nor periodic in the V direction, this method returns 0. Syntax PeriodV = ParamPeriodV ( );
Return: (Double) PeriodV The period in the the V direction.

IGeom3DSurface::SurfType

CimatronE 9.0

CimatronE SDK User Guide 962

Description This property allows you to get the type of surface. The types are defined in the GeomSurfaceType enumeration. Syntax SurfaceType = SurfType ( );
Return: (GeomSurfaceType) SurfaceType Surface type from GeomSurfaceType enumeration.

IGeom3DSurface::TestPoint Description This method allows you to check a point position relative to a surface. Syntax Result = TestPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of coordinates of the point to be tested. Return: (Integer) Result The number that is displayed: 1 2 3 Point inside face, Point on boundary of face, Point outside face,

-1 Position cannot be defined.

Note All coordinates are given relative to the model's main UCS.

Geom3DMesh
Geom3DMesh

IGeom3DMesh
This interface is temporarily empty.

IGeometry3D

CimatronE 9.0

CimatronE SDK User Guide 963

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface .

CimatronE 9.0

CimatronE SDK User Guide 964

Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

IGeom3DSurface

IGeom3DSurface The IGeom3DSurface interface provides the basic information for a range of surface geometries. Through this interface you can get the type of surface, and by using the appropriate interface like IGeom3DCone, IGeom3DMesh, IGeom3DPlan, IGeom3DSphere, IGeom3DTorus, get more specific data about them. Properties Get SurfType GeomSurfaceType Get Limit Get Closed Get Sense Methods Variant Evaluate (Double, Double ) Variant NormalFromPoint ( Double, Double, Double ) Integer TestPoint ( Variant )
Variant ClosestPoint ( Variant )

Variant Long T_SurfaceSense

Variant ParametersByPoint ( Variant ) Boolean IsPlanar ( ) Boolean IsParametric ( ) Double Area ( ) Double ParamPeriodU ( ) Double ParamPeriodV ( ) Curvature ( Double, Double, Double, Variant, Double, Variant) GetMinMaxRadius ( Double, Double ) Variant Normal ( Variant, Double ) Variant DiscontinuitiesU ( Integer ) Variant DiscontinuitiesV ( Integer )

CimatronE 9.0

CimatronE SDK User Guide 965

IGeom3DSurface::Closed
This is preliminary documentation and subject to change.

Description This property allows you to check if a face is closed. The face is closed if it does not have exactly 1 // external loop, or if its outer loop contains 2 partner co-edges. Syntax Result = Closed ( );
Return: (Boolean) Result

IGeom3DSurface::DiscontinuitiesU Description This method returns the parameter values of discontinuities by the U parameter of the surface of the given order (maximum three). Syntax DiscontinuitiesU = DiscontinuitiesU( Order );
Input: (Integer) Order Order of discontinuity. Maximum three. Return: (Variant) DiscontinuitiesU The array of parameters in which discontinuities occurred.

IGeom3DSurface::DiscontinuitiesV Description This method returns the parameter values of discontinuities by the V parameter of the surface of the given order (maximum three). Syntax
DiscontinuitiesV = DiscontinuitiesV( Order ); Input: (Integer) Order Order of discontinuity. Maximum three.

Return: (Variant) DiscontinuitiesV The array of parameters in which discontinuities occurred.

IGeom3DSurface::Evaluate Description This method allows you to evaluate the point coordinates by their parameters on a surface. Syntax

CimatronE 9.0

CimatronE SDK User Guide 966

Point = Evaluate( U, V );
Input: (Double) U Input: (Double) V U parameter of point. V parameter of point.

Return: (Variant) Point Variant that contains double type one dimensional array of point coordinates (x,y,z)

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::IsParametric Description This method allows you to check if a surface is parametric. Syntax Result = IsParametric ( );
Return: (Boolean) Result Returns TRUE if the surface is a parametric surface; otherwise it returns FALSE

IGeom3DSurface::IsPlanar Description This method allows you to check if a given surface is planar. Syntax Result = IsPlanar ( );
Return: (Boolean) Result TRUE if the surface is planar.

IGeom3DSurface::Limit Description This property allows you to get the U,V limits. Syntax Limits = Limit ( );
Return: (Variant) Variant that contains double type one dimensional array of limits in the following order Limits MinimalU,MinimalV,MaximalU,MaximalV.

IGeom3DSurface::Normal Description This method allows you to get the normal vector to surface at a point (Point) on the surface nearest to the given point (GuessPoint). Syntax

CimatronE 9.0

CimatronE SDK User Guide 967

Normal = Normal( Point, GuessPoint );


Input: (Variant) Point Input: (Double) GuessPoint Return: (Variant) Normal Variant that contains double type one dimensional array of point coordinates from which to get normal to surface. Parameters of a guessed point on a surface near which to get a normal. Variant that contains double type one dimensional array of normal coordinates.

Note All coordinates are given relative to the model's main UCS. Temporarily, the GuessPoint parameter is not available. IGeom3DSurface::NormalFromPoint Description This method allows you to get the normal vector to surface of a given point. Syntax Normal = NormalFromPoint( X, Y, Z );
Input: (Double) X Input: (Double) Y Input: (Double) Z X coordinate of point. Y coordinate of point. Z coordinate of point.

Return: (Variant) Normal Variant that contains double type one dimensional array of normal vector coordinates.

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::ParametersByPoint Description This method allows you to find the parameters of a point on a face, closest to a given point. Syntax ParametersUV = ParametersByPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of point coordinates. Return: (Variant) ParametersUV Variant that contains double type one dimensional array of point parameters.

IGeom3DSurface::ParamPeriodU

CimatronE 9.0

CimatronE SDK User Guide 968

Description This returns the period of a surface in the U direction. If the surface is neither parametric nor periodic in the U direction, this method returns 0. Syntax PeriodU = ParamPeriodU ( );
Return: (Double) PeriodU The period in the U direction.

IGeom3DSurface::ParamPeriodV Description This returns the period of a surface in the V direction. If the surface is neither parametric nor periodic in the V direction, this method returns 0. Syntax PeriodV = ParamPeriodV ( );
Return: (Double) PeriodV The period in the the V direction.

IGeom3DSurface::SurfType Description This property allows you to get the type of surface. The types are defined in the GeomSurfaceType enumeration. Syntax SurfaceType = SurfType ( );
Return: (GeomSurfaceType) SurfaceType Surface type from GeomSurfaceType enumeration.

IGeom3DSurface::TestPoint Description This method allows you to check a point position relative to a surface. Syntax Result = TestPoint( Point );
Input: (Variant) Point Variant that contains double type one dimensional array of coordinates of the point to be tested. Return: (Integer) Result The number that is displayed: 1 2 Point inside face, Point on boundary of face,

CimatronE 9.0

CimatronE SDK User Guide 969

Point outside face,

-1 Position cannot be defined.

Note All coordinates are given relative to the model's main UCS. IGeom3DSurface::Sense Description This property indicates whether this surface shares the direction of the underlying surface, or has the opposite direction. Syntax SurfaceSense= Sense( );
Returns the sense of this surface Return: (T_SurfaceSense) *pVal) (while false - forward).

Enumerator Enumerator Value Remark


cmReversed cmForward

1 2

Geom3DSTL
3DSTL

IGeom3DSTL

IGeom3DSTL This interface enables a data transfer path for STL data from the CimatronE process space to that of the FASTFrame. Properties Get TrianglesCount long Methods

CimatronE 9.0

CimatronE SDK User Guide 970

SaveToMemory (iNameOfSharedMemory)

IGeom3DSTL::SaveToMemory Description Enable a data transfer path for STL data from the CimatronE process space to that of the FASTFrame. This defines a shared memory resource for the data transfer. The structure is basically a dynamic list of vertices and faces where the faces contain encoded connectivity information. The API user is responsible for the Memory Map File. Syntax SaveToMemory(iNameOfSharedMemory);
Input: (String)

iNameOfSharedMemory

The name of the Memory Map File which all the STL data is stored into. This file is created by the user.

IGeom3DSTL::TrianglesCount Description This property allows you to get the number of triangles in a facet. Syntax oCount = TrianglesCount ( );
Return: (Long) oCount Get the number of triangles in a facet.

IGeometry3D

IGeometry3D This interface represents basic information about an entity's geometry. More specific data can be obtained from the following interfaces: IGeom3DPoint, IGeom3DCurve, IGeom3DSurface. Properties Get Type GeomType Get Id Long Get Box Variant Methods

CimatronE 9.0

CimatronE SDK User Guide 971

None IGeometry3D::Box Description This property allows you to get box coordinates that contain the entity from which the IGeometry3D interface was called. Syntax Box = Box ( );
Return: (Variant) Box Variant that contains double type one dimensional array of coordinates (X,Y,Z) of two opposite vertices of box.

Note All coordinates are given relative to the model's main UCS. IGeometry3D::Id Description This property allows you to get the ID of an entity. This is the same ID as in the ICimEntity::Id property. Syntax Id = Id ( ); Return: (Long) Id The entity ID IGeometry3D::Type Description This property allows you to check the type of entity and examine it using more specific interfaces like IGeom3DPoint, IGeom3DCurve, IGeom3DSurface . Syntax Type ( );
Return: (GeomType) Type Type of entity geometry.

Geometry Services
Geometry Services

CimatronE 9.0

CimatronE SDK User Guide 972

LMCallback
LMCallback

ILMCallback

ILMCallback This is preliminary documentation and subject to change. The purpose of this interface is to generate specific events to help you read a file with triangulation data in different formats. Properties None Methods OnObjectBegin ( Integer ) OnObjectEnd ( ) OnFaceBegin ( Integer iId ) OnFaceEnd ( ) OnVertex ( Integer, Double, Double, Double, Double, Double, Double, Double, Double ) OnFacet ( Integer, Integer, Integer, Integer ) Note The interface is not implemented yet. ILMCallback::OnFaceBegin Description Not implemented yet. Syntax OnObjectBegin( Id );
Input: (Integer) Id

CimatronE 9.0

CimatronE SDK User Guide 973

ILMCallback::OnFaceEnd Description Not implemented yet. Syntax OnFaceEnd ( ); ILMCallback::OnFacet Description Not implemented yet. Syntax OnFacet( Id, VId1, VId2, VId3 );
Input: (Integer) Id Input: (Integer) VId1 Input: (Integer) VId2 Input: (Integer) VId3

ILMCallback::OnObjectBegin Description Not implemented yet. Syntax OnObjectBegin( Id );


Input: (Integer) Id

ILMCallback::OnObjectEnd Description Not implemented yet. Syntax OnObjectEnd ( ); ILMCallback::OnVertex Description Not implemented yet. Syntax

CimatronE 9.0

CimatronE SDK User Guide 974

OnVertex( Id, X, Y, Z, I, J, K, U, V);


Input: (Integer) Id Input: (Double) X Input: (Double) Y Input: (Double) Z Input: (Double) I Input: (Double) J Input: (Double) K Input: (Double) U Input: (Double) V

GeomServices
GeomServices

IGeomServices

IGeomServices Properties None Methods Variant GetPiercingPoints ( Variant, Variant, ICimEntityList ) Variant GetBoundingBoxByUCS ( ICimEntityList, IUcs ) Double MinDistancePos ( ICimEntity, ICimEntity, IPointData, IPointData)

IGeomServices::GetPiercingPoints Description This method allows you to get the pierce points on selected faces by input base point and direction. Syntax
Points = GetPiercingPoints ( iDirection, iBasePositin, iEntList );

CimatronE 9.0

CimatronE SDK User Guide 975

Input: (Variant) iDirection Input: (Variant) iBasePositin

Coordinates (x,y,z) of the direction vector Coordinates (x,y,z) of the base point Variant that contains double type array of 3D points coordinates.

Input: (ICimEntityList) iEntList Set of faces or objects to be Hit. Return: (Variant) Points

Note

IGeomServices::GetBoundingBoxByUCS Description This method allows you to get the bounding box of selected entities by UCS. Syntax PntArr = GetBoundingBoxByUCS ( iEntList, iUCS);

Input: (ICimEntityList) iEntList Entity list. Input: (IUcs) iUCS Return: (Variant) PntArr

UCS object (for referance) Variant that contains double type array of 3D points coordinates.

Note

IGeomServices::MinDistancePos Description This method allows you to get the minimum distance length between two entities. Syntax Length = MinDistancePos ( iEnt1, iEnt2, oPD1, oPD2 );

Input: (ICimEntity) iEnt1 Output: (IPointData) iEntList Output: (IPointData) iEntList

Input first entity Get first point on first entity Get second point on second entity

Input: (ICimEntity) iBasePositin Input second entity

CimatronE 9.0

CimatronE SDK User Guide 976

Return: (Double) Length

Minimum length between two entities

Note

Dimension
Dimension

ICimEntity
ICimEntity

The ICimEntity interface represents the basic information about entities in CimatronE. Properties Get Get Get Get Methods Long IsOwnerWireBody ( )
ICimEntity::Model

Id Type Model

Long EntityEnumType IModel Boolean

Geometry IGeometry3D

Get/Set Show

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::Geometry

Description

CimatronE 9.0

CimatronE SDK User Guide 977

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::Show

Description

CimatronE 9.0

CimatronE SDK User Guide 978

This property allows you to Hide/Show the selected entity Syntax


Property get: Status = Show ( ); Return: (Boolean) Status Get entity visibility Property set: Show ( Status); Input: (Boolean) Status Set entity visibility

IDimension
IDimension

This interface allows you to manipulate dimensions. Properties


Get, Set Value Get, Set Name Double String

Get, Set Procedure IMdProcedure Get, Set Expression String

Methods None
IDimension::Expression

Description This property allows you to get and change dimension values using a mathematic expression. An expression may be a simple positive real number or a compound statement containing other dimensions and mathematical operation like +, -, *, / that connect them or functions: sin(), cos(), sqrt() - square root, ^ - raising to a power, log(), ln(), exp() , etc. Syntax Property get: DimensionExpression = Expression ( );
Return: (String) DimensionExpression A string with a dimension expression.

Property set: Expression( DimensionExpression );

CimatronE 9.0

CimatronE SDK User Guide 979

Input: (String) DimensionExpression A string with a dimension expression.

Note Dimensions that are used in Expression must follow the standard "ModelTitel:DimensionInternalName", where ModelTitel is a model title that you can get using IPdm::TitleOfPidor if there is a part file, by the IDocument::Titel method. DimensionInternalName is an internal name of dimensions that you can get from the IDimension::Name property.
IDimension::Name

Description This property allows you to get and set a dimension name. By default, each dimension has a default name attached to it when being created (also called an internal name). In addition, you may attach your own name to a dimension and use it to access a specific dimension. Syntax Property get: Name = Name ( );
Return: (String) Name Dimension name.

Property set: Name( Name );


Input: (String) Name Dimension name.

IDimension::Procedure

Description This property allows you to get a procedure dimensioned by a current dimension. Syntax Property get: DimensionProcedure = Procedure ( );
Return: (IMdProcedure) DimensionProcedure A procedure to which a current dimension relates.

IDimension::Value

Description This property allows you to get a dimension value. Syntax

CimatronE 9.0

CimatronE SDK User Guide 980

Property get: Value = Value ( );


Return: (Double) Value A dimension value.

ModelTransformation
ModelTransformation

IModelTransformation
IModelTransformation

This interface allows you to get and set transformation data for objects that support transformation. For example, UCS's, planes, assembly instances, sketcher objects, display figures. Properties
Get Matrix Variant Get Vector Variant

Methods Move ( Double, Double, Double ) Rotate ( Double, Double, Double, Double ) ScaleFactor ( Double, Double, Double ) Note Transformation data relates to the main UCS.

IModelTransformation::Matrix

Description
This property allows you to get an Affine transformation matrix .

Syntax
Matrix( AffineTransformation ); Return: (Variant) AffineTransformation Affine transformation matrix.

IModelTransformation::Vector

CimatronE 9.0

CimatronE SDK User Guide 981

Description
This property allows you to get the translation vector of a transformation.

Syntax
Property get: Vector( TranslationVector ); Return: (Variant) TranslationVector Translation vector of transformation.

IModelTransformation::ScaleFactor

Description This method allows you to change the scale of objects. Syntax ScaleFactor ( iScaleX, iScaleY, iScaleZ );
Input: (Double) iScaleX Input: (Double) iScaleY Input: (Double) iScaleZ Set the scale in the X axis. Set the scale in the Y axis. Set the scale in the Z axis.

IModelTransformation::Rotate

Description This method allows you to rotate objects by input angle and vector for rotation. Syntax Rotate ( iAngle, iVecX, iVecY, iVecZ );
Input: (Double) iAngle Input: (Double) iVecX Input: (Double) iVecY Input: (Double) iVecZ Set the rotation angle. Set the vector X value. Set the vector Y value. Set the vector Z value.

IModelTransformation::Move

Description This method allows you to move objects by changing transformation. Syntax Move ( iX, iY, iZ );
Input: (Double) iX Input: (Double) iY Move in X value. Move in Y value.

CimatronE 9.0

CimatronE SDK User Guide 982

Input: (Double) iZ

Move in Z value.

Filters

Filters and Sets

Filter Logical Operations


Filter Logical Operations

FilterNot
FilterNot

CimatronE 9.0

CimatronE SDK User Guide 983

IFilterNot

IFilterNot This type of filter allows you to construct a NOT condition. Properties None Methods Add ( IEntityFilter ); IEntityFilter GetFilter ( ).

IFilterNot::Add Description This method adds the existing filter for creating a NOT conditioned filter. Syntax Add( Filter );
Input: ( IEntityFilter ) Filter The filter to be added to the NOT condition.

IFilterNot::GetFilter Description This method returns the filter which makes up the NOT condition. Syntax Filter = GetFilter ( );
Return: ( IEntityFilter ) Filter The filter that makes up the NOT condition

IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

CimatronE 9.0

CimatronE SDK User Guide 984

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );
Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterOr
FilterOr

IFilterOr

IFilterOr This type of filter allows you to construct a compound statement from two filters with an OR condition.

CimatronE 9.0

CimatronE SDK User Guide 985

Properties None Methods SetFilters ( IEntityFilter, IEntityFilter ) GetFilters ( IEntityFilter, IEntityFilter ) IFilterOr::GetFilters Description This method allows you to get the filters from which the FilterOr is composed. Syntax GetFilters( Filter1, Filter2 );
Output: (IEntityFilter) Filter1 First filter included in OR condition. Output: (IEntityFilter) Filter2 Second filter included in OR condition.

IFilterOr::SetFilters Description This method sets the filters from which the filter OR is composed. Syntax SetFilters ( IEntityFilter Filter1, IEntityFilter Filter2 );
Input: (IEntityFilter) Filter1 First filter included in OR condition . Input: (IEntityFilter) Filter2 Second filter included in OR condition.

IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity ) Note

CimatronE 9.0

CimatronE SDK User Guide 986

To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );
Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterAnd
FilterAnd

IFilterAnd

IFilterAnd This type of filter lets you construct a compound statement from two filters with an AND condition. Properties None Methods SetFilters ( IEntityFilter, IEntityFilter );

CimatronE 9.0

CimatronE SDK User Guide 987

GetFilters ( IEntityFilter, IEntityFilter ). IFilterAnd::GetFilters Description This method allows you to get the filters from which the FilterAnd is composed. Syntax GetFilters( Filter1, Filter2 );
Output: (IEntityFilter) Filter1 First filter included in AND condition. Output: (IEntityFilter) Filter2 Second filter included in AND condition.

IFilterAnd::SetFilters Description This method sets the filters from which the FilterAnd is composed. Syntax SetFilters( Filter1, Filter2 );
Output: (IEntityFilter) Filter1 First filter included in AND condition Output: (IEntityFilter) Filter2 Second filter included in AND condition

IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter.

CimatronE 9.0

CimatronE SDK User Guide 988

Syntax Status = Test( Entity );


Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

Filter Types
Filter Types

FilterWidth
FilterWidth

IFilterWidth

IFilterWidth

CimatronE 9.0

CimatronE SDK User Guide 989

This type of filter allows you to set width types. There are 8 width types in CimatronE, from 1 to 8 pixels. Properties None Methods Add ( Integer ) Variant GetFilter ( )

IFilterWidth::Add Description This method allows you to add a width type to a filter. Syntax Add ( Width );
Input: (Integer) Width The width type from 1 to 8 pixels.

IFilterWidth::GetFilter Description This method allows you to get filter settings. Syntax Filter = GetFilter ( );
Return: (Variant) Filter Filter settings array.

Note The GetFilter method returns an array where each width type added to a filter is checked by 1 in an array according to its number. Other values in the array are set to 0.
IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

CimatronE 9.0

CimatronE SDK User Guide 990

Methods Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );
Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterType
FilterType

IFilterType

IFilterType This type of filter allows you to set entity types. Properties

CimatronE 9.0

CimatronE SDK User Guide 991

None Methods Add ( EntityEnumType ) Variant GetFilter ( )

IFilterType::Add Description This method allows you to add an entity type to a filter. Syntax Add( Type ); Input: (EntityEnumType) Type Entity type from EntityEnumType enumeration. IFilterType::GetFilter Description This method allows you to get filter settings. Syntax Filter = GetFilter ( ); Return: (Variant) Filter Filter settings array Note The GetFilter method returns an array whose size is equal to the number of entity types in the EntityEnumType enumeration. Each entity type added to the filter is checked by 1 in an array according to its number in the EntityEnumType enumeration. Other values in the array are set to 0.
IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity )

CimatronE 9.0

CimatronE SDK User Guide 992

Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );
Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterColor
FilterColor

IFilterColor

IFilterColor This type of filter allows you to impose a condition on entity colors. Properties None Methods

CimatronE 9.0

CimatronE SDK User Guide 993

Add ( Long ) Variant GetFilter ( ) IFilterColor::Add Description This method adds the value of a color to the filter. Syntax Add( Color ); Input: (Long) Color Number that represents color of filter

IFilterColor::GetFilter Description This method returns the value of a filter that represents the color of entities. Syntax GetFilter( Color );
Return: (Variant) Color Number that represents the color of filter.

IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter.

CimatronE 9.0

CimatronE SDK User Guide 994

Syntax Status = Test( Entity );


Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterStyle
FilterStyle

IFilterStyle

IFilterStyle This type of filter allows you to set style types. Properties None Methods Add ( Integer iStyle ) Variant GetFilter ( ) IFilterStyle::Add Description This method allows you to add a style type to a filter. Syntax

CimatronE 9.0

CimatronE SDK User Guide 995

Add( Style ); Input: (Integer) Style Style type. Note There are 8 styles in CimatronE: 1 Solid 2 Dash 3 Dash dot 4 Dash dot dot 5 Dot 6 Long dash 7 Douoble dash 8 Spaced dot IFilterStyle::GetFilter Description This method allows you to get filter settings. Syntax Filter = GetFilter ( ); Return: (Variant) Filter Filter settings array Note There are 8 styles (numbered 1 to 8): Solid, Dash, Dash Dot, Dash Dot Dot, Dot, Long Dash, Double Dash, Spaced Dot . The GetFilter method returns an array where each style type added to a filter is checked by 1 in the array according to its number. Other values in the array are set to 0.
IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods

CimatronE 9.0

CimatronE SDK User Guide 996

Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );
Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterSet
FilterSet

IFilterSet

IFilterSet This filter type allows you to use multiple filters joined in the set. Its greatest advantage is that you can use saved sets, calling them from the file by name. For example, you can aggregate some simple filter types in one set for the first work session with a file, and use this saved set for selection in another work session without having to aggregate the compound filter again. Properties

CimatronE 9.0

CimatronE SDK User Guide 997

None Methods Add ( String ) Variant GetFilter ( ) Note To create a set use the ISetsFactory::CreateSet method . IFilterSet::Add Description This method adds a set to a filter IFilterSet. Syntax Add( SetName );
Input: (String) SetName The name of the set.

Note The set's name is obtained during creation using the ISetsFactory::CreateSet method, or if the set was saved using the ISetsFactory::GetSetNames method and ISet::Name property. IFilterSet::GetFilter Description This method returns the array of sets in a filter. Syntax Filter = GetFilter ( );
Return: (Variant) Filter The sets array.

IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity )

CimatronE 9.0

CimatronE SDK User Guide 998

Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );
Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterEntityList
FilterEntityList

IFilterEntityList

IFilterEntityList This type of filter allows you to make up a list of entities that may be selected. Properties None Methods

CimatronE 9.0

CimatronE SDK User Guide 999

ICimEntityList GetFilter ( ) Add ( ICimEntity ) IFilterEntityList::Add Description This method allows you to add an entity to a filter's entity list. Syntax Add ( Entity ); Input: (ICimEntity) Entity Entity to be added to filter's entity list. IFilterEntityList::GetFilter Description This method allows you to get an entity list from which the filter is composed. Syntax EntityList = GetFilter ( ); Return: (ICimEntityList) EntityList The list of entities that are in current filter.
IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter.

CimatronE 9.0

CimatronE SDK User Guide 1000

Syntax Status = Test( Entity );


Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterPoint
FilterPoint

IFilterPoint

IFilterPoint This filter type allows you to set the point types to be selected. For example: point of circle center, middle of curve, etc. Properties None Methods Variant GetFilter ( ) Add ( EPointType )

IFilterPoint::Add Description This method allows you to add a point type to a filter.

CimatronE 9.0

CimatronE SDK User Guide 1001

Syntax Add( PointType ); Input: (EPointType) PointType Point type from EPointType enumerate. IFilterPoint::GetFilter Description This method allows you to get the filter settings. Syntax Filter = GetFilter ( ); Return: (Variant) Filter Filter settings array Remark The GetFilter method returns an array whose size is equal to the number of point types in the EPointType enumeration. Each point type added to a filter is checked by 1 in an array according to its number in the EPointType enumeration. Other values in the array are set to 0.
IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );

CimatronE 9.0

CimatronE SDK User Guide 1002

Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

FilterWireBody
FilterWireBody

IFilterWireBody

This is preliminary documentation and subject to change.


IEntityFilter

IEntityFilter The Interface IEntityFilter represents all filter types. Properties

Get, Set Type EFilterEnumType

Methods Long Test ( ICimEntity ) Note To create a filter use the IEntityQuery::CreateFilter method and then use the appropriate filter type interface to set its parameters. For filter types see Filters subsection. IEntityFilter::Test Description

CimatronE 9.0

CimatronE SDK User Guide 1003

This method allows you to test whether a given entity matches a defined filter. Syntax Status = Test( Entity );
Input: (ICimEntity) Entity Entity to be tested. Return: (Boolean) Status If entity is suitable return TRUE another FALSE(0).

IEntityFilter::Type Description This property allows you to get an entity filter type. All types are listed in the EFilterEnumType enumeration. Syntax Property Get: Type = Type ( );
Return: ( EFilterEnumType ) Type Entity type from EFilterEnumType enumeration

Sets of Entities by Filters


Sets of Objects by Filters

SetsFactory
SetsFactory

ISetsFactory

ISetsFactory This interface allows you to create and manage sets of entities. Properties None

CimatronE 9.0

CimatronE SDK User Guide 1004

Methods ISet CreateSet ( String, IEntityFilter ) Variant GetSetNames ( ) GetSet ( String, ISet ) DeleteSet ( String ) EditSet ( String, IEntityFilter ) ISetsFactory::CreateSet Description This method allows you to create a set of entities using a predefined filter. See EFilterEnumType for the types of filter you can use to create a set. Syntax Set = CreateSet( Name, EntityFilter );
Input: (Strign) Name The name of a set. Input: (IEntityFilter) EntityFilter The filter which defines what type of entities will be in a set. Return: (ISet) Set Newly-created set.

ISetsFactory::DeleteSet Description This method allows you to delete an existing set. Syntax DeleteSet( SetName );
Input: (String) SetName Name of the set to be deleted.

ISetsFactory::EditSet Description This method allows you to edit a set by changing an entity filter. Syntax
EditSet( SetName, EntityFilter ); Input: (String) SetName Name of the set to be edited.

Input: (IEntityFilter) EntityFilter New filter for entities set.

ISetsFactory::GetSet Description

CimatronE 9.0

CimatronE SDK User Guide 1005

This method allows you to get a set specifying its name. Syntax Set = GetSet( SetName );
Input: (Strign) SetName A name of set. Return: (ISet) Set Set with this name.

ISetsFactory::GetSetNames Description This method allows you to get all set names in the current model. Syntax
SetNamesArray = GetSetNames ( ); Return: (Variant) SetNamesArray Array of all set names from the current model.

Note Another way to get all the sets from a part file is using the IDocument::SetsOfDoc method.

Set
Set

ISet

ISet This interface represents a set object in CimatronE. Properties

Get, Set Name String Set Methods None Show Boolean

CimatronE 9.0

CimatronE SDK User Guide 1006

ISet::Name Description This property allows you to get the name of an existing set and to change it. Syntax Property get: Name = Name ( );

Return: (String) Name Name of set.

Property set: Name( NewName );

Input: (String) NewName New name of set.

ISet::Show Description This property allows you to get and set the visibility of sets. Syntax Property set: Set ( Val );
Input: (Boolean) Val True = display the selected sets

False = hide the selected sets Property get: Val = Set ( ); Output: (Boolean) Val True = the selected sets is displayed

CimatronE 9.0

CimatronE SDK User Guide 1007

False = the selected sets is hidden

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 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) Filter Filter by which selection mades Pointer to created filter.

CimatronE 9.0

CimatronE SDK User Guide 1008

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

Attributes

Attributes

AttributeFactory
AttributeFactory

IAttributeFactory

CimatronE 9.0

CimatronE SDK User Guide 1009

IAttributeFactory

Interface IAttributeFactory allows the creation of attributes by given parameters like type and attribute name. After creation an attribute may be attached to an entity. All attribute types are listed in AttributeEnumType Properties None Methods IAttribute Create (AttributeEnumType Type, String Name )
IAttributeFactory::Create

Description This method allows you to create an attribute by a given type and name. Syntax Attribute = Create( Type, Name ); Input: (AttributeEnumType) Type Type of created attribute Input: (String) Name Return: (IAttribute) Attribute Any given name of attribute Created attribute

DocAttribute
DocAttribute

IDocAttribute
IDocAttribute

VC++ Example This interface allows you to read the parameters of a specific file attribute and fill them in for updating, or for a new created attribute. Properties
Get, Set Name String Get, Set Value Variant

Methods None

CimatronE 9.0

CimatronE SDK User Guide 1010

IDocAttribute::Name

Description This property allows you to get and set the name of file attributes. Syntax Property get: Name = Name ( );
Return: (String) Name The name of a file attribute.

Property set: Name( Name );


Input: (String) Name The name of a file attribute.

Note If you enter a new value in the IDocAttribute::Value property without changing the name and after that call IPdm::UpdateDocAttribute, an attribute value with a specified name will be updated. If you enter a new name and calls IPdm::UpdateDocAttribute, then a new file attribute will be created.
IDocAttribute::Value

Description This property allows you to get and set the value for a file attribute. Syntax Property get: Value = Value ( );
Return: (Variant) Value The value of a specific file attribute.

Property set: Value( Value );


Input: (Variant) Value The value of a specific file attribute.

Attribute
Attribute

CimatronE 9.0

CimatronE SDK User Guide 1011

IAttribute
IAttribute

Gives a functionality for supplying an API for the entitys attribute (color, style etc.). Properties Get, Set Value Variant Get Get Name String Type AttributeEnumType

Methods None
IAttribute::Type

Description This property allows you to get the type of attribute. All attribute types are listed in the AttributeEnumType enumeration. Syntax AttributeType = Type( ); Return: (AttributeEnumType) AttributeType Attribute's type one of AttributeEnumType
IAttribute::Value

Description This property allows you to set and get the value of the attribute. The value must suit the type of attribute. Syntax Get property: Value = Value( ); Return: (Variant) Value Value of attribute Set property: Value( Value ); Input: (Variant) Value Value of attribute

CimatronE 9.0

CimatronE SDK User Guide 1012

IAttribute::Name

Description This property allows you to get the name (string) of the attribute that was set by the IAttributeFactory::Create method. Syntax AttributeName = Name( ); Return: (String) AttributeName Name of attribute

CimatronE API Enums

CimatronE API Enumerator Types


AccessMode AddMode AddModelType AssPartProcType AssProcedureType AttributeEnumType AxisMode BlendHealOption BlendSlopeOption ConnectAlignmentMode ConnectFlipMode ConnectMode CurveExtendLinearOptions CurveExtendReferenceOptions CurveExtendSideCurveOptions DivideDraftSideOption DivideFromOption DivideSideOption DivideToOption DocumentEnumUnit DocumentEnumType DriveSolidInvert DriveSolidMode DriveSolidSweepMode ECommandCategory ECoordinateMapping

CimatronE 9.0

CimatronE SDK User Guide 1013

EDIApplicationType eFaceCurveMode EfilterEnumType eMdLineMode EntityEnumType EpointType ExeCmd-CategorysName ExtendOptions ExtrudeDraftSideOption ExtrudeInvertOption ExtrudeSideOption ExtrudeSweepMode ExtrudeToOption FaceCurveMode FairFaceSlopeOption FeatureGuideButtons GeomCurveType GeomSurfaceType GeomType GuideBarBtnType HelixMode HoleHeadType HoleOption InteractionType LoftSlopeOption MdCopySingleMode MdExtGeomOption MdParameterType MdProcedureType MdRemoveGeometryMode MdShellMode MergeDirectType MeshMode MouseEventType MoveLinearMode OffsetMode PlaneMode

CimatronE 9.0

CimatronE SDK User Guide 1014

PointStyle PrimitiveType RenderOption RestrictionEnumType RevolveInvertOption RevolveSideOption RevolveSweepMode RevolveToOption RoundFaceFaceOption RoundMode SketchConstraintType SketchDimensionType SketchMode SketchObjectType SketchPointType SketchStatus SketchTrimOption SplineMode SplineSlopeOption SplineType SplitFPointSection SplitFProjection SweepSideOption SweepToOption TaperReferenceType TaperSideOption TrimFPointSection TrimFProjection UcsCopyMode UcsMode

AccessMode
Enumerator cmAccessModeRead cmAccessModeWrite cmAccessModeNo Enumerator Value Remark 0 1 2

CimatronE 9.0

CimatronE SDK User Guide 1015

AddMode
Enumerator cmOldDocument
cmNewDocument

Enumerator Value Remark 0 1

AddModelType
Enumerator cmPartModel
cmAssemblyModel

Enumerator Value Remark 0 1

AssPartProcType
Enumerator cmDefaultProc cmSketcherProc cmExtrudeProc cmRevolveProc cmAxisProc cmPlaneProc cmRoundProc cmSweepProc cmBlendProc cmHelixProc cmDriveSolidProc cmUcsProc cmSplineProc cmMoveLinear cmMoveMirror cmMerge cmProject Enumerator Value Remark -1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

CimatronE 9.0

CimatronE SDK User Guide 1016

cmOffset cmFaceCurve cmLineProc cmIntersectionProc cmPointProc cmMoveRadial cmSkinFace cmCopySingle cmCopyLinear cmCopyRadial cmCopyMirror cmRemoveGeometry cmScale cmShell cmCompositeCurve cmHole cmStitch cmUnstitch cmTextCurve cmSplitFaces cmSplitCurves cmCut cmDivide cmMeshProc cmPointsOnCurveProc cmTrimFaces cmTrimCurves cmLoftProc cmBoundedProc cmDriveFaceProc cmGeneralFaceProc

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

CimatronE 9.0

CimatronE SDK User Guide 1017

cmUserDefineProcedure cmApplyTransformationProc cmAdvancedLineProc cmAddProc cmConnectProc

48 49 50 100 101

AssProcedureType
Enumerator cmAssDefaultProcedure cmAddProcedure cmConnectProcedure cmAssPlaneProcedure cmAssAxisProcedure cmAssUcsProcedure Enumerator Value Remark -1 1 2 3 4 5

AttributeEnumType
Enumerator cmAttColor cmAttStyle cmAttWidth cmAttVisibility cmAttBlankLevel cmAttDouble cmAttDoubleSaveable cmAttInteger cmAttIntegerSaveable cmAttString cmAttAxis cmAttStrList cmAttDispCurve cmAttQuickSplit cmAttNone Enumerator Value Remark 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 This type of attribute is not saved with the file. This type of attribute is not saved with the file. There is only one, unnamed attribute per entity. There is only one, unnamed attribute per entity. There is only one, unnamed attribute per entity.

CimatronE 9.0

CimatronE SDK User Guide 1018

AxisMode
Enumerator cmAxisModeParallel cmAxisModeIntersection cmAxisModeNormal cmAxisModeThrough Enumerator Value Remark 0 1 2 3

BlendHealOption
Enumerator cmBlendOptionHeal cmBlendOptionNoHeal Enumerator Value Remark 0 1

BlendSlopeOption
Enumerator cmBlendOptionFree cmBlendOptionSmooth cmBlendOptionConstant cmBlendOptionNormal cmBlendOptionC2Iso cmBlendOptionC2Normal Enumerator Value Remark 0 1 2 3 4 5

ConnectAlignmentMode
Enumerator cmConnectNoAlignmentMode cmConnectAntiAlignmentMode cmConnectAlignmentMode Enumerator Value Remark 0 1 2

ConnectFlipMode
Enumerator cmConnectNoFlipMode cmConnecteFlipPosMode cmConnectFlipNegMode Enumerator Value Remark 0 1 2

CimatronE 9.0

CimatronE SDK User Guide 1019

ConnectMode
Enumerator cmConnectModeCoincident cmConnectModeParallel cmConnectModePerpendicular cmConnectModeTangent cmConnectModeConcentric cmConnectModeDistance cmConnectModeAngle Enumerator Value Remark 0 1 2 3 4 5 6

CurveExtendLinearOptions
Enumerator cmExtendCurveLinear cmExtendCurveNatural Enumerator Value Remark 0 1

CurveExtendReferenceOptions
Enumerator cmExtendCurveReference cmExtendCurveDelta Enumerator Value Remark 0 1

CurveExtendSideCurveOptions
Enumerator cmStartOfCurve cmEndOfCurve Enumerator Value Remark 0 1

DivideDraftSideOption
Enumerator cmDivideDraftInside cmDivideDraftOutside Enumerator Value Remark 0 1

DivideFromOption
Enumerator cmDivideFromReference cmDivideFromClosest Enumerator Value Remark 0 1

CimatronE 9.0

CimatronE SDK User Guide 1020

DivideSideOption
Enumerator cmDivideOneSide cmDivideBothSide Enumerator Value Remark 0 1

DivideToOption
Enumerator cmDivideOneDir cmDivideBothDir cmDivideMidPlane cmDivideToReference cmDivideToClosest cmDivideThroughAll cmDivideThroughOneSide Enumerator Value Remark 0 1 2 3 4 5 6

DocumentEnumUnit
This is preliminary documentation and is subject to change.

Enumerator cmMillimeter cmInch cmFeet cmCentimeter cmMeter

Enumerator Value Remark 0 1 2 3 4 - Temporarily unavailable - Temporarily unavailable - Temporarily unavailable

DocumentEnumType

Enumerator Enumerator Value Remark cmPart cmAssembly cmNc cmDrafting 1 2 4 8 For PART files For ASSEMBLY files For NC files For DRAFTING files

CimatronE 9.0

CimatronE SDK User Guide 1021

cmAll

15

An option that allows the selection of all file types

DriveSolidInvert
Enumerator cmDriveSolidForward cmDriveSolidReversed Enumerator Value Remark 0 1

DriveSolidMode
Enumerator cmDriveSolidParallel cmDriveSolidNormal Enumerator Value Remark 0 1

DriveSolidSweepMode
Enumerator cmDriveSolidSweepModeNew cmDriveSolidSweepModeAdd cmDriveSolidSweepModeRemove Enumerator Value Remark 0 1 2

ECommandCategory

Enumerator cmCmdPart cmCmdAssembly cmCmdNc cmCmdNcCad cmCmdDrafting cmCmdMainFrame cmAll

Enumerator Value Remark 1 2 4 5 8 16 15 For PART files For ASSEMBLY files For NC files For CadMode (designed in NC mode) For DRAFTING files Main frame of CimatronE An option that allows selection of all file types

ECoordinateMapping

CimatronE 9.0

CimatronE SDK User Guide 1022

Enumerator cmScreen cmCimatronWnd

Enumerator Value Remark 1 2

EDIApplicationType
Enumerator cmIGES cmPFM cmPARASOLID cmSTEP cmVDA cmDWG cmDXF cmSAT cmSTL cmCATIA Enumerator Value Remark 1 2 3 4 5 6 7 8 9 10 Input/Output Input/Output Input only Input/Output Input/Output Input/Output Input/Output Input/Output Input/Output Input only

eFaceCurveMode
Enumerator
cmFaceCurveModeEdges cmFaceCurveModeDisplay cmFaceCurveModePoint

Enumerator Value Remark 0 1 2

EFilterEnumType
Enumerator cmFilterColor cmFilterStyle cmFilterWidth cmFilterEntityType cmFilterSet cmFilterEntityList cmFilterAnd Enumerator Value Remark 0 1 2 3 4 5 6

CimatronE 9.0

CimatronE SDK User Guide 1023

cmFilterOr cmFilterNot cmFilterWireBody cmFilterPoint

7 8 9 10

eMdLineMode
Enumerator
cmMod2Entities cmModByDir

Enumerator Value Remark 0 1

EntityEnumType
Enumerator cmEntityNotDefined cmBody cmFace cmEdge cmVertex cmLoop cmPlane cmAxis cmUcs cmPoint cmInstance cmProcedure cmNoDisplayEnt cmDefaultEntity cmPointData cmDraftingSheet cmDraftingView Enumerator Value Remark 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

CimatronE 9.0

CimatronE SDK User Guide 1024

cmDraftingText cmTotalNum

18 19

EPointType
Enumerator cmPtStart cmPtEnd cmPtMid cmPtCenter cmPtClose cmPtScreen cmPtIntersc cmPtQuadrant cmPtPierce cmPtPoint cmPtKeyIn cmPtDelta cmPtTpNode cmPtUcsOrg cmPtSection cmPtClose2Face cmPtPointTotalNum Enumerator Value Remark 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Execute Command - Category/Command Names


Category name "&Render Modes" Command name "Wireframe" "HiddenLine" "PartialHiddenLine" "Shaded" "Zoom All" "Zoom In" "Zoom Out" "Rotate By Angle" "Isometric" Remarks Display Commands

"&Display"

Display Commands

CimatronE 9.0

CimatronE SDK User Guide 1025

"Top" "Front" "Right" "Last Picture" "Pictures Library" "Ambient Light" "ZoomFactor" "Silhouette" "Open Edges" "&DynamicTools" "&Zoom" "&Pan" "&Rotate" "Filter Options..." "Clear Selection" "Select All" "Sets" "Update" "Filter Objects" "Filter Faces" "Filter Edges" "Filter Sketches" "Filter Points" "Filter Datum" "Filter Assembly" "Filter Parts" "Filter Views" "Line Color" "Line Style" "Line Width" "Hide" "Show" "Undo" "Redo" "Set Projects" "Fix Database" "Query" "New" "File" "Open" "Close" Display Commands

"&Edit"

Display Commands

"Quick Filter"

Display Commands

"Line Attributes"

Display Commands

"HideShow" "Edit" "PDM Operations"

Display Commands General Command General Command

"File1"

General Command

CimatronE 9.0

CimatronE SDK User Guide 1026

"Delete" "File2" "Save" General Command "Save As..." "Save All" "Copy" "Only selected files" "Include dependent files" "Receive" "Backup" "PrintPreview" "Plot Setup" "Print" "Plot" "Properties" "Exit" "New" "Cascade" "Tile" "Arrange" "More" General Command

"File3"

"File4" "Application" "Window"

General Command General Command General Command

"Help"

"Contents & Index F1" General Command "What's This? Shift+F1" "Tutorial" "About Elite 4.0" "Timer" "Suppress" "Un-Suppress all" "Move Linear" "Move Locate" "Move Radial" "Move Mirror" "Single" "LinearArray" "RadialArray" "Mirror" "RemoveFace" "Regenerate" General Command General Command Modeler Commands Modeler Commands

"About" "Diagnostic" "Edit2" "Edit3"

"Edit5"

Modeler Commands

CimatronE 9.0

CimatronE SDK User Guide 1027

"Replay" "Curves1" "Curves2" "Sketcher" "Composite" "Parting" "Line Regular" "Spline" "Helix" "FromFace" "Intersection" "Silhouette" "Offset-Edge" "Connect Component" "Sweep" "FacesRevolve" "Blend" "Drive" "Mesh" "Bounded Face" "Parting Face" "Offset-Face" "Extend" "Stitch" "UnStitch" "Split Face" "FaceTrim" "Boundary" "Islands" "Fair" "Slope" Modeler Commands Modeler Commands

"Assembly" "Faces"

Modeler Commands Modeler Commands

"Faces1"

Modeler Commands

"Faces2"

Modeler Commands

"Solid1"

"AddMExtrude" Modeler Commands "AddMRevolve" "AddMDrive" "RemoveMExtrude" "RemoveMRevolve" "RemoveMDrive" "NewMExtrude" "NewExtrudeMidPlane" "NewMRevolve" "NewMDrive" "FaceFaceRound" Modeler Commands

"Solid2"

CimatronE 9.0

CimatronE SDK User Guide 1028

"Spine - Face Round" "Round" "Chamfer" "Taper" "Shrinkage" "Hole" "Shell" "Solid3" "ObjDivide" "ContDivide" "Merge" "Cut" "From File" "New" "Component" "MainAssembly" "Object Activate" "Object Deactivate" "Parallel Plane" "Normal Plane" "Main Plane" "Inclined Plane" "Through Plane" "Axis Parallel" "Axis Normal" "Axis Intersection" "Axis Through" "UCS By Geom" "UCS Copy" "Geometry" "From File" "To File" "QuickSplit" "Dynamic Section" "Draft Angle Analysis" "Arrange Normal" "CheckEntity" "Compare" Modeler Commands

"Environment" "Environment1"

Modeler Commands Modeler Commands

"Environment2"

Modeler Commands

"File"

Modeler Commands

"Tools2"

Modeler Commands

"Modeler Commands" "FailureMng" "Modeler tree" "Customize" "Menu"

Modeler Commands Pull Commands

CimatronE 9.0

CimatronE SDK User Guide 1029

"Accelerator" "ToolBar" "Sheet1" "Sheet3" "Create Sheet" Drafting Commands

"Sheet Standard" Drafting Commands "Sheet View Attributes" "Edit Frame" "Simple" "Add Alignment" "Character Map" "CharSize" "DimensCreate" "Datum_Target" "Surface Roughness" "Section Line" "Center" "Symmetry" "Hatch" "Arrow" "Id Number" "Text" "Write BOM file" "Bom" "Sketcher" "Contour" Drafting Commands Drafting Commands

"Sheet4" "Tools"

"Symbols1" "Symbols2" "Symbols3 "Symbols4" "Symbols5"

Drafting Commands Drafting Commands Drafting Commands Drafting Commands Drafting Commands

"Symbols6" "Curves"

Drafting Commands Drafting Commands

ExtendOptions
Enumerator cmExtendNaturalNormal cmExtendTangentNormal cmExtendTangentContinuous cmExtendNaturalContinuous Enumerator Value Remark 0 1 2 3

CimatronE 9.0

CimatronE SDK User Guide 1030

ExtrudeDraftSideOption
Enumerator cmExtrudeDraftInside cmExtrudeDraftOutside Enumerator Value Remark 0 1

ExtrudeInvertOption
Enumerator Enumerator Value Remark cmExtrudeForward 0 cmExtrudeReversed 1

ExtrudeSideOption
Enumerator cmExtrudeOneSide cmExtrudeBothSide Enumerator Value Remark 0 1

ExtrudeSweepMode
Enumerator cmExtrudeSweepModeNew cmExtrudeSweepModeAdd cmExtrudeSweepModeRemove Enumerator Value Remark 0 1 2

ExtrudeToOption
Enumerator cmExtrudeOneDir cmExtrudeBothDir cmExtrudeMidPlane cmExtrudeToReference cmExtrudeToClosest cmExtrudeThroughAll cmExtrudeThroughOneSide Enumerator Value Remark 0 1 2 3 4 5 6

FaceCurveMode
Enumerator Enumerator Value Remark

CimatronE 9.0

CimatronE SDK User Guide 1031

cmFaceCurveModeEdges cmFaceCurveModeDisplay cmFaceCurveModePoint

0 1 2

FairFaceSlopeOption
Enumerator cmFairFaceFreeSlope cmFairFaceKeepSlope Enumerator Value 0 1 Remark

FeatureGuideButtons
Enumerator cmFeatureGuideOkButton cmFeatureGuideCancelButton cmFeatureGuideApplyButton cmFeatureGuidePreviewButton Enumerator Value Remark 1 2 3 4

GeomCurveType
Enumerator cmGeomCurveStraight cmGeomCurveEllipse cmGeomCurveIntCurv cmGeomCurveCompCurv Enumerator Value Remark 0 1 2 3

GeomSurfaceType
Enumerator cmGeomSurfPlane cmGeomSurfSphere cmGeomSurfCone cmGeomSurfTorus cmGeomSurfSpline Enumerator Value Remark 0 1 2 3 4

CimatronE 9.0

CimatronE SDK User Guide 1032

GeomType
Enumerator cmGeomPoint cmGeomCurve cmGeomSurface Enumerator Value Remark 0 1 2

GuideBarBtnType
Enumerator cmGBFather cmGBChild Enumerator Value 1 2 Remark

HelixMode
Enumerator cmHelixFree cmHelixLinear Enumerator Value Remark 0 1

HoleHeadType
Enumerator cmNoHead cmCounterDrilledHead cmCounterBoredHead cmCounterSunkHead Enumerator Value Remark 0 1 2 3

HoleOption
Enumerator cmHoleOneDir cmHoleToReference cmHoleToClosest cmHoleThroughOneSide Enumerator Value Remark 0 1 2 3

CimatronE 9.0

CimatronE SDK User Guide 1033

InteractionType
Enumerator cmArrowFig cmFeatureGuide cmUserControlDialog cmUserMessage cmWaitCursor cmGuideBar cmDisplayUtils cmSPManager cmDisplayFigureFactory Enumerator Value Remark 1 2 3 4 5 6 7 8 9

LoftSlopeOption
Enumerator cmLoftOptionFree cmLoftOptionTangent cmLoftOptionConstant Enumerator Value 0 1 2 Remark

MdCopySingleMode
Enumerator cmMdCopySinglePivotPoint cmMdCopySingleXYZDelta cmMdCopySingleAlongVector cmMdCopySingleFromUcsToUcs Enumerator Value Remark 0 1 2 3

MdExtGeomOption
Enumerator cmMdSkProjection cmMdSkIntersection Enumerator Value Remark 0 1

CimatronE 9.0

CimatronE SDK User Guide 1034

MdParameterType
Enumerator cmSketcher cmSketcherPlane cmExtrudeSweepMode cmExtrudeBaseEntity cmExtrudeToOption cmExtrudeFromOption cmExtrudeContour cmExtrudeToEntity cmExtrudeFromEntity cmExtrudeDirection cmExtrudeDelta cmExtrudeOpositDelta cmExtrudeSideOption cmExtrudeDraftAngle cmExtrudeDraftSideOption cmExtrudeInvertOption cmRevolveSweepMode cmRevolveBaseEntity cmRevolveToOption cmRevolveContour cmRevolveToEntity cmRevolveAxis cmRevolveTheta cmRevolveOpositTheta cmRevolveDirection cmRevolveSideOption cmRevolveInvertOption cmAddModelToAssembly cmAddPositionModel Enumerator Value Remark 0 1 20 21 22 23 24 25 26 27 28 29 30 31 32 33 40 41 42 43 44 45 46 47 48 49 50 60 61

CimatronE 9.0

CimatronE SDK User Guide 1035

cmConnectEntity1 cmConnectEntity2 cmConnectMode cmConnectFlipMode cmConnectDistance cmConnectAngle cmAxisMode cmAxisParallelDistance cmAxisParallelDirection cmAxisParallelEntity cmAxisParallelPoints cmAxisNormalEntity cmAxisNormalPoint cmAxisIntersectionEntities cmAxisThroughEntity cmAxisThroughPoints cmPlaneMode cmPlaneParallelDirection cmPlaneParallelDistance cmPlaneUcsEntity cmPlaneFirstEntity cmPlaneSecondEntity cmPlaneFirstPoint cmPlaneSecondPoint cmPlaneThirdPoint cmPlaneInclinedAngle cmRoundMode cmRoundRadius cmRoundEntity cmSweepToOption cmSweepContour

80 81 82 83 84 85 100 101 102 103 104 105 106 107 108 109 120 121 122 123 124 125 126 127 128 129 140 141 142 160 161

CimatronE 9.0

CimatronE SDK User Guide 1036

cmSweepToEntity cmSweepDirection cmSweepDelta cmSweepOpositDelta cmSweepSideOption cmSweepDraftAngle cmBlendEntity cmBlendPoint cmBlendFirstPoint cmBlendLastPoint cmBlendHeal cmBlendTolerance cmBlendSlopeOptionFirst cmBlendSlopeOptionScnd cmBlendFirstSlopeWeight cmBlendSecondSlopeWeight cmBlendFirstDirection cmBlendSecondDirection cmHelixMode cmHelixPitch cmHelixBaseRadius cmHelixUpperRadius cmHelixClockwise cmHelixDirection cmHelixPosition cmHelixStartPosition cmDriveSolidSweepMode cmDriveSolidSection cmDriveSolidSpine cmDriveSolidParallelNormal cmDriveSolidInvert

162 163 164 165 166 167 180 181 182 183 184 185 186 187 188 189 190 191 200 201 202 203 204 205 206 207 220 221 222 223 224

CimatronE 9.0

CimatronE SDK User Guide 1037

cmUcsMode cmUcsParallelDirection cmUcsUcsEntity cmUcsFaceEntities cmUcsEdgeEntity cmUcsFirstPoint cmUcsSecondPoint cmUcsThirdPoint cmUcsEdgePoint cmUcsEdgeOptPoint cmUcsCopyMode cmUcsCopyBasePoint cmUcsCopyDirection cmUcsCopyDirectDistance cmUcsFaceEntity cmSplinePoint cmSplinePoints cmSplineFirstSlopeWeight cmSplineSecondSlopeWeight cmSplineFirstDirection cmSplineSecondDirection cmSplineFirstSlopeOption cmSplineSecondSlopeOption cmMoveLinearEntities cmMoveLinearDirection cmMoveLinearDeltaDirection cmMoveLinearMode cmMoveLinearDeltaX cmMoveLinearDeltaY cmMoveLinearDeltaZ cmMoveLinearOriginPosition

230 231 233 234 235 236 237 238 239 240 241 242 243 244 245 250 251 252 253 254 255 256 257 260 261 262 263 264 265 266 267

CimatronE 9.0

CimatronE SDK User Guide 1038

cmMoveLinearDestinationPosition cmMoveLinearOriginUcs cmMoveLinearDestinationUcs cmMoveMirrorEntities cmMoveMirrorEntityMirror cmMergeEntities cmMergeRemoveEnt cmMergeEntDirectType cmProjectObjectEntities cmProjectPoints cmProjectPointNumber cmProjectReferenceEntities cmProjectDirection cmProjectDraftOption cmProjectDraftSide cmProjectDraftDegree cmOffsetEntities cmOffsetDirectionSide cmOffsetKeepOriginEntity cmOffsetMode cmOffsetDeltaValue cmOffsetRemoveEntity cmFaceCurveEntity cmFaceCurvePoint cmFaceCurveRemoveEntity cmFaceCurveMode cmFaceCurveSectionOption CmMdLineMode CmMdLineFirstEntity CmMdLineSecondEntity CmMdLineFirstPoint

268 269 270 280 281 290 291 292 300 301 302 303 304 305 306 307 310 311 312 313 314 315 320 321 322 323 324 330 331 332 333

CimatronE 9.0

CimatronE SDK User Guide 1039

CmMdLineSecondPoint CmMdLineDirectionVector CmMdLineDirectionSize CmMdLineBasePointDirection CmMdLineFirstEntityTangNormal CmMdLineSecondEntityTangNormal CmMdLineRemoveEntity CmMdIntersectionFirstEntities CmMdIntersectionSecondEntities CmMdIntersectionRemoveEntities cmMdPointPoints cmMoveRadialEntities cmMoveRadialDirectionSide cmMoveRadialAngleValue cmMoveRadialAxis cmMoveRadialRemoveEntity cmSkinFaceSectionEntities cmSkinFaceGuidesEntities

334 335 336 337 338 339 340 350 351 352 360 370 371 372 373 374 380 381

MdProcedureType
Enumerator cmDefaultProcedure cmSketcherProcedure cmExtrudeProcedure cmRevolveProcedure cmAxisProcedure cmPlaneProcedure cmRoundProcedure cmSweepProcedure cmBlendProcedure cmHelixProcedure Enumerator Value Remark -1 1 2 3 4 5 6 7 8 9

CimatronE 9.0

CimatronE SDK User Guide 1040

cmDriveSolidProcedure cmUcsProcedure cmSplineProcedure cmMoveLinearProcedure cmMoveMirrorProcedure cmMergeProcedure cmProjectProcedure cmOffsetProcedure cmFaceCurveProcedure cmLineProcedure cmIntersectionProcedure cmPointProcedure cmMoveRadialProcedure cmSkinFaceProcedure cmCopySingleProcedure cmCopyLinearProcedure cmCopyRadialProcedure cmCopyMirrorProcedure cmRemoveGeometryProcedure cmScaleProcedure cmShellProcedure cmCompositeCurveProcedure cmHoleProcedure cmStitchProcedure cmUnstitchProcedure cmTextCurveProcedure cmSplitFacesProcedure cmSplitCurvesProcedure cmCutProcedure cmDivideProcedure cmMeshProcedure

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

CimatronE 9.0

CimatronE SDK User Guide 1041

cmPointsOnCurveProcedure cmTrimFacesProcedure cmTrimCurvesProcedure cmLoftProcedure cmBoundedProcedure cmDriveFaceProcedure cmGeneralFaceProcedure cmUserDefineProcedure cmApplyTransformationProcedure cmAdvancedLineProcedure

41 42 43 44 45 46 47 48 49 50

MdRemoveGeometryMode
Enumerator cmMdRemoveGeometryModeEdge cmMdRemoveGeometryModeFace cmMdRemoveGeometryModeBody cmMdRemoveGeometryModePlane cmMdRemoveGeometryModeAxis cmMdRemoveGeometryModePoint cmMdRemoveGeometryModeWcs Enumerator Value cmMdRemoveGeometryModeUndefined 1 2 3 4 5 6 7

MdShellMode
Enumerator cmMdShellInside cmMdShellOutside Enumerator Value Remark 0 1

MergeDirectType
Enumerator cmMdMergeOpposite cmMdMergeNoDirection cmMdMergeDontChange Enumerator Value Remark 0 1 2

CimatronE 9.0

CimatronE SDK User Guide 1042

MeshMode

Enumerator cmMeshModeGap cmMeshModeAccurate

Enumerator Value Remark 0 1

MouseEventType
Enumerator cmLButtonDblClk cmLButtonDown cmLButtonUp cmMButtonDblClk cmMButtonDown cmMButtonUp cmRButtonDblClk cmRButtonDown cmRButtonUp cmMouseMove Enumerator Value Remark 1 2 3 4 5 6 7 8 9 10

MoveLinearMode
Enumerator cmMoveLinearModePivot cmMoveLinearModeDelta cmMoveLinearModeAlongVec cmMoveLinearModeUcs Enumerator Value Remark 0 1 2 3

OffsetMode
Enumerator Enumerator Value Remark cmKeep cmRound cmExtend 0 1 2

CimatronE 9.0

CimatronE SDK User Guide 1043

cmNatural

PlaneMode
Enumerator cmPlaneModeMain cmPlaneModeParallel cmPlaneModeInclinedTo cmPlaneModeNormal cmPlaneModeThrough Enumerator Value Remark 0 1 2 3 4

PointStyle
Enumerator cmCrossPoint cmCloseCrossPoint cmPlusPoint cmSquarePoint cmDaltonPoint cmHexagonPoint cmDsCircle cmDs2Circles cmDsSplitedEllipse cmDsFilledCircle cmDsPointTypesCount Enumerator Value Remark 0 1 2 3 4 5 6 7 8 9 10 N/A

PrimitiveType
Enumerator cmDisplayFigureCone cmDisplayFigureBox cmDisplayFigureSphere cmDisplayFigureTorus Enumerator Value Remark 30 31 32 33

CimatronE 9.0

CimatronE SDK User Guide 1044

cmDisplayFigureDisk cmDisplayFigureCylinder cmDisplayFigurePoint

34 35 36

RenderOption
Enumerator cmRenderShade cmRenderWireFrame cmRenderTransparency Enumerator Value Remark 1 2 3

RestrictionEnumType
Enumerator cmAppViewsSwitch cmAppDocsSwitch cmAppClose cmAppCommands cmAppAllEvents cmAppPickTool cmAppImmediateTool Enumerator Value 1 2 3 4 5 6 7 Remark Restriction between different views Restriction between different files (not between views) Restriction to close application Restriction for execute commands Restriction for all application events Restriction for pick tool Restriction for all immediate tools while there is another tool working.

RevolveInvertOption
Enumerator cmRevolveForward cmRevolveReversed Enumerator Value Remark 0 1

RevolveSideOption
Enumerator cmRevolveOneSide cmRevolveBothSide Enumerator Value Remark 0 1

CimatronE 9.0

CimatronE SDK User Guide 1045

RevolveSweepMode
Enumerator cmRevolveSweepModeNew cmRevolveSweepModeAdd cmRevolveSweepModeRemove Enumerator Value Remark 0 1 2

RevolveToOption
Enumerator cmRevolveOneDir cmRevolveBothDir cmRevolveMidPlane cmRevolveToReference cmRevolveToClosest cmRevolveThroughAll cmRevolveThroughOneSide Enumerator Value Remark 0 1 2 3 4 5 6

RoundFaceFaceOption
Enumerator cmRoundFaceFaceOptionTrimFace cmRoundFaceFaceOptionKeepOriginal Enumerator Value Remark 0 1

RoundMode
Enumerator cmRoundConst cmRoundVariable Enumerator Value Remark 0 1

SketchConstraintType
Enumerator cmSketchUndefinedConstr cmSketchCoincidentPoint cmSketchCoincidentPointC cmSketchTangent cmSketchConcentric Enumerator Value Remark -1 0 1 2 3

CimatronE 9.0

CimatronE SDK User Guide 1046

cmSketchEqualRadius cmSketchIdentical cmSketchEqualDistance cmSketchHorizontal cmSketchVertical cmSketchCoincidentCurve cmSketchSameX cmSketchSameY cmSketchParallel cmSketchPerpendicular cmSketchMidpoint cmSketchSymmetric cmSketchDependence cmSketchDistance cmSketchAngle cmSketchRadius cmSketchEnd cmSketchCenter cmSketchUCS

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

SketchDimensionType
Enumerator SketchDimensionTypecmSketchDimUndef cmSketchDimParallel cmSketchDimHorVer cmSketchDimRadial cmSketchDimRadius cmSketchDimDiameter Enumerator Value Remark -1 0 1 2 3 4

SketchMode
Enumerator Enumerator Value Remark

CimatronE 9.0

CimatronE SDK User Guide 1047

cmSkRegularMode cmSkSequenceMode cmSkAutoSolveMode

0 1 2

SketchObjectType
Enumerator cmSketchOriginPoint cmSketchX_Axis cmSketchY_Axis cmSketchLine cmSketchArc cmSketchEllipse cmSketchSpline cmSketchPoint cmSketchConstraint cmSketchLinearDim cmSketchRadialDim cmSketchAngularDim Enumerator Value Remark 0 1 2 3 4 5 6 7 8 9 10 11

SketchPointType
Enumerator cmSkPointNone cmSkPointRegular cmSkPointEnd cmSkPointCenter cmSkPointMid cmSkPointInters cmSkPointHelp cmSkPointAxis cmSkPointOrigin Enumerator Value Remark 0 1 2 3 4 5 6 7 8

SketchStatus
Enumerator Enumerator Value Remark

CimatronE 9.0

CimatronE SDK User Guide 1048

cmSkError cmSkUndefined cmSkFullyDefined cmSkOverDefined cmSkNotConsistent

-1 0 1 2 3

SketchTrimOption
Enumerator cmSketchTrimOff cmSketchTrimOn Enumerator Value Remark 0 1

SplineMode
Enumerator cmSplineOpen cmSplineClose 0 1 Enumerator Value Remark

SplineSlopeOption
Enumerator cmSplineFree cmSplineConstant Enumerator Value Remark 0 1

SplineType
Enumerator cmSplineThroughPoints cmSplineControlPoints Enumerator Value Remark 0 1

SplitFPointSection
Enumerator cmSplitFDefSection cmSplitFCrossSection Enumerator Value 0 1 Remark

CimatronE 9.0

CimatronE SDK User Guide 1049

SplitFProjection
Enumerator cmSplitFProjectionNormal cmSplitFProjectionDirection Enumerator Value 0 1 Remark

SweepSideOption
Enumerator cmSweepOneSide cmSweepBothSide Enumerator Value Remark 0 1

SweepToOption
Enumerator cmSweepOneDir cmSweepBothDir cmSweepMidPlane cmSweepToReference cmSweepToClosest cmSweepThroughAll cmSweepThroughOneSide Enumerator Value Remark 0 1 2 3 4 5 6

TaperReferenceType
Enumerator cmNaturalContour cmNaturalPlane Enumerator Value Remark 0 1

TaperSideOption
Enumerator cmInside cmOutside Enumerator Value 0 1 Remark

CimatronE 9.0

CimatronE SDK User Guide 1050

TrimFPointSection
Enumerator cmTrimFDefSection cmTrimFCrossSection Enumerator Value 0 1 Remark

TrimFProjection
Enumerator cmTrimFProjectionNormal cmTrimFProjectionDirection Enumerator Value 0 1 Remark

UcsCopyMode
Enumerator cmUcsCopyModeByPoint cmUcsCopyModeByVector cmUcsCopyModeByDistance Enumerator Value Remark 0 1 2

UcsMode
Enumerator cmUcsModeGeometry cmUcsModeCenterOfGeom cmUcsModeCopy cmUcsModePlanarFace Enumerator Value Remark 0 1 2 3

Examples

C/C++/VC Examples
CDocumentAttr.zip - example of retrieving and attaching file attributes; CimAPIinc.h - the API importing header file CimPickTool.zip - example of custom Pick tool implementation. GetLinearModel.zip - example that retrieves all entities from Part file and a generate linear model of bodies. Pdm.zip - example of file management.

CimatronE 9.0

CimatronE SDK User Guide 1051

Sketcher.zip - sketch creation example FeatureGuide.zip - create a Feature Guide menu item. GuideBar.zip - create a guide bar menu item. GeneralFace.zip - produce a dialog for creating Faces. UseSuite.zip - use Cimsuite SPFigure.zip - create a SP Figure menu item.

CimESuite API
CimatronE CimESuite API
CimESuite is a user-friendly collection of wrapper methods for CimatronE's API. In other words, it contains ready-made functions for various CimatronE applications.

CimSuiteCommands

CimSuiteCommands
Properties None Methods ExecuteCommand ( String iCategoryName, String iCommandName ) SetRenderMode ( RenderMode aRenderMode ) SetDisplayMode ( DisplayMode aDisplayMode ) SetEditMode ( EditMode aEditMode) SetSelectionMode ( SelectionMode aSelectionMode ) SetSolidMode ( SolidMode aSolidMode )

CimSuiteCommands::SetDisplayMode
Description: Execute Display commands. Syntax SetDisplayMode ( DisplayMode )

CimatronE 9.0

CimatronE SDK User Guide 1052

Input: (DisplayMode) DisplayMode

Set Display Mode

CimSuiteCommands::SetEditMode
Description Execute Edit commands. Syntax SetEditMode ( EditMode )

Input: (EditMode) EditMode

Set Edit Mode

CimSuiteCommands::SetRenderMode
Description Execute Render commands. Syntax SetRenderMode ( renderMode ) Input: (RenderMode) renderMode Set Render Mode

CimSuiteCommands::SetSelectionMode
Description Execute Selection commands. Syntax
SetSelectionMode ( iMode )

Input: (SelectionMode ) iMode Set Selection Mode

CimSuiteCommands::SetSolidMode
Description Execute Solid procedure commands. Syntax

CimatronE 9.0

CimatronE SDK User Guide 1053

SetSolidMode ( aSolidMode )

Input: (SolidMode) aSolidMode

Set Solid Mode

CimSuiteCommands::ExecuteCommand
Description Execute CimatronE commands. Syntax ExecuteCommand ( iCategoryName, iCommandName )

Input: (String) iCategoryName Input: (String) iCommandName

Category name
Command Name

CimSuiteReferences

CimSuiteReferences
Properties None Methods Boolean ActivateUCS ( ICimEntity iUCSObj ) Boolean CreateAxis2P ( Optional Variant iFirstPoint, Optional Varian iSecondPoint, Optional ICimEntity oGetCreatedEntity ) Boolean CreateAxisIntersectionEntities ( ICimEntity iFirstEntity, ICimEntity iSecondEntity, Optional ICimEntity oGetCreatedEntity ) Boolean CreateAxisParallelToEntity ( ICimEntity iEnt, Optional Double iDistance, Optional Variant iDirection, Optional ICimEntity oGetCreatedEntity ) Boolean CreatePlane3P ( Optional Variant iFirstPoint, Optional Variant iSecondPoint, Optional Variant iThirdPoint, Optional ICimEntity oGetCreatedEntity ) Boolean CreatePlaneNormalToEdge ( ICimEntity iEnt, Variant iPoint, Optional ICimEntity oGetCreatedEntity ) Boolean CreatePlaneByUcs ( ICimEntity iUcs, Optional ICimEntity oGetCreatedEntity )

CimatronE 9.0

CimatronE SDK User Guide 1054

Boolean CreatePlaneParallel ( ICimEntity iPlaneFace, Variant iDistance, Variant iDirection, Optional ICimEntity oGetCreatedEntity ) Boolean CreatePlaneParallelThroughPoint ( ICimEntity iPlaneFace, inPoint Variant, Optional ICimEntity oGetCreatedEntity ) Boolean CreateUcs3P ( Optional Variant iFirstPoint, Optional Variant iSecondPoint, Optional Variant iThirdPoint, Optional ICimEntity oGetCreatedEntity ) Boolean CreateUcsOnPlanarFace ( ICimEntity iPlanarFace, Optional Variant iFaceDirection, Optional Variant iFacePoint, Optional ICimEntity oGetCreatedEntity ) Boolean CreateUcsInCenterOfGeometry ( ICimEntityList iFaceEntLst, Optiona ICimEntity iUCS, Optional Boolean iCreateBoundingBox, Optional ICimEntity oGetCreatedEntity )

CimSuiteReferences::ActivateUCS
Description Activate UCS. Syntax Status = ActivateUCS ( iUCSObj )

Input: (Entity/Object) iUCSObj Return: (Boolean) status Remark

UCS object to be activated. TRUE if successful

CimSuiteReferences::CreateAxis2P
Description Create an axis by entering 2 points. Syntax Status = CreateAxis2P ( [iFirstPoint], [iSecondPoint], [oGetCreatedEntity] )

Input: (Variant) iFirstPoint

Enter first point (Array of 3 double)

CimatronE 9.0

CimatronE SDK User Guide 1055

Input: (Variant) iSecondPoint Output: (ICimEntity)oGetCreatedEntity

Enter second point (Array of 3 double) Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteReferences::CreateAxisIntersectionEntities
Description Create an axis by entering two planes/planar faces. Syntax Status = CreateAxisIntersectionEntities ( iFirstEntity, iSecondEntity, [oGetCreatedEntity] )

Input: (ICimEntity) iFirstEntity Input: (ICimEntity) iSecondEntity Output: (ICimEntity)oGetCreatedEntity

Enter first plane/planar face Enter second plane/planar face Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteReferences::CreateAxisParallelToEntity
Description Creates an axis parallel to an existing axis or straight curve. Syntax Status = CreateAxisParallelToEntity ( iEnt, [iDistance], [iDirection], [oGetCreatedEntity] ) Input: (ICimEntity) iEnt Input: (Double) iDistance Input: (Variant) iDirection An entity to which an axis is parallel. Distance along a direction vector (Default = 100). Vector coordinates (Array of 3 double).

CimatronE 9.0

CimatronE SDK User Guide 1056

Get the procedure of a created entity. Output: (To get all the entities created in this procedure you need to use (ICimEntity)oGetCreatedEntity CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). Return:(Boolean) status TRUE if successful

CimSuiteReferences::CreatePlane3P
Description Creates a plane through three points. Syntax Status = CreatePlane3P ( FirstPoint, SecondPoint, ThirdPoint, [oGetCreatedEntity] )

Input: (Variant) FirstPoint Input: (Variant) SecondPoint Input: (Variant) ThirdPoint Output: (ICimEntity)oGetCreatedEntity

First Point (array of 3 double) Second Point (array of 3 double) Third Point (array of 3 double) Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) Status

CimSuiteReferences::CreatePlaneByUcs
Description Creates main planes that based on a selected UCS. Syntax Status = CreatePlaneByUcs ( iUcs, [oGetCreatedEntity] )

Input: (ICimEntity) iUcs Output: (ICimEntity)oGetCreatedEntity

UCS Get the procedure of a created entity. (To get all the entities created in this procedure you need

CimatronE 9.0

CimatronE SDK User Guide 1057

to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). Return:(Boolean) status TRUE if successful.

CimSuiteReferences::CreatePlaneNormalToEdge
Description Creates a normal plane to the selected edge that pass through given point. Syntax Status = CreatePlaneNormalToEdge ( iEntList, iPoint, [oGetCreatedEntity] )

Input: (Entity/Object) iEntList Input: (Variant) iPoint Output: (ICimEntity)oGetCreatedEntity

Edge (entity object). Point (array of 3 doubles) (Point must be on selected Edge) Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) status

CimSuiteReferences::CreateUcs3P
Description Creates a UCS through three points. Syntax Status = CreateUcs3P ( [FirstPoint], [SecondPoint], [ThirdPoint], [oGetCreatedEntity] )

Input: (Variant) FirstPoint Input: (Variant) SecondPoint Input: (Variant) ThirdPoint Output:

First Point (array of 3 double) Second Point (array of 3 double) Third Point (array of 3 double) Get the procedure of a created entity.

CimatronE 9.0

CimatronE SDK User Guide 1058

(ICimEntity)oGetCreatedEntity

(To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) Status Remarks

CimSuiteReferences::CreateUcsOnPlanarFace
Description Creates a UCS on selected planar Face. Syntax Status = CreateUcsOnPlanarFace ( iPlanarFace, [iFaceDirection], [iFacePoint], [oGetCreatedEntity] )

Input: (ICimEntity) iPlanarFace Input: (Boolean) iFaceDirection Input: (Variant) iFacePoint Output: (ICimEntity)oGetCreatedEntity

Planar Face only Direction for UCS (Optional input), the default is the outside normal of a selected face. Point on a selected Face (array of 3 double) (Optional input) Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) Status Remarks

CimSuiteSurface

CimSuiteSurface
Properties

CimatronE 9.0

CimatronE SDK User Guide 1059

None Methods Boolean CreateBlendSurface ( ICimEntityList iEntList, Optional ICimEntity oGetCreatedEntity ) Boolean CreateSweepSurface ( ICimEntity iEnt, Optional Double iDelta, Optional Variant iVector, Optional ICimEntity oGetCreatedEntity ) Boolean CreateBoundedFace ( ICimEntity iContourEntity, Optional ICimEntityList iManipulateEntities, Optional Variant iManipulatePoints, Optional Boolean iOptionHeal, Optional Boolean iOptionSmooth, Optional ICimEntity oGetCreatedEntity ) Boolean CreateMeshFace ( ICimEntityList iSectionEntLst, ICimEntityList iCrossSectionEntLst, suMeshMode iMode, Double iTolerance, Optional ICimEntity oGetCreatedEntity ) Boolean SplitFacesByPoint ( ICimEntityList iEntities, Variant iSplittingPosition, Optional suSplitFPointSection iPointSectionOption, Optional ICimEntity oGetCreatedEntity ) Boolean SplitFacesByEntity( ICimEntityList iEntities, ICimEntity iSplittingEntity, Optional suSplitFProjection iProjectionOption, Optional Variant iProjectionDir, Optional Double iProjMaxDistance, Optional ICimEntity oGetCreatedEntity ) Boolean CreateDriveFace ( ICimEntityList iSectionEntities, ICimEntityList iSpineEntities, Optional suDriveParallelNormal iParallelNormal, Optional Double iTolerance, Boolean iAutoStitch, Optional suDriveDirection iDriveDirection, Boolean iOptionHeal, Optional ICimEntity oGetCreatedEntity ) Boolean TrimFacesByEntity ( ICimEntityList iFaces, ICimEntity iTrimmingEntity, Boolean iFlipSideDefault, Optional suTrimFProjection iProjectionOption, Optional Variant iProjectionDir, Optional Double iProjMaxDistance, Optional ICimEntity oGetCreatedEntity ) Boolean TrimBothFaces ( ICimEntity iFace1,ICimEntity iFace2, Optional Boolean iFirstDirSide, Optional Boolean iSecondDirSide, Optional ICimEntity oGetCreatedEntity ) Boolean TrimFacesByPoint ( ICimEntity iFace, Variant iTrimmingPosition, Optional Boolean iFlipSideDefault, Optional suTrimFPointSection iPointSectionOption, Optional ICimEntity oGetCreatedEntity ) Boolean ExtendFace ( ICimEntity iEdgeFaces, Double iDelta, Boolean iNewFace, suExtendOptions iExtendOptions ) Boolean FairFace ( ICimEntityList iFaces, suFairSlopeOption iFairSlopeOption, Double iTolerance )

CimSuiteSurface::CreateBlendSurface
Description Create a Blend Surface. Syntax status = CreateBlendSurface ( iEntList, [oGetCreatedEntity] )

CimatronE 9.0

CimatronE SDK User Guide 1060

Input: (EntityList/Object) iEntList Output: (ICimEntity)oGetCreatedEntity

Entity list object. Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) status

CimSuiteSurface::CreateSweepSurface
Description
Create an extrusion.

Syntax
Status = CreateSweepSurface ( iEnt, [iDelta], [iVector], [oGetCreatedEntity] )

Input: (ICimEntity/Object) iEnt Input: (Double) iDelta Input: (Variant) iVector Output: (ICimEntity)oGetCreatedEntity

Entity/Sketche(Body entity) to sweep Set Delta for sweep (Optional: 100) Vector for sweep direction (array of 3 doubles) (Optional: default side +Z) Get the procedure of created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) status

CimSuiteSurface::SplitFacesByPoint
Description Split a face by a point.

CimatronE 9.0

CimatronE SDK User Guide 1061

Syntax Status = SplitFacesByPoint ( iEntities, iSplittingPosition, [iPointSectionOption], [oGetCreatedEntity] )

Input: (ICimEntityList) iEntities Input: (Variant) iSplittingPosition Input: (suSplitFPointSection) iPointSectionOption Output: (ICimEntity)oGetCreatedEntity

Enter the face entities to be split. Splitting point position (Array of 3 double) Set the Section option (Section/CrossSection) Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteSurface::SplitFacesByEntity
Description Split a face by an entity. Syntax Status = SplitFacesByEntity ( iEntities, iSplittingEntity, [iProjectionOption], [iProjectionDir], [iProjMaxDistance], [oGetCreatedEntity] )

Input: (ICimEntityList) iEntities Input: (ICimEntity) iSplittingEntity Input: (suSplitFProjection) iProjectionOption Input: (Variant) iProjectionDir Input: (Double) iProjMaxDistance Output: (ICimEntity)oGetCreatedEntity

Enter the face entities to be split. Splitting point position (Array of 3 double) Set the projection option. Set the projection direction (available only if "iProjectionOption" = "suSplitFProjectionDirection" ) Set the maximum projection distance (available only if "iProjectionOption" = "suSplitFProjectionNormal" ) Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter

CimatronE 9.0

CimatronE SDK User Guide 1062

by passing this return entity). Return:(Boolean) status Remark When splitting faces by another face or plane, it is necessary to fill in only the first two parameters. In cases where the splitting entity is a curve then it is necessary to use all the parameters. TRUE if successful.

CimSuiteSurface::CreateMeshFace
Description Create a mesh face. Syntax Status = CreateMeshFace ( iSectionEntLst, iCrossSectionEntLst, [iMode], [iTolerance], [oGetCreatedEntity] )

Input: (ICimEntityList) iSectionEntLst Input: (ICimEntityList) iCrossSectionEntLst Input: (suMeshMode) iMode Input: (Double) iTolerance Output: (ICimEntity)oGetCreatedEntity

Enter a section entity list. Enter a cross-section entity list. Set a Section option (Section/CrossSection). Set a face tolerance (default = 0.1). Get the procedure of created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteSurface::CreateDriveFace
Description Create a face with a specified boundary. Syntax status = CreateDriveFace ( iSectionEntities, iSpineEntities, [iParallelNormal], [iTolerance], [iAutoStitch], [iDriveDirection], [iOptionHeal], [oGetCreatedEntity] )

CimatronE 9.0

CimatronE SDK User Guide 1063

Input: (ICimEntityList) iSectionEntities Input: (ICimEntityList) iSpineEntities Input: (suDriveParallelNormal) iParallelNormal Input: (Double) iTolerance Input: (Boolean) iAutoStitch Input: (suDriveDirection) iDriveDirection Input: (Boolean) iOptionHeal Output: (ICimEntity)oGetCreatedEntity

Set the Sections entity list (Max 2 entities). Set the spines entity list. Set the drive option.

Set the tolerance. Set the auto stitch option. Set the drive direction option. Set the Heal option. Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

CimSuiteSurface::CreateBoundedFace
Description Create a face with a specified boundary. Syntax status = CreateBoundedFace ( iContourEntity, [iManipulateEntities], [iManipulatePoints], [iOptionHeal], [iOptionSmooth], [oGetCreatedEntity] )

Input: (ICimEntity) iContourEntity Input: (ICimEntityList) iManipulateEntities Input: (Variant) iManipulatePoints Input: (Boolean) iOptionHeal

Set the Contour entity (Body). Set the reference geometry to manipulate the face. Set the reference Point to manipulate the face. Set the Heal option.

CimatronE 9.0

CimatronE SDK User Guide 1064

Input: (Boolean) iOptionSmooth

Set the Smooth option (Available when at least one of the picked boundary curves is another face boundary and the body is open at that boundary. The bounded face will be smooth with the reference faces). Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Output: (ICimEntity)oGetCreatedEntity

Return: (Boolean) status

CimSuiteSurface::TrimFacesByPoint
Description
Trim a face by a point.

Syntax
Status = TrimFacesByPoint( iFace, iTrimmingPosition, [iFlipSideDefault], [iPointSectionOption] [oGetCreatedEntity] )

Input: (ICimEntityList) iFace Input: (Variant) iTrimmingPosition Input: (Boolean) iFlipSideDefault Input: (suTrimFPointSection) iPointSectionOption Output: (ICimEntity) oGetCreatedEntity

Enter the face entities to be Trimed. Trimming point position (Array of 3 double) or point entity. Set trimming side. Set the Section option (Section/CrossSection)

Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteSurface::TrimFacesByEntity
Description
Trim a face by an entity.

Syntax

CimatronE 9.0

CimatronE SDK User Guide 1065

Status = TrimFacesByEntity( iFaces, iTrimmingEntity, [iFlipSideDefault], [iProjectionOption], [iProjectionDir], [iProjMaxDistance], [oGetCreatedEntity] )

Input: (ICimEntityList) iFaces Input: (ICimEntity) iTrimmingEntity Input: (Boolean) iFlipSideDefault Input: (suTrimFProjection) iProjectionOption Input: (Variant) iProjectionDir Input: (Double) iProjMaxDistance Output: (ICimEntity)oGetCreatedEntity

Enter the face entities to be split. Splitting point position (Array of 3 double) Set trimming side. Set the projection option. Set the projection direction (available only if "suTrimFProjection" = "suTrimFProjectionDirection") Set the maximum projection distance (available only if "suTrimFProjection" = "suSplitFProjectionNormal") Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

Remark
When trimming faces by another face or plane, it is necessary to fill in only the first two parameters. In cases where the splitting entity is a curve then it is necessary to use all the parameters.

CimSuiteSurface::TrimBothFaces
Description
Trim a face by another face.

Syntax
Status = TrimBothFaces( iFace1, iFace2, [iFirstDirSide], [iSecondDirSide] [oGetCreatedEntity] ) Input: (ICimEntity) iFace1 Input: (ICimEntity) iFace2 Input: (Boolean) Enter the first face entity to be Trimmed. Enter the second face entity to be Trimmed. Set the trimming side for the first face.

CimatronE 9.0

CimatronE SDK User Guide 1066

iFirstDirSide Input: (Boolean) iSecondDirSide Output: (ICimEntity) oGetCreatedEntity Set the trimming side for second face. Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteTransform

CimSuiteTransform
Properties None Methods Boolean CreateOffset ( ICimEntityList iEntLst, Optional Double iDelta, Optional Boolean iDirectionSide, Optional suOffsetMode iOffsetMode, Optional ICimEntity oGetCreatedEntity ) Boolean ProjectEntitiesToFace ( ICimEntityList iEntLst, ICimEntityList iRefFace, Optional Variant iDirection, Optional ICimEntity oGetCreatedEntity ) Boolean MoveUCStoUCS ( ICimEntityList iEntLst, ICimEntity iOriginUcs, ICimEntity iDestinationUcs, Optional ICimEntity oGetCreatedEntity ) Boolean CopyUCS ( iUCS inUCS, Variant inPoint, iUCS oNewUCS, Optional ICimEntity oGetCreatedEntity ) Boolean CopyLinearByDirection ( ICimEntityList iEntList, Variant iDirectionVectorX, Variant iDirectionVectorY, Long iXCounter, Long iYCounter, Double iXDistance, Double iYDistance, Boolean iMergeMode, Boolean iDependedFaceMode, Boolean ArrayFullMode, Optional ICimEntity oGetCreatedEntity ) Boolean CopyLinearByUCS ( ICimEntityList iEntList, ICimEntity iUCS, Long iXCounter, Long iYCounter, Double iXDistance, Double iYDistance, Boolean iMergeMode, Boolean iDependedFaceMode, Boolean iArrayFullMode, Optional ICimEntity oGetCreatedEntity ) Boolean CopySingleXYZDelta ( ICimEntityList iEntList, Double iDeltaX, Double iDeltaY,Double iDeltaZ, Boolean iMergeMode, Boolean iDependedFaceMode, Optional ICimEntity oGetCreatedEntity ) Boolean CopySingleAlongVector ( ICimEntityList iEntList, Variant iDirectionVector, Double iVectorDelta, Boolean iMergeMode, Boolean iDependedFaceMode, Optional ICimEntity oGetCreatedEntity )

CimatronE 9.0

CimatronE SDK User Guide 1067

Boolean CopySingleFromUcsToUcs ( ICimEntityList iEntList, ICimEntity iOriginUCS, ICimEntity iDestinationUCS, Boolean iMergeMode, Boolean iDependedFaceMode, Optional ICimEntity oGetCreatedEntity ) Boolean CopySinglePivotPoint ( ICimEntityList iEntList, Variant iOriginPoint, Varianr iDestinationPoint, Boolean iMergeMode, Boolean iDependedFaceMode, Optional ICimEntity oGetCreatedEntity ) Boolean CopyMirror ( ICimEntityList iEntList, ICimEntity iMirrorSurface, Boolean iMergeMode, Boolean iDependedFaceMode, Optional ICimEntity oGetCreatedEntity ) Boolean CopyRadial ( ICimEntityList iEntList, ICimEntity iAxisEntity, Double iAngle, Long iCopyCounter, Boolean iDirectionSide, Boolean iMergeMode, Boolean iDependedFaceMode, Optional ICimEntity oGetCreatedEntity ) Boolean GetLinearModel ( suELMtype iELMType, String oLMstring ) Boolean GetLinearModelFromOneFace ( ICimEntity inEntity, suELMtype iELMType, String oLMstring )

CimSuiteTransform::CreateOffset
Example Description Creates an offset of a selected entity (Edge/Face). Syntax Retval = CreateOffset ( iEntLst, [iDelta], [iDirectionSide],[iOffsetMode], [oGetCreatedEntity] )

Input: (ICimEntityList/Object) iEntLst Input: (Double) iDelta Input: (Boolean) iDirectionSide Input: (suOffsetMode) iRevolveMode Output: (ICimEntity)oGetCreatedEntity

Entity list. Set DELTA offset (default = 10.0). Set direction side (default = TRUE). Set offset mode (default = suKeep). Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity).

CimatronE 9.0

CimatronE SDK User Guide 1068

Return: (Boolean) Retval

TRUE if successful.

CimSuiteTransform::GetLinearModel
Description Gets the Linear Model (Triangulation) of file model. Syntax status = GetLinearModel ( iELMType, oLMstring )

Input: (suELMtype) iELMType Set output formt Output: (String) oLMstring Return: (Boolean) status Linear Model (in one string) TRUE if successful

CimSuiteTransform::GetLinearModelFromOneFace
Description Gets Linear Model (Triangulation) of selected Face/Body. Syntax status = GetLinearModelFromOneFace ( inEntity, iELMType, oLMstring )

Input: (suELMtype) iELMType Input: (ICimEntity/Object) inEntity Output: (ICimEntity/Object) iSpine Return: (Boolean) status

Set output formt Input Face entity (or BODY) Linear Model (in one string) TRUE if successful

CimatronE 9.0

CimatronE SDK User Guide 1069

CimSuiteTransform::MoveUCStoUCS
Description Moves Geometry from UCS to UCS. Syntax status = MoveUCStoUCS( iEntLst , iOriginUcs, iDestinationUcs ) Input: (ICimEntityList/Object) iEntLst Input: (ICimEntity/Object) iOriginUcs Input: (ICimEntity/Object) iDestinationUcs Output: (ICimEntity)oGetCreatedEntity Entity List of Geometry needs to move Input Original UCS Input Destination UCS Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful

Return: (Boolean) status

CimSuiteTransform::ProjectEntitiesToFace
Description Creates Projection entities on a Face(s). Syntax Status = ProjectEntitiesToFace ( iEntLst, iRefFace, [iDirection], [oGetCreatedEntity] )

Input: (ICimEntityList/Object) iEntLst Input: (ICimEntityList/Object) iRefFace Input: (Double) iDirection Output: (ICimEntity)oGetCreatedEntity

Entities to project Reference Face(s) Direction of project (Array o 3 points) Get the procedure of created entity. (to get all entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by

CimatronE 9.0

CimatronE SDK User Guide 1070

passing this return entity) Return: (Boolean) status TRUE if successful.

CimSuiteTransform::CopyUCS
Description This property allows you to copy a selected UCS to a new point. Syntax status = CopyUCS ( inUCS, inPoint, oNewUCS ) Input: (iUCS) inUCS Input: (Variant) inPoint Input: (iUCS) oNewUCS Output: (ICimEntity)oGetCreatedEntity UCS to copy New point New UCS object Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful

Return: (Boolean) status

CimSuiteWireFrame

CimSuiteWireFrame
Properties None Methods Boolean CreatePoint ( Double iX, Double iY, Double iZ, Optional ICimEntity oGetCreatedEntity ) Boolean CreatePoints ( Variant iPointArr, ICimEntity oGetCreatedEntity ) Boolean CreateLine2Points ( Variant iPoint1, Variant iPoint2, Optional ICimEntity oGetCreatedEntity ) Boolean CreateLineByLength ( Variant iStartPoint, Double iLength, Variant iVector, Optional ICimEntity oGetCreatedEntity ) Boolean CreateLineFromPointToPoint ( ICimEntity iPoint1, ICimEntity iPoint2, Optional ICimEntity oGetCreatedEntity ) Boolean Create3DSpline ( Variant iPointArr,

CimatronE 9.0

CimatronE SDK User Guide 1071

Optional suSplineSlopeOption iSlopeOptionFirst, Optional suSplineSlopeOption iSlopeOptionScnd, Optional Double iFirstSplineSlopeWeight, Optional Double iSecondSplineSlopeWeight, Optional Variant iFirstDirection, Optional Variant iSecondDirection, Optional suSplineMode iSplineMode, Optional ICimEntity oGetCreatedEntity ) Boolean CompositeCurve ( ICimEntityList iEntLst, ICimEntity oGetCreatedEntity ) Boolean TextCurve ( String iText, ICimEntity iPlane, Varianr iPoint, String iFontName, Double iFontSize, Boolean iBoldMode, Double iAngle, Boolean iUnderlineMode, suMdTextAlignMode iAlignMode, Boolean iApproxMode, Boolean iBackwardsMode, Boolean iUpsideMode, Boolean iVerticalMode, Double iCharRatio, Double iCharSpacing, Double iLineSpacing, Boolean iMirrorMode, Double iSlant, Optional ICimEntity oGetCreatedEntity ) Boolean SplitCurvesByPoint ( ICimEntityList iEntities, Variant iSplittingPosition, ICimEntity oGetCreatedEntity ) Boolean SplitCurvesByEntity ( ICimEntityList iEntities, ICimEntity iSplitEntity, ICimEntity oGetCreatedEntity ) Boolean TrimCurvesByEntity ( ICimEntityList iEntities, ICimEntity iTrimmingEntity, Optional Boolean iFlipSideDefault, Optional ICimEntity oGetCreatedEntity ) Boolean TrimCurvesByPoint ( ICimEntityList iEntities, Variant iTrimmingPosition, Optional Boolean iFlipSideDefault, Optional ICimEntity oGetCreatedEntity )

CimSuiteWireFrame::Create3DSpline
Description Creates a 3D spline (true point). Syntax

CimatronE 9.0

CimatronE SDK User Guide 1072

Status = Create3DSpline ( iPointArr, [iSlopeOptionFirst], [iSlopeOptionScnd], [iFirstSplineSlopeWeight], [iSecondSplineSlopeWeight], [iFirstDirection], [iSecondDirection], [iSplineMode], [oGetCreatedEntity] )

Input: (Variant) iPointArr

Set points coordinates through which a spline pass. Variant that contains double type array of 3D points coordinates. Also possible a variant type array each element of which contains double array of point coordinates in (X,Y,Z ) order. Set a spline slope type at a start point. Set a spline slope type at an end point. Set a spline slope weight at a start point (takes affect only if iSlopeOptionFirst was set to constant). Set a spline slope weight in a end point (takes affect only if iSlopeOptionScnd was set to constant). Set slope direction in start point of a spline (takes affect only if iSlopeOptionFirst was set to constant). Set slope direction in end point of a spline (takes affect only if iSlopeOptionScnd was set to constant). Set if Spline is close or open (Default = Open). Get the procedure of created entity. To get relevant entities created in this procedure use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity. TRUE if successful.

Input: (suSplineSlopeOption) iSlopeOptionFirst Input: (suSplineSlopeOption) iSlopeOptionScnd Input: (Double) iFirstSplineSlopeWeight Input: (Double)iSecondSplineSlopeWeight Input: (Variant)iFirstDirection Input: (Variant)iSecondDirection Input: (suSplineMode) iSlopeOptionFirst Output: (ICimEntity)oGetCreatedEntity

Return: (Boolean) status

CimSuiteWireFrame::CreateLine2Points
Description Create line procedure by entering 2 points (Coordinates). Syntax Status = CreateLine2Points ( iPoint1, iPoint2, [oGetCreatedEntity] )

CimatronE 9.0

CimatronE SDK User Guide 1073

Input: (Variant) iPoint1 Input: (Variant) iPoint2 Output: (ICimEntity)oGetCreatedEntity

Enter first point (Array of 3 double) Enter second point (Array of 3 double) Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::CreateLineByLength
Description Creates line by length and start point. Syntax Status = CreateLineByLength ( iStartPoint, iLength, iVector, [oGetCreatedEntity] )

Input: (Variant) iStartPoint Input: (Double) iLength Input: (Variant) iVector Output: (ICimEntity)oGetCreatedEntity

Line start point. Length of line. Line direction vector. Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::CreateLineFromPointToPoint
Description Create a line procedure by entering a 2-point entity. Syntax Status = CreateLineFromPointToPoint ( iPoint1, iPoint2, [oGetCreatedEntity] )

CimatronE 9.0

CimatronE SDK User Guide 1074

Input: (ICimEntity) iPoint1 Input: (ICimEntity) iPoint2 Output: (ICimEntity)oGetCreatedEntity

Enter first point (Entity) Enter second point (Entity) Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::CreatePoint
Description Creates a 3D point (from the sketcher). Syntax Status = CreatePoint ( iX, iY, iZ, [oGetCreatedEntity] )

Input: (Double) iX Input: (Double) iY Input: (Double) iZ Output: (ICimEntity)oGetCreatedEntity

X coordinate Y coordinate Z coordinate Get the procedure of created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::CompositeCurve
Description Create a composite curve. Syntax Status = CompositeCurve ( iEntLst, [oGetCreatedEntity] )

Input: (ICimEntityList) iEntLst

Enter curve entities.

CimatronE 9.0

CimatronE SDK User Guide 1075

Output: (ICimEntity)oGetCreatedEntity

Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::CreatePoints
Description Create a set of 3D points. Syntax Status = CreatePoints ( iPointArr, [oGetCreatedEntity] )

Input: (Variant) iPointArr

Set point coordinates. A variant that contains a double type array of 3D point coordinates. Also possible is a variant type array each element of which contains a double array of point coordinates in (X,Y,Z ) order. Get the procedure of created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Output: (ICimEntity)oGetCreatedEntity

Return:(Boolean) status

CimSuiteWireFrame::SplitCurvesByEntity
Description Split curves by another entity. Syntax Status = SplitCurvesByEntity( iEntities, iSplitEntity, [oGetCreatedEntity] )

Input: (ICimEntityList) iEntities Input: (ICimEntity) iSplittingPosition

Enter curve entities to be split. Splitting entity

CimatronE 9.0

CimatronE SDK User Guide 1076

Output: (ICimEntity)oGetCreatedEntity

Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::SplitCurvesByPoint
Description Split curves by a point. Syntax Status = SplitCurvesByPoint ( iEntities, iSplittingPosition, [oGetCreatedEntity] )

Input: (ICimEntityList) iEntities Input: (Variant) iSplittingPosition Output: (ICimEntity)oGetCreatedEntity

Enter curve entities to be split. Splitting point position (Array of 3 double) Get the procedure of a created entity. To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::TextCurve
Description Create wireframe text (arcs & lines only) from text defined in any language, font or according to specific parameters. Syntax Status = Create3DSpline ( iText, iPlane, iPoint, [iFontName], [iFontSize], [iBoldMode], [iAngle], [iUnderlineMode], [iAlignMode], [iApproxMode], [iBackwardsMode], [iUpsideMode], [iVerticalMode], [iCharRatio], [iCharSpacing], [iLineSpacing], [iMirrorMode], [iSlant], [oGetCreatedEntity] )

Input: (String) iText Input: (ICimEntity) iPlane

Enter text. Define the reference plane.

CimatronE 9.0

CimatronE SDK User Guide 1077

Input: (Variant) iPoint Input: (String) iFontName Input: (Double) iFontSize Input: (Boolean) iBoldMode Input: (Double) iAngle Input: (Boolean) iUnderlineMode Input (suMdTextAlignMode) iAlignMode Input: (Boolean) iApproxMode Input: (Boolean) iBackwardsMode Input: (Boolean) iUpsideMode Input: (Boolean) iVerticalMode Input: (Double) iCharRatio Input: (Double) iCharSpacing Input: (Double) iLineSpacing Input: (Boolean) iMirrorMode Input: (Double) iSlant Output: (ICimEntity)oGetCreatedEntity

Define location point. Set font name (default = Arial). Set font size (default = 5). Set Bold mode (default = FALSE) . Set string angle (default = 0). Set Underline mode (Default = FALSE). Set text alignment (default = suMdTextLeftAlign). Set Approx. Mode (default = FALSE). Set Backwards Mode (default = FALSE). Set Upside Mode (default = FALSE). Set Vertical Mode (default = FALSE). Set Char Ratio (default = 1). Set Char Spacing (default = 1). Set Line Spacing (default = 1). Set Mirror Mode (default = FALSE). Set Slant (default = 0). Get the procedure of a created entity. (To get the relevant entities created in this procedure use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) status

CimSuiteWireFrame::TrimCurvesByEntity
Description Trim curves by another entity. Syntax Status = TrimCurvesByEntity ( iEntities, iTrimmingEntity, [iFlipSideDefault], [oGetCreatedEntity] )

CimatronE 9.0

CimatronE SDK User Guide 1078

Input: (ICimEntityList) iEntities Input: (ICimEntity) iTrimmingEntity Input: (Boolean) iFlipSideDefault Output: (ICimEntity)oGetCreatedEntity

Enter curve entities to be trimmed. Trimming entity. Flip side for trimming curve. Get the procedure of the created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteWireFrame::TrimCurvesByPoint
Description Trim curves by point. Syntax Status = TrimCurvesByPoint ( iEntities, iTrimmingPosition, [iFlipSideDefault], [oGetCreatedEntity] )

Input: (ICimEntityList) iEntities Input: (Variant) iTrimmingPosition Input: (Boolean) iFlipSideDefault Output: (ICimEntity)oGetCreatedEntity

Enter curve entities to be trimmed. Trimming point position (Array of 3 double) Flip side for trimming curve. Get the procedure of a created entity. (To get all the entities created in this procedure, you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return:(Boolean) status

CimSuiteDM

CimSuiteDM
Properties None

CimatronE 9.0

CimatronE SDK User Guide 1079

Methods Boolean OpenPdmBrowser ( iDocument oDocument ) Boolean CreateNewDocument ( String iDocPathName, suDocumentEnumType iDocType, suDocumentEnumUnit iDocUnits ) Boolean CreateNewFolder ( String iPathFolderName ) Boolean CreateNewLocation ( String iLocationName, String iRealPath) Boolean GetListOfDocuments ( String iLibPath, Variant oListOFDocuments ) Boolean GetRelatedDocuments ( String iDocPathName, Variant oListOFDocuments ) Boolean GetLocationRealPath ( String iLocationPath, String oRealPath ) Boolean Query ( String iTitle, suDocumentEnumType iDocType, String iPath, Variant oDocumentListFound ) Boolean RenameDocument ( String iOldDocumentPath, String iNewDocumentName ) Boolean DeleteExistingDoc ( String iDocPathName ) Boolean DeleteFolder ( String iFolderPath ) Boolean OpenExistingDoc ( String iDocPathName ) IModelContainer SetModelContainer ( ) IModel GetActiveModel ( ) IDocument GetActiveDoc ( ) Boolean GetPathOfActiveDocument ( String oPath ) suDocumentEnumType GetActvDocType ( ) String GetActvDocTitle ( ) suDocumentEnumUnit GetActvDocUnits ( ) String GetActvDocDescription ( ) String GetActvDocPID ( ) Boolean SaveActvDoc ( ) Boolean CloseActvDoc ( Boolean iSave ) Boolean SaveModel ( iModel inModel ) Boolean CloseModel ( iModel inModel ) String GetActvDocVersion ( ) Boolean GetDocumentAttribute ( Variant oAttArr, Integer oNumOfAtt ) Boolean SetDocumentAttribute ( Variant oAttArr, Integer oNumOfAtt ) Boolean IsDocumentExist ( String iDocumentName, Optional suDocumentEnumType iDocumenType, Optional suDocumentEnumUnit iDocumentUnits ) Boolean SelectFromBrowser ( String oSelectedDocument )

CimatronE 9.0

CimatronE SDK User Guide 1080

Boolean GetOpenDocuments ( Variant oOpenDocumentsList )

CimSuiteDM::CloseActvDoc
Description Close the active file. Syntax Status = CloseActvDoc ( iSave )

Input: (Boolean) iSave TRUE = close with save FALSE = close without save Return: (Bool ) retval TRUE if successful

CimSuiteDM::CreateNewDocument
Description Create a new CimatronE file. Syntax: retval = CreateNewDocument ( iDocPathName, DocType, DocUnits )

Input: (String) iDocPathName Input: (suDocumentEnumType)DocType Input: (suDocumentEnumUnit)DocUnits Return: (Boolean) retval Remarks:

input file full path name (as in the DM browser) for example: \Pdm\Location\Folder\NewDocName Type of File Type of Units TRUE if successful

1. If you enter only a file name without a full path name, saving the file will open the browser for manually selecting a location.

CimatronE 9.0

CimatronE SDK User Guide 1081

2. If the file already exists, the new file will be numerated. (For example: If the input name "\Pdm\Location1\default\NewDoc" already exists, it will receive the new name: "\Pdm\Location1\default\NewDoc_1"

CimSuiteDM::DeleteExistingDoc
Description Delete an existing file. Syntax retval = DeleteExistingDoc ( iDocPathName )

Input: (String) iDocPathName Return: (Boolean) retval

Input file full path name (as in the DM browser) for example: \Pdm\Location\Folder\DocName TRUE if successful

CimSuiteDM::GetActiveDoc
Description Get the active file. Syntax Document = GetActiveDoc ( ) Return: (IDocument/Object) Document Active file object

CimSuiteDM::GetActiveModel
Description Return the active model from the active file. This can be used, for example, in CimSuiteSketcher::NewSketch. Syntax ActiveModel = GetActiveModel ( ) Return: (IModel/Object) ActiveModel Model Object

CimatronE 9.0

CimatronE SDK User Guide 1082

CimSuiteDM::GetActvDocDescription
Description Return the active file description. Syntax DocDes = GetActvDocDescription ( ) Return: (String) DocDes Active file description

CimSuiteDM::GetActvDocPID
Description Return the active file PID. Syntax String = GetActvDocPID ( ) Return: (String) DocPID Active file PID

CimSuiteDM::GetActvDocTitle
Description Return the active file title. Syntax String = GetActvDocTitle ( ) Return: (String) DocTitle Active file title

CimSuiteDM::GetActvDocType
Description Return the active file type (Part, Assembly, Drafting, NC). Syntax DocType = GetActvDocType ( ) Return: (Integer) DocType Active file type

CimatronE 9.0

CimatronE SDK User Guide 1083

CimSuiteDM::GetActvDocUnits
Example

Description Return the active file Units (Millimiter, Inch). Syntax DocType = GetActvDocUnits ( )
Return: (suDocumentEnumUnit) DocType Active file units

CimSuiteDM::GetActvDocVersion
Example

Description Return the active file Version. Syntax String = GetActvDocVersion ( ) Return: (String) DocVersion Active file Version

CimSuiteDM::GetDocumentAttribute
Description Get all attributes from the active file. (Limitation: Gets attributes only from saved files). Syntax retval = GetDocumentAttribute ( oAttArr, oNumOfAtt )

Output: (Variant) oAttArr

Array of file attributes. To get the relevant attribute, ask for: ArrAtt(n).Name & ArrAtt(n).Value TRUE if successful

Output: (Integer) oNumOfAtt Number of attributes found in file Return: (Boolean)

CimatronE 9.0

CimatronE SDK User Guide 1084

CimSuiteDM::OpenExistingDoc
Description Open an existing file. Syntax Status = OpenExistingDoc ( iDocPathName )

Input: (String) iDocPathName Return: (Bool) retval

Input file full path name (as in the DM browser) for example: \Pdm\Location\Folder\DocName TRUE if successful

CimSuiteDM::OpenPdmBrowser
Description Open the CimatronE Data Management browser. Syntax Status = OpenPdmBrowser ( oDocument )

Output: (iDocument/Object) oDocument Return: (Boolean) retval

The open file object. TRUE if successful

CimSuiteDM::SaveActvDoc
Description Save the active file. Syntax Status = SaveActvDoc ( ) Return: (Boolean) retval TRUE if successful

CimatronE 9.0

CimatronE SDK User Guide 1085

CimSuiteDM::SetModelContainer
Description Return the model container of the active file for later use. For example: in CimSuiteSketcher::NewSketch, the first input argument is the model container of the active file. Syntax RetVal = SetModelContainer ( ) Return: (IModelContainer/Variant)

CimSuiteDM::SetDocumentAttribute
Description Set/Update the file attribute. Syntax retval = SetDocumentAttribute ( iAttName, iAttValue )

Input: (String) iAttName Input: (Variant) iAttValue Return: (Bool)

Set attribute name Set attribute Value TRUE if successful

CimSuiteDM::GetPathOfActiveDocument
Description Get the full path of the active file in the CimatronE Browser (location\folders). Syntax: retval = GetPathOfActiveDocument ( oPath )

Output: (String)oPath Return: (Boolean) retval

The path of the file (Location\Folders) TRUE if successful

CimatronE 9.0

CimatronE SDK User Guide 1086

Remarks:

CimSuiteDM::SelectFromBrowser
Description Open the CimatronE Explorer. Syntax Status = SelectFromBrowser ( DocPathName ) Return: (String) DocPathName Return: (Boolean) Status Get the selected file path name True if OK

Remarks
This operation selects a file from the browser without opening it.

CimSuiteDM::GetOpenDocuments
Description This method returns a list of all files opened in CimatronE. Syntax Status = OpenPdmBrowser ( oOpenDocumentsList)

Output: (Variant) oOpenDocumentsList Return: (Boolean) Status

A list of all open files. TRUE if successful

Remarks CimSuiteGeomData

CimSuiteGeomData
Properties None Methods Boolean SetEntityAttribute ( ICimEntity iEnt, String iAttribName, suAttributeEnumType iAttribType, Variant iAttribValue )

CimatronE 9.0

CimatronE SDK User Guide 1087

Boolean GetEntityAttribute ( ICimEntity iEnt, String iAttribName, suAttributeEnumType iAttribType, Variant oAttribValue ) Boolean CheckIfFaceIsClosed ( ICimEntity iFace ) Boolean CheckIfFaceIsPlanar( ICimEntity iFace ) Boolean CheckIfFaceIsParametric( ICimEntity iFace ) Boolean CheckIfFacesAreTangent ( ICimEntity iFace1, ICimEntity iFace2, ICimEntity iEdge, Optional Integer iNumOfPointToCheck, Optional Boolean iShowNormals, Optional Double iNormalLen, Optional Variant oAngleArray) Boolean GetEdgeEvaluate( ICimEntity iEdge , Double iParam, Variant oPoint ) Boolean GetEdgeLimit ( ICimEntity iEdge, Variant oLimit ) Boolean GetEdgeParent ( ICimEntity iEdge, ICimEntityList oEntityList ) suEdgeType GetEdgeGeomType ( ICimEntity iEdge ) Boolean GetFaceClosestPoint( ICimEntity iFace, Variant iPoint, Variant oVector, Variant oPointOnFace ) Boolean GetFaceEvaluate( ICimEntity iFace, Double iU, Double iV, Variant oPoint ) Boolean GetFaceParametersByPoint( ICimEntity iFace, Variant iPoint, Double oU, Double oV ) Boolean GetFaceNormal( ICimEntity iFace, Variant iPoint, Variant oNormal ) Boolean GetFaceLimit( ICimEntity iFace, Variant oLimit ) Boolean GetFaceLoops( ICimEntity iFace, ICimEntityList oEntityList, Integer oNumOfLoops ) Boolean GetFacetFromSelectedEdge ( ICimEntity iEdge, Variant iStartParameter, Variant iEndParameter, Double iTolerance, Variant oFacets ) CheckIfPointOnSurface( ICimEntity iFace, Variant inPoint, Integer oOption ) GetEntity_Box_Param( ICimEntity iEnt, Variant oParams ) GetEntityID ( ICimEntity iEnt, Long oID )
GetEntityType( IEntity iEnt ) As suEntityType

ICimEntityList GetAllEntitiesList ( ) ICimEntityList GetEntitiesListByFilter ( suEntityEnumType iFilter ) ICimEntityList GetAllEdgesFromActiveDoc ( ) suSurfType GetGeomSurfaceType ( ICimEntity iSurfaceEntity ) Boolean GetFaceConeParam ( ICimEntity iFaceEntity, Boolean oIsCylinder, Double oRadius, Variant oRootPoint, Variant oDirection ) Boolean GetArcGeomData ( ICimEntity iEdge, Variant oCenterPoint, Double oRadius, Double oStartAngle, Double oEndAngle, Optional Variant oTransformation ) Boolean GetEllipseGeomData ( ICimEntity iEdge, Variant oCenterPoint, Double oMajorRadius,

CimatronE 9.0

CimatronE SDK User Guide 1088

Double oMinorRadius, Double oStartAngle, Double oEndAngle, Optional Variant oTransformation ) Boolean GetLineGeomData ( ICimEntity iEdge, Variant oFirstPoint, Variant oSecontPoint, Double oLength ) Boolean GetSplineGeomData ( ICimEntity iEdge, Variant oControlPoints, Variant oKnots ) Boolean GetVertexOfEdge ( ICimEntity iEdge, Variant oFirstVertexPoint, Variant oSecondVertexPoint, Integer oNumOfVertex ) Boolean GetVertexOfPoint ( ICimEntity iEdge, Variant oPoint ) Boolean GetEntityEdgeParent ( ICimEntity iEnt, ICimEntityList oEntityList ) Boolean GetEntitiesRelatedByFilter ( ICimEntity iEnt, suEntityEnumType iFilter, ICimEntityList oEntityList ) Boolean GetEntityBodyParent ( ICimEntity iEdge, ICimEntityList oEntityList ) Boolean GetPointOnEdgeByFilter( ICimEntity iEnt, suTypePoint iTypePoint, Variant oPoint ) Boolean GetPiercingPoints ( Variant iDirection, Variant iBasePositin, ICimEntityList iEntList, Variant oPiercePoints ) Boolean GetActiveUcsObject ( ICimEntity oUcsObject ) Boolean GetModelUcsObject ( ICimEntity oUcsObject ) Boolean GetUCSParameters ( iEnt iUCS, Variant oXvector, Variant oYvector, Variant oZvector, Variant oOriginPoint ) Boolean GetActiveUCSParameters ( Variant oXvector, Variant oYvector, Variant oZvector, Variant oOriginPoint, String oUcsName, Long oUcsID ) Boolean GetBoundingBoxCoordinatesByUCS ( ICimEntityList iEntLst, ICimEntity iUCS, Boolean CreateBox, Variant oCoordinate ) Boolean GetEntityAttributeList ( ICimEntity iEnt, Variant oAttributeList )

CimSuiteGeomData::CheckIfFaceIsClosed
Description Return if Face is closed. Syntax RetVal = CheckIfFaceIsClosed ( iFace) Input: (ICimEntity/Object) iFace Return: (Boolean) RetVal Input selected Face If Face is closed then return TRUE

CimSuiteGeomData::CheckIfFaceIsParametric
Description

CimatronE 9.0

CimatronE SDK User Guide 1089

Check if selected Face is parametric. Syntax RetVal = CheckIfFaceIsParametric ( iFace) Input: (ICimEntity/Object) iFace Return: (Boolean) RetVal Input selected Face If Face is parametric then return TRUE (for Example: Spline is parametric)

CimSuiteGeomData::GetEdgeLimit
Description Get curve parameter limits. Syntax retval = GetEdgeLimit ( iEdge, oLimit )

Input: (ICimEntity/Object) iEdge Output: (Variant) oLimit Return: (Bool) retval Remarks

Input Edge to get is limit parameter The curve limits: oLimits(0) - start parameter, oLimits(1) end parameter. TRUE if successful

CimSuiteGeomData::CheckIfFaceIsPlanar
Description Return if Face is planar. Syntax RetVal = CheckIfFaceIsPlanar ( iFace) Input: (ICimEntity/Object) iFace Return: (Boolean) RetVal Input selected Face If Face is planar then return TRUE

CimSuiteGeomData::CheckIfPointOnSurface
Description

CimatronE 9.0

CimatronE SDK User Guide 1090

This method checks if an input point is on a surface or outside a surface. Syntax CheckIfPointOnSurface ( iFace, iPoint, oOption )

Input: (ICimEntity/Object) iFace Face/Surface Input: (Variant) iPoint Output: (Integer) oOption point (array of 3 Double) 1 = point is on surface. 2 = point is on boundary of surface. 3 = point is not on surface.

CimSuiteGeomData::GetAllEdgesFromActiveDoc
Description Return all edges in the active file. Syntax EntityList = GetAllEdgesFromActiveDoc ( ) Return: (EntityList/Object) EntityList Entity list object

CimSuiteGeomData::GetAllEntitiesList
Example

Description Get a full entity list from an active file. Syntax oEntityList = GetAllEntitiesList ( ) Return: (EntityList/Object) oEntityList Entity list Remarks

CimSuiteGeomData::GetArcGeomData
Description Return the geometric data of an arc/circle. Syntax retval = GetArcGeomData ( Edge, CenterPoint, Radius, StartAngle,

CimatronE 9.0

CimatronE SDK User Guide 1091

EndAngle, TransMatrix ) Input: (ICimEntity/Object) Edge Output: (Variant) CenterPoin Output: (Double) Radius Output: (Double) StartAngle Output: (Double) EndAngle Output: (Variant) TransMatrix Return: (Boolean) retval Arc Edge Center point (array of 3 points) Radius Start Angle End Angle Transformation matrix of an arc TRUE if successful

CimSuiteGeomData::GetEdgeGeomType
Example

Description Return Type of selected Edge. Syntax Type = GetEdgeGeomType ( Edge ) Input: (ICimEntity/Object) Edge One Edge Return: (suEdgeType) Type Edge Type (see last page suEdgeType) (if the return value is 1, then failed)

CimSuiteGeomData::GetEdgeParent
Description Gets the parent (entity list) of an input edge. Syntax retval = GetEdgeParent ( Edge, EntList ) Input: (ICimEntity/Object) Edge Output: (ICimEntityList/Objetc) EntList Return: (Boolean) retval One edge Parent entity list TRUE if successful

CimSuiteGeomData::GetEllipseGeomData
Description

CimatronE 9.0

CimatronE SDK User Guide 1092

Returns the geometric data of an ellipse. Syntax retval = GetEllipseGeomData ( Edge, Radius, StartAngle, EndAngle, TransMatrix ) Input: (ICimEntity/Object) Edge Output: (Variant) CenterPoin Output: (Double) MajorRadius Output: (Double) MinorRadius Output: (Double) StartAngle Output: (Double) EndAngle Output: (Variant) TransMatrix Return: (Bool) retval Arc Edge Center point (array of 3 points) MajorRadius MinorRadius Radius Radius Transformation matrix of an arc TRUE if successful

CimSuiteGeomData::GetEntity_Box_Param
Description Returns the boundary box of the selected entity (Variant of points). Syntax GetEntity_Box_Param ( iEnt, oParams )

Input: (ICimEntity/Object) iEnt Output: (Variant) oParams

Input Entiy Boundary box of selected entity (Variant of points)

CimSuiteGeomData::GetEntityBodyParent
Description Gets the parent body (entity list) of an input edge/face. Syntax retval = GetEntityBodyParent ( Entity, EntList ) Input: (ICimEntity/Object) Entity One edge/face

CimatronE 9.0

CimatronE SDK User Guide 1093

Output: (ICimEntityList/Objetc) EntList Return: (Bool) retval

Parent body entity list TRUE if successful

CimSuiteGeomData::GetEntityEdgeParent
Example

Description Gets the all Edges (entity list) of an input Entity (Body, Face, Loop, etc). Syntax retval = GetEntityEdgeParent ( Entity, EntList ) Input: (ICimEntity/Object) Entity Return: (Bool) retval One Body, Face, Loop, etc TRUE if successful Output: (ICimEntityList/Objetc) EntList Edges entity list

CimSuiteGeomData::GetFaceClosestPoint
Description Get the closest Point/Vector on selected face from input point. Syntax retval = GetFaceClosestPoint ( iFace, iPoint, oVector, oPointOnFace )

Input: (ICimEntity/Object) iFace Input: (Variant) iPoint Output: (Variant) oVector Output: (Variant) oPointOnFace Return: (Bool) retval Remarks

Face Point (Variant of 3 double) Vector (Variant of 3 double) Point (Variant of 3 double) TRUE if successful

CimSuiteGeomData::GetEntityID
Description Returns the ID of a selected entity.

CimatronE 9.0

CimatronE SDK User Guide 1094

Syntax GetEntityID ( iFace, oID ) Input: (ICimEntity/Object) iFace Output: (Long) oID Input Face ID of selected Entity

CimSuiteGeomData::GetEntityType
Description Returns the Type of selected entity. Syntax rType = GetEntityType ( iFace ) Input: (ICimEntity/Object) iFace Return: (suEntityType) rType Input Face Type of Entity

CimSuiteGeomData::GetFaceConeParam
Example

Description Returns Cone Face parameters. Syntax retval = GetFaceConeParam ( iFaceEntity, oIsCylinder, oRadius, oRootPoint, oDirection ) Input: (ICimEntity/Object) iFaceEntity Output: (Boolean) oIsCylinder Output: (Double) oRadius Output: (Variant) oRootPoint Output: (Variant) oDirection Return: (Bool) retval Selected Face TRUE in case of Cylinder face Radius of Cone Face (OK only if it's a Cylinder face) Root Point of base Ellipse/Arc of face (Center point - array of 3 points) Direction of cone face (Vector - array of 3 points) TRUE if successful

CimatronE 9.0

CimatronE SDK User Guide 1095

Remarks

CimSuiteGeomData::GetLineGeomData
Description Returns the geometric data of a line. Syntax retval = GetLineGeomData ( Edge, FirstPoint, SecondPoint, Length ) Input: (ICimEntity/Object) Edge Output: (Variant) FirstPoint Output: (Variant) SecondPoint Output: (Double) Length Return: (Bool) retval Line edge First point (array of 3 points) Second point (array of 3 points) Length TRUE if successful

CimSuiteGeomData::GetSplineGeomData
Description Returns the geometric data of a spline. Syntax retval = GetSplineGeomData ( Edge, PointsArr, KnotsArr ) Input: (ICimEntity/Object) Edge Output: (Double()) PointsArr Output: (Double()) KnotsArr Return: (Bool) retval Spline edge Array of 3D points Array of knots TRUE if successful

CimSuiteGeomData::GetVertexOfEdge
Description Gets the vertices of a selected edge. Syntax retval = GetVertexOfEdge ( iEdge, oFirstPoint, oSecondPoint, oNumOfVertex ) Input: (ICimEntity/Object) Line edge

CimatronE 9.0

CimatronE SDK User Guide 1096

iEdge Output: (Variant) oFirstPoint Output: (Variant) oSecondPoint Output: (Integer) oNumOfVertex Return: (Boolean) retval First point (array of 3 doubles) Second point (array of 3 doubles) Number of vertexes found (for example: in case of circle there will by only one point) TRUE if successful

CimSuiteGeomData::GetVertexOfPoint
Description Gets the vertex of a selected Point. Syntax retval = GetVertexOfPoint ( iEdge, oFirstPoint, oSecondPoint, oNumOfVertex ) Input: (ICimEntity/Object) iEdge Output: (Variant) oPoint Return: (Bool) retval Point Entity Point vertex (array of 3 doubles) TRUE if successful

CimSuiteGeomData::CheckIfFacesAreTangent
Description
Get the array of angles between the normals of two faces.

Syntax
Status = CheckIfFacesAreTangent ( iFace1, iFace2, iEdge, Optional iNumOfPointToCheck, Optional iShowNormals, Optional iNormalLen, Optional oAngleArray )

Input: (ICimEntity/Object) iFace1 Input: (ICimEntity/Object) iFace2 Input: (ICimEntity/Object) iEdge Input: (Integer)

First Face Second Face Common edge (connected edge between the two Faces) Number of points to check on selected common edge

CimatronE 9.0

CimatronE SDK User Guide 1097

iNumOfPointToCheck
Input: (Bool) iShowNormals

(Optional: default = 2 points) Flag if it shows the normals in points and the normals are not tangential. (Optional: default = FALSE) Length of shown normal if iShowNormals is TRUE. (Optional: default = 50) The array of angles between normals. One-dimensional array with iNumOfPointToCheck elements.(Argument is optional) TRUE if successful

Input: (Double) iNormalLen

Output: (Variant) oAngleArray

Return: (Bool) status

Remarks
This function checks the Tangent between two faces by getting the normal from a point on the two faces, and checks if the two normals are equal. The input must be two faces and the common edge.

CimSuiteGeomData::GetAllEntitiesList
Example

Description Get a full entity list from an active file. Syntax oEntityList = GetAllEntitiesList ( ) Return: (EntityList/Object) oEntityList Entity list Remarks

CimSuiteGeomData::GetEdgeEvaluate
Description Get the Evaluate point from a selected edge by input parameters. Syntax retval = GetEdgeEvaluate ( iEdge, iParam, oPoint ) Input: (ICimEntity/Object) iEdge Input: (Double) iParam Output: (Variant) oPoint Input Entity to get Evaluation point from Parameter (number that are between the limit of curve) Point (Variant of 3 double)

CimatronE 9.0

CimatronE SDK User Guide 1098

Return: (Bool) retval Remarks

TRUE if successful

CimSuiteGeomData::GetPointOnEdgeByFilter
Description Get a point on a selected edge by input filter. Syntax retval = GetPointOnEdgeByFilter ( iEnt, iAttribName, iAttribType, iAttribValue )

Input: (ICimEntity/Object) iEnt Input: (suTypePoin) iTypePoint Output: (Variant) oPoint Return: (Bool) retval Remarks

One Edge Type of point Point (Variant of 3 double) TRUE if successful

CimSuiteGeomData::GetEntityAttribute
Description Gets an attribute from a selected entity. Syntax GetEntityAttribute ( iEnt, iAttribName, iAttribType, oAttribValue ) Input: (ICimEntity/Object) iEnt Input: (String) iAttribName Input: (suAttributeEnumType) iAttribType Output: (Variant) oAttribValue Remarks Each entity can contain many attributes. Entity to set the attribute String of attribute Attribute type Value of attribute (depending on type)

CimSuiteGeomData::GetFaceEvaluate
Description

CimatronE 9.0

CimatronE SDK User Guide 1099

Gets an Evaluate point from a selected face by input Face parameters (U/V). Syntax retval = GetFaceEvaluate ( iFace, iU, iV, oPoint ) Input: (ICimEntity/Object) iFace Input: (Double) iU Input: (Double) iV Output: (Variant) oPoint Return: (Bool) retval Remarks input Entity to get Evaluation point from Parameter U (number that are between the limit of face) Parameter V (number that are between the limit of face) Point (Variant of 3 double) TRUE if successful

CimSuiteGeomData::GetFaceLoops
Example

Description This function returns an entity list that includes all the Loops of a selected Face. Syntax retval = GetFaceLoops ( iFace, oEntityList, oNumOfLoops ) Input: (ICimEntity/Object) iFace Output: (Integer) oNumOfLoops Return: (Boolean) retval Remarks This function can help obtain information about Trimmed faces and their Loops. Selected Face Number of Loops found in selected face TRUE if successful Output: (ICimEntityList/Objetc) oEntityList List of Loops in selected face

CimSuiteGeomData::GetFaceNormal
Description Gets a normal from a face by input point. Syntax retval = GetFaceNormal ( iFace, iPoint, oNormal ) Input: (ICimEntity/Object) iFace Input: (Variant) iPoint Output: (Variant) oNormal Input Face entity to get parameters Point (Variant of 3 double) Normal vector (Variant of 3 double)

CimatronE 9.0

CimatronE SDK User Guide 1100

Return: (Bool) retval Remarks

TRUE if successful

CimSuiteGeomData::GetFaceParametersByPoint
Description Gets the face parameters (U/V) by the input point on a face. Syntax retval = GetFaceParametersByPoint ( iFace,iPoint, iU, iV ) Input: (ICimEntity/Object) iFace Input: (Variant) iPoint Output: (Double) oU Output: (Double) oV Return: (Bool) retval Remarks Input Face entity to get parameters Point (Variant of 3 double) Parameter U (number that are between the limit of face) Parameter V (number that are between the limit of face) TRUE if successful

CimSuiteGeomData::GetGeomSurfaceType
Description Gets selected face type. Syntax rFaceType = GetGeomSurfaceType ( iSurfaceEntity ) Input: (ICimEntity/Object) iSurfaceEntity Return: (suSurfType) rFaceType Remarks Input Face entity Type of selected face

CimSuiteGeomData::SetEntityAttribute
Description Sets the attribute for a selected entity. Syntax SetEntityAttribute ( iEnt, iAttribName, iAttribType, iAttribValue ) Input: (ICimEntity/Object) iEnt Entity to set the attribute

CimatronE 9.0

CimatronE SDK User Guide 1101

Input: (String) iAttribName Input: (suAttributeEnumType) iAttribType Input: (Variant) iAttribValue Remarks Each entity can contain many attributes.

String of attribute Attribute type Value of attribute (depending on type)

CimSuiteGeomData::GetEntitiesRelatedByFilter
Description Gets a list of all entities related to a selected entity by input filter. Syntax retval = GetEntityChildByFilter ( iEnt, iFilter, oEntityList )

Input: (ICimEntity/Object) iEnt Input: (suEntityEnumType) iFilter Output: (ICimEntityList/Object oEntityList Return: (Boolean) retval Remarks

Input entity Set filter Entity list that include all the child (by filter) TRUE if successful

CimSuiteGeomData::GetPiercingPoints
Description Returns Piercing points of Faces or Objects. Syntax retval = GetFaceConeParam ( oDirection, iBasePositin, oRadius, oRootPoint, oDirection )

CimatronE 9.0

CimatronE SDK User Guide 1102

Input: (Variant) oDirection Input: (Variant) iBasePositin Input: (ICimEntityList/Object) iEntList Output: (Variant) oRootPoint Return: (Bool) retval

Set Direction (Vector - array of 3 points) Root Point of base Ellipse/Arc of face (Center point - array of 3 points) Set of faces or objects to be Hit Variant that contains double type array of 3D point coordinates TRUE if successful

Remarks

CimSuiteGeomData::GetEntitiesListByFilter
Description Gets a list of all entities related to an active model/document by input filter. Syntax oEntityList = GetEntitiesListByFilter ( iFilter )

Input: (suEntityEnumType) iFilter Return: (ICimEntityList) oEntityList Remarks

Set filter type. Entity list that includes the entities request by filter.

In the case of an active instance in assembly, the return entity list will include only the relevant entities of the instance. To get the entire list in the assembly file, it is necessary to activate the main assembly first.

CimSuiteGeomData::GetFaceLimit
Description Gets LIMIT of a selected Face. Syntax Status = GetFaceLimit ( iFace, oLimit) Input: (ICimEntity/Object) iFace Input selected Face

CimatronE 9.0

CimatronE SDK User Guide 1103

Output: (Variant) oLimit Return: (Boolean) Status

Limit of face (Array of doubles) TRUE if successful

CimSuiteMath

CimSuiteMath
Properties None Methods CrossProduct ( iVectA, iVectB, oCrossVect ) MakeUnit ( iVect, oUnitVect ) DotProduct = DotProduct ( iVectA, iVectB ) VectorLength = VectorLength ( iVect ) Result = DistanceBetweenTwoPoints ( iPntFirst, iPntSecond, oDistance ) ProductVectorMatrix ( iVect, iMatrix, oResVect ) UCSRotate ( iDirVect, oRotMatrix ) UCSTransport ( ioPnt, iDirVect ) Status = Model2Pln ( iPlane, ioPnt ) Status = TranslateActiveUCStoModelUCS ( iActiveUCSpoint, oModelUCSpoint ) Status = TranslateModelUCStoActiveUCS ( iModelUCSpoint, oActiveUCSpoint )

CimSuiteMath::VectorLength
Description Calculates the length of a vector. Syntax VectorLength = VectorLength ( iVect )

Input: (Variant) iVect

Input vector

Return: (Double) VectorLength Number of the dot product

CimatronE 9.0

CimatronE SDK User Guide 1104

CimSuiteMath::UCSTransport
Description Moves a given point in the direction and length of a given vector. Syntax UCSTransport ( ioPnt, iDirVect ) Input/Output: (Variant) ioPnt Input: (Variant) iDirVect Input/output point to be moved Input vector for the direction and length of the movement

CimSuiteMath::ProductVectorMatrix
Description Makes a unit vector from a given vector. Syntax ProductVectorMatrix ( iVect, iMatrix, oResVect ) Input: (Variant) iVect Input: (Variant) iMatrix Output: (Variant) oResVect Input vector Input matrix New vector

CimSuiteMath::Pln2Model
Description Maps a given point from a plane to a model. Syntax Status =Pln2Model ( iPlane, ioPnt ) Input: (ICimEntity) iPlane Input: (Variant) ioPnt Return: (Boolean) status Input the plane from which the point will be mapped. Input the point to be mapped. TRUE if successful.

CimSuiteMath::Model2Pln
Description Maps a given point from a model to a plane.

CimatronE 9.0

CimatronE SDK User Guide 1105

Syntax Status =Model2Pln ( iPlane, ioPnt ) Input: (ICimEntity) iPlane Input: (Variant) ioPnt Return: (Boolean)status Input the plane to which the point will be mapped. Input the point to be mapped TRUE if successful

CimSuiteMath::MakeUnit
Description Makes a unit vector from a given vector. Syntax MakeUnit ( iVect, oUnitVect ) Input: (Variant) iVect Output: (Variant) oUnitVect Input vector Unit vector

CimSuiteMath::DotProduct
Description Calculates the number that is the dot product of two given vectors. Syntax DotProduct = DotProduct ( iVectA, iVectB )

Input: (Variant) iVectA Input: (Variant) iVectB

Input first vector Input second vector

Return: (Double) DotProduct Number of the dot product

CimSuiteMath::CrossProduct
Description Calculates the vector that is the cross-product of two given vectors. Syntax

CimatronE 9.0

CimatronE SDK User Guide 1106

CrossProduct ( iVectA, iVectB, oCrossVect ) Input: (Variant) iVectA Input: (Variant) iVectB Output: (Variant) oCrossVect Input first vector Input second vector Cross vector

CimSuiteMath::DistanceBetweenTwoPoints
Description
Calculates the distance between two given points.

Syntax
Result = DistanceBetweenTwoPoints( iPntFirst, iPntSecond, oDistance ); Input: (Variant) iPntFirst Coordinates of first point. Array of three elements.

Input: (Variant) iPntSecond Coordinates of second point. Array of three elements. Output: (Double) oDistance Distance between this two points. Return: (Boolean) Result TRUE if executed successfully.

CimSuiteMath::UCSRotate
Description
This function allows you to get a rotation matrix from a model UCS to a new one that is defined by a vector that has an Oz axis in it.

Syntax
UCSRotate( iDirVect, oRotMatrix ) Input: (Variant) iDirVect A vector defined Oz axis in a new UCS given in coordinates of the start UCS. Not necessarily a unit vector. Return: (Variant) oRotMatrix Rotation matrix.

CimSuiteMath::TranslateActiveUCStoModelUCS
Description Translates the Active UCS point coordinates to Model UCS point coordinates. Syntax Status =TranslateActiveUCStoModelUCS ( iActiveUCSpoint, oModelUCSpoint )

CimatronE 9.0

CimatronE SDK User Guide 1107

Input: (Variant) iActiveUCSpoint Output: (Variant) oModelUCSpoint Return: (Boolean)status

Active UCS point coordinates Model UCS point coordinates TRUE if successful

CimSuiteMath::TranslateModelUCStoActiveUCS
Description Translates the Model UCS point coordinates to Active UCS point coordinates. Syntax Status =TranslateModelUCStoActiveUCS ( oModelUCSpoint, iActiveUCSpoint )

Input: (Variant) oModelUCSpoint Output: (Variant) iActiveUCSpoint Return: (Boolean) status

Model UCS point coordinates Active UCS point coordinates TRUE if successful

CimSuitePickTool

CimSuitePickTool
Properties None Methods ActivateAllFilterPoint DeActivateAllFilterPoint DisableAllFilterPoint EnableAllFilterPoint Boolean GetEntityListByFilter ( suEntityEnumType iFilter, EntityList oEntityList, Integer oNumOfEntities ) Boolean IsClickPressed ( ) Boolean IsMBmousePressed ( ) Boolean PickEntitiesByFilter ( Optional Integer MaxPickEntity,

CimatronE 9.0

CimatronE SDK User Guide 1108

Optional suEntityEnumType iFirstEntEnumType, suEntityEnumType iSecondEntEnumType, suEntityEnumType iThirdEntEnumType, suEntityEnumType iFourthEntEnumType, suEntityEnumType iFifthEntEnumType, suEntityEnumType iSixthEntEnumType ) Boolean PickPointByFilter ( suPointType iPointEnumType, Double oX , Double oY, Double oZ, [IPointData oPointData] ) Boolean PickPointsByFilter ( suPointType iPointEnumType, ICimEntityList oPointsLst) Variant SelectedEntityList ( ICimEntityList oEntityList, Integer oEntityCount ) Boolean SetArrowFigure ( Variant iBasePoint, Variant iDirection, Variant oNewDirection, Boolean iWaitToExit ) Void Set_SinglePick (Boolean isSinglePick)

CimSuitePickTool::ActivateAllFilterPoint
Description Activate all filter points. Syntax ActivateAllFilterPoint ( ) Remarks: Call this function before calling the PickPointsByFilter function.

CimSuitePickTool::DeActivateAllFilterPoint
Description De-activate all filter points. Syntax DeActivateAllFilterPoint ( ) Remarks: Call this function before calling the PickPointsByFilter function.

CimatronE 9.0

CimatronE SDK User Guide 1109

CimSuitePickTool::DisableAllFilterPoint
Description Disable all filter points. Syntax DisableAllFilterPoint ( ) Remarks: Call this function before calling the PickPointsByFilter function.

CimSuitePickTool::EnableAllFilterPoint
Description Enable all filter points. Syntax EnableAllFilterPoint ( ) Remarks: Call this function before calling the PickPointsByFilter function.

CimSuitePickTool::GetEntityListByFilter
Description Get Entity list from the active file by entering the filter. Syntax RetVal = GetEntityListByFilter ( iFilter, oEntityList, oEntityCount )

Input: (suEntityEnumType) iFilter Output: (ICimEntityList/Object) oEntityList Output: (Integer) oEntityCount Return: (Boolean) RetVal

Entity Enum Type Get selected entity list Get a count of entities in the list TRUE if successful

CimSuitePickTool::IsClickPressed
Description

CimatronE 9.0

CimatronE SDK User Guide 1110

Gets/sets the left mouse button event. Syntax Event = IsClickPressed ( ) Input: (Bool) Event TRUE if the left mouse button was pressed

CimSuitePickTool::IsMBmousePressed
Description Get/sets the middle mouse button event. Syntax Event = IsMBmousePressed ( ) Input: (Boolean) Event TRUE if the middle mouse button was pressed.

CimSuitePickTool::PickEntitiesByFilter
Description Picks a geometry using the input filter. Syntax Retval = PickEntitiesByFilter ( [MaxPickEntity],[Filter1], [Filter2], [Filter3], [Filter4], [Filter5], [Filter6] )

Input: (Integer) MaxPickEntity Input: (suEntityEnumType) Filter1 Input: (suEntityEnumType) Filter2 Input: (suEntityEnumType) Filter3 Input: (suEntityEnumType) Filter4 Input: (suEntityEnumType) Filter5 Input: (suEntityEnumType) Filter6

Set the maximum picked entities (Default 1= until the middle mouse button is pressed) Entity Enum Type (Default Edge entity) Entity Enum Type Entity Enum Type Entity Enum Type Entity Enum Type Entity Enum Type

CimatronE 9.0

CimatronE SDK User Guide 1111

Return: (Boolean) retval Note Limitations of entity filter types:

TRUE if successful

1. The type suLoop is not usable in filter for this method; 2. The type cmBody is not using together with types cmFace and cmEdge.

CimSuitePickTool::PickPointByFilter
Example Description Picks a point using the input filter. Syntax Retval = PickPointByFilter ( iPointEnumType, oX, oY, oZ, [oPointData] ) Input: (suPointType) iPointEnumType Output: (Double) oX Output: (Double) oY Output: (Double) oZ Output: (IPointData) oPointData Return: (Boolean) retval Set Point type Get X parameter Get Y parameter Get Z parameter Get the point object TRUE if successful

CimSuitePickTool::PickPointsByFilter
Description Picks points using the input filter. Syntax Retval = PickPointsByFilter ( iPointEnumType, oPointsLst ) Input: (suPointType) iPointEnumType Set Points type

CimatronE 9.0

CimatronE SDK User Guide 1112

Output: (ICimEntityList) oPointsLst Return: (Boolean) Retval

Get list of selected points TRUE if successful

CimSuitePickTool::SelectedEntityList
Description Returns the list of entities selected by the user. Syntax SelectedEntityList ( oEntityList, oEntityCount ) Output: (ICimEntityList/Object) oEntityList Output: (Integer) oEntityCount Get selected entity list See: CimSuitePickTool::PickEntitiesByFilter Get a count of entities in the list

CimSuitePickTool::Set_SinglePick
Description Enable/disable pick by box in the pick tool. Syntax Set_SinglePick (isSinglePick )

Input: (Boolean) isSinglePick

False (Default) = Enable pick by box True = Disable pick by box

CimSuiteSketcher

CimSuiteSketcher
Properties None Methods Boolean NewSketchDefault ( )

CimatronE 9.0

CimatronE SDK User Guide 1113

ICimEntity NewSketchFromSelectedFace ( ICimEntity iFace ) Boolean NewSketch ( IModel inModel, Optional Variant inPlanar ) ICimEntity CloseSketch ( ) Boolean SaveSketchToFile ( String iFileName ) Boolean ReadSketchFromFile ( String iFileName ) Variant CreateBox ( Double inFirstXcorner, Double inFirstYcorner, Double inSecondXcorner, Double inSecondYcorner ) Variant TransformAndEval ( Variant iTransformAndEvaluate ) Variant CreateLine ( Double StartX, Double StartY, Double EndX, Double EndY, Optional Boolean iIsContinues, Optional Long oID ) Variant CreateRadius ( Variant iFirstCurve, Variant iSecondCurve ) Boolean LineTo ( Double inX, Double inY, Optional Boolean iIsContinues, Optional Long oID ) Boolean MoveTo ( Double inX, Double inY ) Boolean CreateArc ( Double inCenterX, Double inCenterY, Double inRadius, Optional Double inStartAngle, Optional Double inEndAngle, Optional suSetConstrained SetConstrained, Optional Long oID) Boolean CreateEllipse_Test ( Double inCenterX, Double inCenterY, Double inRadius, Optional Double inStartAngle, Optional Double inEndAngle, Optional Boolean iIsContinues, Optional Long oID ) Boolean CreatePolyLine ( Double() inCoord ) Boolean CreateSpline ( Double() inCoord, Optional Long oID ) Boolean CreateAngularDimension ( Long iDimensionObjectID1, Long iDimensionObjectID2, Double iDimensionValue, Variant iDimensionPosition, Optional Long oID ) Boolean CreateLinearDimension ( Long iDimensionObjectID1, Double iDimensionValue, Variant iDimensionPosition, Optional Long iDimensionObjectID2, Optional Long oID ) Boolean CreateRadialDimension( Long iDimensionObjectID1, Double iDimensionValue, Variant iDimensionPosition, Optional Long oID ) Boolean CreateOriginalPoint ( Optional Long oID ) Boolean CreateRegularPoint ( Variant iPointCoord, Optional Long oID ) Variant Convert3DpointsTo2Dpoints ( Double() i3DarrPoint, Double() o2DarrPoint ) suSketchObjectType GetSketcheEntityType ( Variant iSkEntity ) Long GetSketcheEntityID ( Variant iSkEntity) Boolean AddReference ( ICimEntity iEnt, Variant oRefEntities )

CimatronE 9.0

CimatronE SDK User Guide 1114

CimSuiteSketcher::TransformAndEval
Description Opens a new sketch object to sketch a geometry. (Use CimSuiteSketcher::CloseSketch to close the sketch when finished). Syntax status = TransformAndEval ( iTransformAndEvaluate ) Input: (Variant) iTransformAndEvaluate Move the sketcher with the input transformation and delta X, Y. The variant is an array of 6 numbers. The 4 first numbers are the rotation angle of the sketch: 1 = cos(alfa) in radian 2 = -sin(alfa)in radian 3 = sin(alfa)in radian 4 = cos(alfa)in radian 5 = Delta X 6 = Delta Y

CimSuiteSketcher::NewSketchDefault
Description Opens a new sketch object. (You do not need to input the model container nor input a plane object). The sketch will be done on the default plane if none other is defined. (Use CimSuiteSketcher::CloseSketch to close the sketch when finished). Syntax status = NewSketchDefault ([inPlane])

Input: (ICimEntity) inPlane

The plane on which the sketcher will be drawn. Default current active plane.

Return: (Boolean) status TRUE if successful.

CimSuiteSketcher::NewSketch
Description Opens a new sketch object to sketch a geometry. Using this function allows you to specify a Model or/and Plane for a new sketch. (Use CimSuiteSketcher::CloseSketch to close the sketch when finished).

CimatronE 9.0

CimatronE SDK User Guide 1115

Syntax status = NewSketch ( [Model], [Plane] ) Input: (Imodel/Object) Model Model (from the model container) If you want to use the model of the active file, use: (CimSuiteDM::GetActiveModel). By default uses current Model. Plane object (CimSuiteSolid::CreatePlane3P). By default uses current Plane. TRUE if successful.

Input: (ICimEntity/Object) Plane Return: (Boolean) status

CimSuiteSketcher::MoveTo
Description Moves to a new point to sketch a geometry and removes the constraint of the last geometry created. Syntax status = MoveTo ( PointX, PointY ) Input: (Double) PointX Input: (Double) PointY Return: (Boolean) status To X coordinate To Y coordinates TRUE if successful

CimSuiteSketcher::LineTo
Description Create a line in the open sketch, constrained to the last point of the last entity created (or set by CimSuiteSketcher::MoveTo). Syntax status = LineTo ( PointX, PointY, [IsContinues], [Id] ) Input: (Double) PointX Input: (Double) PointY Input: (Bool) IsContinues To X coordinate To Y coordinates Defines if create continues line from last point of drawn line. By default TRUE.

CimatronE 9.0

CimatronE SDK User Guide 1116

Output: (Long) Id Return: (Bool) status

ID of created line. TRUE if successful

CimSuiteSketcher::ImportSketcher
Description Performs import geometry from a specified file to the current open sketcher . Syntax status = ExportSketcher ( FileName ) Input: (String) FileName Specify the file name and path for sketcher to import. Return: (Boolean) status TRUE if successful

CimSuiteSketcher::GetSkObjectByID
Description Returns the sketcher object by its ID. Syntax status = GetSkObjectByID( Id, SkObject ) Input: (Long) ID Return: (Boolean) status ID of required sketcher object. TRUE if successful. Output: (ISkObject) SkObject Required sketcher object.

CimSuiteSketcher::ExportSketcher
Description Performs export of a current sketcher geometry to a specified file. Syntax status = ExportSketcher( iFileName As String )
Input: (String) FileName Specify the file name for sketcher output. Return: (Boolean) status TRUE if successful

CimSuiteSketcher::CreateSpline
Description Creates a spline in the open sketch.

CimatronE 9.0

CimatronE SDK User Guide 1117

Syntax Status = CreateSpline ( Coord, [Id] ) Input: (Double()) Coord Array of 2D points Output: (Long) Id Id of created line. Return: (Boolean) statusTRUE if successful

CimSuiteSketcher::CreatePolyLine
Description Creates a polyline in the open sketch. Syntax Status = CreatePolyLine ( Coord ) Input: (Double) Coord Array of doubles that represents polyline vertices. Return: (Boolean) statusTRUE if successful.

CimSuiteSketcher::CreateLine
Description Creates a line by two points in the open sketch. Syntax CreateLine ( StartX, StartY, EndX, EndY, [isContinues], [Id] ) Input: (Double) StartX Input: (Double) StartY Input: (Double) EndX Input: (Double) EndY Input: (Boolean) IsContinues Output: (Long) Id Start X coordinate Start Y coordinates End X coordinate End Y coordinates Defines if create continues a line from the last point of the drawn line. By default TRUE. Id of created line.

CimSuiteSketcher::CreateElipse
Description Creates an ellipse in the open sketch. Syntax

CimatronE 9.0

CimatronE SDK User Guide 1118

status = CreateElipse ( CenterX, CenterY, AxisX, AxisY, [Ratio], [IsConstrainted], [Id]) Input: (Double) CenterX Input: (Double) CenterY Input: (Double) AxisX Input: (Double) AxisY Input: (Double) Ratio Input: (Boolean) IsContinues Output: (Long) Id Return: (Boolean) Status X coordinate of ellipse center Ycoordinate of ellipse center X coordinate of main Axis Y coordinate of main Axis Ratio between secondary and main axis of ellipse. If Ratio = 1 - this is a circle with Radius = length of Axis. Defines if center of created ellipse will be constrained with last point of drawn line (only if the center is coincident with last point of previous line.. By default FALSE. Id of created ellipse. TRUE if successful

CimSuiteSketcher::CreateBox
Description Creates a box in the open sketch. Syntax CreateBox ( FirstXcorner, FirstYcorner, SecondXcorner, SecondYcorner ) Input: (Double) FirstXcorner Input: (Double) FirstYcorner Input: (Double) SecondXcorner Input: (Double) SecondYcorner X of lower left corner Y of lower left corner X of upper right corner Y of upper right corner

CimSuiteSketcher::CreateArc
Description
Creates an arc in an open sketch, constrained to the last point of the last entity created.

Syntax

CimatronE 9.0

CimatronE SDK User Guide 1119

status = CreateArc ( CenterX, CenterY, Radius, StartAngle, EndAngle, [SetConstrained], [Id] )

Input: (Double) CenterX Input: (Double) CenterY Input: (Double) Radius Input: (Double) StartAngle Input: (Double) EndAngle

X coordinate Y coordinate Radius Start angle (Deg.) End angle (Deg.)

Input: (suSetConstrained) Defines if the appropriate point of a created arc will be constrained by selecting the constraine points Last to First, Last to Last. The default is NONE. If the arc is a full SetConstrained circle then the circle center will be constrained. Output: (Long) Id Return: (Boolean) status Id of a created arc TRUE if successful

Remarks
In the case of an arc, the constraint is performed only if one of the ends of the arc is coincident with the last point of the previous line. In the case of a circle, only if the center is coincident with the last point of the previous line. To remove the constraint (reset the last point), use the MoveTo method.

CimSuiteSketcher::CloseSketch
Description Closes the opened sketch (see CimSuiteSketcher::NewSketch). Syntax Status = CloseSketch ( ) Return: (Ientity/Object) Entity Entity object

CimSuiteSketcher::CreateAngularDimension
Description
This function allows you to dimension an angle between two sketcher objects.

Syntax

Status = CreateAngularDimension ( iDimensionObjectID1, iDimensionObjectID2, iDimensionValue, iDimensionPosition, [o Input: (Long) iDimensionObjectID1 First object that forms an angle to be dimensioned.

CimatronE 9.0

CimatronE SDK User Guide 1120

Input: (Long) iDimensionObjectID2 Input: (Double) iDimensionValue Input: (Variant) iDimensionPosition Output: (Long) Id Return: (Boolean) Status

Second object that forms an angle to be dimensioned. Angle value. A position of dimension box. Defined by middle point on the lower edge of a box. Id of created angular dimension. TRUE if successful

CimSuiteSketcher::CreateLinearDimension
Description
This function allows you to dimension a line or create a linear dimension between two sketcher objects.

Syntax

Status = CreateLinearDimension ( iDimensionObjectID1, [iDimensionValue], [iDimensionPosition], [iD

Input: (Long) iDimensionObjectID1 Input: (Double) iDimensionValue Input: (Variant) iDimensionPosition Input: (Long) iDimensionObjectID2 Output: (Long) Id Return: (Boolean) Status

Id of the line to be dimensioned or first object in linear dimension. Dimension value. A position of a dimension box. Defined by middle point on lower edge of box. Second object first object in linear dimension. Id of created linear dimension. TRUE if successful

Note
The result of the execution of this function depends on the point position in the iDimensionPosition argument if a second object is specified. It is possible to get the horizontal or vertical position of a dimension line that defines different dimensional dependencies. It is recommended to put a point in the iDimensionPosition argument from the side from which you want to get a dimension. When only one object Id is set a result is always a parallel dimension line to a given object (must be a line).

CimSuiteSketcher::CreateOriginalPoint
Description

CimatronE 9.0

CimatronE SDK User Guide 1121

This function allows you to create a sketcher point at the beginning of an original sketcher UCS.

Syntax Status = CreateOriginalPoint( [oID] ) Return: (Long) oID Id of created original point. Return: (Boolean) Status TRUE if successful.

CimSuiteSketcher::CreateRadialDimension
Description
This function allows you to dimension a circle and arc sketcher objects.

Syntax

Status = CreateRadialDimension ( iDimensionObjectID1, [iDimensionValue], [iDimensionPosition], [oID])

Input: (Long) iDimensionObjectID1 Input: (Double) iDimensionValue Input: (Variant) iDimensionPosition Output: (Long) Id Return: (Boolean) Status

Id of circle or arc to be dimensioned. Dimension value. A position of a dimension box. Defined by middle point on lower edge of box. Id of created radial dimension. TRUE if successful

Note
When an arc is dimensioned the result is a radius. When a circle is dimensioned the result is a diameter.

CimSuiteSketcher::CreateRegularPoint
Description
This function allows you to create a sketcher point defined by its coordinates.

Syntax
Status = CreateRegularPoint( iPointCoord, [oID] ) Input: (Variant) iPointCoord Coordinates of point. Return: (Long) oID Return: (Boolean) Status Id of created original point. TRUE if successful.

CimatronE 9.0

CimatronE SDK User Guide 1122

CimSuiteSketcher::NewSketchFromSelectedFace
Description
This function allows you to create a sketcher from given planar (only) face loop's edges.

Syntax
Sketcher= NewSketchFromSelectedFace( iFace As ICimEntity ) Input (ICimEntity) iFace A face from which to make a sketcher.

Return: (ICimEntity) Sketcher A new created sketcher.

CimSuiteSketcher::ReadSketchFromFile
Description Read existing sketch from file. Syntax Status = ReadSketchFromFile ( iFileName )

Input: (String) iFileName Return: (Boolean) Status

Input file name TRUE if successful

CimSuiteSketcher::SaveSketchToFile
Description Save open sketch to file. Syntax Status = ReadSketchFromFile ( iFileName )

Input: (String) iFileName Return: (Boolean) Status

Input file name. TRUE if successful.

CimatronE 9.0

CimatronE SDK User Guide 1123

CimSuiteSolid

CimSuiteSolid
Properties None Methods ActivateObject ( ICimEntity iObject ) DeActivateObject ( ) Boolean GetActiveObject ( ICimEntity oObject) ICimEntity GetLastWireBody ( ) Variant ExtrudeDelta ( Double iExtDelta, Variant iSketcher, Optional suExtrudeSweepMode iExtrudeMode, Optional suExtrudeInvertOption iInvertOption, Optional suExtrudeSideOption iExtrudeSideOption, Optional Double iOpositDelta, Optional suExtrudeDraftSideOption iDraftDirection, Optional Double iDraftAngle, Optional ICimEntity oGetCreatedEntity ) Variant ExtrudeDeltaAndDirection ( Double iExtDelta, Variant iSketcher, Optional suExtrudeSweepMode iExtrudeMode, Optional iDirection Variant, Optional suExtrudeSideOption iExtrudeSideOption, Optional Double iOpositDelta, Optional suExtrudeDraftSideOption iDraftDirection, Optional Double iDraftAngle, Optional ICimEntity oGetCreatedEntity ) Boolean CreateDriveSolid ( ICimEntity iSection, ICimEntity iSpine, Optional suDriveSolidMode iParallelNormal, Optional suDriveSolidSweepMode iDriveSolidSweepMode, Optional ICimEntity oGetCreatedEntity ) Boolean CreateRound ( ICimEntityList iEntList, Optional Double iRadius, Optional ICimEntity oGetCreatedEntity ) Boolean CreateChamfer ( ICimEntityList iEntList, Optional Double iDistance, Optional ICimEntity oGetCreatedEntity ) Boolean CreateRevolve ( ICimEntity iAxis, ICimEntity iEnt, Optional Double iTheta, Optional suRevolveSweepMode iRevolveMode, Optional suRevolveInvertOption iInvertOption, Optional ICimEntity oGetCreatedEntity) Boolean RemoveGeometry ( ICimEntityList iEntLst, suMdRemoveGeometryMode oMode ) Boolean Scale_Uniform ( ICimEntityList iEntLst, Variant iPivotPoint, Double iTotalScaleValue ) Boolean Scale_NonUniform ( ICimEntityList iEntLst, ICimEntity iUCS, Variant iPivotPoint, Double iXVal, Double iYVal, Double iZVal )

CimatronE 9.0

CimatronE SDK User Guide 1124

Boolean Shell_FaceBody ( ICimEntity iBodyFace, Double iThicknessValue, iMode suMdShellMode, oGetCreatedEntity ICimEntity ) Boolean Shell_SolidBody ( ICimEntity iBodyObj, ICimEntityList iOpenFaces, Double iThicknessValue, iMode suMdShellMode, oGetCreatedEntity ICimEntity ) Boolean Stitch ( ICimEntityList iEntLst, Boolean iAddToActiveObject, Boolean iHealOption ) Boolean UnStitch ( ICimEntityList iEntLst, Boolean iSingleOption ) Boolean Hole ( ICimEntityList iPointEntLst, Double iDepth, Double iDiameter, Variant iDirection, HoleOption iHoleOption, ICimEntity iReferenceEntity, Boolean iDrilledType, Double iDrillAngle, HoleHeadType iHeadType, Double iHeadDepth, Double iHeadDiameter, Double iHeadAngle, ICimEntity oGetCreatedEntity ) Boolean Merge ( ICimEntityList iObjects, Optional ICimEntity oGetCreatedEntity ) Boolean Cut ( ICimEntityList iObjectsToCut, ICimEntityList iCuttingToolsEntities, Optional Boolean iDirectionSide, Optional ICimEntity oGetCreatedEntity ) Boolean Divide ( ICimEntityList iObjectsToDivide, ICimEntityList iDividingToolsEntities, Optional ICimEntity oGetCreatedEntity ) Boolean Loft ( ICimEntityList iEntLst, Optional Boolean iSingleFace, Optional Variant iFirstDirection, Optional suLoftSlopeOption iFirstSlopeOption, Optional Double iFirstSlopeWeight, Optional Variant iSecondDirection, Optional suLoftSlopeOption iScndSlopeOption, Optional Double iSecondSlopeWeight, Optional Boolean iOpenSolid, Optional ICimEntity oGetCreatedEntity ) Boolean DeleteProcedure ( ICimEntity iProcEnt )

CimSuiteSolid::GetLastWireBody
Description Returns the last wire body created, from the feature tree. Syntax ICimEntity = GetLastWireBody ( ) Return: (ICimEntity/Object) Sketch Sketch Object

CimSuiteSolid::ExtrudeDelta
Description Creates an extrusion. Syntax

CimatronE 9.0

CimatronE SDK User Guide 1125

Status = ExtrudeDelta ( ExtDelta, [Sketcher], [ExtrudeMode], [InvertOption], [SideOption], [OpositDelta], [DraftDirection], [DraftAngle], [oGetCreatedEntity] )

Input: (Double) ExtDelta Input: (Object) Sketcher

Extrude Delta parameter Sketcher object (see CimSuiteSketcher::CloseSketch) (Optional: Last sketch created) Set the Extrude mode (Optional: suExtrudeSweepModeNew) Set invert option (Optional: suExtrudeForward) Set Side option (Optional: suExtrudeOneSide) Oposite Delta if both sides are selected (Optional: 10) Set Draft Side option (Optional: suExtrudeDraftInside) Set the draft angle (Optional: 0) Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity)

Input: (suExtrudeSweepMode) ExtrudeMode Input: (suExtrudeInvertOption) InvertOption Input: (suExtrudeSideOption)SideOption Input: (Double)OpositDelta Input: (suExtrudeDraftSideOption)DraftDirection Input: (Double)DraftAngle Output: (ICimEntity)oGetCreatedEntity

Return: (Boolean) status

TRUE if successful.

CimSuiteSolid::CreateRound
Description Creates a Round. Syntax Status = CreateRound ( iEntList,[iRadius], [oGetCreatedEntity] )

CimatronE 9.0

CimatronE SDK User Guide 1126

Input: (EntityList/Object) iEntList Input: (Double) iRadius Output: (ICimEntity)oGetCreatedEntity

Entity list object. Radius for create Round (Optional: 10). Get the procedure of the created entity. (To get all the entities created in this procedure, you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

CimSuiteSolid::CreateRevolve
Description Creates a Revolve Surface. Syntax Status = CreateRevolve ( iAxis, iEnt, [iTheta],[iRevolveMode], [iInvertOption], [oGetCreatedEntity] )

Input: (ICimEntity/Object) iAxis Input: (ICimEntity/Object) iEnt Input: (Double) iTheta Input: (suRevolveSweepMode) iRevolveMode Input: (suRevolveInvertOption)iInvertOption Output: (ICimEntity)oGetCreatedEntity

Selected Axis for revolve. Selected Entity or Sketcher (Body) entity Theta for revolve (default = 90deg)< /p > Set Sweep mode (default = suRevolveForward)< /p > Set invert option (default = suRevolveForward)< /p > Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

CimatronE 9.0

CimatronE SDK User Guide 1127

CimSuiteSolid::CreateDriveSolid
Description Creates a Drive Solid object. Syntax status = CreateDriveSolid ( iSection, iSpine, [iParallelNormal],[icmDriveSolidSweepModeNew], [oGetCreatedEntity] ) Input: (ICimEntity/Object) iSection Input: (ICimEntity/Object) iSpine Input: (suDriveSolidMode)iParallelNormal Input: (suDriveSolidSweepMode) icmDriveSolidSweepModeNew Output: (ICimEntity)oGetCreatedEntity Input Section Edge. Input Spine Edge. Set Solid Mode option (default = cmDriveSolidNormal)< /p >< /p > Set Solid Sweep mode (default = cmDriveSolidSweepModeNew)< /p >< /p > Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity). TRUE if successful.

Return: (Boolean) status

CimSuiteSolid::ActivateObject
Description Activate object. Syntax ActivateObject ( iObject ) Input: (Entity/Object) iObject
Remark

An object to be activated.

Need to activate the relevant object before creating any solid procedure.

CimatronE 9.0

CimatronE SDK User Guide 1128

Example 1: creating a new second extrude object, after that Remove extrude, if the object will not be activated than the result of the remove procedure will be bad. Example 2: working with a multi-object in file, to be able to get a good result by remove procedure, it is necessary first to activate the relevant object.

CimSuiteSolid::DeActivateObject
Description Deactivate active object in model. Syntax DeActivateObject ( )
Remark

See "ActivateObject" how to activate specific object.

CimSuiteSolid::ExtrudeDeltaAndDirection
Description Creates an extrusion. Syntax Status = ExtrudeDeltaAndDirection ( ExtDelta, [Sketcher], [ExtrudeMode], [iDirection], [SideOption], [OpositDelta], [DraftDirection], [DraftAngle], [oGetCreatedEntity] )

Input: (Double) ExtDelta Input: (Object) Sketcher

Extrude Delta parameter Sketcher object (see CimSuiteSketcher::CloseSketch) (Optional: Last sketch created) Set the Extrude mode (Optional: suExtrudeSweepModeNew) Set Direction (Vector, array of 3 double) (Optional: CimatronE default) Set Side option (Optional: suExtrudeOneSide) Oposite Delta if both sides are selected

Input: (suExtrudeSweepMode) ExtrudeMode Input: (Variant) iDirection Input: (suExtrudeSideOption)SideOption Input: (Double)OpositDelta

CimatronE 9.0

CimatronE SDK User Guide 1129

(Optional: 10) Input: (suExtrudeDraftSideOption)DraftDirection Input: (Double)DraftAngle Output: (ICimEntity)oGetCreatedEntity Set Draft Side option (Optional: suExtrudeDraftInside) Set the draft angle (Optional: 0) Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) Return: (Boolean) status TRUE if successful

CimSuiteSolid::Loft
Description Creates a Loft solid object. Syntax Status = Loft ( iEntLst, [iSingleFace], [iFirstDirection], [iFirstSlopeOption], [iFirstSlopeWeight], [iSecondDirection], [iScndSlopeOption], [iSecondSlopeWeight], [iOpenSolid], [oGetCreatedEntity] )

Input: (EntityList/Object) iEntList Input: (Boolean) iSingleFace Input: (Variant) iFirstDirection

Entity list object. If FALSE (=0) then result will be Multi Face. By default set TRUE (= 1) - Single Face. Set a first slope direction Variant that contains double-type one-dimensional array of slope direction coordinates (x, y, z ).

Input: (suLoftSlopeOption) iFirstSlopeOption Input: (Double) iFirstSlopeWeight Input: (Variant) iSecondDirection

Set first slope option. Set first slope weight. Set a second slope direction. Variant that contains double-type one-dimensional array of slope direction coordinates (x, y, z ).

CimatronE 9.0

CimatronE SDK User Guide 1130

Input: (suLoftSlopeOption) iScndSlopeOption Input: (Double) iSecondSlopeWeight Input: (Boolean) iOpenSolid Output: (ICimEntity)oGetCreatedEntity

Set second slope option. Set second slope weight. If FALSE (=0) then the solid body will be close. By default set TRUE (= 1) - the solid body will be open. Get the procedure of created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

CimSuiteSolid::Merge
Description Merge selected faces. Syntax Status = Merge ( iObjects, oGetCreatedEntity ) Input: (EntityList/Object) iObjects Output: (ICimEntity) oGetCreatedEntity Entity list object. Get the procedure of a created entity. (To get all the entities created in this procedure, you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

Remarks

CimSuiteSolid::RemoveGeometry
Description This method represents the remove geometry procedure in CimatronE. Syntax Status = RemoveGeometry ( iEntList, oMode )

CimatronE 9.0

CimatronE SDK User Guide 1131

Input: (EntityList/Object) iEntList Input: (suMdRemoveGeometryMode) oMode Return: (Boolean) status

Entity list object for remove. Set mode of geometry for remove. TRUE if successful.

CimSuiteSolid::Scale_NonUniform
Description Set the scale for a selected Body's Non-Uniform option. Syntax Status = Scale_NonUniform ( iEntList,iUCS, iPivotPoint, iXVal, iYVal, iZVal ) Input: (EntityList/Object) iEntList Input: (ICimEntity) iUCS Input: (Variant) iPivotPoint Input: (Double) iXVal Input: (Double) iYVal Input: (Double) iZVal Return: (Boolean) status An entity list object (Can include only Body objects). Set the reference UCS object. Set a pivot point (An array of 3 double) Set the scale value in the X direction Set the scale value in the Y direction Set the scale value in the Z direction TRUE if successful.

Remarks

CimSuiteSolid::Scale_Uniform
Description Set the scale for a selected Body's Uniform option. Syntax Status = Scale_Uniform ( iEntList, iPivotPoint, iTotalScaleValue ) Input: (EntityList/Object) iEntList Input: (Variant) iPivotPoint Input: (Double) iTotalScaleValue Return: (Boolean) status An entity list object (can include only Body objects). Set a pivot point (array of 3 double). Set a total scale value. TRUE if successful.

Remarks

CimatronE 9.0

CimatronE SDK User Guide 1132

CimSuiteSolid::Shell_FaceBody
Description Create a Shell on a selected face (body) object. Syntax Status = Shell_FaceBody ( iBodyFace, iThicknessValue, [iMode], [oGetCreatedEntity] )

Input: (ICimEntity) iBodyFace Input: (Double) iThicknessValue Input: (suMdShellMode) iMode Output: (ICimEntity) oGetCreatedEntity

Set the Body face. Set the Thickness value of a shell. Set the shell side.

Get the procedure of a created entity. (To get all the entities created in this procedure, you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

CimSuiteSolid::Shell_SolidBody
Description Creates a Shell on a selected face (body) object. Syntax Status = Shell_SolidBody ( iBodyObj, iOpenFaces, iThicknessValue, [iMode], [oGetCreatedEntity] )

Input: (ICimEntity) iBodyObj

Set Body object.

CimatronE 9.0

CimatronE SDK User Guide 1133

Input: (ICimEntityList) iOpenFaces Input: (Double) iThicknessValue Input: (suMdShellMode) iMode Output: (ICimEntity) oGetCreatedEntity

Set open faces.

Set the Thickness value. Set the shell side.

Get the procedure of a created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

CimSuiteSolid::Stitch
Description Stitch selected faces. Syntax Status = Stitch ( iEntList, iAddToActiveObject, iHealOption ) Input: (EntityList/Object) iEntList Input: (Boolean) iAddToActiveObject Input: (Boolean) iHealOption Return: (Boolean) status Entity list object (can include only faces). True = Add selected faces to an active object False = Create Stitch from selected faces. True = Heal and Stitch False = Stitch only TRUE if successful.

Remarks

CimSuiteSolid::UnStitch
Description Un-Stitch selected faces. Syntax

CimatronE 9.0

CimatronE SDK User Guide 1134

Status = UnStitch ( iEntList, iSingleOption ) Input: (EntityList/Object) iEntList Input: (Boolean) iSingleOption Return: (Boolean) status Entity list object (can include face objects). True = As Single option False = As Group option TRUE if successful.

Remarks
If iSingleOption = False (as Group) it means that all selected faces will comprise one object, as long as the faces share edges. Toggle As Group to Single if you want each face to be a separate object.

CimSuiteSolid::CreateChamfer
Description Create a Chamfer. Syntax Status = CreateChamfer ( iEntList,[iDistance], [oGetCreatedEntity] )

Input: (EntityList/Object) iEntList Input: (Double) iDistance Output: (ICimEntity)oGetCreatedEntity

Entity list object. Distance for create Chamfer (Optional: 10). Get the procedure of a created entity. (To get all the entities created in this procedure, you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

CimSuiteSolid::Cut
Description Cut selected objects. Syntax Status = Cut ( iObjectsToCut, iCuttingToolsEntities, [iDirectionSide], oGetCreatedEntity )

CimatronE 9.0

CimatronE SDK User Guide 1135

Input: (EntityList/Object) iObjectsToCut Input: (EntityList/Object) iCuttingToolsEntities Input: (Boolean) iDirectionSide Output: (ICimEntity) oGetCreatedEntity

Entity list object that includes objects to be cut.

Entity list object that includes the cutting tools.

Change default direction If TRUE (=1) then change default direction. Get the procedure of created entity. (To get all the entities created in this procedure, you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

Remarks

CimSuiteSolid::DeleteProcedure
Description Delete an existing procedure. Syntax Status = DeleteProcedure ( iProcEnt ) Output: (ICimEntity/Object) iProcEnt Return: (Boolean) status A procedure to be deleted. TRUE if successful.

Remarks

CimSuiteSolid::Divide
Description Divide selected objects. Syntax Status = Divide ( iObjectsToDivide, iDividingToolsEntities, oGetCreatedEntity )

CimatronE 9.0

CimatronE SDK User Guide 1136

Input: (EntityList/Object) iObjectsToDivide Input: (EntityList/Object) iDividingToolsEntities Output: (ICimEntity) oGetCreatedEntity

Entity list object that include objects to be divide. Entitt list object that include the cutting tools Get the procedure of created entity. (To get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (Boolean) status

Remarks

CimSuiteSolid::GetActiveObject
Description Get active object. Syntax GetActiveObject ( oObject ) Output: (Entity/Object) oObject Return: (Boolean) status
Remark

Get the active object. TRUE if successful.

It is necessary to activate the relevant object before creating any Solid procedure. Using this method you can check if the active object is the one you need; to activate another object, use ActivateModel.

CimSuiteSolid::Hole
Description Create Hole procedure. Syntax Status = Hole ( iPointEntLst, iDepth, iDiameter, iDirection, iHoleOption, iReferenceEntity, iDrilledType, iDrillAngle, iHeadType, iHeadDepth, iHeadDiameter, iHeadAngle, [oGetCreatedEntity] )

CimatronE 9.0

CimatronE SDK User Guide 1137

Input: (EntityList/Object) iPointEntLst Input: (Double) iDepth Input: (Double) iDiameter Input: (Variant) iDirection Input: (HoleOption) iHoleOption Input: (ICimEntity) iReferenceEntity Input: (Boolean) iDrilledType

Entity list object (Includes only points).

Set the Depth of the hole. Set the Diameter of the hole. Set the Hole direction (Vector, array of 3 doubles) Set the Hole depth option Set Depth by input reference entity (only if HoleOption = cmHoleToReference) Set Drilled type True = Drilled False = Un-Drilled Set Drill angle (only is iDrilledType = True) Set Head type.

Input: (Double) iDrillAngle Input: (HoleHeadType) iHeadType Input: (Double) iHeadDepth Input: (Double) iHeadDiameter Input: (Double) iHeadAngle Output: (ICimEntity) oGetCreatedEntity

Set Head depth (only if HoleHeadType <> cmNoHead) Set Head diameter (only if HoleHeadType <> cmNoHead) Set Head angle (only if HoleHeadType <> cmNoHead) Get the procedure of created entity. (to get all the entities created in this procedure you need to use CimSuiteGeomData::GetEntitiesRelatedByFilter by passing this return entity) TRUE if successful.

Return: (bool) status

CimatronE 9.0

CimatronE SDK User Guide 1138

CimSuiteAssy

CimSuiteAssy
Properties
None.

Methods Boolean AddComponent iModel2Add As IModel, iPosition() As Double, Optional ioInstance As IAssInstance = Nothing, Optional oGetCreatedEntity As ICimEntity)

Boolean Connect (iEntity1 As ICimEntity, iEntity2 As ICimEntity, iConnectMode As suConnectMode , Optional iAlignMode As suConnectAlignmentMode = suConnectNoAlignmentMode, Optional iFlipMode As suConnectFlipMode = suConnectNoFlipMode, Optional iAngle As Double = 0, Optional iDist As Double = 0,
Optional iDelta As Variant, Optional iRotation As Variant, Optional oGetCreatedEntity As ICimEntity)

Boolean GetAddDefinitions (iAssInst As IAssInstance, oAddPosition As Variant, oParentInstance As IAssInstance ); Boolean DeleteComponent (iAssInstance As IAssInstance ). Boolean AddNewPartComponent ( iDocPathName As String, Optional iAddModelType As AddModelType = cmPartModel, Optional iDocUnits As suDocumentEnumUnit = suMillimeter, Optional iPosition As Variant, Optional oCreateInstance As IAssInstance) Boolean ActivateAssemblyInstance (iInstance As IAssInstance) Boolean ActivateRootAssembly ( ) Boolean GetActiveInstance ( oActiveInstance As IAssInstance )

CimSuiteAssy::AddComponent
Description This function allows you to add components to an assembly file.

CimatronE 9.0

CimatronE SDK User Guide 1139

Syntax Status = AddComponent ( Model2Add, Position(), [Instance], [oGetCreatedEntity] ); Input: (IModel/Object) Model2Add Input: (IAssInstance/Object) Instance
Input: (ICimEntity) oGetCreatedEntity

The model to be added to an assembly file.

Input: (Double()) Position The translation point relative to an assembly model UCS. Optional. An assembly instance under which the model will be added. By default, the model will be added under the RootInstance of assembly.
Optional. The procedure of created entity. May be used to make queries on entity that created by procedure.

Return: (Boolean) Status

TRUE if add procedure is successful.

CimSuiteAssy::Connect
Description This function allows you to connect components to each other in an assembly file. Syntax Status = Connect( iEntity1, iEntity2, iConnectMode, [iAlignMode], [iFlipMode], [iAngle], [iDist], [iDelta], [iRotation], [oGetCreatedEntity] ); Input: (ICimEntity/Object) iEntity1 Input: (ICimEntity/Object) iEntity2 Input: (suConnectMode) iConnectMode Input: (suConnectAlignmentMode) [iAlignMode] Input: (suConnectFlipMode) [iFlipMode] Input: (Double) [iAngle] Input: (Double) [iDist] Input: (Variant) [iDelta] Entity to which to connect. Entity to be connected. Connect mode. Optional. Align mode. By default suConnectNoAlignmentMode. Optional. Flip mode. By default suConnectNoFlipMode. Optional. Angle. Used for some Assembly connection types. For more details see the Assembly Online Help. Optional. Distance. Used for some Assembly connection types. For more details see the Assembly Online Help. Optional. Delta defines entity translation relative to each other. 3-element array: shift by X axis, shift by Y-axis, shift by Zaxis. Used for some Assembly connection types. For more

CimatronE 9.0

CimatronE SDK User Guide 1140

details see the Assembly Online Help. Input: (Variant) [iRotation] Optional. Rotation defines the rotation of the entity's UCS axes relative to each other. 3-element array: rotation by X-axis, rotation by Y-axis, rotation by Z-axis. Used for some Assembly connection types. For more details see the Assembly Online Help.
Optional. The procedure of created entity. May be used to make queries on entity that created by procedure.

Input: ( ICimEntity ) oGetCreatedEntity

Return: (Boolean) Status Note

TRUE if add procedure successful.

All of above arguments that defines connection exclude Entity1, Entity2, ConnectModeaffects on second connected entity Entity2.

CimSuiteAssy::DeleteComponent
Description
This function allows you to delete components from an assembly file.

Syntax
Status = DeleteComponent ( iAssInstance ); Input: (AssInstance) iAssInstance A component to be deleted. Return: (Boolean) Status TRUE if delete succeed.

CimSuiteAssy::GetAddDefinitions
Description
This function allows you to get the parameters with which a specific component was added to an assembly.

Syntax
Status = GetAddDefinitions ( iAssInst, oAddPosition, oParentInstance ); Input: (AssInstance) iAssInst Input: (Variant) oAddPosition A component with which to get add parameters. The position where a component was placed in an assembly.

Input: (AssInstance) oParentInstance The parent component under which a component was placed in an assembly. Return: (Boolean) Status TRUE if parameters retrieve was successful.

CimSuite API Enums

CimSuite API Enumerator Types


DisplayMode EditMode

CimatronE 9.0

CimatronE SDK User Guide 1141

ExeCmd-CategorysName RenderMode SelectionMode SolidMode suAttributeEnumType suConnectAlignmentMode suConnectFlipMode suConnectMode suDIApplicationType suDIDocumentUnits suDocumentEnumType suDocumentEnumUnit suDriveDirection suDriveParallelNormal suDriveSolidMode suDriveSolidSweepMode suEdgeType suELMType suEntityEnumType suEntityType suExtrudeDraftSideOption suExtrudeInvertOption suExtrudeSideOption suExtrudeSweepMode suLoftSlopeOption suMdCopySingleMode suMdRemoveGeometryMode suMdShellMode suMdTextAlignMode suMeshMode suOffsetMode suPointType suRevolveInvertOption suRevolveSweepMode suSetConstrained suSketchObjectType suSplineMode

CimatronE 9.0

CimatronE SDK User Guide 1142

suSplineSlopeOption suSplitFPointSection suSplitFProjection suSurfType suTrimFPointSection suTrimFProjection suTypePoint suViewProjectType

DisplayMode
Enumerator Iso_Picture Top_Picture Front_Picture Zoom_In Zoom_Out Right_Picture Last_Picture ZoomFactor Silhouette Open_Edges Rotate_By_Angle Enumerator value 1 2 3 4 5 6 7 8 9 10 11 Remark

EditMode
Enumerator Undo = 1 Redo = 2 Enumerator value 1 2 Remark

Execute Command - Category/Command Names


Category name "&Render Modes" Command name "Wireframe" "HiddenLine" "PartialHiddenLine" Remarks Display Commands

CimatronE 9.0

CimatronE SDK User Guide 1143

"Shaded" "&Display" "Zoom All" "Zoom In" "Zoom Out" "Rotate By Angle" "Isometric" "Top" "Front" "Right" "Last Picture" "Pictures Library" "Ambient Light" "ZoomFactor" "Silhouette" "Open Edges" "&DynamicTools" "&Zoom" "&Pan" "&Rotate" "Filter Options..." "Clear Selection" "Select All" "Sets" "Update" "Filter Objects" "Filter Faces" "Filter Edges" "Filter Sketches" "Filter Points" "Filter Datum" "Filter Assembly" "Filter Parts" "Filter Views" "Line Color" "Line Style" "Line Width" "Hide" "Show" "Undo" "Redo" Display Commands Display Commands

"&Edit"

Display Commands

"Quick Filter"

Display Commands

"Line Attributes"

Display Commands

"HideShow" "Edit"

Display Commands General Command

CimatronE 9.0

CimatronE SDK User Guide 1144

"PDM Operations"

"Set Projects" "Fix Database" "Query" "New" "File" "Open" "Close" "Delete"

General Command

"File1"

General Command

"File2"

"Save" General Command "Save As..." "Save All" "Copy" "Only selected files" "Include dependent files" "Receive" "Backup" "PrintPreview" "Plot Setup" "Print" "Plot" "Properties" "Exit" "New" "Cascade" "Tile" "Arrange" "More" General Command

"File3"

"File4" "Application" "Window"

General Command General Command General Command

"Help"

"Contents & Index F1" General Command "What's This? Shift+F1" "Tutorial" "About Elite 4.0" "Timer" "Suppress" "Un-Suppress all" "Move Linear" "Move Locate" "Move Radial" General Command General Command Modeler Commands Modeler Commands

"About" "Diagnostic" "Edit2" "Edit3"

CimatronE 9.0

CimatronE SDK User Guide 1145

"Move Mirror" "Single" "LinearArray" "RadialArray" "Mirror" "RemoveFace" "Edit5" "Curves1" "Curves2" "Regenerate" "Replay" "Sketcher" "Composite" "Parting" "Line Regular" "Spline" "Helix" "FromFace" "Intersection" "Silhouette" "Offset-Edge" "Connect Component" "Sweep" "FacesRevolve" "Blend" "Drive" "Mesh" "Bounded Face" "Parting Face" "Offset-Face" "Extend" "Stitch" "UnStitch" "Split Face" "FaceTrim" "Boundary" "Islands" "Fair" "Slope" "AddMExtrude" "AddMRevolve" "AddMDrive" "RemoveMExtrude" Modeler Commands Modeler Commands Modeler Commands

"Assembly" "Faces"

Modeler Commands Modeler Commands

"Faces1"

Modeler Commands

"Faces2"

Modeler Commands

"Solid1"

Modeler Commands

CimatronE 9.0

CimatronE SDK User Guide 1146

"RemoveMRevolve" "RemoveMDrive" "NewMExtrude" "NewExtrudeMidPlane" "NewMRevolve" "NewMDrive" "Solid2" "FaceFaceRound" "Spine - Face Round" "Round" "Chamfer" "Taper" "Shrinkage" "Hole" "Shell" "ObjDivide" "ContDivide" "Merge" "Cut" "From File" "New" "Component" "MainAssembly" "Object Activate" "Object Deactivate" "Parallel Plane" "Normal Plane" "Main Plane" "Inclined Plane" "Through Plane" "Axis Parallel" "Axis Normal" "Axis Intersection" "Axis Through" "UCS By Geom" "UCS Copy" "Geometry" "From File" "To File" "QuickSplit" "Dynamic Section" "Draft Angle Analysis" Modeler Commands

"Solid3"

Modeler Commands

"Environment" "Environment1"

Modeler Commands Modeler Commands

"Environment2"

Modeler Commands

"File"

Modeler Commands

"Tools2"

Modeler Commands

CimatronE 9.0

CimatronE SDK User Guide 1147

"Arrange Normal" "CheckEntity" "Compare" "Modeler Commands" "FailureMng" "Modeler tree" "Customize" "Menu" "Accelerator" "ToolBar" "Create Sheet" Modeler Commands Pull Commands

"Sheet1" "Sheet3"

Drafting Commands

"Sheet Standard" Drafting Commands "Sheet View Attributes" "Edit Frame" "Simple" "Add Alignment" "Character Map" "CharSize" "DimensCreate" "Datum_Target" "Surface Roughness" "Section Line" "Center" "Symmetry" "Hatch" "Arrow" "Id Number" "Text" "Write BOM file" "Bom" "Sketcher" "Contour" Drafting Commands Drafting Commands

"Sheet4" "Tools"

"Symbols1" "Symbols2" "Symbols3 "Symbols4" "Symbols5"

Drafting Commands Drafting Commands Drafting Commands Drafting Commands Drafting Commands

"Symbols6" "Curves"

Drafting Commands Drafting Commands

RenderMode
Enumerator Wireframe Enumerator value 1 Remark

CimatronE 9.0

CimatronE SDK User Guide 1148

HiddenLine PartialHiddenLine Shaded

2 3 4

SelectionMode
Enumerator Clear_Selection = 1 Select_All = 2 Enumerator value 1 2 Remark

SolidMode
Enumerator AddMExtrude AddMRevolve AddMDrive RemoveMExtrude RemoveMRevolve RemoveMDrive NewMExtrude NewExtrudeMidPlane NewMRevolve NewMDrive Enumerator value 0 1 2 3 4 5 6 7 8 9 Remark

suAttributeEnumType
Enumerator suAttColor suAttStyle suAttWidth suAttVisibility suAttBlankLevel suAttDouble cmAttDoubleSaveable suAttInteger Enumerator value 0 1 2 3 4 5 6 7 This type of attribute is not saved with file. This type of attribute is not saved with file. Remark There is only one, unnamed attribute per entity. There is only one, unnamed attribute per entity. There is only one, unnamed attribute per entity.

CimatronE 9.0

CimatronE SDK User Guide 1149

cmAttIntegerSaveable suAttString suAttAxis suAttStrList suAttDispCurve suAttQuickSplit cmAttNone

8 9 10 11 12 13 14

suConnectAlignmentMode
Enumerator
suConnectNoAlignmentMode suConnectAntiAlignmentMode suConnectAlignmentMode

Enumerator value 0 1 2

Remark

suConnectFlipMode
Enumerator
suConnectNoFlipMode suConnecteFlipPosMode suConnectFlipNegMode

Enumerator value 0 1 2

Remark

suConnectMode
Enumerator
suConnectModeCoincident suConnectModeParallel suConnectModePerpendicular suConnectModeTangent suConnectModeConcentric suConnectModeDistance suConnectModeAngle

Enumerator value 0 1 2 3 4 5 6

Remark

suDIApplicationType
Enumerator suIGES Enumerator value 1 Remark

CimatronE 9.0

CimatronE SDK User Guide 1150

suPFM suPARASOLID suSTEP suVDA suDWG suDXF suSAT suSTL suCATIA

2 3 4 5 6 7 8 9 10

suDIDocumentUnits
Enumerator suDIFileUnits suDIMM suDIInch Enumerator value 0 1 2 Remark

suDocumentEnumType
Enumerator suPart suAssembly suNc suDrafting Enumerator value 1 2 4 8 Remark

suDocumentEnumUnit
Enumerator suMillimeter suInch Enumerator value 0 1 Remark

CimatronE 9.0

CimatronE SDK User Guide 1151

suDriveDirection
Enumerator suDriveForward suDriveReversed Enumerator value 0 1 Remark

suDriveParallelNormal
Enumerator suDriveNormal suDriveParallel Enumerator value 0 1 Remark

suDriveSolidMode
Enumerator suDriveSolidParallel suDriveSolidNormal Enumerator value 0 1 Remark

suDriveSolidSweepMode
Enumerator suDriveSolidSweepModeNew suDriveSolidSweepModeAdd suDriveSolidSweepModeRemove Enumerator value 0 1 2 Remark

suEdgeType
Enumerator suPoint suLine suArc suEllipse suSpline Enumerator value 0 1 2 3 4 Remark

suELMtype

CimatronE 9.0

CimatronE SDK User Guide 1152

Enumerator suLmXML suLmSCB

Enumerator value 1 2

Remark

suEntityEnumType
Enumerator suEntityNotDefined suBody suFace suEdge suVertex suLoop suPlane suAxis suUcs suPoint suInstance suProcedure suNoDisplayEnt suDefaultEntity suPointData suDraftingSheet suDraftingView suDraftingText suTotalNum Enumerator value Remark 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

suEntityType
Enumerator suGeomPoin suGeomCurve Enumerator value 0 1 Remark

CimatronE 9.0

CimatronE SDK User Guide 1153

suGeomSurface

suExtrudeDraftSideOption
Enumerator suExtrudeDraftInside suExtrudeDraftOutside Enumerator value 0 1 Remark

suExtrudeInvertOption
Enumerator suExtrudeForward suExtrudeReversed Enumerator value 0 1 Remark

suExtrudeSideOption
Enumerator suExtrudeOneSide suExtrudeBothSide Enumerator value 0 1 Remark

suExtrudeSweepMode
Enumerator suExtrudeSweepModeNew suExtrudeSweepModeAdd suExtrudeSweepModeRemove Enumerator value 0 1 2 Remark

suLoftSlopeOption

Enumerator suLoftOptionFree suLoftOptionTangent suLoftOptionConstant

Enumerator value 0 1 2

Remark

suMdCopySingleMode

CimatronE 9.0

CimatronE SDK User Guide 1154

Enumerator cmMdCopySinglePivotPoint cmMdCopySingleXYZDelta cmMdCopySingleAlongVector cmMdCopySingleFromUcsToUcs

Enumerator value 0 1 2 3

Remark

suMdTextAlignMode
Enumerator suMdRemoveGeometryModeUndefined suMdRemoveGeometryModeEdge suMdRemoveGeometryModeFace suMdRemoveGeometryModeBody suMdRemoveGeometryModePlane suMdRemoveGeometryModeAxis suMdRemoveGeometryModePoint suMdRemoveGeometryModeWcs Enumerator value 0 1 2 3 4 5 6 7 Remark

suMdShellMode

Enumerator suMdShellInside suMdShellOutside

Enumerator value 0 1

Remark

suMdTextAlignMode

Enumerator suMdTextLeftAlign

Enumerator value 0

Remark

CimatronE 9.0

CimatronE SDK User Guide 1155

suMdTextCenterAlign suMdTextRightAlign

1 2

suMeshMode

Enumerator suMeshModeGap suMeshModeAccurate

Enumerator value 0 1

Remark

suOffsetMode
Enumerator suKeep suRound suExtend suNatural Enumerator value 0 1 2 3 Remark

suPointType

Enumerator suPtStart suPtEnd suPtMid suPtCenter suPtClose suPtScreen suPtIntersc suPtQuadrant suPtPierce suPtPoint suPtKeyIn

Enumerator value 1 2 3 4 5 6 7 8 9 10 11

Remark

CimatronE 9.0

CimatronE SDK User Guide 1156

suPtDelta suPtTpNode suPtUcsOrg suPtSection suPtClose2Face suPtPointTotalNum suPtDefault

12 13 14 15 16 17 100 Default point include: cmPtCenter, cmPtEnd, cmPtMid, cmPtPoint, cmPtUcsOrg

suRevolveInvertOption
Enumerator suRevolveForward suRevolveReversed Enumerator value 0 1 Remark

suRevolveSweepMode
Enumerator suRevolveSweepModeNew suRevolveSweepModeAdd suRevolveSweepModeRemove Enumerator value 0 1 2 Remark

suSetConstrained

Enumerator suNone suLastToFirst suLastToLast

Enumerator value 0 1 2

Remark

suSketchObjectType

Enumerator suSketchOriginPoint

Enumerator value 0

Remark

CimatronE 9.0

CimatronE SDK User Guide 1157

suSketchX_Axis suSketchY_Axis suSketchLine suSketchArc suSketchEllipse suSketchSpline suSketchPoint suSketchConstraint suSketchLinearDim suSketchRadialDim suSketchAngularDim

1 2 3 4 5 6 7 8 9 10 11

suSplineMode

Enumerator suSplineOpen suSplineClose

Enumerator value 0 1

Remark

suSplineSlopeOption
Enumerator suSplineFree = 0 suSplineConstant = 1 Enumerator value 0 1 Remark

suSplitFPointSection
Enumerator suSplitFDefSection suSplitFCrossSection Enumerator value 0 1 Remark

suSplitFProjection
Enumerator suSplitFProjectionNormal Enumerator value 0 Remark

CimatronE 9.0

CimatronE SDK User Guide 1158

suSplitFProjectionDirection

suSurfType
Enumerator suGeomSurfPlane suGeomSurfSphere suGeomSurfCone suGeomSurfTorus suGeomSurfSpline Enumerator value 0 1 2 3 4 Remark

suTrimFPointSection
Enumerator suTrimFDefSection suTrimFCrossSection Enumerator value 0 1 Remark

suTrimFProjection
Enumerator suTrimFProjectionNormal suTrimFProjectionDirection Enumerator value 0 1 Remark

suTypePoint
Enumerator suStart suMid suEnd Enumerator value 0 1 2 Remark

suViewProjectType
Enumerator suViewProjTop suViewProjFront Enumerator value 0 1 Remark

CimatronE 9.0

CimatronE SDK User Guide 1159

suViewProjBottom suViewProjRight suViewProjLeft suViewProjRear

2 3 4 5

CimSuiteGeneral

CimSuiteGeneral
Properties None Methods Boolean CreateNewSetsByEntiyType ( String iSetsName, suEntityEnumType iEntityType ) Boolean CreateNewSetsByColor ( String iSetsName, Long iColor ) Boolean CreateNewSetsByEntityList ( String iSetsName, ICimEntityList inEntityList ) Boolean GetSetsNames ( Variant oSetsList ) Boolean AddEntityToExistingSets ( String iSetsName, ICimEntity inEntity) Boolean HideShowSets ( String iSetsName, Boolean iShow) Integer GetLastInteractionID ( ) CloseInteractionsByID ( Integer iInteractionID ) Boolean GetInteractionsIdList ( Variant oInteractionList) IInteraction GetInteractionObject ( Integer iInteractionID) Boolean CheckInteractionStatus ( Integer iInteractionID) Boolean CreateUserDialog ( String iControl, String iControlTitle, Integer iControlXPos, Integer iControlYPos, Integer iControlHeight, Integer iControlWidth, Integer iXPos, Integer iYPos, Boolean iShowTitlebar, Integer oInteractionID ) Boolean SetPrompt ( String iStringPrompt ) Boolean SetSelectionList ( ICimEntityList iEntLst ) Boolean GetSelectionList ( ICimEntityList oEntLst ) Boolean UpdateSelectionList ( iAdd Boolean, ICimEntityList iEntLst ) Boolean SuspendDisplay ( Boolean Suspend ) Boolean RenderModeBySelection ( ICimEntityList iEntLst, suRenderOption iRenderMode, Double iTransparencyLevel )

CimatronE 9.0

CimatronE SDK User Guide 1160

CimSuiteGeneral::CreateNewSetsByEntityType
Description
This function allows you to create new sets in CimatronE by selecting the type of entities (filter).

Syntax
Status = CreateNewSetsByEntiyType ( iSetsName, iEntityType );

Input: (String) iSetsName


Return: (Boolean) Status

Name of Sets
TRUE if succeed to create new sets.

Input: (suEntityEnumType) iEntityType Type of entities

CimSuiteGeneral::CreateNewSetsByColor
Description
This function allows you to create new sets in CimatronE by selecting the color of entities (filter).

Syntax
Status = CreateNewSetsByColor ( iSetsName, iColor );

Input: (String) iSetsName Name of Sets


Input: (iColor) iEntityColor Color of entities Return: (Boolean) Status TRUE if succeed to create new sets.

CimSuiteGeneral::SetPrompt
Description
This function allows you to create a string message in the CimatronE prompt area.

Syntax
Status = SetPrompt ( iStringPrompt );

Output: (String) iStringPrompt Set string. Return: (Boolean) Status TRUE if successful.

CimatronE 9.0

CimatronE SDK User Guide 1161

CimSuiteGeneral::GetSetsNames
Description
This function allows you to get the List of all set names in the active file.

Syntax
Status = GetSetsNames ( oSetsList );

Output: (Variant) oSetsList List of all set names. Return: (Boolean) Status TRUE if successful.

CimSuiteGeneral::GetLastInteractionID
Description
This function allows you to get the ID of the last created interaction.

Syntax
InteractionID = GetLastInteractionID ( );

Return: (Integer) InteractionID Last created interaction ID.

CimSuiteGeneral::GetInteractionsIdList
Description
This function allows you to get the List of all opened interaction ID's.

Syntax
Status = GetInteractionsIdList ( oLst );

Output: (Variant) oLst List of all opened interaction ID's. Return: (Boolean) Status TRUE if successful.

CimSuiteGeneral::GetInteractionObject
Description
This function allows you to get the interaction object by ID.

Syntax

CimatronE 9.0

CimatronE SDK User Guide 1162

IInteraction = GetInteractionObject ( iInteractionID );

Output: (Integer) iInteractionID interaction ID. Return: (IInteraction) Interaction object.

CimSuiteGeneral::CreateNewSetsByEntityList
Description
This function allows you to create new sets in CimatronE by selecting entities.

Syntax
Status = CreateNewSetsByEntityList ( iSetsName, inEntityList );

Input: (String) iSetsName


Return: (Boolean) Status

Name of Sets TRUE if successfully creates new sets.

Input: (ICimEntityList) inEntityList Entity List that will be inside the Sets.

CimSuiteGeneral::CloseInteractionsByID
Description
This function allows you to close an open interaction by ID.

Syntax

CloseInteractionsByID ( InteractionID );

Input: (Integer) InteractionID set ID of opened interaction.

CimSuiteGeneral::HideShowSets
Description
This function allows you to Hide/Show selected sets.

Syntax
Status = HideShowSets ( iSetsName, [iShow] );

Input: (String) iSetsName Set name.

CimatronE 9.0

CimatronE SDK User Guide 1163

Input: (Boolean) iShow

Default TRUE(1) Show sets FALSE(0) Hide sets.

Return: (Boolean) Status TRUE if successful.

CimSuiteGeneral::CheckInteractionStatus
Description
This function allows you to check if interaction is activated.

Syntax
Status = CheckInteractionStatus ( iInteractionID );

Input: (Integer) iInteractionID Interaction ID. Return: (Boolean) Status TRUE if interaction is still active.

CimSuiteGeneral::AddEntityToExistingSets
Description
This function allows you to add an entity to existing sets in CimatronE.

Syntax
Status = CreateNewSetsByEntiyType ( iSetsName, inEntity );

Input: (String) iSetsName


Return: (Boolean) Status

Name of existing Sets


TRUE if successful

Input: (ICimEntity) inEntity Entity to add

CimSuiteGeneral::GetSelectionList
Description
This function allows you to get the selection list from CimatronE.

Syntax
Status = GetSelectionList ( oEntLst );

Output: (ICimEntityList) oEntLst Entity List that is in the selection list.


Return: (Boolean) Status

TRUE if successful.

CimatronE 9.0

CimatronE SDK User Guide 1164

CimSuiteGeneral::SetSelectionList
Description
This function allows you to set the selection list in CimatronE by input selection entities.

Syntax
Status = SetSelectionList ( iEntLst );

Input: (ICimEntityList) iEntLst Entity List that will be in the selection list.
Return: (Boolean) Status

TRUE if successful.

CimSuiteGeneral::UpdateSelectionList
Description
This function allows you to add/remove entities to/from the selection list.

Syntax
Status = SetSelectionList ( iAdd, iEntLst );

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) iEntLst Entity List that will be in the selection list.
Return: (Boolean) Status

TRUE if successful.

CimSuiteGeneral::SuspendDisplay
Description
This function allows you to Suspend/Resume the display area.

Syntax
Status = SuspendDisplay ( iSuspend );

Output: (Boolean) iSuspend TRUE = Suspend display FALSE = Resume display Return: (Boolean) Status TRUE if successful.

CimatronE 9.0

CimatronE SDK User Guide 1165

CimSuiteGeneral::CreateUserDialog
Description
This function allows you to place a User Control on a CimatronE dialog.

Syntax
Status = CreateUserDialog ( iControl, iControlTitle, iControlXPos,iControlYPos, iControlHeight, iControlWidth, iXPos, iYPos, iShowTitlebar, oInteractionID );

Input: (String ) iControl Input: (String ) iControlTitle Input: (Integer ) iControlXPos Input: (Integer ) iControlYPos Input: (Integer ) iControlWidth Input: (Integer ) iXPos Input: (Integer ) iYPos

Set an ActiveX control (OCX) in the CimatronE dialog. Set the dialog title. Set the ActiveX control position in the dialog (in pixel units). Set the ActiveX control position in the dialog (in pixel units). Set the ActiveX control width (in pixel units). Set the dialog position (in pixel units). Set the dialog position (in pixel units).

Input: (Integer ) iControlHeight Set the ActiveX control Height (in pixel units).

Input: (Boolean ) iShowTitlebar Set whether the title bar will be disabled or enabled. Output: (Integer ) oInteractionID Get the created interaction ID.
Return: (Boolean) Status TRUE if successful.

Examples

VB Examples
Create Command - VB Example
Create CimatronE Command DLL. VB Sample project The following example demonstrates how to implement ICreateCommand methods. The ICreateCommand methods:

GetBitmap: Set the ICON that will be shown in the Command button. Example: Set ICreateCommand_GetBitmap = LoadPicture (c:\temp\xxx.ico)

GetCategoryName: Set the Category Name

CimatronE 9.0

CimatronE SDK User Guide 1166

Example: ICreateCommand_GetCategoryName = "Category Name"

GetCommandName: Set the Command Name Example: ICreateCommand_GetCommandName = "Command Name"

GetMenuPath: Set the location of the command in the menus. It can be under an existing menu or you can create a new menu. To create your command as a Submenu you need to separate the Path string and Submenu string with <CR>. Example: ICreateCommand_GetMenuPath = "New Menu Path" + Chr(10) + "Submenu"

GetPrompt: This will write the String in the prompt area (Status bar at the bottom of the CimatronE application) Example: ICreateCommand_GetPrompt = "Get Prompt"

GetToolbarName: This string will be written in the Title of the Toolbar window. Example: ICreateCommand_GetToolbarName = "Toolbar Name"

GetTooltip: Tooltip string to be shown when the cursor is on the command button Example: ICreateCommand_GetTooltip = "Tooltip"

IsBelongToDoc: In this function you can decide in which file type you want to see this command. Example: In this example I will see the command only in a PART file. If iType = cmPart Then ICreateCommand_IsBelongToDoc = True

CimatronE 9.0

CimatronE SDK User Guide 1167

Else ICreateCommand_IsBelongToDoc = False End If

ShowInMenu: This function Enables/Disables the command in the Dropdown Menus. Example: ICreateCommand_ShowInMenu = True

ShowInToolbar: This function Enables/Disables the command in the Toolbar. Example: ICreateCommand_ShowInToolbar = True

Data Management - VB Example


Delete Existing file from Data Management including all relevant attach files. VB Sample project The following example demonstrates how to open the Data Management browser. 1. Open a new VB project (Standard EXE) in Visual Basic. 2. Add a command button and one Text Box to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Delete existing file from Data Managment gSuite.DM.DeleteExistingDoc Text1.Text, suPart, suMillimeter End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

Data Management - VB Example


Get File information VB Sample project The following example demonstrates how to get file information from CimatronE using the API Suite classes.

CimatronE 9.0

CimatronE SDK User Guide 1168

1. Open a new VB project (Standard EXE) in Visual Basic. 2. Add a command button & six Text Box to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Get Active file Title Text1.Text = gSuite.DM.GetActvDocTitle ' Get Active file Description Text2.Text = gSuite.DM.GetActvDocDescription ' Get Active file Units If gSuite.DM.GetActvDocUnits = suMillimeter Then Text3.Text = "Millimeter" ElseIf gSuite.DM.GetActvDocUnits = suInch Then Text3.Text = "Inch" Else Text3.Text = "Error" End If ' Get Active file Type If gSuite.DM.GetActvDocType = suPart Then Text4.Text = "Part" ElseIf gSuite.DM.GetActvDocType = suAssembly Then Text4.Text = "Assembly" ElseIf gSuite.DM.GetActvDocType = suDrafting Then Text4.Text = "Drafting" ElseIf gSuite.DM.GetActvDocType = suNc Then Text4.Text = "NC" Else Text4.Text = "Error" End If ' Get Active file PID Text5.Text = gSuite.DM.GetActvDocPID ' Get Active file Version Text6.Text = gSuite.DM.GetActvDocVersion End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

CimatronE 9.0

CimatronE SDK User Guide 1169

Data Management - VB Example


Get File Attributes VB Sample project The following example demonstrates how to get File Attributes from CimatronE using the API Suite classes. 1. Open a new VB project (Standard EXE) in Visual Basic. 2. Add a command button and List Box to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() Dim oAttArr As Variant Dim oNumOfAtt As Integer ' Open Data Managment Browser gSuite.DM.GetDocumentAttribute oAttArr, oNumOfAtt ' Read all Attribute from output Array and fill the "List1" control For i = 0 To oNumOfAtt List1.AddItem oAttArr(i).Name & "=" & oAttArr(i).Value Next I End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

Data Management - VB Example


Open Browser VB Sample project The following example demonstrates how to open Data Management browser. 1. Open a new VB project (Standard EXE) in Visual Basic. 2. Add a command button to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Open Data Managment Browser gSuite.DM.OpenPdmBrowser End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

CimatronE 9.0

CimatronE SDK User Guide 1170

Data Management - VB Example


Open/Save/Close CimatronE file VB Sample project The following example demonstrates how to open a New File, Save an active file, Close an active file and Open an existing file in CimatronE using the API Suite classes. 1. Open a new VB project (Standard EXE) in Visual Basic. 2. Add a command button to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Open new file by input: ' Doc Name, Type of file, Units if file. gSuite.DM.CreateNewDocument "New Doc Name", suPart, suMillimeter ' Save the active file gSuite.DM.SaveActvDoc ' Close the active file gSuite.DM.CloseActvDoc ' Open the Existing File (The one that we created and saved before) gSuite.DM.OpenExistingDoc "Saved Doc Name", suPart, suMillimeter End Sub 4. Press the F5 key to run the project or in the Tools menu, click Run Project.

Pick Tool - VB Example


VB Sample project The following example demonstrates how to pick a geometry in CimatronE. 1. Open a new VB project (Standard EXE) in Visual Basic (See Example). 2. Select Program References. Choose the "CimESuite" for API calls. 3. Add a command button to Form1. 4. Paste the following code into Form1: Private Sub Command1_Click() ' Set object for entity list. Dim oEntLst As Object ' Set variable to get number of picked entities.

CimatronE 9.0

CimatronE SDK User Guide 1171

Dim oNumOfEnt As Integer ' using CimESuite command class to clear all selected entities before using new selection gSuite.Commands.SetSelectionMode Clear_Selection ' Pick entities function gSuite.PickTool.PickEntitiesByFilter -1, suEdge, suFace ' Get the selected entities list gSuite.PickTool.SelectedEntityList oEntLst, oNumOfEnt End Sub 5. Press the F5 key to run the project or on the Tools menu, click Run project.

VB Example Start new project and add the CimatronE API Suite classes
VB Sample project 1. 2. 3. Start new VB project (Standard EXE) Select from Project - References - choose the "CimESuite" reference. This will load all the classes from the Suite. In the General - Declarations area put the follow Code: ' Declare the Data Managment Class Dim gSuite As CimESuite.CimSuite In the Sub Form_Load put the follow Code: Set gSuite = CreateObject("CimESuite.CimSuite")

From this point you can start to add controls to your project and call methods from the CimatronE API Suite.

Create Command - VB Example


Create CimatronE Command DLL. VB Sample project The following example demonstrates how to add a menu item to CimatronE from a user DLL.

Open a new VB project (ActiveX DLL) in Visual Basic. Select Program References. Choose the "CimESuite" for API calls, and CimBaseAPI 1.0 Type Library for command calls. Change the name of the project (default Project1).

CimatronE 9.0

CimatronE SDK User Guide 1172

Change the name of the class (default Class1). Transfer the following code into Class1. Implements ICimCommand Implements ICreateCommand

Now implement all the methods of ICimCommand and ICreateCommand in Class1. Now you can add your full project (Forms, Modules, Classs, etc.) To be able to see and use this command in CimatronE, you need to register it: 1. Open the RegEdit utility. 2. Go to [HKEY_LOCAL_MACHINE\SOFTWARE\Cimatron\Cimatron E\5.0 and add new key ExtCommands (Under this key you can add all your commands. See item 3) 3. Under the ExtCommands key, add a new key and write the name of your new command, ProjectName.ClassName for example: Project1.Class1

To view the result, load CimatronE and view your new Command.

Create Command - VB Example


Create CimatronE Command DLL. VB Sample project The following example demonstrates how to implement ICimCommand methods. The ICimCommand methods:

Enable: Add the following code into ICimCommand_Enable function. ' Enable the command in CimatronE Command_Enable = True

Execute: In this function you can call your application. For example, load your Form or execute you API commands. For example: if your main program is a form, you can add the following code: "Form1.Show vbModal"

Geom Data - VB Example


Get Cone Face Parameters VB Sample project(link to "CimSuiteGeomData_GetFaceConeParam" example) The following example demonstrates how to get Cone FaceParameters. 1. Open a new VB project (Standard EXE) in Visual Basic (see Example). 2. Add a command button to Form1. 3. Paste the following code into Form1:

CimatronE 9.0

CimatronE SDK User Guide 1173

Private Sub Command1_Click() ' Set object for entity list. Dim oEntLst As Object ' Set variable to get number of picked entities. Dim oNumOfEnt As Integer ' Use CimESuite command class to clear all selected entities before using new selection gSuite.Commands.SetSelectionMode Clear_Selection ' Pick entities function gSuite.PickTool.PickEntitiesByFilter 1, suEdge, suFace ' Get the selected entities list gSuite.PickTool.SelectedEntityList oEntLst, oNumOfEnt Dim oIsCilindery As Boolean Dim oRadius As Double Dim oRootPoint As Variant Dim oDirection As Variant gSuite.GeomData.GetFaceConeParam oEntLst(1), oIsCilindery, oRadius, oRootPoint, oDirection ' Print out the Cone Face parameters. MsgBox "Is Cilindery? " & oIsCilindery & vbCrLf & _ "Radius = " & oRadius & vbCrLf & _ "RootPoint = " & oRootPoint(0) & "," & oRootPoint(1) & "," & oRootPoint(2) & vbCrLf & _ "Direction = " & oDirection(0) & "," & oDirection(1) & "," & oDirection(2) End Sub 4. Press the F5 key to run the project or in the Tools menu, click Run Project.

Geom Data - VB Example


Get LOOPs of selected FACE VB Sample project (link to "gSuite.GeomData.GetFaceLoops" example) The following example demonstrates how to get LOOPs of a selected FACE 1. Open new VB project (Standard EXE) in Visual Basic (see Example).

CimatronE 9.0

CimatronE SDK User Guide 1174

2. Add a command button to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Set object for entity list. Dim oEntLst As Object ' Set variable to get number of picked entities. Dim oNumOfEnt As Integer ' using CimESuite command class to clear all selected entities before using new selection gSuite.Commands.SetSelectionMode Clear_Selection ' Pick entities function gSuite.PickTool.PickEntitiesByFilter 1, suFace ' Get the selected entities list gSuite.PickTool.SelectedEntityList oEntLst, oNumOfEnt ' Set object for entity list of Loops Dim oEntLstLoops As Object ' set variable to get number of Loops in entity list. Dim oNumOfLoops As Integer ' get Loops from selected face gSuite.GeomData.GetFaceLoops oEntLst(1), oEntLstLoops, oNumOfLoops End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

Geom Data - VB Example


Get LOOPs of selected FACE VB Sample project (link to "CimSuiteGeomData_GetFaceLoops" example) The following example demonstrates how to get a list of EDGEs of a selected entity (Face, Body). 1. Open a new VB project (Standard EXE) in Visual Basic (see Example). 2. Add a command button to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Set object for entity list.

CimatronE 9.0

CimatronE SDK User Guide 1175

Dim oEntLst As Object ' Set variable to get number of picked entities. Dim oNumOfEnt As Integer ' using CimESuite command class to clear all selected entities before using new selection gSuite.Commands.SetSelectionMode Clear_Selection ' Pick entities function gSuite.PickTool.PickEntitiesByFilter 1, suFace, suBody ' Get the selected entities list gSuite.PickTool.SelectedEntityList oEntLst, oNumOfEnt ' Get list of Edges of each face loop gSuite.GeomData.GetEntityEdgeParent oEntLst(1), oEntityList End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

Geom Data - VB Example


Get Type of edge. VB Sample project (link to "CimSuiteGeomData_GetFaceLoops" example) The following example demonstrates how to get a list of EDGEs of a selected entity (Face, Body) and get the type of each edge. 1. Open new VB project (Standard EXE) in Visual Basic (see Example). 2. Add a command button to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Set object for entity list. Dim oEntLst As Object ' Set variable to get number of picked entities. Dim oNumOfEnt As Integer ' using CimESuite command class to clear all selected entities before using new selection gSuite.Commands.SetSelectionMode Clear_Selection ' Pick entities function

CimatronE 9.0

CimatronE SDK User Guide 1176

gSuite.PickTool.PickEntitiesByFilter 1, suFace, suBody ' Get the selected entities list gSuite.PickTool.SelectedEntityList oEntLst, oNumOfEnt ' Get list of Edges of each face loop gSuite.GeomData.GetEntityEdgeParent oEntLst(1), oEntityList ' Get type of selected (Curve) Entity. For j = 1 To oEntityList.Count ' Get type of edge. If gSuite.GeomData.GetEdgeGeomType(oEntityList(j)) = suArc Then MsgBox "Arc" ElseIf gSuite.GeomData.GetEdgeGeomType(oEntityList(j)) = suEllipse Then MsgBox "Ellipse" ElseIf gSuite.GeomData.GetEdgeGeomType(oEntityList(j)) = suLine Then MsgBox "Line" ElseIf gSuite.GeomData.GetEdgeGeomType(oEntityList(j)) = suSpline Then MsgBox "Spline" Else MsgBox "unknown" End If Next j End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

Pick Tool - VB Example


Pick Point . VB Sample project The following example demonstrates how to get the coordinates by picking point (by filter).

CimatronE 9.0

CimatronE SDK User Guide 1177

1. Open a new VB project (Standard EXE) in Visual Basic (see example). 2. Add a command button to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() Dim X As Double, Y As Double, Z As Double ' in case that the user Press "EXIT" (MMB) then reurn FALSE If Not gSuite.PickTool.PickPointByFi lter(suPtMid, X, Y, Z) Then MsgBox "No point was selected" End If End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

CreateOffset - VB Example
Create Offset . VB Sample project The following example demonstrates how to offset an entity (Edge/Face). 1. Open a new VB project (Standard EXE) in Visual Basic (see example). 2. Add a command button to Form1. 3. Paste the following code into Form1: Private Sub Command1_Click() ' Check if the offset was created If Not gSuite.Transform.CreateOffset (oEntLst, 10, False, suKeep) Then MsgBox Err.Description Exit Sub End If End Sub 4. Press the F5 key to run the project or on the Tools menu, click Run Project.

CimatronE 9.0

CimatronE SDK User Guide 1178

CimSuite
This class combines all the classes in the Suite. Properties Assy Commands DI DM General GeomData Math NC PickTool References Sketcher Solid Surface Transform WireFrame Methods
None.

CimSuiteDI

CimSuiteDI
Properties None Methods Boolean ImportDI ( String iSrcFileName, String iDstFolder ) Boolean ExportDI ( String iSrcFileName, String iDstFolder, suDIApplicationType iAppType)

CimSuiteDI::ExportDI
Description

CimatronE 9.0

CimatronE SDK User Guide 1179

This function allows you to export a CimatronE file to a different format.

Syntax
Status = ExportDI ( iSrcFileName, iDstFolder, iAppType );

Input: (String ) iSrcFileName Input: (String ) iDstFolder Input: (suDIApplicationType) iAppType

Source file (with extension). Name of output CimatronE file. Set the output file format

CimSuiteDI::ImportDI
Description
This function allows you to import a file from a different format.

Syntax
Status = ImportDI ( iSrcFileName, iDstFolder );

Input: (String ) iSrcFileName Input: (String ) iDstFolder

Source file (with extension). Name of output CimatronE file.

CimSuiteNC
Properties None Methods Boolean CreateNcProceduresFromTemplate ( String iTemplateName ); Boolean ExecuteAllNcProcedures ( );

Glossary
A
ACIS: ACIS is an object-oriented 3D geometric modeling engine from Spatial Technology Inc. Active Faces (MoldDesign): The parts of the mold that touch the plastic during the injection process. See CimatronE MoldDesign. Active Part (Assembly): The Part that is currently activated for editing. Active Parts (MoldDesign): The mold component; the negative of the Work Part (core, cavity, etc.). Active Session: See Session. Active Surface: Active surfaces are surfaces which form the molded part. See Parting Surface. ANSI: ANSI (American National Standards Institute) is used as a drafting standard. See Drafting Standards. API: Application Program Interface. See CimatronE API. ASCII: ASCII (American Standard Code for Information Exchange) a data transmission code that has been established as an American Standard by the American Standards Association. Assembly: A file composed of various components (parts and other assemblies (sub-assemblies))which have been positioned relative to each other. The parts and sub-assemblies exist in files separate from the assembly. See CimatronE Assembly. Assembly Tree: Within the Assembly environment, two trees are displayed. The upper tree, the Assembly Tree, shows the components and constraints. The lower tree, the Features Tree, shows the assembly operations and features. This tree shows a list of features and operations that were created in the assembly environment. The operations can be managed directly from the tree. Axis: A straight line (or direction) that can be used to create model geometry, or along which the relative movements of a tool or workpiece occur. The three principal linear axes, occuring at 90 degree angles from each other, are X,Y and Z.

B
Bending: A term typically applied to a metal forming process. It is the creation of a formed feature by angular displacement of a sheet metal workpiece. The straining of material, usually flat sheet or strip metal, by moving it around a straight axis lying in the neutral plane. Metal flow takes place within the plastic range of the metal, so that the bent part retains a permanent set after removal of the applied stress. The cross section of the bend inward from the neutral plane is in compression; the rest of the bend is in tension. Bending Line: Lies on (or is parallel to) the Natural Plane and defines the bending plane (the body is split in that plane). The Bending Axis lies on this plane (depending on the bending radius and side). Bending Portion (or Region): The part of the object that is being deformed (the body is split on both sides of this region).

1181

Glossary

Bill of Materials (BOM): A table that is used to keep a record of the parts in the drafting sheet. A BOM is also used to list all the data regarding the components (sub-assemblies, parts, and raw material) that make up a parent assembly. Binder: The force applied to the perimeter of a sheet during a deep drawing operation to suppress wrinkling and control metal flow. Blank (Die): A flat pattern (unfold) representation of a 3D model (with constant thickness) in a 2D shape (before deformation). Or a piece of sheet metal stock from which a product is made. To get a blank, from a bent shape, you can either use FEM or, in simple cases, a geometrical solution such as the CimatronE - Un-Fold tool). Blank (Electrode): A piece of material stock from which the electrode is made. See Electrode. Blisks: Bladed disks, or blisks, are one-pieced parts for compressors. BOM: See Bill of Materials. Boundary: The topological limit of an entity. Burning Area: A group of faces that are machined by Electro Erosion.

C
CAD: CAD (Computer Aided Design). The use of computers to assist and develop phases of design. CAM: CAM (Computer Aided Manufacturing). The use of computers to assist in manufacturing (controlling the manufacturing processes). See NC. Canned Cycle: A sequence of events initiated by a single G-Code command. See G-Code. Carrier (strip) (Die): The area of a stock strip that ties the parts together and carries them through a progressive die until the final operation. Catalog: See CimatronE Catalog. Catalog Terms - Catalog Feature: This holds all the features that are used to create a catalog part. Catalog Terms - Catalog Part: A catalog part is a single part file which could contain several objects. One of these objects may be defined as a cutting object using the attach names tool. This object describes the hole which should be created in other parts which collide with the part. The part could also have some of its dimensions defined as catalog dimensions using the attach names tool. These dimensions could be primary or secondary dimensions. Other entities could also have names attached to them. Catalog Terms - Catalog Table: The Catalog Table is displayed within the CimatronE Explorer when a catalog part is selected in the File Control pane of the CimatronE Explorer or when various Add, Get and Edit operations are invoked which require interaction with the catalog table. The catalog table displays the catalog records (dimensions) for the selected catalog part. Catalog Terms - Dumb File: This is a file which has no catalog dimensions. Such a part uses the catalog as a simple library. Catalog Terms - Free Part: A regular CimatronE file which is no longer connected to the catalog. Catalog Terms - Non-Standard Catalog Part: A non-standard catalog part is a part that has been created from the catalog, where one or more of its parameters differ from those defined in the catalog.

Glossary

Catalog Terms - Standard Catalog Part: A standard catalog part is a part that has been created from the catalog, where all of its parameters are the same as those defined in the catalog. Cavity: A concave feature in a mold into which an opposing core enters when the mold is closed. The space inside the mold, between the cavity and core, is where the inserted material solidifies and forms the part. The cavity forms the outer surfaces of the molded part. Molds can contain a single cavity or multiple cavities to produce more than one part at the same time. See Mold. Checkbox: A control that you click to turn an option on or off. A check mark in the checkbox indicates that the option is turned on. Cimatron DieQuote Generator: Cimatrons DieQuote Generator is an application (external to CimatronE) to help die makers with the quoting process, by using information created in CimatronE DieDesign together with the knowledge of the die maker. DieQuote Generator is database-based, enabling you to keep and manage lists of customers, materials, presses and quotes. It provides automated tools to calculate the cost of a job (with or without a first series), and the price of that job, showing a large number of statistical data related to the job, Finally, it incorporates a report generator to produce the final quote. The application is integrated with CimatronE DieDesign, with the ability to incorporate data, such as, Blank Area, Strip Sizes, required punches and more, as well as images captured inside CimatronE. The DieQuote Generator is available either as a standalone package or integrated with CimatronE. See CimatronE DieDesign. CimatronE : CimatronE is the most comprehensive, integrated CAD/CAM solution for toolmakers. CimatronE is the flagship product of Cimatron Ltd.. CimatronE API: The CimatronE API (Application Program Interface) shows the capabilities of CimatronE and enables you to write external (out-of-process, *.exe) and internal (in-process, *.dll) user-programmable applications. CimatronE Assembly: Using CimatronE's Assembly application, you can create a component (an assembly) consisting of a set of other components (sub-assemblies). Components are positioned by using constraints, which relate the entities of the components, such as faces, edges, vertices and UCSs, to each other. CimatronE Catalog: CimatronE provides a variety of standard catalog parts. These parts can be put into assemblies. The system offers simple and powerful tools for the editing of these catalog parts; their sizes can be modified to fit another size from the catalog table of the part, or you can use non-standard sizes. The system also offers powerful tools for the creation of new catalog parts allowing you to create your own parts to suit your organization standards. CimatronE Control Panel: The CimatronE Control Panel allows direct access to various programs/utilities. These groups include the following areas: Main Menu, Licensing, Utilities, Settings, NC and DieQuote Generator. See Cimatron DieQuote Generator. CimatronE Data Interface: CimatronE includes top quality data translators that support all standard formats, directly generating native CimatronE geometry. The system includes native read/write capability for popular proprietary formats like CATIA, UG, Pro/Engineer and Solidworks. Built from the ground up to support data import, CimatronE offers a customizable data import utility - allowing advanced users to define parameters best suited to their unique needs, and novice users to rely on quality default settings.

Glossary

CimatronE DieDesign: Cimatrons DieDesign application is a set of tools, over and beyond CimatronEs basic CAD/CAM toolmaking solution, that is optimized especially for making dies. CimatronE Drafting: Using the CimatronE Drafting application you can create drawing sheets including 2D views of CimatronE models, part or assembly. In addition to 2D geometry (created using the Sketcher), drafting symbols and annotations can be added to sheets. Each drawing can contain an unlimited number of sheets, each sheet with its specific characteristics (drafting standard, view attributes, frame, etc.). CimatronE Electrodes: Using CimatronE's Electrode application, you can automate the electrode design process. Use the Electrode application for burning faces selection, electrode design, management, documentation and the manufacture of surface geometry. CimatronE Explorer: The CimatronE Explorer provides a simple and effective method to navigate your file system. The display and operation of the CimatronE Explorer is very much like that of Microsoft Windows Explorer. Cimatron has added additional features to the Explorer-like interface to enhance its management capabilities. CimatronE GPP/GPP2: GPP (General Post Processor)and the newer GPP2 are programs that translate CimatronE NC data to specific CNC machine tool commands. The specific CNC machine tool commands are called G-Code programs. See CimatronE NC and G-Code. CimatronE Micro Milling: Cimatron has leveraged over 2 decades of tooling expertise, and the know-how of best-of-breed NC applications, to introduce a first-of-its-kind Micro Milling application that scales jobs to the micro environment. CimatronE MoldDesign: Cimatrons MoldDesign application is a set of tools, over and beyond CimatronEs basic CAD/CAM toolmaking solution, that is optimized especially for making molds. CimatronE NC: CimatronE NC (Numerical Control) is a complete solution for NC, from 2.5 axis to continuous 5 axis, from micro milling to large bumpers. CimatronE NC-Lite: CimatronE NC-Lite is a highly automated NC solution for 3-axis milling. It combines the power of CimatronE NC with enhanced automation capabilities to deliver true shop floor NC simplicity. CimatronE QuickSplit: The operation involving the generation of the parting surface on the core and cavity. CimatronE ReEnge Advanced: CimatronE ReEnge Advanced provides tools for the creation, manipulation and editing of point clouds, NURBS curves/surfaces and STL data all within CimatronE. CimatronE SDK: The CimatronE Software Development Kit (SDK). This includes the CimatronE API and the CimESuite API. See CimatronE API and CimESuite API. CimatronE ShoeExpress: CimatronE ShoeExpress is a set of dynamic process orientated tools, fully integrated into CimatronEs powerful CAD/CAM package, specifically tailored for the footwear industry. CimatronE Sketcher: The Sketcher is the graphic environment used by CimatronE to create 2D parametric geometry. CimatronE Work Environment: CimatronE has the following work environments: Part, Assembly, Drafting and NC.

Glossary

CimESuite API: CimESuite is part of the CimatronE SDK and is a user-friendly collection of wrapper methods for the CimatronE API. It contains ready-made functions for various CimatronE applications. See CimatronE API and CimatronE SDK. CNC Machine Tool: The abbreviation CNC stands for Computer Numerical Control, and refers specifically to a computer "controller" that reads G-Code instructions and drives the machine tool (a powered mechanical device typically used to fabricate metal components by the selective removal of metal).See G-Code. Component: A component is any part or sub-assembly within an assembly. Cone Face: A face that can define a single axis. The face can be a cylinder or a cone. Connection: A geometric relationship, such as coincident, perpendicular, tangent, and so on, between parts in an assembly. Cooling Circuit: A sequence of cooling channels that creates "one water body" (including a pocket of nipples, baffles, bores and o-ring grooves). Cooling Item: A catalog part with the category "Cooling Item". Cooling Object: A cylindrical body that creates the cooling channels. Coordinate Systems: See User Coordinate Systems. Core: A convex feature in a mold that will enter an opposing cavity when the mold is closed. The space inside the mold, between the cavity and core, is where the inserted material solidifies and forms the part. The core forms the inner surfaces of the molded part. See Mold. CTF: CTF (Cimatron Transfer File) is a Zip-like format containing compressed files, data and folder path. Associated CimatronE files (e.g. in an Assembly) can be packed into one CTF compressed file. When unpacked, all the associated files (including folder structure) are extracted.

D
D-View: A D-View is an M-View (meaning, a user-defined view in the Part and Assembly environments) that is opened in the Drafting environment. Once positioned in the drafting sheet, it can be manipulated exactly like a regular view. Data Interface: See CimatronE Data Interface. Datums: Datums are used to establish references, whether they are reference planes, reference axes (see Axis) or reference UCSs (see UCS). These references assist you in various aspects of your work. For example, when a sketch is created, you are prompted to select a reference plane. The sketch is then aligned with the plane and the sketch geometry is created on the plane. There are three default datum planes XY, XZ and YZ. Deep drawing (Die): The fabrication process of flat rolled steel to make drawn parts. The part is mechanically formed through or in a die. The blank diameter is reduced; the blank contracts circumferentially as it is drawn radially inward. Deep drawing is characterized by the production of a parallel-wall cup from a flat blank of sheet metal. The blank may be circular, rectangular, or a more complex shape. The blank is drawn into the die cavity by the action of a punch. Deformation is restricted to the flange areas of the blank. No deformation occurs under the bottom of the punch-the area of the blank that was originally within the die opening. As the punch forms the cup, the amount of material in the flange decreases. Deep drawing is also called cup drawing or radial draw forming.

Glossary

Die (Matrix): The female part of a die. DieDesign: See CimatronE DieDesign. DieQuote Generator: See Cimatron DieQuote Generator. Dies: See Stamping Dies, Line Dies, Transfer Dies and Progressive Dies. Dimple (Die): The stretching of a relatively small, shallow indentation into sheet metal. double-click: Press and release the left mouse button twice in rapid succession. Draft: The degree of taper or angle of a face, usually applied to molds or castings. Drafting: See CimatronE Drafting. Drafting Standards: CimatronE supports the following Drafting Standards: ANSI, ISO and JIS. See the appropriate standard. Dropdown List: A dropdown list is a GUI element with a dropdown arrow that you click to display an associated list of choices (in some cases, clicking anywhere within the element will display the dropdown list). The current selection appears in an editable or noneditable text field next to the dropdown arrow. When you select an option from the list, that option replaces the current selection. If the dropdown list is too long to display all options at once, a scrollbar is attached to the list. Dropdown lists appear within dialogs and parameter tables (NC) where a list of possible parameter values are displayed. Dropdown lists also appear in toolbars. Dropdown Menu: A dropdown menu appears beneath a menu bar option when that option is selected. The dropdown menus that are displayed and their contents vary depending on the CimatronE application you are running (the application defines your current CimatronE work environment). Some dropdown menu items display an additional (nested) menu, called a flyout. See CimatronE Work Environment. Dumb File: See Catalog Terms - Dumb File. DWG: DWG (Drawing file) is a native binary data format developed by Autodesk, Inc. to store AutoCAD drawing data. See DXF. DXF: DXF (Drawing Interchange Format file) is an ASCII or binary neutral data format developed by Autodesk, Inc. that enables digital exchange of information between AutoCAD and other CAD/CAM systems. See DWG.

E
Edge: A single outside boundary of a geometry. EDM: EDM (Electrical Discharge Machining) is a metal removal process using a series of electric sparks (on an electrode) to erode material from a workpiece. Electrode: The "cutting" tool used to remove workpiece material in the EDM process. Its form, or shape, is a mirror image of the form or shape desired in the workpiece. It must be made from an electrically conductive material. Common electrode materials used in ram EDM are graphite, copper, copper-graphite and copper- tungsten. In wire EDM, brass wire is most common, sometimes coated with other metals to enhance its performance. See CimatronE Electrodes. ELT: ELT is the native file format for CimatronE.

Glossary

Exploded View: CimatronE enables users to create exploded views from all assembly type models. Exploded Views are used for demonstration, marketing and documentation purposes, enabling the users to learn the assembly procedure of molds.

F
Features Tree: The Features Tree is a list of all the features in your CimatronE file which also shows you how these features were created. All the CimatronE trees (Features, Parting and Assembly) can be used to identify entities in the display area. FEM: FEM (Finite Element Modeling) consists of a computer model of a material or design that is stressed and analyzed for specific results. Flyout: A flyout is a menu or toolbar nested under a single button on another menu or toolbar. FormCS: A UCS (User Coordinate System) which is used for placing parts in the Forming shape environment. Also, a standard UCS which contains the attribute of a FormCS. See UCS. Forming Shapes (Die): The parts (shapes) with the intermediate geometry of the forming stations. These parts may be added to the strip assembly. Forming Step: The distance between two forming shape parts, measured from FormCS to FormCS along the X direction. Forming Step (Die): The distance between two forming shape parts-measured from FormCS to FormCS along the X direction. Free Part: See Catalog Terms - Free Part.

G
G-Code: A G-Code program is the result of a translation of CAM data (by using a Post Processor) into specific CNC machine tool commands. G-Code is also the name of any word in a CNC program that begins with the letter G and is followed by a numeric value, and generally is a code telling the machine tool what type of action to perform, such as rapid move, etc.. For example, using N100 G0 X10.00 Y5.00 in your code causes the spindle to rapid travel from wherever it is currently to coordinates X=10, Y=5. G-Codes are machine specific - a G-Code on one machine may have a different function on another machine. See CimatronE GPP/GPP2 and CimatronE NC. GPP/GPP2: See CimatronE GPP/GPP2. GUI: A graphical user interface (GUI - pronounced "gooey") is a way of interacting with a computer to make the program easier to use. Guides: The toolbars that guide you through a process (the buttons in the Guides are displayed in the order of execution). Most of the guides appear on the right side of the display; these are the Electrode Guide, Parting Guide, QuickDrill Guide and MoldDesign Guide. The NC Guide appears on the left of the display. Some guide toolbar buttons display an additional (nested) toolbar, called a flyout.

H
Handle: A vertical bar appearing on the left side of the menu bar and toolbars. You can use this handle to move the menu bar and toolbars to a different location in the window.

Glossary

Healing: The action of filling a gap that may exist between two adjacent surfaces.

I
IGES: IGES (Initial Graphics Exchange Specification) is a neutral data format that enables the digital exchange of information between CAD/CAM systems. Impeller: An impeller is a rotor inside a tube or conduit to increase the pressure and flow of a fluid. Insert (MoldDesign): A segment of the Active Parts (MoldDesign) that is manufactured as an independent part. Interference: A situation in Assembly where two or more parts penetrate each other. ISO: ISO (International Standards Organization) is used as a drafting standard. See Drafting Standards.

J
Jig: A fixture used in machining operations. JIS: JIS (Japanese Industrial Standards) is used as a drafting standard. See Drafting Standards. Job: The files that are in use by a specific user.

K
K-Factor: The K-Factor (K) is the ratio that represents the location of the natural bending plane (b) with respect to the thickness of the object. K = b / T.

L
Layout Part: A Layout part is a pattern of coordinate systems used to place the work parts within the mold. A layout part can be selected to meet the requirements for either a single or multiple cavity design. left-click: Press and release the left mouse button once (to select a menu function/option or parameter or to pick a geometrical entity). Line Dies: Line dies are tools that typically are hand or robotically loaded. Often each station that forms or cuts the sheet metal represents a single operation die.

M
M-View: An M-View (Modeling View) is a user-defined view of entities which includes a profile of display parameters, section parameters, drafting parameters, etc.. Visibility, orientation as well as section-lines can be defined for each view. These views can also be used later in the Drafting environment as D-Views (Drafting Views). Main Menu: See Menu Bar. Menu Bar: A menu (File, Edit, etc..) arranged horizontally across the top of the display just below the CimatronE Title bar. The menu that is displayed varies depending on the CimatronE application you are running (the application defines your current CimatronE work environment). Each menu option is generally associated with another dropdown menu that appears when you make a selection. See CimatronE Work Environment.

Glossary

MHT: An MHT file is a kind of HTML file where all images and linked files are saved, along with the HTML code, into a single file. Micro Milling: An NC application for milling micro-components. See CimatronE Micro Milling. Mold: A mold consists of at least two parts, the cavity and core. When the mold is closed, the space inside the mold, between the cavity and core, is where the inserted material solidifies and forms the part. Mold Base: The assembly of all the parts that function collectively in the molding process (flat plates, dowel pins, bushings and other components) except the mold (cavity and core). Mold Project: The Mold Project is a work environment methodology that provides a flexible environment, enabling the creation of active parts and mold components for complex molds. This methodology uses the concept of concurrent engineering to achieve faster time-to-market capability. The unique Mold Project methodology enables parting to be done in the Assembly environment, and allows easy switching between the MoldDesign and Parting environments, and vice versa. MoldDesign: See CimatronE MoldDesign. Multi-Lumps: A body is a collection of lumps, where the term lump is used to represent a volume. Multi-Lump bodies are composed of several distinct and separated solid parts that do not intersect.

N
Natural Plane: The planes which all cross lines (normal to the bending line) on the model that lay on this plane will remain with the initial length after the bending. NC: Numerical Control. The method of controlling a machine or process by using command instructions in coded numerical format. See CimatronE NC. NC-Lite: See CimatronE NC-Lite. Nesting: Grouping of identical or different parts in multiples within a workpiece to conserve material. Non-Manifold Geometry: Non-Manifold Geometry = (also known as Zero-Thickness Geometry) exists when edges or vertices in a solid model do not properly connect with adjacent geometry. Every edge of a solid body must have exactly two adjacent faces. Non-Standard Catalog Part: See Catalog Terms - Non-Standard Catalog Part.

O
Output Pane: The Output pane of the CimatronE window shows warnings and error messages.

P
Parametric Relation: See Reference Dimension. Parent/Child Relationships: Features or objects that are dependent on other objects are called children. Objects that have dependent children are called parents. These relationships within a part's history are referred to as parent/child relationships. Parting: The mold parting process and the definition of the parting lines and surfaces.

Glossary

Parting Face/Surface: The face/surface marking the separation between core and cavity. Parting Line: The outer boundary of the molded part where no undercut is found. Parting Surface: Parting surfaces are surfaces which are used to separate the core and cavity (and also the slider, if it exists). Parting surfaces do not form the molded part. See Active Surface. Parting Tree: The Parting Tree displays the structure of the parting process and is the main tool that manages and controls the parting process. The Parting Tree tab is displayed when a Layout Part is added in the Mold Project application. PDES: PDES (Product Data Exchange using STEP). See STEP. PDF: PDF (Portable Document Format) is the file format created by Adobe Systems. It is a format used for representing files independent of the application software, hardware, and operating system. Adobe Reader is required to view the PDFs and can be downloaded from Adobe's website. PFM: PFM is the native file format for Cimatron IT, the predecessor of CimatronE. Planar Face: A flat surface that can be located anywhere in 3D space. PMI: PMI (Product Manufacturing Information) is used to convey information on the design of a products components for manufacturing. PolyLine: A sequence of points joined together as one entity. Popup Menu: In the CimatronE applications, right-click in the graphics area to display the popup menu. This popup menu is context-sensitive; the options that appear depend on the current situation. Post Processor: See CimatronE GPP/GPP2. Procedure (NC): An NC Procedure is a set of cutter movements that conform to a specific technology. One or several Procedures can comprise a toolpath. Process Manager (NC): The NC Process Manager contains a collapsible tree listing detailed information of all toolpaths and their procedures. Progress Bar: The Progress Bar is a visual indicator that uses a rectangular bar to show the passage of time. The bar gradually fills from left to right and indicates that one or more time-consuming operations are in progress and shows you what proportion of the operation has been completed. Progression (Die step): The precise linear travel of the stock strip at each press stroke and is equal to the inter-station distance. Also called pitch, advance, or feed. Progressive Dies: A progressive die combines a number of forming and stamping functions such as blanking, forming, flange forming, punching and trimming into a single die. Steel or aluminum is fed into the die, typically from a coil of material. Each time the die cycles a stamping operations is made on the material and the material is automatically advanced to the next position. Each station within the progressive die serves to progressively form the final part. Finally, the completed part is ejected from the end of the progressive die once all the operations have been completed. Progressive dies are ideal for economically mass producing small formed metal parts. Prompt: A test message at the bottom left of the screen, prompting you to perform a certain task. Punch: The male part of a die (as distinguished from the female part, which is called the die). The punch is usually the upper member of the complete die assembly and is mounted on the slide or

Glossary

in a die set for alignment (except in the inverted die). In double-action draw dies, the punch is the inner portion of the upper die, which is mounted on the plunger (inner slide) and does the drawing. It is also the act of piercing or punching a hole (punching). The punch is the movable part that forces the metal into the die in equipment for sheet drawing, blanking, coining, embossing and the like.

Q
QuickSplit: See CimatronE QuickSplit.

R
Radio Button: A button that you click to set an option. Unlike checkboxes, radio buttons are mutually exclusive-choosing one radio button turns off all other radio buttons in the group. ReEnge Advanced: See CimatronE ReEnge Advanced. Reference Dimension: A dimension, whose ID is part of an expression for another dimension (in the Edit Parameters dialog) , is called a Reference Dimension. A reference dimension creates a Parametric Relation between dimensions. See Rerouted Relation. Refresh Rate: This is the rate of frame draw of a certain model on a certain hardware system. The refresh rate is expressed in FPS (Frames Per Second). Rerouted Relation: Parametric Relations can become rerouted if one or more of the reference dimensions participating in an expression (in the Edit Parameters dialog) are no longer valid (the feature was deleted, the sketch modified, a connection edited, etc.). See Reference Dimension. Response Time: The selector response time to mouse movements, resulting in highlighting entities. right-click: Press and release the right mouse button once (to display a popup menu). Runner: The channel between a sprue bushing and a molded part, allowing the filling of the mold by the plastic.

S
SAT: SAT is an ACIS part save file. See ACIS. Scroll bar: A bar that appears at the bottom and/or side of a window whose contents are not entirely visible. Each scroll bar contains a slider and scroll arrows. SDK: Software Development Kit. See CimatronE SDK. Server: A folder in the network that is used as a storage for the project files. Session: The CimatronE session in the active window. When you run CimatronE in multiple windows, the active window is the current CimatronE session. Set: Sets are used to create groups of specific geometric entities. Sheet Standard: See Drafting Standards. ShoeExpress: See CimatronE ShoeExpress. Sketcher: See CimatronE Sketcher.

Glossary

Skin: A thin reproduction of the outside surface of a part detail, or model. Slider: A control that enables you to set a value in a range - for example, the display quality options for the currently open file. Smoothing: The action of correcting the edge geometry. Spring back (Die): Partial rebounding of formed material caused by its elasticity. Stamping: A term used to refer to various press forming operations in coining, embossing, blanking, and pressing. Forming metals using pressure into the surface of a metal, usually strip or sheet. Stamping Dies: Stamping dies are a special, one-of-a-kind precision tool that cut and form sheet metal into a desired shape or profile. Stamping is a cold-forming operation, which means that no heat is introduced into the die or the sheet material intentionally. Standard Catalog Part: See Catalog Terms - Standard Catalog Part. Status bar: The area arranged horizontally across the bottom of the main window that displays the name of the selected menu item (function name), function prompts and other information. STEP: STEP (Standard for Exchange of Product model data) is an international effort to standardize the exchange of product design and manufacturing data. STEP is an ASCII neutral data format. Within the USA it is also known as PDES (Product Data Exchange using STEP). STL: STL (Stereo-lithography tessellation language) refers to the representation of 3D forms as boundary representation solid models constructed entirely of triangular facets. The STL format was developed for use in rapid prototyping machines including Stereolithography apparatus (SLA). Strip (Die): The metal band that is used as Raw material for the press. Stripper: A plate designed to remove, or strip, sheet metal stock from the punching members during the punching process. Strippers are also used to guide small precision punches in closetolerance dies, to guide scrap away from dies, and to assist in the cutting action. Strippers are made in two types: fixed and movable. Sub-assembly: An assembly contained within another assembly. See Assembly.

T
Template: CimatronE uses various types of templates to speed up the work process and automate different operations. The following types of template are available: File, Electrode, NC and Sheet Templates. See Template: File, Template: Electrode, Template: NC and Template: Sheet. Template: Electrode: An Electrode Template holds the electrode features and some of the parameters used to design an electrode. You can use it to save time by creating the entire geometry of an electrode (once the electrode burning faces were defined) automatically. Template: File: A File Template holds the basic data required to open a new file. This includes Sets, M-Views, various settings and default parameters for many of the functions. You can use it to save time by customizing File Templates so that new files open up with the defaults that are good for you, or even prepare different templates for different types of jobs. Template: NC: An NC (Numerical Control) Template holds NC procedures and their parameters which are used for the creation of toolpaths. You can use it to save time and standardize the process by creating procedures or entire toolpaths automatically.

Glossary

Template: Sheet: A Sheet Template is used to create a drawing with predefined views, frame, tables and text. You can use it to save time by customizing Sheet Templates so that new drawings open up with the frame, views, text and tables of your liking. Title Bar: The strip at the top of a window that contains its title and window controls. The CimatronE title bar contains the CimatronE version number and the name of the open file. Toolbar: A collection of frequently used commands or options, a toolbar provides quick access to the most commonly used tools in CimatronE. Toolbars usually contain buttons, but other components (such as text fields and dropdown lists) also appear in CimatronE toolbars. A series of toolbars are located at the top of the display, under the dropdown menus. Some toolbars also appear on the left (NC) or right (see Guides) of the display. Some toolbar buttons display an additional (nested) toolbar, called a flyout. The toolbars that are displayed vary depending on the CimatronE application you are running (the application defines your current CimatronE work environment). See CimatronE Work Environment. Toolpath (NC): A toolpath is a sequence of one or more machining procedures, performed in a given set of milling axes. Tooltip: A short text string that appears on screen to describe a specific GUI element under the mouse pointer. Transfer Dies: Transfer dies are special line dies that are timed together and properly spaced an even distance apart in a single press. The distance between each die is referred to as the pitch, or the distance the part must travel between stations. Unlike with conventional line dies, the piece parts are transferred by special traveling rails mounted within the press boundaries. Transfer systems can perform numerous motions. However, the two basic types are two-axis and threeaxis. Transfer systems are popular for manufacturing axial-symmetrical (round), very deepdrawn parts. Transform Portion: The portion of the bending option which will not be deformed (stretched or compressed). Tree Pane: The CimatronE Tree Pane contains a wealth of information on the currently open file. This information is contained in tabs which are displayed according to the type of file currently open. Twist: The rotation of two opposing edges of material in opposite directions.

U
UCS: A UCS (User Coordinate System) is used for orientation, to define direction, attach components in an Assembly operation, and many other operations. Every CimatronE file contains a default UCS, however, CimatronE also enables you to define your own UCSs and provides complete control over these UCSs using the UCS Manager. Undercut: Cut away material from the underside of an object so as to leave an overhanging portion in relief.

V
VDA: VDA (Verband der Automobilindustrie) is the German Quality Management System for the automotive industry. The CAD/CAM Committee of the VDA was founded in 1982.

Glossary

VRML: VRML (Virtual Reality Modeling Language) is a file format for describing interactive 3D objects and worlds. VRML is designed to be used on the Internet, intranets, and local client systems. VRML is also intended to be a universal interchange format for integrated 3D graphics and multimedia.

W
Work Part: The plastic part that the mold will produce.

Z
Zero-Thickness Geometry: See Non-Manifold Geometry.

Index
3 3DSTL.......................................................... 834 A AccessMode ................................................. 874 AddMode ..................................................... 874 AddModel .................................................... 311 AddModelType ............................................ 875 API 3DSTL...................................................... 834 AccessMode ............................................. 874 AddMode ................................................. 874 AddModel ................................................ 311 AddModelType ........................................ 875 AppAccess ................................................... 6 Application................................................... 6 Application_sub ........................................... 6 ArrowFigure............................................. 128 Assembly Procedures............................... 311 AssemblyDocument ................................... 80 AssemblyInstance ...................................... 58 AssemblyModel ......................................... 50 AssPartProcType...................................... 875 AssProcedureType ................................... 876 Attribute ................................................... 871 AttributeEnumType ................................. 876 AttributeFactory ....................................... 869 Attributes.................................................. 869 Axis .......................................................... 736 AxisMode................................................. 877 BlendHealOption ..................................... 877 BlendSlopeOption.................................... 877 Body ......................................................... 707 Body types ............................................... 747 CimatronE API Enumerator Types.......... 872 CimatronE API Main Chart ......................... 3 CimSuite ................................................ 1012 CimSuite API Enumerator Types ............ 981 CimSuite_chart ........................................ 904 CimSuiteAssy AddComponent ................................ 979 Connect. ........................................... 980 CimSuiteAssy .......................................... 979 CimSuiteAssy_DeleteComponent ........... 981 CimSuiteAssy_GetAddDefinitions.......... 981 CimSuiteCommands SetDisplayMode............................... 904 SetEditMode .................................... 904 SetRenderMode................................ 905 SetSelectionMode ............................ 905 SetSolidMode................................... 905 ExecuteCommand ............................ 905 CimSuiteCommands ................................ 904 CimSuiteDI ............................................ 1013 CimSuiteDI_ExportDI ........................... 1013 CimSuiteDI_ImportDI ........................... 1013 CimSuiteDM CloseActvDoc .................................. 928 CreateNewDocument....................... 929 DeleteExistingDoc ........................... 929 GetActiveDoc .................................. 930 GetActiveModel............................... 930 GetActvDocDescription................... 930 GetActvDocPID............................... 930 GetActvDocTitle.............................. 931

1195

Index

GetActvDocType ............................. 931 GetActvDocUnits............................. 931 GetActvDocVersion......................... 931 GetDocumentAttribute..................... 932 OpenExistingDoc ............................. 932 OpenPdmBrowser ............................ 932 SaveActvDoc ................................... 933 SetModelContainer .......................... 933 SetDocumentAttribute ..................... 933 GetPathOfActiveDocument ............. 933 SelectFromBrowser.......................... 934 GetOpenDocuments ......................... 934 CimSuiteDM ............................................ 927 CimSuiteGeneral GetSelectionList............................. 1001 SetSelectionList ............................. 1001 UpdateSelectionList ....................... 1002 CimSuiteGeneral...................................... 997 CimSuiteGeneral_AddEntityToExistingSets ............................................................ 1001 CimSuiteGeneral_CheckInteractionStatus ............................................................ 1001 CimSuiteGeneral_CloseInteractionsByID ............................................................ 1000 CimSuiteGeneral_CreateNewSetsByColor .............................................................. 998 CimSuiteGeneral_CreateNewSetsByEntityLi st ......................................................... 1000 CimSuiteGeneral_CreateNewSetsByEntityT ype........................................................ 998 CimSuiteGeneral_CreateUserDialog ..... 1002 CimSuiteGeneral_GetInteractionObject .. 999 CimSuiteGeneral_GetInteractionsIdList.. 999 CimSuiteGeneral_GetlastInteractionID ... 999 CimSuiteGeneral_GetSetsNames ............ 999 CimSuiteGeneral_HideShowSets .......... 1000

CimSuiteGeneral_SetPrompt................... 998 CimSuiteGeneral_SuspendDisplay........ 1002 CimSuiteGeomData CheckIfFaceIsClosed ....................... 936 CheckIfFaceIsParametric................. 936 GetEdgeLimit................................... 936 CheckIfFaceIsPlanar ........................ 937 CheckIfPointOnSurface ................... 937 GetAllEdgesFromActiceDoc ........... 937 GetAllEntitiesList ............................ 938 GetArcGeomData ............................ 938 GetEdgeGeomType.......................... 938 GetEdgeParent ................................. 939 GetEllipseGeomData ....................... 939 GetEntity_Box_Param ..................... 939 GetEntityBodyParent ....................... 940 GetEntityEdgeParent........................ 940 GetFaceClosestPoint ........................ 940 GetEntityID...................................... 940 GetEntityType.................................. 941 GetFaceConeParam.......................... 941 GetLineGeomData ........................... 942 GetSplineGeomData ........................ 942 GetVertexOfEdge ............................ 942 GetVertexOfPoint ............................ 943 CheckIfFacesAreTangent ................ 943 GetAllEntitiesList ............................ 943 GetEdgeEvaluate.............................. 944 GetPointOnEdgeByFilter................. 944 GetEntityAttribute............................ 944 GetFaceEvaluate .............................. 945 GetFaceLoops .................................. 945 GetFaceNormal ................................ 945 GetFaceParametersByPoint ............. 946

Index

GetGeomSurfaceType...................... 946 SetEntityAttribute ............................ 946 GetEntitiesRelatedByFilter .............. 947 GetPiercingPoints............................. 947 GetEntitiesListByFilter .................... 948 GetFaceLimit ................................... 948 CimSuiteGeomData ................................. 934 CimSuiteMath VectorLength ................................... 949 UCSTransport .................................. 949 ProductVectorMatrix ....................... 950 Pln2Model........................................ 950 Model2Pln........................................ 950 MakeUnit ......................................... 950 DotProduct ....................................... 951 CrossProduct .................................... 951 TranslateActiveUCStoModelUCS ... 952 TranslateModelUCStoActiveUCS ... 952 CimSuiteMath .......................................... 949 CimSuiteMath_DistanceBetweenTwoPoints .............................................................. 951 CimSuiteMath_UCSRotate...................... 951 CimSuiteNC ........................................... 1014 CimSuitePickTool ActivateAllFilterPoint...................... 953 DeActivateAllFilterPoint ................. 953 DisableAllFilterPoint ....................... 954 EnableAllFilterPoint ........................ 954 GetEntityListByFilter....................... 954 IsClickPressed.................................. 954 IsMBmousePressed.......................... 955 PickEntitiesByFilter ......................... 955 PickPointByFilter............................. 956 PickPointsByFilter ........................... 956

SelectedEntityList ............................ 956 Set_SinglePick ................................. 957 CimSuitePickTool.................................... 952 CimSuiteReferences ActivateUCS .................................... 906 CreateAxis2P ................................... 907 CreateAxisIntersectionEntities ........ 907 CreateAxisParallelToEntity ............. 907 CreatePlane3P .................................. 908 CreatePlaneByUcs ........................... 908 CreatePlaneNormalToEdge ............. 909 CreateUcs3P..................................... 909 CreateUcsOnPlanarFace .................. 910 CimSuiteReferences................................. 906 CimSuiteSketcher TransformAndEval .......................... 958 NewSketchDefault ........................... 958 NewSketch ....................................... 959 MoveTo............................................ 959 LineTo.............................................. 959 ImportSketcher................................. 960 GetSkObjByID................................. 960 ExportSketcher................................. 960 CreateSpline..................................... 960 CreatePolyLine ................................ 961 CreateLine........................................ 961 CreateElipse ..................................... 961 CreateBox ........................................ 962 CreateArc ......................................... 962 CloseSketch...................................... 963 ReadSketchFromFile........................ 965 SaveSketchToFile ............................ 965 CimSuiteSketcher .................................... 957

Index

CimSuiteSketcher_CreateAngularDimension .............................................................. 963 CimSuiteSketcher_CreateLinearDimension .............................................................. 963 CimSuiteSketcher_CreateOriginalPoint .. 964 CimSuiteSketcher_CreateRadialDimension .............................................................. 964 CimSuiteSketcher_CreateRegularPoint ... 965 CimSuiteSketcher_NewSketchFromSelected Face ...................................................... 965 CimSuiteSolid GetLastWireBody ............................ 967 ExtrudeDeltaAndDirection .............. 967 CreateRound..................................... 968 CreateRevolve.................................. 969 CreateDriveSolid.............................. 969 ActivateModel.................................. 970 DeActivateModel ............................. 970 ExtrudeDelta .................................... 970 Loft................................................... 971 CimSuiteSolid .......................................... 966 CimSuiteSurface CreateBlendSurface ......................... 911 CreateSweepSurface ........................ 911 SplitFacesByPoint............................ 912 SplitFacesByEntity .......................... 912 CreateMeshFace............................... 913 CreateDriveFace............................... 914 CreateBoundedFace ......................... 914 TrimFacesByPoint ........................... 915 TrimFacesByEntity .......................... 915 TrimBothFaces................................. 916 CimSuiteSurface ...................................... 910 CimSuiteTransform CreateOffset ..................................... 918

GetLinearModel............................... 918 GetLinearModelFromOneFace ........ 919 MoveUCStoUCS.............................. 919 ProjectEntitiesToFace ...................... 919 CopyUCS ......................................... 920 CimSuiteTransform.................................. 917 CimSuiteWireFrame Create3DSpline ................................ 921 CreateLine2Points............................ 922 CreateLineByLength........................ 923 CreateLineFromPointToPoint.......... 923 CreatePoint....................................... 923 CompositeCurve .............................. 924 CreatePoints ..................................... 924 SplitCurvesByEntity ........................ 925 SplitCurvesByPoint.......................... 925 TextCurve ........................................ 926 TrimCurvesByEntity........................ 926 TrimCurvesByPoint ......................... 927 CimSuiteWireFrame ................................ 920 Command Class ....................................... 113 Command Main ....................................... 112 Cone face ................................................. 799 Connect .................................................... 320 ConnectAlignmentMode.......................... 877 ConnectFlipMode .................................... 877 ConnectMode........................................... 878 Copy Procedures ...................................... 632 Curve types .............................................. 752 CurveExtendLinearOptions ..................... 878 CurveExtendReferenceOptions................ 878 CurveExtendSideCurveOptions............... 878 Data Management ...................................... 10 datum........................................................ 731

Index

Datum Procedures .................................... 338 DI_main ................................................... 109 DIinterface ............................................... 109 Dimension ................................................ 840 Dimensions .............................................. 702 DisplayFigureBox XLength ........................................... 133 YLength ........................................... 133 ZLength............................................ 134 DisplayFigureBox .................................... 133 DisplayFigureCone Radius1 ............................................ 132 Radius2 ............................................ 132 Height............................................... 134 DisplayFigureCone .................................. 132 DisplayFigureCylinder Radius .............................................. 137 Height............................................... 138 DisplayFigureCylinder............................. 137 DisplayFigureDisk InnerRadius ...................................... 136 OuterRadius ..................................... 137 DisplayFigureDisk ................................... 136 DisplayFigurePoint Size................................................... 135 Type ................................................. 136 DisplayFigurePoint .................................. 135 DisplayFigureSphere Radius .............................................. 135 DisplayFigureSphere................................ 135 DisplayFigureTorus InnerRadius ...................................... 134 OuterRadius ..................................... 138 DisplayFigureTorus ................................. 138

DisplayMode............................................ 982 DisplayUtils ............................................. 144 DivideDraftSideOption ............................ 878 DivideFromOption................................... 878 DivideSideOption .................................... 878 DivideToOption ....................................... 879 DocAttribute ............................................ 869 DocumentEnumType ............................... 879 DocumentEnumUnit ................................ 879 Documents ................................................. 80 DraftDocument .......................................... 87 DrftModel .................................................. 76 DriveSolidInvert ...................................... 879 DriveSolidMode....................................... 879 DriveSolidSweepMode ............................ 879 ECommandCategory................................ 880 ECoordinateMapping............................... 880 Edge ......................................................... 722 Edge Procedures....................................... 507 EDIApplicationType................................ 880 EditMode.................................................. 983 eFaceCurveMode ..................................... 880 EfilterEnumType...................................... 881 Electrode Procedures ...............................

También podría gustarte