## Knowledge-ware Formulas: Variable, Operators, and Expressions

Formulas are Knowledge-ware objects of type AdvisorFormula, which is a specialized AdvisorRelation. I usually explain formulas as single-line Rules written in EKL*. They serve as the building blocks for constructing complex Parameter relationships. Formulas are composed of variables, operators, and/or functions and methods**. A formula can drive only one parameter. It also must return a […]

## The Physical Product PositionMatrix

I showed earlier how to extract origin-coordinates and rotation-angles from Axis Systems’ components. Atsushi followed with a post on working with vectors and I recently showed how to perform Axis To Axis transformations on geometric features. Today I’ll focus on Physical Product’sPositionMatrix; more specifically, the VPMInstance PositionMatrix. Instance Position Vs Occurrence Position A Physical ProductReference […]

## On Automating Problems Away With Joe Burch

I recently had a chat with Joe Burch at Tesla’s office in Palo Alto. He told me about his first VBA code, which he wrote as a young engineer, to solve some 20,000 CATPart problem in V5. So I was like: "Would you be interested in an interview, Joe?" He gladly agreed. Here it is! […]

## Axis To Axis Transformations With EKL

Transforming geometric features from an AxisSystem to another is a common task in CATIA; especially when the goal is to decouple driving geometry from the construction of a UDF or a PowerCopy. For example, providing 2D-curves as input to a UDF that transforms the curves to build an extruded surface along a line–think window-frame tubes/channels. […]

## More on The Bounding Box With EKL…

Hi All! Sometime back I had created a powercopy for generating bounding boxs for 3D surfaces. Seeing Maher’s post, I thought of sharing what I had done and also some EKL scripts for achieving the same. There are two possibilities here: A bounding box based on computed inertia axes. A bounding box based on a […]

## Bounding Geometry With EKL: Box and Rectangle

In my previous post, I showed how to create a convex hull around a set of points or a polygon. Today’s post will focus on creating a bounding box and a bounding rectangle, depending on the input. Determining the boundary of an object will be guided by 3 directions: X, Y, and Z. In today’s […]

## Bounding Geometry With EKL: 2D Convex Hull

We often need to build simplified representations of geometry to facilitate solving problems related to packing and stacking; area and volume (weight) estimation; and more generally, space reservation. One such simplified representation is finding a 2D convex hull of a point set. Let’s take a look. Pseudo Code A convex hull is an unambiguous boundary […]

## Functional Parametric Modeling. Idea 1

While I was experimenting with xGenerative Design (xGen) a while ago, I had the idea of revisiting old tutorials that I developed and taught in classes over the past years using RhinoScript, FormZ, Dynamo, Digital Project and CATIA. In my experience, this is one of the best to learn new tools. Since I like to […]

## DELMIA, an overview

What is DELMIA? DELMIA is a Global Industrial Operations software that specialises in Digital Manufacturing and Manufacturing Simulation. DELMIA, an acronym for: DIGITAL ENTERPRISE LEAN MANUFACTURING INTERACTIVE APPLICATION enables manufacturers in virtually any industry to digitally define, plan, create, monitor, and control all production processes. With it comes an array of dedicated applications (listed below) […]

## On CATIA For Fabrication With Neil Meredith

I had the opportunity to interview Neil Meredith, a former colleague from Gehry Technologies, (now Trimble Technologies). Neil currently works at one of the most advanced fabricators in the US, MG McGrath. My goal from the interview was to shed some light on how they use CATIA in practice. Let’s get to it! What do […]

## Understanding The Shape Representation

I explained earlier the Drawing Representation model and touched upon a few notions: Aggregated vs Shared Representations, Collections, and Representation’s Root. Let’s now take a look at the more complex Shape Representation, and some of the differences between the dotnet and the EKL APIs. The Shape Data Mode Shapes are Representations whose V_discipline attribute value […]

## 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 […]

## On Practicing Automation In AEC With Guido Maciocci

I made a few interviews over the past few months with folks from Dassault to offer readers an insight into how and why certain CATIA features came about and what they mean for end users. Changing lenses; today I interview one of CATIA’s experts from Australia, Guido Maciocci of AR-MA to talk about CATIA automation […]