Before we get into CATIA macro terms and definitions, let’s first quickly explain what a macro is and why we use them. A macro is a series of functions written in a scripting language that is grouped in a single command to perform the requested task automatically.  If you perform a task repeatedly you can take advantage of a macro to automate the task. Macros are used to save time and reduce the possibility of human error by automating repetitive processes, standardization, improving efficiency, expanding CATIA’s capabilities, and by streamlining procedures. Macros use programming but you don’t need to be a programmer or have programming knowledge to use them (though it does help).

catia macro terms and definitionsThe application of automation in the design process is virtually unlimited. Some real world examples of CATIA automation at work:

  • Batch script for the conversion of CATDrawing files to PDF
  • Import of points from an Excel spreadsheet to a 3D CAD model
  • Export of data from CATIA model to a bill of material spreadsheet
  • Automatic geometry creation from selection
  • Automatic drawing creation

And so on and so on. The possibilities are nearly limitless.

The following is a list of common CATIA macro terms and definitions which will be used frequently throughout this website. It is recommended that you become familiar with them if you aren’t already. A quick reference of acronyms is listed in the appendices of VB Scripting for CATIA V5 as well.

Integrated Development Environment (IDE) is a computer application to help programmers develop software and typically consists of a source code editor, debugger, build automation tools, object browser, and a compiler or interpreter.

Graphical User Interface (GUI) is a way for humans to interact with computers with graphical elements such as windows, menus, tool bars, icons, etc. which can be manipulated by a mouse. The VBA editor is a perfect example.

Command Line Interface (CLI) is a way for humans to interact with computers through text only and is accessed solely by a keyboard. The most common example is MS-DOS.

Component Application Architecture(CAA, CAA V5, or CNext) is theApplication Programming Interface (API) or technological infrastructure designed to support Dassault Systèmes products. It is an open development platform enabling programmers to develop and integrate their own applications for CATIA or other Dassault Systèmes products.CAA V5 is faster and more powerful than VB. It provides access to interfaces not available to Visual Basic but harder to learn. C++ is the primary language. A single source code is used for both Windows and UNIX. CAA Rapid Application Development Environment (RADE) provides a workbench to develop PLM applications using the component object model object oriented programming.

Object Oriented Programming (OOP) is where programmers define not only the data type of a data structure, but also the types of operations, or functions, that can be applied to the data structure. An object in software is a structure that consists of data fields and subroutines or functions. Everything in CATIA is an object; the data fields are called Properties and the subroutines and functions are called Methods. All the data and functions have owners which are the objects to which they belong. A thorough understanding of OOP is critical to your success in macro programming.

Component Object Model (COM) is a Microsoft technology that enables sharing of binary code across different applications and languages. CATIA V5 is COM enabled software. Codes for COM objects or components can be called, initiated, or created at any time because they are stored in DLL files and registered in the Windows registry. If CATIA calls Excel, CATIA is then the client and Excel is the server, or the one that provides services to the client.

VB talks to CATIA through Dynamic Linked Libraries (DLL). DLLs are compiled files that contain all of the functions that make CATIA V5 perform an action. For example, when you select the “point” function in CATIA, the program calls a function inside one of the dll files that performs the action of creating a point in the V5 database. These files are both compiled and encrypted (or “mangled”) and are located in the UNLOAD directory for CATIA V5 (C:\Program Files\Dassault Systemes\B20\intel_1\code\bin). Encryption is a method by which software companies can ensure that others cannot access the function inside the dlls. You cannot directly call the dlls from outside applications, therefore extra programming needs to be done to allow the dlls to be exposed to Windows and the COM object model. This is done via Type Library Files.

Type Library Files (TLB) are files necessary for exposing functions to Windows by acting as maps which point to the functions inside of the dll files that make CATIA V5 work. The TLB files are also located in the UNLOAD directory for V5. Any external application needs to have access to these files. The complete process is:

VB Application -> Type Libraries -> Dynamic Linked Libraries -> CNext.

Thanks for reading about CATIA macro terms and definitions. Now you can make a choice:

Continue to CATIA macro languagues.

Return to the CATIA tutorials page.