白雪飞,胡延平
(大连理工大学 机械工程学院,辽宁 大连 116033)
计算机辅助设计软件的广泛应用,使得CAD模型已经成为当前机械设计、制造和分析的核心。CAD模型作为一种重要的设计资源,若能够对其有效重用,对于避免设计资源浪费、加快新产品的开发具有重要意义。相关研究显示,当前产品设计的绝大部分是对原有设计实例的直接使用或者是在原有实例的基础上进行适应性修改,即基于实例设计(Case-Based Design,CBD)[1]。而模型重用是基于实例设计的一个重要研究方向。
基于实例设计可分为两个阶段:实例检索和适应性修改。当前模型重用的研究主要集中在模型实例的检索阶段,例如You CF等将基于局部特征匹配开发的模型实例检索应用到产品数据管理中[2]。白晓亮等针对现有CAD模型检索算法对局部细节特征描述不足的现状,提出基于最大公共子图的三维CAD模型检索算法,实现CAD模型设计和制造知识的重用[3]。
上述模型检索算法能根据设计需求有效地检索出相关模型实例,但检索出的模型实例往往无法直接应用到当前设计环境中,原因在于同一个设计领域中,没有两个设计问题或者需求能够完全相同,故针对已检索出的模型实例进行适应性修改是必不可少的。文献[1]提出一种在查询模型和候选模型(根据查询模型检索出的实例模型)之间建立设计元素的对应关系,并根据对应关系将查询模型所包含的设计需求转换到候选模型中,实现候选模型的自动形状适应。
本文以机械行业中常见的轴类零件模型为例,研究在基于实例设计的适应性修改阶段如何辅助用户对轴类零件模型进行快速形状适应性修改。通过VC++2019对Creo平台进行二次开发,构建轴类零件实体模型重用原型系统,以加快轴类零件的建模和设计速度。
适应性修改处于基于实例设计的第二个阶段,也就是对检索出的原有实例根据新的设计需求进行变型设计。以轴类模型为例,其变型可以分为以下两种:
(1)结构变型,即对模型所包含的如轴段、键槽等图形单元及其拓扑结构进行更改。
(2)尺寸变型,即保持模型拓扑结构不变的前提下应用参数化技术完成尺寸更新。
尺寸变型设计的主要方法是通过参数化技术来完成模型尺寸参数的修改[4-6]。参数化技术本质上是一种数据驱动机制,基于对二维或者三维图形数据的操作,完成图形几何数据的参数化修改。目前,主流CAD平台,例如Creo,都已实现了参数化设计。由于使用参数化技术来实现尺寸变型的解决方案已经十分成熟,本文着重于轴类模型的结构变型,也就是对模型中所包含的与设计需求不符合的图形单元,例如轴段、键槽、倒角和圆角等进行增加、删除和替换等操作,从而实现一种半自动的、计算机辅助的轴类模型适应性结构变型,从而将一个被检索出的与新设计需求相类似但不完全相同的模型实例变型成一个能够在形状上完全符合新设计需求的轴类零件模型,例如二级圆柱齿轮减速器的Ⅱ轴到Ⅲ轴的转换。
对轴类模型进行结构变型,首先需要分析组成轴类模型的图形单元,如图1所示[7]。
图1 轴类模型包含的图形单元
轴段在CAD系统中的表示是由圆形截面拉伸或者矩形截面旋转所形成的伸出特征,是轴类模型的基础单元。以图2所示的二级减速器的Ⅲ轴为例,其包含7个轴段。
从图2可以看出,轴段作为轴的基础部分存在,而倒角、键槽等单元的存在需要依托于轴段。对轴类零件模型进行变型设计需要涉及到轴段单元的添加操作,根据新轴段的添加位置可以分为以下两种情况:
图2 轴类零件模型
(1)边缘轴段的添加:例如在轴段7的右侧添加一个新的轴段。
(2)中间轴段的添加:例如在轴段6、7之间添加一个新轴段。
对边缘轴段的添加,只涉及到新轴段的添加;而对于中间轴段的添加,还需要涉及到受影响单元的判断、单元重建以及重建前后模型项对应关系的确定。
基于特征建模的CAD系统以父子关系表示图形单元间的关联,例如轴段6、7之间,先创建的轴段6作为父单元,而轴段7依赖于轴段6提供的端面进行草绘,故轴段7以轴段6的子单元存在,在两个轴段之间添加新轴段,需要对轴段6的相关子单元重建,否则会出现如图3所示的单元间干涉情况。
图3 中间轴段添加所引起的干涉问题
干涉问题的出现主要是受影响单元未能将其草绘参考平面调整至新轴段上所致。故在创建完新轴段后,需要对受影响的单元进行参考模型项的调整和重建,以获得正确的添加结果。
Creo以父子关系表示单元间的关联关系,单元之间是一种多对多的关联关系。通过建立轴类零件模型的图形单元关系图,搜索受影响单元所构成的子图,并对其进行拓扑排序,获取单元重建的顺序。
图形单元关系图表示为G=(V,E),其中,顶点集V是模型中包含的所有可见单元,边集E由不同单元之间的父子关系构成。通过Creo提供的相关接口,从模型中提取这两种关联关系,建立图形单元关系图。以图2所示的二级减速器的Ⅲ轴为例,相应的图形单元关系如图4所示。
图4中框选出的子图表示在轴段6、7之间添加新轴段后的受影响单元。通过对该子图进行拓扑排序,可以获取单元重建的顺序,如表1所示。
表1 图形单元重建顺序
图4 图形单元关系图
Creo中的模型项指的是模型中所包含的用来描述模型外形、大小等属性的数据项,常用的模型项有表面、边和尺寸等。在Creo中进行建模常以模型项作为参考,例如草绘平面、尺寸标注等。当中间轴段绘制完毕后,在重建受影响单元的过程中,由于图形单元被重绘,相关模型项消失,需要重新设定参考。例如,在图2的轴段6、7之间添加新轴段后,轴段7的草绘参考平面便不再是轴段6的可见端平面,而是新轴段的可见端平面,此外,对于倒角1来说,由于轴段7被重绘,倒角特征所参考的边消失,需要重新设定参考,定位到新的轴段7对应边上。
因为Creo中包含的模型项多种多样,而特征建模的过程中,用于参考的模型项主要是面和边两种,故确定轴段模型项的对应关系也就是确定轴段表面和边的对应关系。
对于两个图形单元表面间对应关系的确定,可以通过建立单元有序面集的描述符,并判断两个有序面集是否相等,若相等,则按照有序面集的顺序建立表面之间的对应关系。对于边对应关系的确定,基于边是由两个面相邻接所形成的原理,通过判断面的对应关系以及边的两个相邻面便可以获取边的对应关系。单元面集描述符如下:
描述符矩阵是组成轴段的4个表面相关信息的集合,不同列对应不同的表面,不同行对应不同的表面属性。T1~T4表示的是表面类型,有平面Plane和圆柱面Cylinder两种;RP1~RP4表示平面相对坐标系的位置,有-1和1两种;RC1~RC4表示圆柱面的相对位置,有-1和1两种合法值。通过描述符判断两个轴段单元表面间对应关系的过程如图5所示。
图5 面对应关系的确定过程
在获取完受影响单元的重建顺序以及新轴段与父轴段模型项对应关系后,便可以完成中间轴段添加后的受影响图形单元重建操作,并在重建过程中对重建前后图形单元模型项对应关系进行确定,相关过程如图6所示。
图6 中间轴段添加及受影响单元的重绘过程
通常轴类零件中除轴段等基本图形单元外,还会包含其余一些常见的辅助图形单元,例如键槽和倒角、圆角等。由于Creo对倒角和圆角提供了方便、快捷的添加方式,故本文只考虑倒角和圆角的重建,而不考虑它们的添加操作。对于键槽,它的具体形状依赖于与之配合的键,以平键为例,键的相关形状由国家标准规定,通过与之配合的轴段轴径,选取键的截面尺寸,并从可用的长度尺寸序列选取平键的长度;而键槽的位置则由其余参考面之间的距离确定。键槽的相关图示如图7所示。
图7 键槽特征
从图7中可以看出,确定一个键槽的相关参数如表2所示。
表2 键槽单元的参数
对于键槽的添加,可以分为两步:首先,由用户选择键槽所在轴段与参考平面,查询标准,获取参数B、t1以及L的可用系列;然后将L的可用值显示给用户,从用户处获取L的选择值以及距离x,完成键槽特征的创建。
本文基于VC++2019和Creo平台提供的Object Toolkit C++二次开发接口,构建轴类零件实体模型重用原型系统,对轴类零件模型结构的适应性修改提供计算机辅助支持,使设计人员能够快速完成轴类模型的结构变型。下面以二级齿轮减速器的Ⅱ轴到Ⅲ轴的结构适应性修改为例,说明原型系统的效果。
适应性修改的源模型为减速器的Ⅱ轴,目标模型为Ⅲ轴,如图8所示。
图8 适应性修改的源模型和目标模型
通过重新建模、手动适应和计算机辅助适应三种建模手段的对比,可以看出通过使用原型系统对已有轴类零件模型进行适应性修改,建模时间明显缩短,如图9所示。
图9 实验结果
通过将轴类零件实体模型的适应性结构变型转化为对轴段、键槽等图形单元的添加、删除和替换操作,实现一种以用户为主导、计算机辅助的轴类零件模型结构快速适应性修改。实验结果显示,通过对已有轴类零件模型提供计算机辅助的快速适应性修改,新模型的建模时间缩短,效率得到明显提升。