找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 449|回复: 0

[分享]:KBE技术在UG中的应用

[复制链接]
发表于 2003-6-3 19:04:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
KBE技术在UG中的应用



一、引言
CAD技术的发展经历了以下几个阶段:20世纪70年代,利用CAD技术生成数字化图纸提高了绘制工程图纸的效率,但并没有真正起到辅助设计的作用。80年代,参数化建模技术利用基于特征的CAD技术建立全参数化驱动的三维模型,并以此为基础,对整体设计和部件进行有限元分析、运动分析、装配的干涉检查和NC自动编程等,以保证设计符合实际工程需要。但这时的CAD技术只是面向产品开发过程中的某一环节。90年代以来,基于过程的CAD技术使产品数据模型能够在全生命周期的不同环节(从概念设计、结构设计、详细设计到工艺设计和数控编程)间进行转换,支持集成的、并行的产品设计及其相关的各种过程(包括制造过程和支持过程),帮助产品开发人员在设计开始阶段就考虑产品从概念形成到产品报废处理的所有因素,包括质量、成本、进度计划和用户要求。但是,以几何模型为主的CAD系统无法将领域设计原理和知识、同类设计以及专家经验等融入到几何模型中去,因此无法实现知识型资源的重用,设计者仍然需要进行大量的重复性设计工作。在产品设计初期,这种情况影响了设计者的创新性工作。
为了使设计者集中精力进行创新性工作,CAD系统应帮助设计者从重复性的工作中解脱出来,因此下一代的机械CAD系统应该利用计算机延伸以创造性思维为核心的人类专家的设计能力,尽可能地实现设计过程的自动化。这才是真正意义上的设计工具。人类专家进行设计的过程取决于专家对知识的掌握、处理和应用,没有知识就无法进行分析、判断和决策,因此设计自动化就是对知识的自动化处理。目前,KBE(Knowledge Based Engineering ,基于知识工程)技术是解决这一问题最有前途的方案。
KBE系统为解决传统CAD系统存在的问题提出了方案,如设计原理的体现、约束是否冲突、如何在设计阶段进行产品估价、设计制造是否可行以及设计的最终产品是否符合外观要求等,同时提供优化方案。KBE系统所要达到的目的是使产品信息在整个生命周期中都可得到应用,从而获得最优化方案。
二、KBE的概念
KBE是通过知识的驱动和繁衍对工程问题和任务提供最佳解决方案的计算机集成处理技术。由于KBE技术的开放性,到目前为止,尚未有一种公认的完整定义。英国Coventry大学的KBE中心认为KBE系统是一种存储并处理与产品模型有关的知识,并基于产品模型的计算机系统;美国Washington大学认为KBE是一种设计方法学,将与下一代CAD技术紧密结合。它使用启发式的设计规则,将涵盖构件、装配和系统的开发。KBE系统存储产品模型包含几何、非几何信息以及描述产品如何设计、分析和制造的工程准则。
综上所述,KBE的内涵可以概括为:KBE是领域专家知识的继承、集成、创新和管理,是CAx技术与AI技术的集成。KBE系统框架如图1所示。
要使KBE系统成为工程过程的中心,必须使之适用于产品各个阶段的相关设计原则。要想从设计分析到制造都有效地利用KBE系统,就要求KBE系统具有柔性、开放性、可重用性并可用户化。KBE系统是深层内嵌于CAx系统之中的,而不是简单地添加到一个已存在的系统中,因此,KBE系统应具有下面的基本功能。
(1) 知识的利用——方便地访问知识数据库
知识数据库以多种形式存在,可以是持续性存在的数据库或电子表格。KBE系统能够方便地访问这些知识数据库,因此,KBE系统的开放性非常重要。
(2) 知识的表示——创建和应用知识规则
知识规则是知识的一种表示法。知识表示就是描述世界的一组约定,是知识的符号化,这种方法方便地把人类知识表示成计算机能接收并处理的知识结构。知识表示法既要考虑知识的存储,又要考虑知识的使用。知识表示分为规则、谓词逻辑和框架等。规则是指一种行为的文本描述,这种行为对应于一定的输入,可以引用各种形式的知识库,并按照对应的逻辑条件产生一定的结果,如特征造型、参数计算、指定种类的选择或是违反约束时产生警告等。
知识规则在工程生命周期内的任何时候都可建立。规则的形式具有柔性,可适用于多种学科。因此,规则可在产品生命周期的各阶段使用。
知识规则与其相关的对象一直保持相关性。例如,当应用知识规则建立一个几何体后,在其存在过程中,规则与几何体一直保持相关性。设计者可以利用这个规则编辑这个几何体,也可再生成一个新的几何体。如果没有这种相关性,再次使用这个规则就只能重新生成另一个几何体,而第一个几何体的信息与这个规则完全无关,这样整个生命周期就成为了一个严格串行的过程,不可能实现并行工程。
(3) 知识的获取——具有知识的繁衍机制
KBE系统具有“自我生成”的知识繁衍机制。这是它与传统的专家系统主要的不同之处。传统的专家系统是依靠知识工程师手工获取专家知识,效率较低。主要原因是专业领域内的专家对系统缺乏了解,不知如何提供全面的知识;而系统工程师对专家知识领域了解也不深,不能有效地深入到问题的实质,这种情况造成专家系统的应用价值不高。KBE系统提供了繁衍知识的手段,拓宽了获取知识的途径,允许用户利用KBE提供的工具添加自己的独特知识,从而对系统进行扩展。
KBE系统将重复的设计和工程任务自动化,缩短了产品开发时间,将设计、分析、制造集成起来实现并行工作。使用KBE建立模型可以将几何造型与分析等结合起来,实现多学科优化,并确切地进行可行性评估,应用标准和实践经验来提高产品的质量,对设计实践、过程经验等知识信息进行数字化获取和重用,从而提高自动化过程的效率。
三、UG的知识驱动自动化
UG作为一个CAD/CAM/CAE的集成软件,致力于从概念设计到功能分析、工程图纸生成、数控代码生成及加工的整个产品开发过程。UG提供了知识驱动自动化(Knowledge Driven Automation)解决方案,将KBE 系统与CAx软件系统完全集成。KDA是一个能够记录、重复使用工程知识并用来驱动、建立、选择和装配相应的几何模型的系统。这套解决方案包括UG/KF(Knowledge Fusion,知识融合)和一系列过程向导。
过去的KBE系统往往是单独使用的,不能内嵌到已存在的工程系统中,不能与已存在的应用程序相关。UG/KF解决了这个问题。由于UG/KF是完全内嵌的,用户不需要了解什么是KBE、什么是UG/KF,只要使用他们熟悉的应用程序就可实现对各种知识的重用。因此,UG/KF是面向大多数工程师的。这意味着工程人员和设计人员可以致力于产品开发,而不用在KBE系统和产品开发系统之间转换数据。
UG/KF语言是一种面向对象的语言,它建立在Intent语言基础之上。Intent语言是一种业界公认的完全基于规则的知识编程语言,主要用类来描述,其应用程序无需编译即可执行。用户可使用一般的文本编辑器来浏览和修改KBE程序,从而实现了程序的开放性,使工程知识随时得到更新、补充和维护。
UG的KDA方案用“规则”(Rule)来表示产品的不同几何参数和工程属性之间的相互关系。用户使用KF语言建立自己的规则,利用规则方便地添加知识。由于这种语言是声明型的,而不是过程型的,因此规则不存在先后顺序。UG/KF系统自动根据规则之间的关系来判断执行顺序。利用这些规则来计算工程参数对产品几何参数的影响,从而驱动最终的几何模型。另外,这种语言可以访问外部知识源,如数据库或电子表格,并提供了与分析和优化模块等其他应用程序模块的接口。同时,UG提供了丰富的KF类。KF类是指能实现某个任务的KF规则的集合。用户也可以用KF语言来创建自己的类。
UG提供了一个可视化的工具——KF导航器(Knowledge Fusion Navigator)。用户可利用导航器创建、获取和重用知识规则,从而驱动几何体的生成。用户可通过可视化的界面直接添加子规则(建立类的实例)、编辑子规则(编辑实例中的参数)、添加属性(为实例添加用户定义属性)和引用其他属性等。
用户自己创建的规则一定是可重用的,这是KBE系统的基本要求。KF技术将规则与UG对象连接起来,并且一直保持这种相关性,用户利用规则来控制UG对象。这样,在创建对象时就实现了其相关规则的重用。
UG中采用创成(Generative)和吸纳机制(Adoption)将知识与CAx系统融合。特别是吸纳机制解决了从现有的成熟产品与实践中总结和反求知识的问题。使用Adoption可以为一个已存在的UG对象建立规则,使这个UG对象与规则相关。因为用KF语言建立复杂造型过于繁琐,所以可以用交互方式进行几何建模。对象建立后,使用Adoption,系统自动生成相应的规则,这个对象的参数定义为规则的属性。规则通过属性来控制对象。因此,通过利用Adoption ,UG/KF可将CAD系统高效建模的优点与KBE集成为一体。用户可更为快速、方便地建立与应用规则。
下面就利用上述工具建立一个块特征并为它生成相应的规则。
用创成机制建立一个UG对象的步骤如下:
(1) 首先用KF语言建立一个文本文件boss.dfa,实现块特征的几何建模。
   #! UG/KBE 17.0
   DefClass: MyBox (ug_base_part);
(number parameter) my_height: 84;
(number parameter) my_width: 36;
(number parameter) my_length: my_width:/12;
(child) block1:
{
class, ug_block;
length, my_length:;
width, my_width:;
height, my_height:;
color, 3;
};
(2) 然后打开UG ,在预设置中指定boss.dfa文件的路径。
(3) 在VIEW菜单下选择Knowledge Fusion Navigation。KF导航器显示了一个对象树,每一个对象节点都代表了一个类的实例和一个类实例的属性。现在从右键菜单选择Add child rules,弹出Add child rules对话框。在name 栏中加入my_block,在类名的下拉列表框中选择 MyBox。这时生成一个长方体。在KF导航器中,打开my_block节点,可以看到生成了子节点block1。Attribute节点是由系统根据相应规则自动生成的,有时可以把Attribute看作规则。如图2所示。
用吸纳法建立规则的步骤如下:首先直接用Modeling完成几何造型,然后打开Tools→Knowledge Fusion→Adopt Existing Object,在弹出的类选择器中选择要生成规则的对象。这时在导航器中同样可以看到系统自动为特征生成了Attribute 节点。
UG中许多应用程序模块都与UG/KF集成。用户利用UG/KF提供的相关类为类实例创建规则。除了上述利用规则建立几何模型、表达式和UDF对象外,还可以建立装配体、访问电子表格、访问外部数据库与进行优化设计等。
UG/KF可访问存储在零件文件中的电子表格。用户可对电子表格中的数据进行读写。UG/KF提供了类ug_spreadsheet。首先为这个类创建一个实例,然后使用其中的方法进行读写。
用户可以在KF规则的控制下建立装配件。每一个UG零件文件都有一个KF环境,这个环境将规则与UG对象相联系。KF导航树直观地反映了零件的KF环境,用户可以从中看到工作零件的规则和属性。对于装配件来说,不存在超越单个零件的KF环境。KF 利用函数ug_evaluateInpart在不同零件文件的KF环境中传递信息,这个函数可以用于装配件中的所有部件。
UG/KF有一个内嵌的ODBC接口,允许在Windows NT平台上访问ODBC数据库。当数据库改变时,用户必须将UG/KF模型进行更新。对数据库的操作是通过类ug_odbc_base 和ug_odbc_recordset来实现的,这两个类提供了对ODBC数据库进行读写的机制。
UG /OPEN API中提供了对UG/KF创建的规则和数据进行访问的接口。但不允许直接对UG/KF语言编写的代码进行调用。UG/KF API 提供了两类函数:一类可以创建调用UG/KF函数的用户程序;另一类可以创建自己的KF函数。利用这些函数在UG/KF中调用其他应用程序。
四、结论
UG提供的知识驱动自动化模糊了设计、工程、几何建模与编程之间的界限,为KBE和CAx系统的融合开发出一套简单的知识解决方案。利用UG/KF可以将设计独特的知识融入系统,而过程向导则使领域内的用户充分利用行业内的专家经验。以往要解决的知识重用和过程标准化问题不再需要专业的编程人员耗费大量的资金和时间来解决,只需利用知识融合的方法,就可以尽可能地实现自动化。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-19 06:36 , Processed in 0.265009 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表