版权所有©2018 上海安托信息技术有限公司 沪ICP备08114470号-1
400-900-7701
达索铂金合作伙伴
达索认证教育合作伙伴
扫一扫,关注我们
在线客服热线电话
达索首批C&SI(Consulting & Systems Integrator)咨询顾问和系统集成商
探索创新之路, 开启CATIA知识工程的智能未来(3):知识工程核心工具EKL介绍
经过上两期的介绍,相信大家对知识工程的强大功能和应用场景都有了一定认识,这期给大家带来知识工程最核心工具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。
下期预告
KAC用于定制企业自己的专属应用app,可以定制命令和对话框以及创建用户设计导引流程,下期将会跟大家展示创建KAC的流程,敬请期待。
推荐新闻
-
2024-09-27 05\:00
-
2024-09-24 10\:05
-
2024-09-19 10\:42
-
2024-09-19 10\:37
-
2024-09-11 02\:36
-
2024-08-30 10\:08