Question: Is CADMAI a 3D library or a software application?
Answer: CADMAI is a standalone CAD system as well as a library for 3rd party applications. The installed end user modules (CmiNativeUI.exe, CmiRibbonUI.exe, CmiTestClient.exe, ViewExtract.exe, CmiServerSession.exe) have been created using the CADMAI API modules. These end user modules are mainly used to design the relational models which then can be used by the customer’s apps. The API modules can also be used to create own branded CAD designer applications. The setup provides many examples incl. Source code in C:\Program Files (x86)\CADMAI Software GmbH\CADMAI V4\examples\programming
Question: What is the difference between the offered API's
Answer: CADMAI offers the following modules which support a different set of functionality:
- CmiObjectApi is the base API library.
It supports the creation of basic CAD objects like Points, Arcs, Lines, Dimensions, Solids, Coordinate systems,... The CAD objects can be used in standard OpenGL windows or in batch mode without a graphical window. There is no support for combined objects like models or assemblies. All OpenGL functionality (selection, printing, etc) must be created by the application developer. The library is available for native development (C/C++) and .Net development (C#,...) The license for this API is SingleCmiObjectApiLic/BulkCmiObjectApiLic
The next 3 API modules use CmiObjectApi internally and provide combined objects (models, assemblies), relation management (Actions, Entities), parametric, Import/Export to the application developer
- CmiBatchApi can be used to create technical applications which should run in background mode with no graphical window
You can:
- Create, open and save local CADMAI models
- Steer the models using the relations and parameters
- Create CADMAI Actions and Entities
- Import and export data
- Access the internal basic CAD objects provided by the CmiObjectApi
You cannot
- Interact graphically
- Start animations
- Open more than one model parallel
The library is available for native development (C/C++) and .Net development (C#,...) The license for this API is SingleCmiBatchApiLic/BulkCmiBatchApiLic
- CADMAI Controls (AxtiveX Control, DotNet control, Browser-Plugin)
The CADMAI controls can be used to provide CAD functionality in different programming environments.
- The ActiveX control can be used in any application which supports COM (e.g. Delphi, VB6, .NET, Internet Explorer, ...)
- The DotNet control can be used in DotNet environments
- The Plugin can be used in non Microsoft web browsers e.g. Firefox
You can
- Create, open and save local CADMAI models
- Download CADMAI models from web URLs
- Steer the models using the relation management
- Create CADMAI Actions and Entities
- Import and export data
- Interact graphically (e.g. Selection, 3D View manipulation (Rotation, ...)
- Print
- Start animations
You cannot
- Access the internal basic CAD objects provided by the CmiObjectApi
- Open more than one model parallel
The license for this API is SingleCmiControlApiLic/BulkCmiControlApiLic
- CmiWindowApi
The CADMAI window API offers the use of CADMAI graphical windows in foreign applications. Similar to the concept of the common controls from Microsoft which provides basic controls like Buttons, Input fields,... to applications the CmiWindowApi provides CADMAI windows to the developer. There are two different CADMAI window classes available
- SingleCadmaiWindow, which includes one graphical window and (switchable) tool bar, status bar and structure windows.
- EmbeddedCadmaiWindow which offers one or more graphical windows and a structure window which handles the content of all graphical windows.
You can
- Embed one or more CADMAI windows in your application
- Create, open and save local CADMAI models
- Steer the models using the relation management
- Create CADMAI Actions and Entities
- Import and export data
- Interact graphically (Selection, 3D View manipulation (Rotation ...))
- Print
- Start animations
- Access the internal basic CAD objects provided by the CmiObjectApi
You cannot
- Download CADMAI models from web URLs
The library is available for native development (C/C++) and .Net development (C#,...) The license for this API is SingleCmiWinApiLic/BulkCmiWinApiLic
Question: Which programming language can I use?
Answer: The CADMAI kernel modules are programmed in C/C++ and provide their functionality for C/C++ access via import libraries. For the .Net environment each module has a .Net access module which publishes the needed functionality to the .Net programming languages. The control modules support the usage of C,C++,DotNet and COM So C/C++, C#, VB.Net, COM, JavaScript, VB6, Delphi ... can be used as primary programming languages for applications.
Question: All API samples are built in the installation folder. Is it possible to build and run a project in any directory?
Answer: The necessary CADMAI files must be copied into the target directory. The API chm documentation -> API -> Redistribution chapter shows which files are needed
|