Parametric Grishdell - Tutorial

How to create templates with xGenerative Design and instantiate them on a custom wireframe through an EKL action

Visual programming has been a go-to mode of user-interaction (UI) for writing functional programs. While visual programming is fairly easy to learn due to its sequential nature of graph-construction (node A goes to B, B goes to C, etc), it can get visually complex because of the level of granularity it exposes. Augmenting geometric objects with additional attributes (a common task in AEC) adds further complexity. This is where mixing UIs comes in handy. We can exchange data between xGenerative Design (xGen) UIs (published geometry) and CATIA's modeling environment, which also supports text-based programming via EKL.

I'll show this process using an example for populating steel members coming from an Engineering Template (ET) defined in CATIA, on a lattice generated by xGen.

The benefit of using Engineering Templates is the flexibility we get in the direct interaction UI in CATIA, the ability to leverage CATIA's typing and PLM system. We'll use an Action within CATIA to read the xGen lattice and instantiate ETs using its members as input. Of course, since CATIA is a parametric system, we'll also link parameters for easier tweeking after the assembly is instantiated. Here is the end result we're going for:


Note that once an assembly is created using an ET, it will not maintain connection to its source definition, the ET. Hence, the goal here is to build a parametric assembly, one that can be regenerated, as opposed to creating a sinular parametric model. For the sake of simplicity, today's example is not highly detailed. This is the type of connection used for inspiration.

First we are going to create two templates: one for the beams and another one of the nodes (to keep this article easily readable, we are going to detail only the Beam template). Particularity is that both are going to be IFC typed objects generated in xGen. We are going to instantiate those templates on a random Lattice or Wireframe. xGen will also be used to prepare the proper inputs for the template instantiation on the target lattice. Finally we are going to use an action in Native Catia as mentioned above, to instantiate the templates. The result will be a parametric assembly, pretty common in Catia, but we are going to see how xGen speeds up this process while opening new capabilities thanks to its ability to manage complex lists.

[Dataset attached to the post]

Full article on : https://www.linkedin.com/pulse/catia-xgenerative-design-space-frame-nicolas-ladislas-s%C3%A9n%C3%A9maud/