Enterprise Knowledge Language (EKL) – Basics

Enterprise Knowledge Language (EKL) - Basics


Enterprise Knowledge Language (EKL) is the language used to define programs and procedures specific to 3DEXPERIENCE apps like CATIA, ENOVIA & DELMIA. Enterprise Knowledge Language (EKL) includes knowledge packages, types, methods and functions.

Enterprise Knowledge Language (EKL) Categories

  • Mathematical Enterprise Language (M-EKL) 
    • Groups the language operators and the numerical functions (math, measures, …) necessary to express the sets of equations used to valuate parameters in Engineering Rules Capture.
  • Core Enterprise Language (C-EKL) 
    • Formulas
    • Design tables functions
    • Rules and checks provided in the Engineering Rules Capture app.
    • Constraints satisfaction feature provided in Design Optimization.
  • Advanced Enterprise Language (A-EKL) 
    • Basic attributes and methods
    • Search capabilities
    • Value pointers manipulation
    • Applications-specific services
  • Extensible Enterprise Language (X-EKL)
    • Contains the applicative packages available in EKL and is also the way to add functions to the EKL language

EKL Levels

Enterprise Knowledge Language (EKL) Structure

3DEXPERIENCE Objects are manipulated using a federated object model composed of the following:

  • Types
  • Attributes
  • Functions & Methods
  • Arguments

Enterprise Knowledge Language (EKL) Object Hierarchy

EKL Hierarchy

Enterprise Knowledge Language (EKL) – Core Syntax

  • Variable Declaration
    • Can be declared anywhere in the code
    • Let NameoftheVariable(Type)
      • Where Let is the keyword and statement for variable declaration
      • “NameoftheVariable” is the variable name and “(Type)” is the object’s internal type in EKL
      • Multiple variable declaration is supported let r1, r2 (Real)
      • Set
        • You can use Set keyword for type casting the variable
        • Set keyword performs the assignment without checking the type
        • Result is NULL if type is not supported
  • For commenting use “//”

Enterprise Knowledge Language (EKL) – Core Syntax – Operators

Arithmetic operators

 + Addition operator (also concatenates strings)
Subtraction operator
* Multiplication operator
/ Division operator
( ) Parentheses (used to group operands in expressions)
= Assignment operator: Can be used with values, enumerates, objects (object A = object B if B is a subtype of A). Note that this operator is not available in the Set of Equations editor.
** Exponentiation operator


Logical Operators

and Logical conjunction on two expressions
or Logical disjunction on two expressions


Comparison Operators

<> Not equal to (Applies to values and objects)
== Equal to (Applies to values and objects)
>= Greater or equal to (Applies to values only)
<= Less than or equal to (Applies to values only)
< Less than (Applies to values only)
> Greater than (Applies to values only)


Type Operator

: Equivalent to the set keyword.


Enterprise Knowledge Language (EKL) – Core Syntax – Key Identifiers

  • Loops
    • For <variablename> while <condition>
    • Loop stops only when an expression becomes false
    • For <variablename> inside <list variable name>
    • Loop based on elements of list
  • Decisions
    • If…else if…else
    • Ternary Operator
  • Functions & Methods
  • Attributes & Constants
  • Message Functions
  • Notify & Report

🎬 3DEXPEREINCE Enterprise Knowledge Language (EKL) YouTube Video

🎓 Checkout our course on 3DEXPEREINCE Enterprise Knowledge Language (EKL) at https://plmcoach.com/3dexperience-ekl-training/

🌍 For PLM / CAD Training Visit ► https://plmcoach.com

Follow PLM Coach on Social Media: YouTube LinkedIn | Facebook | Twitter | Pinterest

📧 Contact PLM Coach:

Follow the link to Training Inquiry Form to provide your details ►https://www.surveymonkey.com/r/PLMInfoV3

Follow the link to Text PLM Coach on WhatsApp ► https://wa.me/917989703878

☏  Mobile Number ► +91-7989703878

💌 Email ► [email protected]



Users (1 vote) {{ reviewsOverall }} / 5
What people say... Leave your rating
Order by:

Be the first to leave a review.

{{{review.rating_comment | nl2br}}}

Show more
{{ pageNumber+1 }}
Leave your rating

Recommended Posts