模具型面设计中曲面快速延拓技术研究
2014-09-06王远峰孙建华安鲁陵
王远峰,卫 炜,孙建华,安鲁陵
(1.南京航空航天大学机电学院,江苏 南京 210016)(2.江苏苏美达五金工具有限公司,江苏南京 210061)
在航空制造业中往往会遇到较多具有自由曲面的零件,主要为钣金件或曲面类复合材料零件,这些类型零件常采用模具成型的方法进行加工,其模具型面的设计是整个模具设计的核心。一般情况下,模具的型面要求与零件表面贴合,范围大于零件表面,边界较为规整并具有良好的光顺性。企业工装设计人员通常采用基于产品模型的设计方法,利用CAD曲面建模技术对零件数模上提取的原始曲面进行修补、延拓、裁剪等处理以生成模具型面,其中曲面延拓是主要的处理手段之一,一些研究人员对此已做了相关的研究并开发出了实用的曲面延拓方法[1-2]。但目前仍有一部分曲面的延拓处理较为困难,特别是具有复杂边界的自由曲面,其延拓操作往往非常繁琐,有些甚至无法进行符合模具设计要求的延拓。本文针对此类模具型面设计中的曲面延拓问题,提出一种基于双向蒙皮造型技术的曲面快速延拓方法,以重构曲面的方式生成符合要求的延拓面,并依据这一方法,利用CATIA二次开发技术开发了钣金模具型面辅助设计工具,经过曲面重构所得到的具有规则边界的延拓面,经过简单处理即可作为满足要求的模具型面。
1 基于双向蒙皮造型技术的曲面快速延拓方法
1.1 B样条曲面的双向蒙皮造型理论
蒙面法传统上称为放样,是早期航空制造工业
式中:di,j为B样条曲面的控制顶点,以矢量表示;Ni,k(u)与 Nj,l(v)分别为定义在 U,V 两个参数方向上的规范B样条基函数,次数分别为k,l。
B样条双向蒙皮造型理论具体可描述如下:
设两个参数方向(U向与V向)上分别有(s+1)条和(r+1)条截面曲线,各自的最高阶次分别为p与q,统一节点矢量操作后,设U向截面线节所普遍采用的生成曲面的方法,其主要思路为拟合一张曲面,使其能够通过一组有序的空间曲线[3]。双向蒙皮造型技术则是由定义在曲面两个参数方向上的两族相交曲线拟合生成自由曲面的技术,其原理为分别以两族曲线作为截面线各自生成单向蒙皮曲面,再以两族曲线的交点为型值点插值生成张量积曲面,对3张曲面做曲面的布尔和运算以生成新曲面。这一技术目前已经受到研究人员的关注,并作出了相应的理论与应用可行性方面的研究[4]。本文即采用B样条双向蒙皮曲面来构造延拓面。
B样条方法是CAD领域中描述曲面曲线的重要方法,国际标准组织(ISO)颁布的工业产品数据交换STEP国际标准中,定义工业产品几何形状的数学方法NURBS(非均匀有理B样条)即为B样条方法的推广。对于不能用初等解析曲面表达的自由曲线曲面而言,B样条成功地解决了其形状描述问题,能够满足模具型面的构造要求。B样条曲面由一组控制顶点定义,其方程可写为[3]:
式(1)为U向蒙皮曲面,在V向反求曲面顶点时取次数为q,估算节点矢量为V1;式(2)为V向蒙皮曲面,在U向反求曲面顶点时取次数为p,估算节点矢量为U2。
对截面线网格插值生成的B样条张量积曲面S3可表示为:
合并S1与S2的节点矢量:U3=U1⊕U2,V3=V2⊕V1,将其分别以U向和V向插入上述曲面,得到阶次与节点矢量均统一的3张曲面:
根据式(4)构造布尔和曲面:
式(5)即为所求B样条双向蒙皮曲面[3],可表达为:
其中顶点 di,j=d1i,j+d2i,j-d3i,j。
双向蒙皮技术需要对两族截面线都进行统一阶次和节点矢量的操作:统一阶次可分别以两族曲线中的最高阶次为标准,对同一族的其他曲线依次进行升阶来实现;统一节点矢量的操作一般通过对各截面线插入其他曲线节点矢量中相异节点值的方法来实现[5]。但为避免可能带来的节点数膨胀问题,需采用Lyche与Morken的节点消去算法在给定误差内消去节点得到最少节点集,最终构成所要求的节点矢量[6-7]。对于B样条曲线的插入节点及升阶的操作,前人已经做了大量的研究,可依照文献[8]、[9]所提供的方法实现。
1.2 曲面快速延拓的算法描述
本文提出的曲面快速延拓方法是基于B样条曲面双向蒙皮造型技术,通过对原曲面的重构生成满足延拓要求的新曲面。这一方法的核心思想可描述为:首先利用原曲面上截取的截面线进行曲线延伸操作,再将延伸后的曲线作为延拓面的截面线,通过双向蒙皮技术拟合出新曲面,所得到的新曲面是一张边界规则且满足延拓要求的完整曲面,直接进行裁剪、延伸等简单处理即成为满足延拓要求的模具型面。这一方法需要为新曲面定义U向与V向,以及用于参考的基准平面,基准平面必须能够反映原始曲面的外轮廓特征。本文采用在原始曲面边界上取一组均匀分布的点,作多点平均面的方法来确定基准平面,多点平均面的法矢向量为该组边界点中任意不共线三点所确定的所有平面法矢的平均向量。V向的选择可以原始曲面边界上两点连线在基准平面上的投影方向来确定,U向则为V向的垂直方向。
基于曲面重构的快速延拓算法可表述如下。
输入:原始曲面S、基准平面P。
输出:边界规则的延拓曲面。
步骤1:确定V向与U向以及截面线起止边界,在两起止边界之间作一组垂直于基准面P的平面(P0,P1,…,Pn),与原曲面求交获得原始截面线,存入链表ListOCurves。
步骤2:依次对链表ListOCurves中的曲线进行延伸操作,得到一族(n+1)条满足U向延拓要求的曲线(C0,C1,…,Cn),该族曲线即为将要构造的新曲面中U向的截面线,存入链表 ListUSection中,曲线的延伸操作可直接采用CATIA的二次开发工具CAA中所提供的CATIGSMFactory接口下CreateExtrapol函数来实现。
步骤3:作平行于V向并且垂直于基准面的一组平行面 (P'0,P'1,…,P'm),然后将这组平面与链表ListUSection中保存的曲线一一相交,求取交点,可以获得 (n+1) × (m+1)个交点,这组交点即为张量积曲面的型值点,将上述交点中由同一平面与U向新截面线族相交得到的点存入同一个链表中,如(v0,0,v1,0,…,vn,0)存入链表 ListV0,(v0,1,v1,1,…,vn,1)存入链表 ListV1,如此可得(m+1)个数据点链表。
步骤4:依次以B样条曲线对上述数据点链表中的各组交点进行拟合,得到一族(m+1)条V向曲线(C'0,C'1,…,C'm),由于上述交点均位于新曲面的U向截面线上,故这组V向曲线可看做是由新曲面上的采样点拟合得到,采用这组曲线作为V向的截面线族,存入链表ListVSection中。
步骤5:分别对链表ListUSection和 ListVSection中的两族截面线进行统一阶次和节点矢量的操作,构造单向蒙皮曲面S1和S2,对步骤3中获取的(n+1)×(m+1)个交点进行插值构造张量积曲面 S3。
步骤6:对S1,S2和S3这3张曲面作布尔和,生成新曲面SN,重构后的曲面SN为一张U向已满足延拓要求的完整曲面,再对新曲面做V向延伸及裁剪操作,以满足V向延拓要求,即可得到所需的延拓面。
步骤7:对获取的延拓面与原曲面进行采样精度比对,若不符合要求,则应重新确定参考方向或增加截面线密度以构造延拓面,最终得到所需的模具型面。图1为利用双向蒙皮技术生成延拓曲面的一个实例。
图1 生成延拓曲面过程
2 实现曲面快速延拓的关键技术
2.1 截面线的构造技术
构造截面线是进行蒙皮操作的关键步骤,所构造的截面线必须能够反映曲面的基本形状特征,并且便于进行蒙皮操作。本文选取U向作为主要参数方向,U向截面线以曲面上获取的原始截面线为基础进行构造,V向截面线则以U向截面线上的采样点进行拟合。
在过去的研究中,通常倾向于采用平行面剖切曲面或点云的方式来获得原始截面线,在文献[10]中即采用了这种方案。但对于具有复杂边缘轮廓特征的曲面来说,采用平行面截取截面线的方案很容易导致部分主方向上截面线过短而无法获取足够的曲面特征信息,不能满足延拓要求。本文以曲面外轮廓边界指定点处的切矢来确定剖切平面组的起止边界,采用一组位于起止边界内的平面截取原始曲面的方法获取原始截面线,并在此基础上进行延伸、修复等处理,构造新曲面的U向截面线。如图2所示,首先通过曲面外轮廓边界上位置相对的两点连线确定参考方向(V向),再分别以这两点的外轮廓切矢为方向作垂直于基准面的平面,两个平面即为截面线的起止边界。测出两起止平面夹角α,并在两平面间取一组旋转角度均匀、在区间(0,α)上严格递增的平面,以这组平面作为剖切面截取原曲面,获得一族原始截面线。对所得的这族截面线中存在断裂截面线重新拟合,并依次将这族曲线从两端延伸,以满足曲面的U向延拓要求,即可得到新蒙皮曲面的U向截面线。从图2中可以看到,剖切平面之间存在着方向夹角,由三角函数计算可知,该方法作出的延拓面其U向极限延拓距离应为(L/2)×cot(α/2)。
图2 参考方向(V向)及剖切平面的获取
在U向截面线确定之后,新延拓曲面的大致形状也可以确定。为使生成的蒙皮面具有较规则的形状,采用一组平行于V向的平面与U向截面线组依次相交,以所得的交点序列作为型值点序列拟合出V向截面线,如此即获得两族新曲面的截面线。
2.2 截面线断裂修复
截面线断裂是在获取原曲面截面线时常出现的缺陷,通常存在两种断裂的形式,第一种为曲面中间的孔洞将截面线分为多段,第二种为少数截面线未完全落在曲面边缘内而断裂。前者在CATIA中可以通过先填补孔洞再获取截面线的方式来修复,后者则必须对曲线进行重构,这里重点研究以重构曲线的方式修复断裂截面线。截面线断裂的两种情况如图3所示。
图3 截面线断裂的两种情况
本文采取的断裂截面线重构方法为:从各曲线分段上先任意取一组分布均匀稠密的型值点(包括首末点),然后从型值点中筛选特征点,并反算其对应的B样条线控制顶点,再通过采样比对精度并进行迭代操作插入新特征点,最终拟合出一条经过给定特征点且精度达到要求的B样条曲线。
2.2.1 重构截面线初始特征点的提取
曲率分布可以充分体现曲线的特征,故可采用根据离散曲率筛选曲线特征点的方法确定初始特征点。首先在各曲线段上取总数为m的型值点记为(q0,q1,…,qm),其中各段的首末端点及曲线上拓扑点必须保留,然后用局部估计法来估算离散曲率。其大致思想可描述为[11]:通过首端4个数据点(q0,q1,q2,q3) 建立参数多项式q(t)=a3t3+a2t2+a1t+a0,取切矢˙q(t=0),沿切矢方向外延得数据点q-1,根据 q-1,q0,q1建立二次曲线,求取 q0处离散曲率k0,类似的可求取末端点qm的离散曲率km。同理,曲线上任意型值点qi的离散曲率ki可以由qi-1,qi,qi+1所建立的二次曲线qi(t)估算出来。
估算出曲线在各型值点处的离散曲率后,就可以自动对所需的特征点进行提取,其提取原则为:
a.各曲线段两端点的型值点必选,各曲线段上原本可能存在的拓扑点必选。
b.若 ki< ki-1且 ki< ki+1,Δk≧ ε,则 ki所对应的型值点可能为分段点或拐点,必须选取为特征点,其中Δk为曲率之差的绝对值,ε为自定义阈值。
c.若 ki> ki-1且ki> ki+1,ki≧αkaveroge,则ki所对应的型值点应为曲率极值点,必须加以提取,其中α为自定义比例系数,kaveroge为曲率ki的平均值。
2.2.2 反算控制顶点
通过如上操作可从原密集型值点中获得一组新特征点,记为(Q0,Q1,Q2,…,Qn),以 Q0和 Qn为首末端点,其余各特征点依次作为节点,以三次B样条插值曲线进行拟合,节点矢量U=[u0,u1,…,un+6],曲线定义在[u3,un+3]区间内。首末节点重复度为r=4,采用规范积累弦长参数化法确定节点矢量,并将曲线定义域 u∈[ui,ui+1]⊂[u3,un+3]内的节点值依次代入三次B样条曲线方程可得:
式中:Nj,3(ui)为三次B样条基函数。
公式(5)实际上是一个方程组,其中包含(n+1)个方程,此处的截面线均为开曲线,控制顶点为(n+3)个,还需补充两个边界条件方程,Q0与Qn为端点,则有 d0=Q0,dn+2=Qn,加入边界切矢条件
方程组可写为如下矩阵形式:
求解上述矩阵即可求出全部未知控制顶点,控制顶点已知,则曲线形状即可确定。
2.2.3 重构截面线的精确逼近
以所求控制顶点拟合三次B样条曲线之后,还需要对其与原断裂截面线上各段进行精度比对,由于在筛选特征点时已保留了各段的端点,因此可在重建的B样条曲线上找到与原各曲线段相对应的分段区域,分别以相同的长度比例在原曲线分段与对应重建曲线分段区域内各取一组点(p0,p1,…,pn)与(,,…,),取对应两点间绝对距离‖pi-‖为精度误差值,可自定义误差阈值εi,当‖pi-‖ > εi,则视该采样点处精度误差超标,依次对所取的采样点进行比对,将所有精度误差超标的采样点对应的原曲线段上对比点pi提取出来,作为新的特征点依次插入原特征点序列当中,然后重复上述步骤反求三次B样条控制顶点,拟合逼近曲线重新进行误差分析,迭代循环直至所有采样点误差均小于阈值为止。这一思路的本质是先利用离散曲率找出曲线保凸的特征点,再利用精度分析寻找保形的特征点,在实际程序运行中往往只需要很少的迭代次数即可得到精度满足要求的曲线。图4所示为采用该方法重建断裂曲线的一个示例。
图4 断裂截面线重构过程
2.3 延拓面误差分析
以采样点比对的思路对延拓后的曲面进行误差分析,首先于原曲面上取一组分布大致均匀的点(γ1,γ2,…,γm) 作为采样点(采样点可以通过提取原曲面片上的等参线交点来获取),然后将这组点投影到重构的曲面上生成投影点(γ'1,γ'2,…,γ'm),求出相对应的采样点与投影点间绝对距离Δi=‖γi-‖,当所有采样点的Δi均小于等于所设定的阈值ε时,即认为该重构面误差达到要求,可作为模具的型面使用,若存在误差大于阈值ε的采样点,则应增加截面线密度,重新拟合曲面。图5为实例中以采样点对比进行的误差分析,图中以圆圈标记的采样点表示该点误差在[0.003mm,0.030mm]区间,其余则为误差小于 0.003mm 的点。表1为对采样点的误差统计。
图5 利用采样点进行误差分析结果
表1 采样点误差统计
采样点统计结果表明,对于不规则外轮廓的曲面,其重构的延拓面误差主要产生在原曲面边界附近,且根据图5结果分析,其误差主要发生在与截面线方向大致平行的边界段上,这可能与蒙面法构造的曲面各截面线之间的部分存在微小畸变有关;内边界上的误差点比例高于其他部分说明断裂截面线的重构可能会影响到曲面拟合的精度;图5中没有误差大于0.030mm的采样点,可见本文提出的方案是可以较好地满足这类边界复杂但曲率变化相对较平缓的模具型面快速延拓要求。
3 曲面快速延拓功能的开发实现
基于上述方案和关键技术,利用CAA二次开发工具在CATIA上开发了钣金模具型面的辅助设计工具,以实现型面的快速延拓功能。图6为辅助设计工具的主功能界面。
图6 模具型面辅助设计工具界面
该系统结构上包含了支撑层、应用层和界面层。支撑层:包含系统运行所需的操作系统、设备等计算机软硬件及网络条件,本系统依托Visual Studio 2005编译器,运用其提供的库函数及CAA中提供的功能接口函数对CATIA软件进行二次开发,其运行环境即为CATIA软件的操作环境。应用层:提供了前置功能模块与曲面延拓模块等两个主功能模块,前置模块主要用于从工件上提取原始特征曲面、曲面缺口修补及生成基准面,曲面延拓模块用于完成曲面的快速延拓。界面层:本系统界面以CAA程序代码和功能函数开发而成,可与CATIA操作环境无缝衔接。图7为型面辅助设计工具的系统结构图。
图7 系统结构图
图8 为利用型面辅助设计工具对前文所例举的曲面进行处理的实例,主要流程为:(1)导入零件模型,提取原始特征面并创建基准平面;(2)若原始特征面边界存在较大缺陷,如缺角等,则先进行修复;(3)选取曲面上一对边界点以获得U,V方向及其边界面,生成两族截面线,根据输入的参数值对截面线进行处理并生成新延拓曲面;(4)建立模型。
实际上,本文提出的曲面延拓方法中所采用的双向蒙皮造型技术和断裂截面线修复技术还带来了另一个优势,即在其完成延拓功能的同时也一步到位地完成了曲面上孔洞的修补,所得到的曲面可直接进行下一步操作。通过开发的软件工具来延拓尺寸为1 000mm×1 000mm以下的曲面时,耗时大约1~5min,大大提高了设计工作的效率。
图8 型面辅助设计实例
4 结束语
型面延拓是模具设计中承上启下的一步,本文提出的基于双向蒙皮造型技术的曲面快速延拓方法,以曲面重构的方式实现了多种类型曲面的快速延拓,并利用CAA在CATIA上开发出相应的模具型面辅助设计工具,提高了飞机零部件模具的设计效率。这一曲面延拓方法不仅可用于航空钣金件模具中的型面设计,在复合材料过渡模型面设计等方面也能获得较好的应用效果。
[1] Shetty S,White PR.Curvature-continuous extensions for rational B-spline curves and surfaces[J].Computer Aided-Design,1991,23(7):484-491.
[2] 许澍虹,柯映林,刘美萍,等.复杂曲面延拓及其应用研究[J].工程设计,1997(4):23-27.
[3] 施法中.计算机辅助几何设计与非均匀有理B样条[M].北京:高等教育出版社,2001.
[4] 张乐年,周来水,周儒荣.基于复杂截线的NURBS双向蒙皮造型方法[J].航空学报,1997,18(3):304-309.
[5] Piegl L,Tiller W.The NURBS Book[M].Berlin:Springer Press,1997.
[6] Lyche T,Morken K.Knot removal for parametric B-spline curves and surfaces[J].Computer Aided Geometric Design,1987,4(3):217-230.
[7] Lyche T,Morken K.A data reduction strategy for spline with application to the approximation of function and data[J].IMA Journal of Numerical Analysis,1988,8(2):185-208.
[8] Boehm W,Prautzsch H.The insertion algorithm[J].CAD,1985,17(2):58-59.
[9] Cohen E,Lyche T,Schumaker L L.Algorithms for degree raising of spline[J].ACM Tran on Graphics,1985,4(3):171-181
[10]任朴林.基于散乱数据的截面线生成及模型重构技术研究[D].南京:南京航空航天大学,2003.
[11]赵世田,赵东标,付莹莹.测量数据点的高精度B样条曲线拟合算法[J].计算机集成制造系统,2010,16(8):1708-1713.