CATIA CAA RADE product portfolio from Dassault Systemes provides the most complete set of tools, guides and Application Programming Interfaces that supports the CATIA application development process, from the initial product definition to the final product packaging.
CATIA CAA RADE is the development environment (the IDE) and the Application Program Interfaces (APIs) are the actual code to build CATIA CAA applications. CATIA CAA & RADE are used in conjunction. RADE is delivered on General Available (GA) releases, while APIs are delivered on each Service Pack (SP) level. RADE is just the Visual Studio integration piece that allows developing CATIA CAA apps in Visual Studio. In order to build CATIA CAA applications require CATIA CAA RADE + CATIA APIs. Normally RADE is a 32-bit installation, but the APIs are available on 32 and 64-bit depending on the CATIA base installation.
CATIA CAA RADE has some important tools used for managing, compiling and checking the source code written using CAA APIs. This article discusses RADE tools. CATIA CAA RADE tools are mainly CAA Commands, code generation wizards, code builders and generators
Availability of CATIA CAA RADE Commands
CATIA CAA RADE commands and related features are available in the following menus of Visual Studio: File, Edit, Project, CAA V5 Workspace, CAAV5 Source Code Management,Build, Debug, Tools, Window, Help. Additional CAA V5 Commands are found under the menus: File→Add CAAV5 Item, File→Add CAA V5 Project.
Note that CATIA CAA RADE menus are not available when launching Microsoft Visual Studio. Users must first select New CAA V5 Workspace or Open CAA V5 Workspace to view the CATIA CAA RADE commands.
Synchronous and Asynchronous CATIA CAA RADE Commands
There are two kinds of CATIA CAA RADE commands that can be run using Microsoft Visual Studio Wizards:
Synchronous CATIA CAA RADE Commands
Developers must wait for their completion to keep working with the CATIA CAA RADE environment. A log window for each synchronous opens while a CATIA CAA RADE synchronous command runs. Developers can swap between the Show Details>>/Hide Details << mode of the window to browse or hide the feedback of the CATIA CAA RADE command.
After the execution of the CATIA CAA RADE command, and if it is successful, the log window disappears automatically, if in Hide Details mode. If the Output is being displayed, the Breakbutton switches to Close. Click the Close button to close the window.If the CATIA CAA RADE command fails, developers always need to close the window manually.
Example of a Synchronous Command in CATIA CAA RADE
Asynchronous CATIA CAA RADE Commands
Asynchronous CATIA CAA RADE commands are launched in the background and you can continue to work within the CATIA CAA RADE dashboard in Visual Studio.
For the C++ Interactive Dashboard, these command outputs are redirected to the Output Tab with the CATIA CAA RADE Tool name.
Traces are kept visible until a new command is run, allowing you to consult these messages, especially when an informative command has been run, in the example below we asked for the list of existing workspaces. The traces are also saved in files in your CATIA CAA workspace and can be retrieved using Open Command Log… available in the Window menu. The lifetime of these files is approximately one day.
Asynchronous CATIA CAA RADE commands are piled in the CAACommand Manager and executed sequentially. The CATIA CAA RADE Command Manager window is displayed whenever an asynchronous CATIA CAA RADE command is executing or waiting for execution. In this window you can see commands that are done, running or waiting.
- You can cancel a running command by selecting it in the list and clicking Stop.
- You can cancel all commands and close the window by clicking Stop All.
When all commands have stopped, the CATIA CAACommand Manager window is closed.
CATIA CAA RADE – Tools & Commands
What is mkmk?
mkmk is a tool that is used to build CATIA CAA RADE programs from source files. CATIA CAA source files are managed and delivered in components which structure respects a particular organization and is called as CATIA CAA FileTree. The mkmk command builds sources written in C, C++, Express, Fortran, JAVA.
Mkmk Default Usage & Compilation Phases
Run without any option, mkmk by default executes the four following phases:
- “ID card compilation”: processes the [container] framework ID card
- “header list generation”: produces the list of headers made public by the [container] framework. Corresponding file is <fw_name>/various/$MkmkOS_VAR/Public<fw_name>.lh
- “Imakefile.mk checking”: The Imakefile.mk is checked and updated if necessary. For updating, see -u, -g or -dev options.
- The build itself. When processing a shared library, mkmk splits the phase in two, in order to successfully build a series of them:
- forced standalone generation of the (shared) library, even when symbols are missing
- generation of the shared library (not OK if symbols are missing).
CATIA CAA RADE mkGetPreq Command
CATIA CAA RADE mkGetPreq is a command designed to make available to a [local] CAA workspace the prerequisite frameworks of frameworks present in the [local] CAA workspace.
Whereas CATIA CAA RADE mkCopyPreq performs a physical copy of the data useful for CAA build-time and CAA run-time in the identified prerequisites, CATIA CAA RADE mkGetPreq defines a dynamic search path, which later on is detected and interpreted by mkmk; CATIA CAA RADE mkmk then dynamically uses this concatenation of directories. Run the command in simulation mode (-simu option) to know from what directory in the dynamic search path all the CATIA CAA prerequisite frameworks are taken from.
CATIA CAA RADE mkCopyPreq Command
CATIA CAA RADE mkCopyPreq copies the prerequisite frameworks into a CAA workspace. Contrary to mkGetPreq physical copies are made. CATIA CAA developer thus isolates his workspace from the changes in his prerequisites, which stabilizes the CATIA CAA environment.
Please note that CATIA CAA RADE mkCopyPreq replaces the existing frameworks only for a case where these frameworks were previously created by the mkCopyPreq command.
For disk space economy reasons and performances, CATIA CAA RADE mkCopyPreq does not copy the entire data of a prerequisite CAA framework. For instance, the source code is not copied locally, which won’t allow a local work on these CATIA CAA RADE frameworks.
CATIA CAA RADE mkCopyPreq reprocesses the identity card of the local CAA framework. If one of the CAA frameworks is already existing in the target workspace, it is not copied, an error message is displayed but the copy continues. When the -remove option is set, CATIA CAA RADE mkCopyPreq deletes data that has been eventually copied locally by a previous mkCopyPreq operation.
CATIA CAA RADE mkPrintPreq Command
Prints out the list of the [direct and indirect] prerequisite frameworks of a given CATIA CAA framework.
The mkPrintPreq command may be compared with “mkGetPreq-simul”, which also outputs a list of prerequisite CATIA CAA frameworks. CATIA CAA RADE mkPrintPreq can be run on a given [local] CAA framework, whereas CATIA CAA RADE mkGetPreq works on all [local] frameworks.
CATIA CAA RADE mkRmFw Command
CATIA CAA RADE mkRmFw deletes frameworks into a CAA workspace.
Note that this command addresses CAA frameworks which have been installed by command CATIA CAA RADE mkCopyPreq or command CATIA CAA RADE mkCopyFw.
CATIA CAA RADE mkRemoveDo Command
CATIA CAA RADE mkRemoveDo command is used to discard all derived objects into read-write CAA frameworks of a development workspace.
A CAA framework is read-write only if a file named IdentityCard.h exists into the IdentityCard subdirectory. Note that CATIA CAA RADE mkCopyPreq command will create read-only versions for all prerequisites CAA frameworks, then mkRemoveDo will not remove any files into frameworks created by the mkCopyPreq command.
An operating system can be indicated to limit the scope of the deletion. CATIA CAA RADE mkRemoveDo deletes the derived objects which are coming from the CAA mkCopyPreq command or from any CAA framework
CATIA CAA RADE mkCreateRuntimeView Command
There are two kinds of file trees in CATIA CAA file structure: one for the CATIA CAA build time and one for the CATIA CAA run time. Some objects are used during the run time like icons, resources files and are stored in the CAA frameworks architecture. In order to be used during the CATIA CAA run time they must be copied in a run time file tree named RunTimeView.
CATIA software knows only the RunTimeView. The CATIA CAA RADE mkCreateRuntimeView is a command to copy (copy or symbolic link) automatically files from the CAA build time file tree into the CAA runtime file tree.
CATIA CAA RADE mkrun Command
CATIA CAA RADE mkrun command is used to execute a CNext program. It initializes the CATIA environment: PATH on Unix, LIBPATH on AIX, SHLIB_PATH on HP, LD_LIBRARY_PATH for Sun, PATH on Windows operating systems.
🎓 CATIA CAA Customization Training from PLM Coach
🎓 CATIA CAA Fundamentals – Getting Started (URL: https://plmcoach.com/catia-v5-caa-rade-customization/)
Required for anyone getting started to develop CATIA CAA V5 applications in the scope of CATIA portfolio
🎓 CATIA CAA Advanced
Advanced techniques for extending the CATIA CAA data model in the Part and Product context.
🎓 CATIA CAA for 3DEXPERIENCE – Getting Started(URL: https://plmcoach.com/3dexperience-catia-caa-rade-customization/)
Required for anyone developing CAA applications on top of the 3DEXPERIENCE platform
🎓 CATIA CAA for 3DEXPERIENCE – Adoption
Required for anyone developing V6, 3DEXPERIENCE or migrating V5 applications in the scope of CATIA portfolio
🌍 CATIA CAA Customization References on Web
🌍 Dassault Systemes CATIA CAA Portfolio Page (URL: https://www.3ds.com/products-services/catia/products/v5/portfolio/domain/CAA_RADE/product/CID-1/?cHash=98d748f25010699675171122824335a9)
🎬 Checkout Video on CATIA CAA RADE Tools:
🌍 For PLM / CAD Training Visit ► https://plmcoach.com
📧 Contact PLM Coach:
Follow the link to Training Inquiry Form to provide your details ►https://www.surveymonkey.com/r/PLMInfoV3
Follow the link to Text PLM Coach on WhatsApp ► https://wa.me/917989703878
☏ Mobile Number ► +91-7989703878
💌 Email ► email@example.com