花 锋
(盐城工学院,盐城 224051)
产品三维模型数据文件是企业设计知识的载体,随着三维设计软件的广泛应用,产品三维模型数据文件的质量成为影响企业竞争的一个重要因素。高效利用设计规则、经验等已有的知识进行设计成为企业保持产品创新能力和竞争优势的关键。针对这一需求,各大三维设计软件供应商均基于自身的平台提供了相应的验证工具。
Check-Mate是集成于西门子工业软件公司的NX软件中的产品三维模型数据文件验证工具。该工具包含的通用验证规则可以帮助企业有效提高产品三维模型数据文件的质量,降低产品设计成本,提高设计效率。Check-Mate中集成了符合SASIG-PDQ几何设计规范[1]的验证规则,并形成一个验证规则的集合SASIG-PDQ,验证对象包括:Curves,Surfaces,Edges,Edge Loop,Faces,Shells,Solids,如图1所示。
图1 Check-Mate中的SASIG-PDQ
产品三维模型数据文件中会存在缺陷,这些缺陷主要来自不规范的设计或数据转换。设计过程不加以正确约束,会产生一些不符合要求的三维模型数据。这些几何形状或者在实际生产过程中无法实施,如过尖的夹角,太窄的表面,甚至是自相交的一些曲线和曲面,或者会影响后续的分析及加工过程。数据转换工具有时也会产生不规范的几何体。SASIG-PDQ 几何设计规范是由 SASIG[1](Strategic Automotive product data Standards Industry Group)产品数据质量工作组SASIG-PDQ 提出,其目的是降低因低质量的CAD数据而导致的修复或重建数据的代价[2]。SASIGPDQ 几何设计规范主要是应用在汽车工业,但这些规范对于指导正确设计CAD数据同样具有价值。NX在Check-Mate中实现了 SASIG-PDQ 几何设计规范,并以检查规则的形式提供给工程设计人员。这些规则可以用来检查三维模型的几何数据,典型的规则有Curve的连续性(G0,G1)检查,Edge与它所在的Face的间隙检查。用户可以通过定制这些规则的参数,来建立符合设计要求的检查规则集,也可以在NX安装路径下的UGCHECKMATEdfacheckerpdq文件夹中找到使用KF语言编写的验证规则类,仿照这些验证规则类,使用其中的SASIG-PDQ API函数来定制验证规则类。
使用NX的Check-Mate可以方便地检查模型数据,通过菜单项 Analysis -> Check-Mate -> Run Tests 可以打开Check-Mate对话框。在该对话框的Tests属性页中有Categories窗口,其中按类别列出了当前可用的所有检查规则,可以找到SASIGPDQ。
以Shells (G-SH)中的检查规则Non-tangent faces (G1 discontinuity): G-SH-NT为例来介绍SASIG-PDQ的使用过程。在 Categories 窗口中选中 G-SH-NT 规则,单击右侧的 Add to Selected 按钮,将该规则添加到 Chosen Tests 窗口中。如图2所示。
单击 Documentation 按钮,可以查看该规则的说明文档。选中已添加到 Chosen Tests 窗口中的规则,通过右侧的Customize按钮可以为选中的规则设置参数。如图3所示。当有规则在 Chosen Tests 窗口中被选中时,可以通过右侧的Create Temporary Profile来创建一个Profile,用户的定制规则就可以保存在一个Profile的dfa文件中,供重复使用。如图4所示。
图2 加载 SASIG-PDQ 验证规则
图3 定制规则参数
图4 保存Profi le
在图3的定制规则参数对话框中,可以设置规则执行时使用的参数,还可以通过单击Selections列表框右侧的Add Geometry按钮来选择被检查的几何元素。对于 G-SH-NT 规则,可以选中一个Solid/Sheet Body,以检查Body上所有的相邻Face之间的G1连续性,也可以选择多个Face,检查相邻Face之间的G1连续性。如图5所示。G-SH-NT 规则隐含要求两个相邻Face之间要有G0连续性。G0连续性表示两个Face是相接的,没有间隙。而G1连续性表示两个Face切身矢量是光滑过度的,没有突变。
规则执行结果在Validation Results对话框中显示:一个Edge和两个Face。如图6所示。这个结果说明这两个Face沿着它们相邻的Edge在某个点上存在G1不连续。
图5 被检查的部件
图6 G-SH-NT规则的执行结果
通过SASIG-PDQ可以定位几何数据中的缺陷,因此检查结果可以用于指导模型修复或重建的工作。
NX6.0发布了 SASIG-PDQ 几何设计规范的检查规则,这些规则按验证对象分类如下。
曲线是几何实体,它代表了三维模型的一维信息,如:长度、切向矢量与曲线或边缘上点的位置等,都可以通过曲线上的数据反映出来。此类规则包括:G-CU-LG检查相邻两个曲线端点的间距是否在指定范围内。G-CU-NT检查G0连续的两个曲线在它们的相邻端点处切向矢量间的夹角是否在指定范围内。G-CU-IS检查曲线是否自相交,即是否在曲线上存在两点,它们的曲线参数不同,但占据了相同或相近的空间位置。G-CU-TI检查曲线的长度是否在指定范围内。
曲面是几何实体,它代表了三维模型的二维信息,如:面积、法向矢量等。曲面由补片体组成。在设计曲面时,曲面的组成元素——补片体也应该符合一定的规则。此类规则包括:G-SU-DC检查曲面的边缘是否退化成较短的线段。G-SUNA检查曲面或其上的补片体是否太狭窄。G-SUNT检查曲面的相邻补片体之间是否具有G1连续性。G-SU-FO检查曲面上两点处的法向矢量的指向是否完全或近于相反。G-SU-IS检查曲面是否自相交,即是否在曲面上存在两点,它们的UV参数不同,但占据了相同或相近的空间位置。G-SU-TI检查曲面或其上的补片体的面积是否太小。
Edge Loop是拓扑实体,它构成了Face的边界。此类规则包括:G-LO-IT检查Edge Loop上所有Edge的指向是否一致。G-LO-LG检查Edge Lo op上相邻的两个Edge的相邻端点的间距。G-LO-IS检查Edge Loop是否自相交。G-LO-SA检查Edge Loop上相邻的两个Edge的夹角是否过小。
Edge是拓扑实体,它的底层几何元素是Curve,它是Edge Loop的组成元素。G-ED-TI检查Edge的长度是否过小。
Face是拓扑实体,它的底层几何元素是Surface,它由Edge Loop在二维空间上确定。此类规则包括:G-FA-EG检查Face上的Edge与该Face的间距是否过大。G-FA-EM检查两个Face是否重叠或一个完全覆盖另一个。G-FA-IS检查Face是否自相交。G-FA-NA检查Face是否过于狭窄。G-FA-TI检查Face的面积是否过小。
Shell是拓扑实体,由Face组成。它分隔了空间,可以构成两维的Sheet Body,也可以构成三维的Solid Body。当形成Solid Body时,Shell所分隔的空间可以是实心的,也可以是空心的。此类规则包括:G-SH-FR检查Edge是否只被Face引用了一次。G-SH-LG与G-SH-NT分别用来检查Shell上相邻Face之间的G0和G1连续性。G-SH-NM检查Edge是否被Face引用了三次及三次以上。G-SH-SA检查Shell上相邻Face之间的夹角是否过小。
Solid代表了占据一定量体积的拓扑实体,G-SO-VO用于检查在Solid的体积内部是否存在空心区域。
SASIG-PDQ针对几何数据检查,提供了一套规范的工具,它的实现符合SASIG的规范标准,对于工程实践具有极高的实用价值。
制造商每年在产品质量问题上花费的成本高达数百万美元。配合不当、废品以及返工问题令制造商们苦恼不堪。在制造问题和工程变更中,很大部分都是由低质量的设计造成的。通过用集成化的验证工具,可以避免这些问题。利用NX的主动验证和互操作验证,设计过程会变得非常顺利,无需返回来纠正错误。在实施并保证自动化验证技术的过程中,可以保持公司标准和质量方案。
由于有了SASIG-PDQ,NX能够以一种规范的方式处理几何数据质量方面的问题。用户还可以定制自己的几何检查规则,结合SASIG-PDQ,用户可以将自己的经验数据予以保存,方便在工程设计过程中进行实施。
SASIG-PDQ可以定位部件文件中的几何数据缺陷。对于大型模型,用户可以方便地根据检查结果来更改设计,提高了工程设计人员的工作效率。几何体相关的质量问题大多来源于数据转换。当有大量数据从一种CAD平台迁移到另一种CAD平台时,经常会发生几何体相关的质量问题。因为数据迁移通常涉及数量庞大的数据文件,通过界面操作或手动的方式来找出错误所在,通常不是一种高效的方式。Check-Mate可以以批处理的方式来执行SASIG-PDQ中的几何质量相关的验证规则,只需要检查产生的LOG文件就可以发现有质量问题的数据文件,因而简化了校验工作,提高了工作效率。
Check-Mate是一种典型的应用知识驱动自动化(Knowledge Driven Automation, KDA)技术的工具,它集成了SASIG-PDQ的工程规则,以检查产品三维模型数据文件中的几何缺陷,可以用来
规范产品的设计过程,保证产品数据的质量与可靠性,降低了模型修复与重建的代价,为制造业的高速发展提供了保障。SASIG-PDQ中集成的大量规则是工程实践中长期积累的经验,应用这些前人总结的经验来验证设计数据,提高了工程设计的效率,也进一步提升了产品智能化设计的水平,为制造业的高速发展提供更加强有力的支持。
[1] SASIG [EB/OL].http://www.sasig.com/site/.
[2] SASIG-PDQ [EB/OL].http://www.sasig-pdq.com/Publications/publications.php.
[3] 杨海成,廖文和.基于知识的三维CAD 技术及应用[M].科学出版社,2005.
[4] 陶善新,唐文献,李莉敏.基于知识驱动的产品开发系统研究与实现[J].计算机工程与应用,2003,39(22):129-131.
[5] 魏伟,刘会霞,王宵.知识驱动的UG中的产品开发[J].机械设计与制造,2005(12):146-148.
[6] 于德江,杜平安,岳萍.基于KBE的智能CAD方法研究 [J].机械设计与制造,2007(9):178-180.