Automation APIs For CATIA

CATIA exposes some of its engine’s functionality to 3rd party developers via APIs– Application Programming Interfaces. It does that by providing what is known as: – Packages for EKL, KML, and CATRules. – DLLs (dynamically loaded libraries) for VBA, VSTA(C-Sharp), and CATScript. – Header files for C++, along with additionals DLLs. xGenerative Design xGenerative Design […]

Walking CATIA’s Trees with C-Sharp

In the post on CATIA Automation APIs, I described the languages one can use to automate CATIA. In this post, we’ll learn how to walk a CATIA tree using C-sharp. I assume that the readers is somewhat familiar with Object Oriented Programming concepts. API CHM (Compiled HTML) Document Before we start, let’s take how to […]

Ice-ray Recursive Grammar

I previously showed two examples on implementing recursion using iteration: Walking CATIA trees, and generating Fibonacci-number series. In this post, I’ll demonstrate generating geometric designs recursively using a combination of UDFs, Power Copies, and Knowledge Patterns. The strategy for implementing recursion through iteration is quite simple: operate on one set of elements; where every iterations […]

CopyPaste With EKL

I recently received a question on how to program copy-paste in EKL. While EKL does not support clipboard operations, it offers two options to deliver what is required. Let’s take a look. Use EKL To Recreate Datum Here, we rely on creating datum objects using the new method, then setting the newly created objects to […]

Writing JSON With EKL

Spreadsheets are commonly used when exporting CATIA’s attributes and parameters, because they can be modified and analyzed further by tools like Excel. Spreadsheets are also very well suited for defining and comparing parameter configurations. However, it is rather difficult to use them for expressing hierarchies (nesting) of data due to their “flat” row-column grid structure. […]

Where Does Visual Programming Fit?

xGenerative Design (XGD) is an easy entry point for learning parametric modeling and visual programming in one simple environment. Its main value, however, comes from its ability to author geometric definitions whose representations are native to CATIA. In this post, I’ll try to connect the dots between visual programing and parametric modeling workflows. First, I’ll […]

xGenerative Design (And A Fibonacci Series Example)

Parametric modeling, an approach to build geometry, permits data manipulation via exposing controls (operands and parameters) to end users. CATIA allows manipulating these controls via User-Interface (UI) tools or programmatically via EKL in Knowledge-ware objects. Users with basic computer science background will immediately map programming concepts onto CATIA: tools are like constructors in object-oriented-programming; features […]

Abbreviating Code With List Methods

EKL provides the List data structure to hold collections of elements that can be of different types. A common programming construct used for iterating over list elements is the for loop. However, writing loops can cause the code to be more verbose than necessary. Thankfully, EKL Lists support a number of methods that allow for […]

Managing Geometry in EKL

EKL rules can be used to manage geometric elements within UDFs, Powercopies, and Engineering Templates to provide a high level of automation of both internal parameters (such as nomenclature) as well geometric configuration. To understand this concept let’s first take a look at “geometric parameters” and how they can be used to create configurable models. […]