探索创新之路, 开启CATIA知识工程的智能未来:知识工程核心工具EKL介绍

2025-07-16 16:25:55

本期给大家带来知识工程最核心工具EKL的介绍。

图片

图片

图1. CATIA基于知识工程的自动化技术核心工具


图片

图片

图2. EKL功能命令


企业知识语言EKL(Enterprise Knowledge Language)是一种编程语言 ,通过嵌入集成,实现将决策嵌入模板定义中以自动处理知识重用和变形;将逻辑嵌入业务流程中以执行预定义的行为或动作,用户可以非常容易掌握和熟悉使用。以下几种常用的基于EKL的功能:

  • 规则(Rule)

  • 交互动作(Action)

  • 检查(Check)

  • 反应(Reaction)

规则

通常基于条件语句,参数之间的关系受到控制。该规则在树中显示为关系,设计人员自由激活或停用规则。

图片

图3. 规则在树上显示为关系


我们延续使用之前的轮毂例子,比较零件主体的体积并设置材料参数的值,当轮毂的体积体积小于Limit_Volume(此处为0.003立方米),则将材料设置为Steel,否则,材料就设置为Chroma。

图片

图片

图片

图4. 规则的使用



交互动作

用于交互执行EKL的操作。例如,我们想查询指定产品对象所有子产品节点的个数,那么我们可以定义一个Action,运行时,选择需要查询的产品对象,就会返回所有子产品的个数。如下图:

图片

图片

图片

图片

图片

图5. 查询选定产品对象的所有子产品节点数


检查

通过EKL编写规则,通知用户是否满足指定条件。检查不会修改其应用的对象,只是给用户一个指示。关系节点下会出现一个与交通灯类似的图标,根据检查状态在红色或绿色之间切换。知识工程中有三种类型的检查:

  • 无声:检查状态仅由图标指示。

  • 信息:当检查中指定的条件未满足时,检查状态将由图标和信息消息指示。

  • 警告:当检查中指定的条件未满足时,检查的状态由图标和警告消息指示。

图片

图片

图6. 检查


利用好检查的功能,可以使用用适当的值来达到预期的设计功能:

  • 检查参数是否正确响应技术限制或一组条件。

  • 确保符合企业设计标准。

  • 避免明显的更新错误。


下图中的示例:检查确认手柄的直径小于手柄块的最大允许孔直径。

图片

图片

图7. 检查的示例


反应

反应是对触发源进行事件动作触发后形成的响应特征。

来源可以是:

  • 选定的功能(或列表)

  • 参数(或测试结果)

该事件可以是:

  • 对象上的任何常规事件(如创建,删除,更新和属性更改)和参数(如值更改)

  • 用户定义特征上的特定事件(例如实例化和更新)

动作可以是:

  • 对使用EKL定义的事件的响应,以访问文档中的现有对象,或使用Visual Basic扩展动作范围

反应跟交互动作比较相似,但功能更加强大。


知识工程规则中有一些固有的限制:

1)规则无法对参数更改和功能修改做出反应。

  • 无法控制规则的执行。

  • 即使不希望它们被执行,它们也可能被执行多次。

2)它们被集成到更新机制中。

  • 例如,不可能编写规则,如下所示:

        if x>18mm

        {x=18mm}

  • 你不能使用循环和冲突。

3)规则语法很简单,但功能却很有限。要克服这些限制并创建更多关联和反应式设计的语句。


反应与规则之间的相似之处:

  • 两者都存储在模型中。

  • 对变化作出反应并触发修改。

  • 两者都可以引用模型中的其他对象和参数,并支持替换机制。

  • 两者都可用于超级副本和用户特征功能的定义。


对规则的反应的优点:

  • 它可以对大量变化做出反应。

  • 它可以驱动更复杂的修改。


我们来创建一个反应的例子,当Rim_size的值小于350mm时,将Rim_size的值修改为350mm,并弹出对话框告诉用户。

图片

图片

图片

图片

图片

图片

图8. 反应示例


以上是几个常用的EKL功能的介绍,但EKL的强大还远不止于此。使用EKL可以实现:

  • 搜索数据库内的对象

  • 浏览不同的结构

  • 创建产品和PLM对象

  • 实例化模板

  • 导出数据到 Excel & XML

  • 写入或读取属性

  • UI创建(KAC模块)

  • 等等


如果读者有兴趣进一步了解EKL的更多功能和应用,可以联系我们400-900-7701。

我们非常重视您的个人隐私,当您访问我们的网站时,请同意使用的所有cookie。有关个人数据处理的更多信息可访问《隐私条款》