Is it possible to write or run EKL code trough vb.net?

Pedro Pereira

Is it possible to write or run EKL code trough vb.net?
Is it possible to write or run EKL code trough vb.net?

Mladen Radonić

RE: Is it possible to write or run EKL code trough vb.net?
(in response to Pedro Pereira)

Unfortunately not (as much as I know, at least). 

Mladen Radonić

RE: Is it possible to write or run EKL code trough vb.net?
(in response to Mladen Radonić)

Eventually, you could trigger an reaction with changing an existing model parameter from the .NET.

Edited By:
Mladen Radonić[Subscriber Members] @ Dec 23, 2022 - 06:37 PM (Europe/Zagreb)

Marc A Jeeves

RE: Is it possible to write or run EKL code trough vb.net?
(in response to Pedro Pereira)

you can configure notepad++ to understand the EKL syntax, this code can then can be stored in Github, then with C# or VB.Net you could write an updating tool based on Part Number and Rev to refresh existing EKL objects such as rules, checks reactions, by updating their bodies, or creating new EKL objects with the stored code.

 

At the end of the day its just text, 

 

Relations

    Relation

        Check

        Formula

        Rule

        ExpertRuleBaseRuntime

        DesignTable

        SetOfEquations

            ConstraintSatisfaction

        Law

 

Here is an example of creating a Rule (Program)  these are done through the RelationsFactory object in 3DX according to the documentation apparently not.....  i was able to access the create methods on the relational set

 

KnowledgeIDLItf RelationsFactory (Object)

Dim relFact As RelationsFactory
 Set relFact = ...
 Dim mass As RealParam
 Set mass = ...
 Dim maximummass As Check
 Set maximummass = relFact.CreateCheck
                    ("maximummass",
                     "Ensures that mass is less than 10 kg",
                     "mass<10kg")

 This is correct....

KnowledgeIDLItf Rule (Object)

Dim part1 As Part
 Set part1 = ...
 Dim mass As RealParam
 Set mass = part1.Parameters.CreateReal("mass", 5.)
 Dim depth As RealParam
 Set depth = part1.Parameters.CreateReal("depth", 0.)
 Dim selectdepth As Relation
 Set selectdepth = part1.Relations.CreateProgram
                    ("select_depth",
                     "Select depth with respect to mass", 
                     "if (mass>2kg) { depth=2mm } else { depth=1mm }")

 

thanks

 

Madaxe

Edited By:
Marc A Jeeves[Gulfstream Aerospace Corporation] @ Jan 02, 2023 - 08:56 AM (America/Central)
Marc A Jeeves[Gulfstream Aerospace Corporation] @ Jan 02, 2023 - 09:05 AM (America/Central)