Tag: Geometry & Topology

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

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

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

Reading An Axis System With EKL

This EKL code shows how to read data from an Axis System object to create corresponding Point object at the origin, as well as XY, YZ, and ZX planes matching those of the axis system. /* inputs: -axis: AxisSystem -geoset: OpenBodyFeature */ let originVector(Vector) let originXmag, originYmag, originZmag(Real) let axMatrix(Matrix) let xxMag, xyMag, xzMag (Real) […]