一、前言
传统的产品设计一般都是“从无到有”的过程,设计人员首先构思产品的外形、性能以及大致的技术参数等,再利用CAD建立产品的三维数字化模型,最终将模型转入制造流程,完成产品的整个设计制造周期,这样的过程可称为“正向设计”。而逆向工程则是一个“从有到无”的过程,就是根据已有的产品模型,反向推出产品的设计数据,包括设计图纸和数字模型。
逆向工程的专业软件有Surfacer、ICEM、CopyCAD和RapidForm等,这些软件非常适合处理大量扫描的点云数据。例如,对一个小车的外型进行激光扫描,大约可以得到30万个测量点,通过专业的Surfacer软件建构而得到数字模型,达到了预期的效果。同时,我们也对UG在逆向工程中的应用进行了探索,在过程中得到了一些经验,下面详细介绍如下。
二、数据点的输入
用UG软件做逆向工程,使用的测量设备大多都是接触式手动三坐标划线机,主要针对剖面、轮廓和特征线进行测量,测量的数据点不是很多,UG处理起来也比较容易。
但是本文的车模型用激光扫描测到的数据点多达30万个,这么多的数据点输入UG是很困难的,因此我们在Surfacer软件里对点云数据进行了除噪、稀疏等预处理。而为了准确地保持原来的特征点和轮廓点,我们大体构造了轮廓线和特征线,和点云数据一起导入UG中,如图1所示。 (图片)
图1 输入数据 三、通过点构造曲线
1.在连线过程中,一般是先连特征线点,后连剖面点。在连线前应有合理的规划,根据此车的形状和特征确定如何分面,以便确定哪些点应该连接,并对以后的构面方法做到心中有数,连线的误差一般控制在0.4mm以下。
2.常用到的是直线、圆弧和样条线(spline),其中最常用的是样条线。一般选用“through point” 方式,阶次最好为3阶,因为阶次越高,柔软性越差,即变形困难,且后续处理速度慢,数据交换困难。
3.因测量时有误差以及模型外表面不光滑等原因,连成的样条线不光顺时还需要进行调整,否则构造出的曲面也不光滑。调整时常用的一种方法是Edit Spline,一般常用Edit pole选项,包括移动、添加控制点以及控制极点沿某个方向移动,方便对样条进行编辑,此外,曲线的断开(divide)、桥接(bridge)和光顺曲线(Smooth spline)也经常用到。
总之,在生成面之前需要做大量的调线工作,调线时可以使用曲率梳对其进行分析,以保证曲线的质量,如图2所示。(图片)
图2 构造的曲线 四、构造曲面
因为车身要求有流畅的外形、光顺的外表面,因此在构造曲面的时候,要分成若干曲面进行,尤其要保证面和面之间能够相切连续或曲率连续,这样才能形成一个没有接痕的曲面。另外,构造曲面时,还要根据具体情况选择合适的构造方法。
1.构造曲面的方法
(1)最常用的构造方法是Though Curve Mesh,不仅可以保证曲面边界曲率的连续性,还可以控制四周边界曲率(相切),而Though curves只能保证两边曲率。
(2)使用较多的还有nxn命令,可以动态显示正在创建的曲面,还可以随时增、减定义曲线串,而曲面也将随之改变。同样,还可以保持与相邻面的G0、G1以及G2连续。
(3)在构造曲面时,经常会遇到三边曲面和五边曲面。一般做条曲线,把三边曲面转化为四边曲面,或将边界线延伸,把五边曲面转化成四边曲面,用以重构曲面。其中,在曲面上,做样条线(curve on surface)和修剪(trim)是常用到的两个命令,如图3所示。(图片)
图3 构建的三角面 (4)构造完外表面,要进行镜像处理。在曲面的中心处常会出现凸起,显得曲面不光顺,一般都是把曲面的中心处剪切掉,然后通过桥接使之平滑。
(5)构造曲面时,两个面之间往往有“折痕”,曲面很不光顺,主要是因为两个面相切不连续造成的。解决这个问题,可以通过Though curve mesh 设置边界相切连续选项,还可以在构造曲面后选择match edge(NX3)选项,可以使两个曲面的边界相匹配,从而使曲率连续。另外,即使两个曲面不相接,match edge命令也可以将一个曲面的边界自动延伸并重合至另一个曲面的边界。
(6)在构造单张且较为平坦的曲面时,直接用点云构面(from point cloud)将会更方便、更准确。有时面之间的空隙需要桥接(Bridge),以保证曲面光滑过渡。当曲面求交时,进行圆角处理也会使两曲面圆滑过渡。
2.构造曲面应注意的几个问题
(1)构面最关键的是抓住样件特征,还需要简洁,曲面面积尽量大,而张数不要太多。另外,还要合理分面以提高建模效率。
(2)在构建曲面过程中,有时需要再加连一些线条,以便构造曲面,连线和构面需要经常交替进行。曲面建成后,要检查曲面的误差,一般测量点到面的误差,误差不要超过1mm。
(3)构造曲面阶次要尽量小,一般推荐为3阶。因为,高阶次的片体使其与其他CAD系统间成功交换数据的可能性减少,其他CAD系统也可能不支持高阶次的曲面。阶次高,则片体比较“刚硬”,曲面偏离极点较远,在极点编辑曲面时很不方便。另外,阶次低还有利于增加一些圆角、斜度和增厚等特征,有利于下一步编程加工,提高后续生成数控加工刀轨的速度。
五、构造实体
构建完外表面后,需要构建实体数字模型。如果模型较简单且曲率变化不大时,把它们缝合成一个整体,再使用增厚指令就可建立实体,但在大多数情况下却不可能实现,对本文中的模型更是如此。
如果把外表面缝合成一个整体,再把车底补面成为一个封闭的片体,从而成为一个实体,但由于车底部曲面的曲率变化比较大,往往实现不了抽壳命令。因此,首先需要先偏置外表面的各个片体,再构建出内、外表面的横截面,最后把做出的横截面和内、外表面缝合起来,使之成为封闭的片体,从而自动转化为实体,此过程一般包括以下四个方面。
1.曲面的偏值
用Offset指令同时选多个面或全选以提高效率。小车外表面各个片体偏值的情况,如图4所示。(图片)
图4 曲面的偏值 图4中的箭头表示偏值的方向,如果箭头反向,只要输入负值即可。
不是任何曲面都能够实现偏值,不能实现偏值一般有以下几种原因:
(1)由于曲面本身曲率太大,基本曲面有法线突变的情况;
(2)偏值距离太大而造成偏值后自相交,导致偏值失败(本文中把小车片体统一偏值2毫米);
(3)被偏值曲面的品质不好,局部有波纹,只能修改好曲面后再进行偏值;
(4)还有一些曲面看起来很好,但就是不能偏值,遇到这种情况可用Extract Geometry转化成B 曲面后再进行偏值。
以上四种情况在构造曲面时都可能遇到,要学会分析其原因。
2.曲面的缝合
偏值后的曲面还需要裁剪或者补面,用各种曲面编辑手段构建内表面,然后缝合内表面和外表面。缝合时,经常会缝合失败,一般有下列几种可能。
(1)缝合时,缝合的偏体太多。应该每次只缝合少数几个片体,需要多次缝合。
(2)缝合公差小于两个被缝合曲面相邻边之间的距离。遇到此类问题,一般是加大缝合公差后,再进行缝合。
(3)两个表面延伸后不能交汇,边缘形状不匹配。如果片体不是B曲面,则需要先将片体转化为B曲面,使之与对应的另一片体的边匹配,再进行缝合。
(4)边缘上有难以察觉的微小畸形或其他几何缺陷。可局部放大,进行表面分析检查几何缺陷,如果确实存在几何缺陷,则修改或重建片体后重新缝合。
3.缝合的有效性
最后需要注意的是,虽然执行了缝合命令,计算机也没有给出错误提示,看似缝合成功,其实未必。有的片体在缝合完成后,放大时会看到有亮显点或亮显线,甚至还有空隙。因此,在缝合完成后,一定要立即检查缝合的有效性。若在缝合线上出现了亮显点或亮显线,就意味着此部位没有缝合成功,必须取消缝合操作,重新进行缝合,否则将给后续的实体建模工作带来困难,但如果仅外周边亮显,则说明缝合成功,如图5所示。(图片)
图5 内外表面与横截面的缝合 4.生成实体
把内、外表面和横截面缝合成一个闭合的片体,则片体将自动转化为实体,如图6所示。(图片)
图6 实体 六、小结
总之,用UG软件做逆向设计是比较耗时的,而且在点云的处理和构建片体方面,都不如专业逆向软件(如Surfacer、Rapidform等)方便。但是,UG做逆向设计的一些思想和方法,比如如何构线和构面、如何根据产品特征进行规划以及分割产品等,对使用专业逆向软件做逆向设计也会有所帮助,实际上,这也是做好逆向设计的关键。
2/21/2006
|