Category: Workflow

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

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

Deploying Automation

CATIA provides two methods to deploy automation written in EKL to end users; enabling organizations to streamline tools for maximum impact. Let’s take this EKl action as an example: Assign Color Based On Attribute Example I previously posted on how to assign different colors to physical products. Today I’ll show a variant of that post. […]

Automating Generative Design for Fabrication

Arguably one of the most powerful Knowledgeware Objects in CATIA is the almighty Engineering Template – an object that allows you to capture entire product structures as a template with dynamic input parameters and attributes. In particular Engineering Templates allow us to capture and re-use manufacturing data relevant to a product including fabrication information, assembly […]

Building Trees With Custom Syntax Using EKL

Automation can make things quick and easy. Inspired by the idea of providing Syntactic sugar to execute tasks quickly, and more specifically Markdown-Mermaid, here is an example of generating assemblies using EKL with simple syntax. The Syntax I’ll define syntax to builds trees by describing parents and children relationships as instructions. Since tree nodes can […]

Alternatives In Visual Programming–Updated

Current Graph Implementations Visual programming tools have matured over the years to offer key features that users have come to expect: – Graphs are composed of nodes, that can be connected by data streams Nodes are multi-functions, capable of taking multiple inputs and generating multiple outputs. Nodes have input and output ports. Data is transmitted […]

Custom EKL Libraries

Organizations can create and reuse custom EKL functions as Knowledge Libraries. Creating such libraries requires a KHC license to use the Quality Rules Capture app. However, consuming them does not require KHC. It does however require KDI in order to be able to write EKL code. A custom EKL Function will behave as a regular […]

Designer Vs Automation

What is design? I view design as a problem solving activity; where the intent is to reverse the effects of the problem. Further, I think of creativity in problem solving as an overall character evaluated by two parameters: utilization of resources (quantitative/ordinal), and beauty (qualitative/nominal). The first is maximized by meeting the required goal(s) while […]

Google Sheets To CATIA Via EKL

REST, Representation State Transfer, is a pattern for making APIs (Application Programming Interfaces) that can serve clients (callers of that API). They’re used for web-services. REST’s pattern includes methods names and parameters. You send requests and receive responses. REST APIs typically include six methods: Delete, Get, Link, Patch, Post, and Put. These API Calls are […]

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

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

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

Interactive Computation, Examples

I outlined earlier, here and here, the approach that I feel is most suitable for addressing complex design problems that are neither well-defined nor ill-defined. In this post, I’ll briefly describe two examples that represent the idea more concretely. I must note that when these examples were developed, the idea of "interactive computation" was not […]