Category: Code

Organizing Automation

It is quite tempting to throw all of your EKL code in a single Knowledgeware object– Action, Rule, KnowledgePattern, or Reaction. While convenient, this practice brings many drawbacks. Instead of describing what these are, I will focus instead on describing some programming principles and the benefits they bring. I learned the value of these principles […]

Making Use of Catalogs

I posted earlier on creating CATIA trees by passing instructions based on a custom syntax using EKL. I also posted on deploying tools to Catalogs as a mean to distribute automation tools for an organization. Today, I’ll show another example on building a tree, and will cover a few more things on Catalogs that I […]

Making Use of Resource Tables

We can use EKL code to call reusable features Actions, Powercopies, UDFs, and Engineering Templates. To do this, we need to define them as Resources by adding them to a Resource Table. Resources can be inserted from any Representation in a Resource Table. However the Resource Table itself has to be inside the same Representation […]

Scaling Drawing Views

Scope We often produce 2D documentation of parts varying in size; trying to fit them all on a single-sheet size per project deliverable/package, and we are aware that CATIA drawing has many inefficiencies, one of the most common bottlenecks found is scaling views to fit. Today I will provide an automation example to mitigate scaling […]

Understanding The Drawing Representation

CATIA’s data model is structured around two main object types: Physical Products (Parts and Products) that hold information pertaining to structure, and Representations that hold information relating to descriptions– whether 3D geometry as in Shapes and Skeletons, or Knowledgeware features as in Knowledge Engineering Specifications, or 2D view drawings as in Drawings. An overview of […]

Engineering Templates Explained

One of the most robust functionalities supported by CATIA’s Knowledgeware is the ability to create reusable content: User Defined Features or Power Copy features, which can be instantiated within Representations; Engineering Templates, which can be instantiated within Physical Products. This functionality enables the encapsulation of compelx relationship and enterprise best practices; supporting Knowledge Based Engineering […]

xGen Script Node – Simplified Venation

As architects we’re often searching out novel approaches to patterning for building facade design or custom building interiors. Algorithms that approximate processes in nature can be a good source material for pattern exploration. Their quick to run once developed and provide a large array of design variability with some simple tweaking. Approximating the veining pattern, […]

Working With Vectors

Working with mathematical vectors in code is valuable. It requires only math calculation, and a code executing time is faster than a code dependent on a geometrical object attributes. Maher showed, in a previous post how to extract direction components from an AxisSystem matrix using EKL. In this post, I’ll dig deeper into how Vectors […]

Circle Curve Divide

In this post we make a variation of Points along curve by max spacing, to generate division points and axes along a circle curve in three ways: by angle, instances and angle-instances. This spacing can be particularly useful as more flexible polar assembly pattern. The circular division is displayed using an action and a reaction, […]

Polygonise Curve

Distance can be measured with respect to the shape (Geodesic) using a curve’s length, or direction (Euclidean) using a straight line’s length. Examples provided by Guido, and Mirco use the Geodesic method, that is they are both based measuring distances or locating points along the curve using EKL’s pointoncurve and pointoncurveRatio. In this post, in […]