In this blog post you will learn the CAA V5 development platform, know the foundation components, and understand the architecture of the CATIA / 3DEXPERIENCE native application following the Model/View/Controller design pattern.
Introduction to CATIA CAA RADE Customization
In our previous blog post we had discussed on the topic How to learn CATIA CAA RADE Customization? In this month’s blog post we will discuss on getting started with CATIA CAA RADE Customization. CATIA CAA Customization is a rapidly growing niche skill, in CAD & PLM Customization landscape. It is essential for CAD & PLM engineers to learn CATIA CAA Customization skill, as it has very high demand in the market, due to Dassault Systemes’s strategic direction towards integrating 3DEXPERIENCE Platfrom’s core customization around CAA Technology. CATIA is a widely used CAD system in the market. It provides openness for customization. Let’s discuss below on Getting Started with CATIA CAA Customization
CATIA Customization Capabilities
- CATIA Knowledgeware Applications
- CATIA Visual Basic Automation
- CATIA CAA Customization
PS: Refer our blog post on 3DEXPERIENCE Platform Openness
CATIA Customization Capabilities – Comparison
|Actions||CATIA Knowledgeware||CATIA Automation||CATIA CAA Customization|
|Extend the PPR||No||No||Yes|
|Connect to an Application||No||Yes||Yes|
|Required Skills||CATIA Expert User||VB Developer||CAA Developer|
|License for Build Time||Yes||No||Yes|
|License for Run Time||Yes||Depends on the used API||Depends on the used API|
CATIA Knowledgeware Solutions
CATIA offers enterprise know-how automation capabilities using Knowledgeware solutions. CATIA Knowledgeware solutions are namely Knowledgeware Advisor, Knowledgeware Expert, Product Knowledge Template and Business Knowledge Template.
- Provides CATIA geometry creation, validation and process automation capabilities
- Minimal coding knowledge is needed for the end user on CATIA Enterprise Knowledge Language (EKL)
- Enables you to capture and reuse corporate know-how
CATIA Visual Basic Automation
CATIA Visual Basic Automation helps you to use a scripting language to access CAA Automation objects to capture your own know-how and increase your productivity. End Users can customize applications to automate repetitive and time consuming tasks, and to make it fit your own process.
- CATIA Automation API helps the end user to view the CATIA data model
- CATIA Macros relying on standard languages across the platforms; MS VBScript on Windows, VB Script provided by Winsoft on UNIX
- CATIA Macros can be recorded and reused interactively
- Can integrate with Visual Basic for Application (VBA) or standalone Visual Basic projects
- Provides Selection capabilities at Feature level and Sub-Element level providing access to Face, edge, vertex
CATIA CAA RADE Customization
CATIA CAA is a de facto standard API written in C++ using tools and methods for an Object Oriented programming environment
- Interactive software development tools built on top of best-in-class de facto standard RADE tools
- Uses Microsoft Visual C++ on Windows and Standard C++ Compilers
- CATIA CAA V5 Addins provides easy to use Wizards to create workbenches, interactive commands, dialog boxes, etc
- CATIA CAA is a huge set of API covering all the domains
- CATIA CAA offers single source code working on both WINDOWS and UNIX operating systems
CATIA CAA Paradigm / Application Architecture
CAA is an acronym for Component Application Architecture. CATIA CAA is a comprehensive and open set of APIs to be fully integrated into Dassault Systemes Portfolio. CATIA CAA permits to customize your business application, extending application portfolio with your business knowledge and reusing CATIA CAA Components to build your own solution.
CATIA CAA Workspace
CATIA CAA Workspace or application is made of several frameworks that often referred as components. Each framework can have several modules that can hold source files.
- Every CATIA CAA Application is a set of 1 to n components called as the frameworks.
- Each framework is composed by 1 to n modules.
CATIA CAA Workspace: Framework / Module Organization
Group of interoperating objects with built-in capabilities delivered as a complete resource to client applications. Encapsulation extended at the level of a CATIA CAA module and a CATIA CAA framework
CATIA CAA Workspace: Prerequisites
To access the header file of CATIShaft for build/link time, the customer Application needs the header file complete path : Workspace + framework + module
Define your Prerequisite Workspaces: mkGetPreq
- mkGetPreq -p PrerequisiteWorkspace1
- This enables you to define where the prerequisite resources are located
- For build time: header files
- For run time: shared libraries, resource files
- This command must be launched in a window where the CAA V5 environment has been set and the current directory must be your workspace directory.
- The IdentityCard defines the prerequisite frameworks to build and use a framework.
- One identity card per framework.
- If there is no prerequisite framework, define an empty IdentityCard.
- This header file is used by our building tool to limit the header file search to the corresponding Interfaces directories of the pre-requisite frameworks.
- This framework uses only headers defined in the PublicInterfaces or ProtectedInterfaces directories of the System and ObjectModelerBase frameworks.
CATIA CAA Workspace: Directory Structure
CATIA CAA Workspace directory comprises of two perspectives. They are Build Time View and Run Time View respectively.
Build Time View contains all source files, that are necessary for CATIA CAA Workspace such as C++ source files and header files. Additionally it contains file likes Imake.mk text file and Identity Card XML or header files.
Run Time View contains the output binaries, libraries and resource files required for executing CATIA CAA Workspace customization on a CATIA Client Workstation. These files include Dico, CATNls, CATRsc, etc
- A unique DS tool built on top of the standard compilers that works in the same way on UNIX and Windows:
- Compile Fortran, C, C++, IDL, …
- To access the mkmk help online, use mkmk -h.
- Use the update (-u) option when:
- modifying the dependencies (an include file added or suppressed)
- adding or removing a file (.h and .cpp).
- modifying the IdentityCard.h and/or the Imakefile.mk
- In other cases, do not use the update option. mkmk will reuse some intermediate files generated before like:
- Its behavior depends on the current directory:
- Your workspace directory is the current directory
- mkmk –aug to force all the modules to be rebuilt with the debug option.
- mkmk –a to rebuild only what needs to be rebuilt
- A module directory is the current directory:
- mkmk –ug to force the corresponding module to be rebuilt with the debug option.
- mkmk to rebuild only if necessary
- Your workspace directory is the current directory
ExportedByModuleName Preprocessor Variables
- A Windows mechanism imposes that shared libraries declare explicitly what they import and export.
- To manage this, we define some pre-processor variables in a single header file named as the module.
Checkout other FREE Resources
🎬 Checkout the video on CATIA CAA Customization
CATIA CAA Customization Training from PLM Coach
🎓 CATIA CAA Fundamentals – Getting Started
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
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
🌍 For PLM / CAD Training Visit
Follow PLM Coach on Social Media:
📧 Contact PLM Coach:
Follow the link to Training Inquiry Form to provide your details
Follow the link to Text PLM Coach on WhatsApp
☏ Mobile Number