On FD01, we provide a new xGenerative Design operator based on EKL scripting. This operator will allow to implement custom operations based on coded logic.
For this first drop, we have had several objectives:
- Provide a good user experience for the script edition. We rely on modern editor that enables syntax color highlighting, online assistance.
- Provide a good language exploration assistant : user can browse the available types and functions descriptions and navigate to linked items
- Provide a good getting started online documentation: EKL is a proprietary language so most users don’t know it. Its purpose is to provide a very high level language, engineer-oriented.
- Getting started guides user in the first steps with EKL, offering quick access to the language fundamentals with explanations and samples.
- Filter the language to what’s actually useful in xGenerative Design context
Why EKL:
- This is the CATIA “knowledgeware” language, integrated in most of the software layers to enable customization of many aspects of the software (update engine, PLM behaviors, quality checking, …)
- It is well adapted to engineering computation : object oriented, dimensions native support, easy syntax
- We use it internally to prototype or implement some operators. This ensures its content fits well the need for writing customizable operation.
Currently, the EKL content in xGenerativeDesign is limited to baseline functions and geometric object model. However, we will extend it progressively.
The current Getting started content:
An example of object type browsed:
A surface object supports GeometricSurface type. This type inherits from GeometricObject itself inheriting from Feature, etc.
A surface object provides attributes exposed by those types: Area, IsClosed, Middle, …, themselves being on a given type and providing access to their attributes.
