逆向工程特征点提取与参数化建模方法研究
2018-01-19王兴晨路春光刘佳鑫
王兴晨 ,路春光 ,赵 震 ,刘佳鑫 ,2
(1.华北理工大学 机械工程学院,河北 唐山 063009;2.华中科技大学 能源与动力工程学院,湖北 武汉 430074)
1 引言
逆向工程(Reverse Engineering,简称RE)也称为反求工程。RE是一种产品设计过程再现技术,通过对获取的已有产品数字模型,进行逆向研究和分析并通过改进得到新产品,以三维软件Geomagic Studio、UG为处理手段,并与CAD/CAM系统相结合,已发展成为一个相对完善的技术领域[1]。
逆向建模由最初的扫描已有实体模型,然后在3D环境中重塑外形的逆向设计开始,其建模的方法与实际也在不断变化。文献[2]认为,逆向建模不应只是对已有模型的简单复制,更应该考究产品设计概念,分析出设计者的原始设计理念。基于这一理念,许多国内外专家、学者进行了大量的研究。文献[3]提出基于特征的参数化匹配建模方法,并将其应用到人体脸部的整体轮廓建模中;文献[4]通过对特征截面数据进行除噪、拟合处理的设计点云数据预处理算法。近年来国内一些院校对反求工程进行了大量研究工作,并围绕特征建模,提出了一系列基于特征的CAD建模方法。文献[5]提出基于点云特征提取与分割算法。文献[6]对特征反求工程中的优化约束问题进行了研究,并提出了优化约束算法和区域分块算法。文献[7]提出基于最小二乘拟合算法的二次曲面提取技术。文献[8]重点研究基于反求工程的纯自由曲面建模方法,并提出B样条曲面协调设计。主要提出逆向特征提取与参数化相结合建模方法。以电动汽车的车头模型为例,采用专业扫描仪,对车头模型进行扫描,获取车头模型点云数据,导入GeomagicStudio软件进行点云数据优化,提取特征截面曲线以及关键点,最后通过VisualBasic对CATIA软件进行二次开发,完成对车头造型参数化设计。
2 逆向扫描与数据预处理
由于扫描精度越高,获得数据质量越高,故此次数据扫描采用的工具为FARO Focus3D X330手持扫描仪,该扫描仪具有快速校准程序,扫描范围大,扫描速度快,能够获得较高质量的点云数据。Focus3D X330扫描仪的得到的点云数据,在Focus3D X330软件中生成sproj格式的文件,将文件另存为OBJ格式的文件导入到Geomagic Studio软件中进行数据处理。Geomagic Studio软件主要数据处理工具包括:Reduce Noise(减少噪点)、Data Compacting(数据精简)、Create By Boundary(创建边界)、Create By Section(截面创建)Curve?Fitting(曲线拟合)、Fair Surface(光顺曲面)和Variance Analysis(偏差分析)等[9]。经过优化的电动汽车车头点云数据,如图1所示。
图1 车头点云数据预处理模型Fig.1 Car Point Cloud Data Preprocessing Model
3 特征截面与特征点提取
特征数据是对产品设计理念与造型特征的充分体现,特征轮廓曲线与截面曲线即可得基于特征表达的三维模型。结合逆向工程在特征建模方面的应用,总结得出逆向工程与特征提取CAD建模流程,如图2所示。
图2 逆向工程与特征提取CAD建模流程Fig.2 Based on Reverse Engineering CAD Modeling Process and Characteristics Section
3.1 特征截面选取
截面的选取要遵循一些原则,首先分析点云数据特征,确定曲面生成方式,确定特征截面插入位置,然后插入截面。对于形状规则可以通过一个拉伸二维截面命令,就能生成原实体的模型,截面的基准面位置应该选取模型中央位置。而对于形状不规则的自由曲面,截面的选取,要观察模型曲面之间的衔接位置,如边界由直线变为曲线的拐点位置。通过对车头模型的特征分析,界面的选取,如图3所示。以面1为基准面,选择平行于面1的边界直线与曲线交接点(拐点1和拐点2位置),为截面所在位置。
图3 特征截面选取Fig.3 Characteristics of Cross Section Selection
3.2 特征截面提取
在获得特征截面的点云数据后,对特征曲线重建时,既要满足与原始点云数据的逼近精度要求,同时还要满足互相之间的各种几何约束和工程约束。通过Geomagic Studio对提取的特征数据进行全局优化及拟合质量检测,可得到高精度特征截面曲线。
特征截面提取最关键步骤为特征数据数学模型的建立与求解,假定:(1)用Si(i=1,…,n)表示特征截面数据中各段数据所对应的目标曲线,点Qik表示第i段数据段中的第k个测量数据点(k=1,…,m),测量数据点Qik到目标曲线Si的距离为d(Qik,Si);(2)这 n 段曲线的 s维向量用表示 X={x1,x2,…,xs},其集合了 n段曲线的所有参数;(3)这n段曲线之间满足约束集Cj(X)=0,j=1,…,l约束优化模型为:
先用拉格朗日乘数法将该优化模型转化成无约束优化问题,再用非线性最小二乘算法中的列文伯格-马奈尔特法求解。特征截面曲线提取过程,如图4所示。
图4 截面曲线特征提取Fig.4 Cross Section Curve Feature Extraction
3.3 曲率分析和特征点的拾取
曲率分析遵循一定规律,根据曲线连续阶将曲线变化点分为端点(曲线末端点)、曲率极值点(一般为曲率极大值)、拐点、尖点(切矢不连续点)和折痕点(曲率不连续)并统称为特征点,如图5所示。
图5 平面曲线特征点Fig.5 Characteristic Point of the Family of Plane Curves
曲率计算,利用NURBS曲线插值算法[10]对每一层片数据进行B样条曲线插值,构造非均匀B样条曲线。B样条曲线表达式一般为 x=x(t),则曲率为
通过Geomagic Studio提取特征曲线,并把特征曲线导入到CATIA软件中,进行曲率分析,将曲率以曲率梳的形式显示,通过判断曲率梳变化情况选取曲率最高处为特征点位置,并用测量工具确定特征点三维坐标,如图6所示。
图6 曲率分析与特征点的确立Fig.6 The Establishment of Curvature Analysis and Feature Points
3.4 曲面重构
曲面重构采用参数变量分段有理多项式定义的NURBS曲面:
控制顶点{di,j},(i=0,1,…,m;j=0,1,…,n),为拓扑矩形阵列。{wi,j}是与{di,j}联系的权因子,且四角顶点为正权因子即w0,0,wm,0,w0,n,wm,n>0,wi,j≥0;Ni,k(u)(0,1,…,m)和Nj,l(v)(0,1,…,m)分别为u向k次和v向l次的规范B样条基函数。它们分别由u向与 v 向的节点矢量U=[u0,u1,…,um+k+1]与 V=[v0,v1,…,vm+k+1]决定。重构曲面采用双三次NURBS曲面,假设节点矢量u=[u0,u1,u2,u3,u4,u5,u6],值 u,u∈[0,u4-u3],则三次 B 样条基函数一般表达式为:
NURBS曲面插值算法,先沿u向(即切片方向)把切片数据换算为带权型值点,再以B-样条的边界条件及反算公式进行反算,求得{di,j}[11],即可利用上式进行曲面重构。
4 基于CATIA软件的参数化设计
4.1 CATIA软件二次开发技术的应用
4.1.1 在VB中引用CATIA类型
运用Visual Basic连接CATIA。首先,启动VB程序,新建“Standard EXE”工程,在顶部工具栏中选择“Project”,然后在下拉工具栏选项中点击“References”选项,选取所有以“CATIA V5”开头的选项,如图7所示。点击“OK”完成VisualBasic对CATIA软件内部命令的连接。
4.1.2 通过VB启动CATIA
用VB或VBA访问CATIA时,采用GetObject和CreateObject方法,即可实现VB对CATIA的连接。实际运行当中,无法判断CATIA是否已经运行,实际编程当中把CAITA运行与未运行的启动方法结合在一起,即利用下面的程序代码,这样访问CATIA时就不会出问题[13]。(具体程序略)。
4.1.3 设计步骤及关键代码
进入零件(part)设计界面,创建文档(Documents)对象,在混合形状设计(hybridShapeFactor)模式下,输入关键点坐标(iX,iY,iZ),添加特征点(AddNewPointCoord)[14],特征点创建完成。(具体程序略)。
对特征点三维坐标赋予字符串SubCreatepoint(iXAsInteger,iY As Integer,iZ As Integer);调用交互界面三维坐标文本输入框中的字符Createpoint Val(txtX.Text),Val(txtY.Text),Val(txtZ.Text)。
依次输入特征点坐标,生成模型基本轮廓,如图8所示。用样条曲线(HybridShapeSpline)依次连接特征点,生成特征截面以及边界曲线,如图9所示。(具体程序略)。
图8 特征点输入Fig.8 Feature Point Input
图9 生成样条曲线Fig.9 Getcurve
用蒙皮法,依次填充(HybridShapeFill)封闭样条曲线[15],生成车头模型原始自由曲面,如图10所示。关闭编辑命令,并对零件进行更新Update(具体程序略)。再经过正向设计凹槽、拉伸,拔模命令可得车头最终模型,如图11所示。
图10 生成曲面Fig.10 SurfaceCreation
图11 最终模型Fig.11 Final Model
5 结论
运用Geomagic Studio对车头点云数据预处理,通过对模型特征分析,选取合适位置插入截面,拟合获取了较好的特征轮廓线;再进行曲率分析,提取特征点坐标数据;最后,以特征点数据为参数,借助CATIA软件进行参数化设计,自动生成特征轮廓曲线,完成曲面重构从而得到充分表达的曲面模型。这种基于逆向工程特征点的自由曲面参数化建模方式,不仅操作简便提高了模型重建的效率,同时有助于节约研发成本和产品创新设计。
[1]Daschbach J M,Abella R J,Wang C.CAD/CAM:Reverse Engineering Applications[C].University Programs in Computer-Aided Engineering,Design,and Manufacturing.ASCE,2015.
[2]Várady T:Reverse engineering of geometric models :An introduction[J].Computer-Aided Design.1997,29(4):255-268.
[3]Gregory T D,Warren N W J,Henry J L.Feature based models for data fitting[J].Computer-Aided Design,1995,27(2):139-146.
[4]Ai Chingchih,Huang M ingchih:The p rocessing of data points basing ondesign intent in reverse engineering[J].International Journal of M achine Tools&M anufacture,2000,40(12):1913-1927.
[5]柯映林,刘云峰,范树迁.基于特征的反求工程建模系统RE-SOFT[J].计算机辅助设计与图形学学报,2004,16(6):799-811.(Ke Ying-lin,Liu Yun-feng,Fan Shu-qian.Based on the characteristics of the reverse engineering modeling system RE-SOFT[J].Journal of computer aided design and graphics,2004,16(6):799-811.)
[6]单东日,柯映林.反求工程中点云数据的二次曲面特征提取技术[J].计算辅助设计与图形学学报,2003,15(12):1497-1501.(Shan Dong-ri.Reverse engineering point cloud data of quadric surface feature extraction technology[J].Journal of Computer-aided Design and Computer Graphics,2003,15(12):1497-1501.)
[7]Ke Ying-lin,Sun Qing,Lu Zhen.Least-square method based feature fitting and extraction in reverse engineering[J].Chinese Journal of Meehanical Engineering:English Edition,2003,16(2):163-166.
[8]贾明,吕震,李永青.基于B样条曲面裁剪计算的局部协调设计[J].机械工程学报,2003,39(2):74-78.(Jia Ming,Lv Zhen,Li Yong-qing.Based on b-spline surface cutting calculation of local coordination design[J].Journal of Mechanical Engineering,2003,39(2):74-78.)
[9]蔡敏,成思源,杨雪荣.基于Geomagic Studio的特征建模技术研究[J].机床与液压,2014(21):142-145.(Cai Min,Cheng Shi-yuan,Yang Xue-rong.Based on the Geomagic Studio feature modeling technology research [J].Machine with hydraulic,2014(21):142-145.)
[10]施法中.计算机辅助设计与非均匀有理B样条[M].北京:高等教育出版社,2001.(Shi Fa-zhong.Computer Aided Design and Non-Uniform Rational B-spline[M].Beijing:Higher Education Press,2001.)
[11]朱心雄.自由曲线曲面造型技术[M].北京:科学出版社,2000:88-196.(Zhu Xin-xiong.Free Curve Surface Modeling Technology[M].Beijing:Science Press,2000:88-196.)
[12]Xiao J C.A Method of surface reconstruction in reverse engineering based on CATIA VBA[J].Journal of Xian Technological University,2010.
[13]周桂生,陆文龙.CATIA二次开发技术研究与应用[J].机械设计与制造,2010,1(81).(Zhou Gui-sheng.Lu Wen-long.CATIA secondary development technology research andapplication[J].MechanicalDesignandManufacturing,2010,1(81).)
[14]胡挺,吴立军.CATIA二次开发技术基础[M].电子工业,2006.(Hu Ting,Wu Li-jun.CATIA Secondary Development Technology Base[M].The Electronics Industry,2006.)
[15]袁允伟,王勤易.基于VS.NET的CATIA二次开发的自由曲面设计[J].机电一体化,2011,17(3):87-91.(Yuan Yun-wei,Wang Qing-yi.The secondary development of CATIA based on VS.NET free surface design[J].Mechanical and Electrical Integration,2011,17(3):87-91.)