唐博文,廖敦明,唐绍宁,杨 光,杨 帆
(1.华中科技大学 材料成形与模具技术国家重点实验室,湖北 武汉 430074;2.中国航空制造技术研究院,北京 100024)
我国航天航空事业的飞速发展,对其领域的高端装备有了新的技术需求,需要发展更高精度、更高参数的大型设备,同时可应用于更加恶劣的工作环境。电子束熔丝增材制造具有成形速度快、力学性能优良、缺陷可控等优势,可适用于高性能大型金属构件的加工制造,能有效缩短生产周期、降低生产成本,因而在航空领域得到了广泛应用[1,2]。
电子束熔丝增材制造工艺流程分为前处理、打印成形和后处理三部分[3],不同的处理过程需要用到相应的专业CAD工具,而不同CAD工具所支持及保存的模型文件结构存在一定的差异,因此存在数模文件格式转换的环节。同时在前处理中,传统手动建模过程繁琐、规范性差、效率低,导致制造周期长。基于上述问题,有必要开发专用文件处理接口及数模特征识别与快捷再建系统,实现对文件格式转换的处理及关键特征的识别和重建。
基于NX 10.0开发平台,在Visual Studio 2012编译环境下,以C/C++为开发语言,应用NX二次开发框架下的NX Open API、Block UI Styler和Menuscript技术[3,4],对中间格式STEP模型文件在NX中结构特征进行对比分析,开发能够处理STEP格式的数模特征识别与快捷再建CAD系统。
STEP中间文件包含较多的产品信息,主要包括B-Rep模型信息[5],B-Rep(boundary representations)即边界表示法,通过顶点、边、面表示实体表面的边界,进而确定实体的内部点和外部点,建立实体三维模型。
系统旨在提高数模再建过程中的自动化和智能化程度,简化人工操作步骤,为STEP格式文件模型的再建提供解决方案。数模再建系统通过导入模型文件,进行模型修复,然后提取模型特征信息,结合特征库对模型结构进行智能补偿。
分析系统处理顺序可分为三部分:①针对STEP模型文件在NX中读取后可能存在的格式错误,进行特征修复,优化线面;②对需要优化的典型特征进行识别及提取;③基于提取的特征,进行相关的优化处理,如对模型添加余量补偿等。软件处理框架如图1所示。
图1 软件处理框架
NX软件提供了导入IGES、STEP等格式的中性文件接口,虽然在NX软件中打开STEP格式的文件后进行了较完善的处理,消除了曲线曲面的丢失和缺损的现象,然而其载入后的文件与在NX平台上独立建立的模型仍有所差别,不利于对模型进行进一步的处理操作。NX载入STEP源文件后其模型没有具体构建过程,可能存在一些曲线类特征异常,如不同CAD造型软件使用的造型方法有所差异,可能会出现圆柱面等未缝合现象,图2箭头指示处出现了圆柱面及圆孔面分割现象。
图2 分割的圆孔面
大量的边界曲线以容错曲线(tolerant curve)的形式出现,导致边界特征识别困难,如圆环的边界曲线不为圆弧,使其难以获得圆心位置等坐标信息。部分平面或曲面的特征类型也以非参B曲面((non-parametric)trimmed B-surface)形式出现,给这些曲面特征的自动识别带来一定的困难。
为解决这些问题,使NX载入STEP格式模型后能对其进行特征识别及模型再建,运用NX二次开发技术,开发了目标体上异常曲线及曲面的查找和显示功能,并提供以下2种曲线曲面修复方式。
(1)应用NX Open的Features属性下的Optimize Face Builder方法,对曲面进行优化,该方法可以将不合理的分裂面连在一起,也可恢复多数不合理的B曲面异常情况。但该方法会去除部件导航器的历史操作记录。
(2)使用UFUN方法中UF_MODL_edit_face_join函数进行连结面处理。该方法可以将2个面合并成1个面,合成后的面为B曲面特征类型。
2.2.1 圆角类特征分类及特征识别
一般零件设计过程中,为减小应力集中和加工难度,常会设计圆角、拐角等过渡曲面。但在电子束熔丝增材制造过程中,半径较小的圆角类特征不利于加工路径的规划,也难以直接形成圆角类形状,为避免此类特征阻碍后续路径规划过程,需对其进行处理[6]。
根据圆角的形式,可分为环形圆角、普通圆角(内圆角及外圆角)、拐角及球形拐角,如图3所示。其中环形圆角及拐角在NX中对象模型特征类别都为旋转面,但环形圆角有2个封闭环,而拐角只有1个封闭环特征。普通圆角在NX中对象模型特征类别为圆柱面,球形拐角的对象模型特征类别则为球面。
图3 圆角类型
基于各类圆角的差异,可根据其边界特征识别各类圆角。遍历目标体(body)对象的所有面,查询曲面的特征种类,获取符合曲面类型的所有曲面即可查找所有圆角类特征,进一步根据曲面边界类型可以识别圆角种类,其识别流程如图4所示。
图4 圆角类特征识别
2.2.2 圆角类特征再建
经过初步处理后的STEP格式模型仍可能存在不合理的B曲面、相交曲线等情况,因此不但需要提供对典型圆角的处理功能,还需处理异常曲面,根据不同的情况可采用以下3种方法。
(1)移除面。对于特征类型正常且不存在复杂的相交特征的圆角面,应用NX Open命名空间Features属性下的Delete Face Builder方法,设置相关属性,然后移除目标圆角面。
(2)通过添加特征进行布尔运算处理异常曲面。使用特征创建方法,以目标圆角的对角线为参考创建方块,然后根据圆角类型进行求和或求差去圆角,即对内圆角(凹面)进行求差,对外圆角(凸面)进行求和运算。
(3)通过拉伸圆角面处理异常曲面。如图5所示,先查询或选择包含各种圆角类型的复合圆角,并获取其终止平面,应用NX Open命名空间Features属性中的Extrude Builder方法,设置拉伸方向与终止面外法向相反的方向,应用拉伸操作可以将圆角特征去除。
图5 复合圆角
凸台和孔特征在数模中十分常见,对凸台与孔的自动识别和自动再建有重要意义。孔及凸台特征如图6所示,根据壁面是否为圆柱面,孔可分为圆孔和异形孔,凸台可分为圆台和异形凸台。根据孔是否贯通,又可分为通孔和盲孔。
图6 孔及凸台特征
在进行孔类及凸台类特征识别前,需先了解边的凹凸性判断方法及内环的概念。边的凹凸性判断方法如下[7]。
(1)当边为直线时,如图7所示,在需要判断边的相邻两面上分别找点p1及p2,要求p1、p2在垂直于边的同一平面内,p1沿其所属平面的外法向方向上平移1个单位得到p3,p2沿其所属平面的外法向方向上平移1个单位得到 p4,p1和p2间的距离记为d1,p3和p4间的距离记为 d2,比较 d1与d2的大小,若d1>d2则该边是凹边,反之为凸边。
图7 直线凹凸性判断
(2)当边为曲线时,如图8所示,曲线所属的面存在圆柱曲面。针对该情况,引用微分方法,在圆柱曲面上取一微小曲面,当曲面足够小时可近似于平面,而曲线上的这一小段边可近似于直线,可引用第(1)种判断方法。
图8 曲线凹凸性判断
环(loop)是有序且有向边组成的封闭边界,环中相邻边共享1个顶点,且环中的边不相交。环不但有方向之分,还有内外之分,外环边以逆时针方向排列,内环边以顺时针方向排列。
在识别孔特征时,先遍历种子面(face)上的所有内环,如果内环为凸边,可初步判定该种子面为孔特征的入口平面,内环为有效孔边界。然后用插值取点射线法[8]判定是否为贯通孔,具体为:找出内环在x、y、z方向的上、下区间,然后插值法取点,取到的点为试探点,获取种子面在各试探点的法向,接着分别以试探点为起点,向正反法向发射射线,若均不与实体相交,则可认定为通孔,否则是盲孔。最后根据内环形状可判定是圆孔还是异形孔。
在识别凸台特征时,类似地遍历种子面上的内环,若内环为凹边,找到内环所属的另一面为特征面,特征面的另一相邻面是平面,且该平面只与特征面相邻,即可判断为凸台类特征。
识别完成后,需要结合实际加工工艺进行后续的处理及数模再建,对于孔类特征,需要考虑其孔径大小及其轴向与加工方向的差异。若其轴向与加工方向不同,且孔径不大,需考虑填充整个孔;若其孔径较大,为避免过多的材料浪费,在加工过程中可调整加工方向使其与孔的轴向相同。对于轴向与加工方向相同的孔,若其孔径较小,为保证加工精度和减少路径规划的难度需要将该类孔完全填充;若孔径较大,则向内添加一定的单边余量,即在自动建模中可设置一临界值,当孔径小于该值时填充孔,大于该值时则添加一定的余量。
对于凸台类特征,一般沿外表面方向添加一定的余量即可;对于有环形圆角的凸台,则可根据圆角补偿方式添加足够的外表面余量以包含圆角特征。在实际再建处理过程中,可先移除圆角再给凸台添加余量或使用UF方法的偏移面函数UF_MODL_create_face_offset进行偏置操作,再进一步处理圆角。
针对处理STEP格式模型,开发了相应的数模特征识别与快捷再建CAD系统,共有8个功能模块,如图9所示。
图9 系统功能模块
应用开发的系统对图10所示模型进行处理,由于模型具有保密要求,仅截取其中一段模型,该部分模型细节较多,且在NX中的特征对象类型混乱,无法对其进行直接再建。
图10 电子束模型实例部分
应用线面信息查询功能,如图11所示,该模型存在大量的容错曲线及B样条曲线,而这些曲线本应该是正常的直线或圆弧等曲线。
图11 容错曲线等异常曲线
先应用异常曲线曲面处理功能对目标体进行优化,然后应用圆角处理功能对各类圆角处理。对初步优化后的目标体进行圆角识别,结果如图12所示,其圆角种类组成复杂,不但包含普通的圆角和拐角,还包含B曲面。对这些结构除了使用开发的自动再建功能外,还需用到交互式圆角再建功能。
图12 圆角识别
该处复杂曲面类型经过初步圆角补偿处理后,可达到图13所示形状。
图13 初步圆角补偿
根据电子束加工特点,对于参差不齐的边与块,当两者高度差较小时,应使2个面平齐,减少阶梯的出现,以利于路径规划及后续的加工过程。经过阶梯面的再建结果如图14所示,最后再对孔进行识别和处理,根据临界值对大孔添加余量,对小孔填充处理。
图14 阶梯面处理
基于STEP格式文件的数模特征识别与再建CAD系统,解决了电子束熔丝成形设计过程中不同专业CAD软件的中间格式转换导致的异常问题,完成了从目标数模到加工数模的转换,提高了模型再建的效率与设计规范性。