Surfacer曲面建模实验指导.docx
- 文档编号:26447767
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:19
- 大小:1.33MB
Surfacer曲面建模实验指导.docx
《Surfacer曲面建模实验指导.docx》由会员分享,可在线阅读,更多相关《Surfacer曲面建模实验指导.docx(19页珍藏版)》请在冰豆网上搜索。
Surfacer曲面建模实验指导
Surfacer曲面造型实验指导书
一、Surfacer10.6简介
美国Imageware公司推出的Sufacer是一款具有强大的曲面造型功能的软件,被广泛应用于逆向工程、自由曲面设计和计算机辅助曲面检测。
Surfacer的应用领域涵盖了汽车、航空航天、电子产品、模具等行业。
它具有友好的输入输出接口,可以接受几十种数据格式,方便地与同类软件进行数据交流。
它主要包括四大功能模块,即点处理、线处理、面处理和快速成型模块。
同时还包括显示、编辑、检测等辅助功能。
Surfacer10.6中包含了多种Entities,主要有点云(cloud)、曲线(curve)、曲面(surface)、组(gourp)和图(plot)。
ØCloud:
坐标空间中单一的点或是一群点的集合、点群间可以相加、减。
ØCurve:
分为3Dcurve和2Dcurve。
前者为独立在3D空间的曲线,后者依附于曲面。
ØSurface:
裁剪曲面和未裁剪曲面。
ØGroup:
由部分选择的Entities组成的集合。
ØPlot:
各种分析、对比特性图。
例如点的法矢、曲线的曲率图、点与面的误差图、实体间的连续性分析图等。
用Surfacer10.6进行模型重建主要可分为以下几个大的步骤:
1点云预处理
首先要选择正确的数据格式,将扫描点云输入软件。
●多视图拼合
有时所测实体面积大,或测量角度多,采用激光扫描测量很难一次获取全部数据,往往需要多角度分别测量,然后再将数据拼合在一起。
Surfacer对多角度测量数据进行拼合的具体做法是在被测实体的不同地方,分别粘三个小球。
在分块测量时,要求每个测视图中都包含三个小球的点云数据。
然后将各数据依次输入软件,用Circle-SelectPoints命令分离出所有小球的点云,通过Fitsphere拟合成球面。
接下来要选取其中的一块视图做基准,将要移动的不同视图的点云与其对应的球体分别组成一个族。
打开StepwiseRegistration命令,选择要移动族的名称,将菜单中列出的两组小球的名称,对应叠加,就可将两视图并在一起。
以此类推,从而完成多视图的拼合。
最将拼合后的点云做加法运算,合成一个整体。
●数据简化
测量数据过密时,计算量大,会影响后面的操作速度,可选用Sample中的多种简化命令,去掉冗余点云。
其中SpaceSamples对化简特征多的点云非常有效,它通过曲率计算,在平缓的区域,保留较少的点;而在特征较多的地方,保留较多的点。
在简化的同时有效地保留了特征,是一种优化算法。
●数据平滑
在测量时,多种因素会造成噪音点。
从不同的角度观察点云的质量,杂点不多时,可用PickDeletePoint命令手动删除。
对于质量较差的点云,可选用Smooth下拉菜单中的多种滤波命令,对点云进行平滑处理,去掉坏点,提高整个点云的质量。
应注意,不同的点云应采用不同的滤波方式,不仅要去噪,还要有效地保持模型的几何特征。
当数据在较小范围内有缺损时,Fill命令可按周围点云的曲率变化,进行有效的填充。
●点云排序
一般实物都用了多次测量的策略,导致点云杂乱无章。
为了保证后面生成曲线与曲面的质量,有时需要对点云排序。
最常用SortbyNearest,通过计算点云之间的距离来确定点与点之间的几何关系。
通过上述方法处理后的点云,可直接调用Polygonize命令,生成三角网格,保存为STL格式,用于快速成型。
2特征提取和数据分割
对数据进行分块,可将复杂的数据处理问题简化,有利于提高曲面拟合的精度。
打开Densefeatureextraction中的SharpEdges菜单,通过计算曲率来提取区域划分的特征点。
根据特征点,通过人机交互式的方法可以确定区域边界线。
为保证后续过程中重建曲面的质量,可以根据需要对特征线进行光顺检验。
打开RadiusofCurvePlot菜单,观察调整曲线的曲率分布,对于变化较急剧的地方,要手工干涉。
打开ControlPointsEdit菜单,选择调整的方向,通过拖拽控制点,来提高曲线的光顺性。
3曲面重构
Surfacer基于双精度NURBS来重构曲面,与实体模型完全集成,支持多种的曲面造型方法,如拉伸、旋转、放样、扫掠、边界拟合、点云拟合、曲面延伸、曲面裁剪等,同时还具有检测、修正、优化等功能。
本指导书以一个柴油机进气道的测量数据为初始输入,给出在Surfacer环境下建立该进气道的分片光滑B样条曲面模型的基本过程。
其中包括数据拼合和简化的预处理部分,本指导书中略去,而是将重点放在根据点云数据构造B样条曲面这一难度较高的部分。
本范例力求比较全面地涵盖Surfacer软件的主要功能,使读者对逆向工程曲面重建又一个相对全面的认识。
但逆向工程软件的功能很丰富,仅一个范例是不可能完全涵盖的。
要熟练地掌握逆向工程软件,需要具有良好的曲面造型背景知识和大量的实践积累。
二、Surfacer曲面造型范例
本节以如下进气道曲面模型为例,说明使用Surfacer10.6进行曲面重建的一般流程。
1.导入数据用File->NewViewpoint新建一个视图,并选择进气道测量数据文件start.asc将数据点导入,如图1所示。
2.去除杂点由于测量时产生了明显不在物体表面上的点(也称为杂点、野点,outlier),所以第一步可以通过交互选取删除这些点。
用point->ExtractPoints->Circle-SelectPoints菜单命令或者直接点击屏幕左侧工具包中的
图标。
在弹出对话框中,首先选择要操作的点云,然后在SelectionMode中,选择Pointsoutside,用Ctrl键加鼠标左键旋转,选择一个合适的视图方向,然后左击Start按钮选择包含待处理点的一个区域。
用鼠标左键在视图平面上绘制选择多边形,用中键结束选择,如图2所示。
图1进气道测量数据点
3.提取特征线用Curve->DenseFeatureExtraction->SharpEdges命令,点击ComputeCurvature按钮,计算点云曲率,然后根据曲率变化,提取尖锐区域的特征线。
将ThresholdPercent调到90,点击model按钮预览,满意后点击Apply按钮生成特征线,如图3所示。
根据点云曲率提取的特征线是对点云进行区域划分的依据。
4.获取截面线数据用Surface->Create/cloud->FitPlane命令,首先选取一条特征线拟合一个平面;然后用Point->CrossSection->Parallel命令,用平行于拟合平面的4个平面与点云数据相交,获取点云的截面线数据,各参数设定如图4所示。
注意,点击对话框左下脚的interactions按钮,会弹出交互选择工具条,它根据不同的上下文有不同的按钮,方便用户选取最正确的实体或位置。
这个工具非常有用,例如在图4中,Startpoint栏,可以利用该工具条上的“在曲面上点取”按钮,准确地选取拟合平面上一点作为起始截面的位置。
图4提取点云截面线数据
5.创建放样(loft)曲面首先对截面线数据进行光顺,用Point->Smooth->Filter命令,FilterType选Average,FilterSize取6。
然后用Curve->Create3D/clouds->FittoTolerance命令,在一定的公差范围内,拟合一组样条线,参数设置和拟合得到的曲线如图5所示。
为了生成光滑的放样曲面,必须使这组曲线的方向和起始点(startpoint)一致,可以用Curve->Modify->ReverseCurve改变一条曲线的方向,也可以用Curve->Modify3DNetwork->HarmonizeDirection调整一组曲线的方向一致。
用Display->AlignViewTo->Curve对齐视图,然后Curve->Construct3D->Line创建一条直线,点击Curve->Modify->ChangeStartPoint,用创建的直线来对齐几条曲线的起始点,如图6所示。
注意,用Ctrl+Shift+D来设置曲线显示属性,显示起始点信息。
图5带公差拟合截面曲线
图6曲线起始点调整
图7曲线重新参数化
为了保证放样面的品质,用Curve->Modify->ReparameterizeCurve对曲线进行重新参数化,使它们控制顶点数目一致,如图3-7。
点击Curve->Diagnostics->Curve->CloudDifference命令,分析曲线和截面点云距离误差,显示图8所示的误差图,保证精度。
用Surface->Create/curves->Loftcurves命令,依次选取各条曲线,设置边界位置连续和公差等参数,创建放样曲面。
必要时,使用Surface->Modify->ReverseDirection命令调整曲面的方向,使其指向模型外部,如图9。
图8曲线与截面数据距离误差分析
图9创建放样面1
用与以上类似的方法做出如图10的放样曲面。
图10创建放样条面2图11创建区域划分曲线
6.用特征线将点云划分为若干平滑的区域前面已经根据计算点云的曲率提取了尖锐边,可以根据尖锐边在点云上创建图11的曲线。
这些曲线所围区域分别对应主要曲面(basesurface)和过渡曲面(transitionsurface),它们分别对应平滑的点云数据和曲率变化快的点云数据。
曲线可以由Curve->Construct3D->Interactive3DB-Spline命令创建,也可以先用Point->CrossSection菜单下提供的几种方式提取截面数据,再拟合曲线。
区域创建的结果对最终曲面的品质有重要的影响,主要靠用户的经验,有如下注意事项:
Ø将点云上对应解析曲面(平面、球、旋转面、拉伸面)的区域尽可能分割出来,提高重构精度。
Ø尽量将单个区域划分为四边界域,这样可以用边界线、分块点云、U/V等参线等信息直接构造非裁剪曲面,方便曲面片的拼接。
Ø裁剪曲面通常是将初始划分的曲线投影到曲面,然后对曲面进行裁剪,曲面的边界与初始曲线不符合使裁剪曲面与相邻曲面的拼接困难或连续性很差。
所以裁剪曲面与其它主要曲面要预留间隙给过渡曲面,
Ø对于拟合曲面,尽量将每个区域划分为单值区域,提高拟合精度。
用曲线将点云进行划分后,就可以将每个区域用多种曲面创建和曲面拟合方法来生成曲面。
为了描述的方便,先给出重建后的曲面模型,并将每个曲面标上一个阿拉伯数字,如图12所示,数字的顺序并不代表曲面创建的顺序。
曲面12和14为前面已经介绍过的放样面,其余曲面,接下去将分别进行说明。
7.由边界曲线和点云拟合曲面1曲面1是由边界曲线和点云拟合。
如图13,首先改变封闭曲线的起始点(Curve->Modify->ChangeStartPoint),用右边曲线作为spine,使其位于两条曲线的交点;然后将其裁剪为两条曲线(Curve->Create/curves->SnipCurve)。
再将曲线所围点云单独提取出来(Point->Extractpoints->PointswithinCurves),选择这部分点云,顺序选择边界曲线,由边界曲线和点云拟合曲面1(Surface->FitCloudandCurves),如图14,因为边界曲线两两相交,所以曲面1完全通过这些曲线,检查曲面与点云的距离(Surface->Diagnostics->Surface-CloudDifference),如果不满足精度要求,就需要将这个区域进一步划分,使拟合曲面达到精度要求。
(a)视图1(b)视图2
(c)视图3(d)视图4
图12曲面片编号示意图
(a)(b)
图13曲线裁剪
(a)(b)(c)
图14curves/cloud拟合曲面与误差分析
8.构造裁剪曲面2曲面2为裁剪曲面,首先用边界曲线将这一区域的点分割出来(Point->Extractpoints->PointswithinCurves),如图15,然后用自由型曲面去拟合(Surface->Create/Cloud->FitFreeForm),如图16,请注意图中的参数设定;将边界曲线向曲面上投影(Curve->CreateonSurface->ProjectCurvetoSurface),再用这些投影曲线去裁剪曲面Surface->TrimmingOperations->Trim/Curves,得到曲面2,如图17。
9.构造放样曲面8曲面8为放样面,首先用Point->CrossSections菜单下的指令创建截面数据,进行排序和光顺,,再拟合为曲线(Curve->Create3D/Clouds->FitFreeForm),如图18所示。
调整截面曲线的方向使其一致,再将其重新参数化为30个控制顶点,最后生成放样面8,放样面4个边界连续都为位置(position)连续。
10.构造过渡曲面5、9、10曲面5、曲面9和曲面10位于曲率变化较大的地方,它主要是起着连接基本曲面(basesurface)的作用,称为过渡曲面(transitionsurface)。
因为过渡曲面曲率较大,为了准确逼近数据点,采用加边界条件的点云拟合曲面方法(Surface->Fit/CloudandCurves)。
与前面介绍的方法一样,首先将每块曲面对应的那部分数据裁剪出来,然后进行拟合,拟合时在不影响曲面自身光滑性的前提下,尽量和已知曲面保持tangent连续。
注意,只有当边界曲线选已有曲面的边界线或位于平面上的2Dcurve时,才能应用tangent和curvature连续性条件。
图19为这一部分曲面重构后的局部模型视图。
图15裁剪点云图16自由曲面拟合
图17曲面裁剪
图18创建loft的截面曲线
图19模型局部视图
11.构造裁剪曲面4如图20,首先,用将曲线包围的点云裁剪出来(Point->Extractpoints->PointswithinCurves),检查点云的平面度(Point->Cloudcharacteristics->CloudFlatness),发现点云平面度误差很小,因此用平面来拟合这部分点云(Surface->Create/Cloud->FitFreeForm)。
若平面没有完全包含封闭的边界曲线,可以将平面延伸(Surface->Extend->ByLength),如图21所示。
将边界曲线向平面投影(Curve->CreateonSurface->ProjectCurvetoSurface),再用投影曲线将平面裁剪(Surface->TrimmingOperations->Trim/Curves),得到曲面4,如图22。
12.构造UV网格线曲面6考虑到曲面6所在区域的点云沿UV等参线截面形状规则,可以考虑由UV曲线网格来构造(Surface->Create/Curves->BlendUVCurveNetwork)。
首先构造曲线网格,再创建曲面,如图23所示。
注意,曲线网格都相交时创建曲面品质更好;曲线网格必须为四边域;所有曲线需要G2连续(曲率连续)。
图20裁剪点云平面度检查图21平面延伸
图22曲面裁剪
图23UV线混合曲面
13.构造放样曲面15首先构造如图24的截面曲线,调整曲线使其方向一致,重新参数化曲线,使其控制顶点数目同为35个;保持position连续,创建放样面。
14.构造边界线混合曲面3曲面3位于曲面1和曲面2之间,起着过渡的角色,用边界线混合曲面指令来构造(Surface->Create/Curves->BoundaryCurves)。
15.由边界曲线和点云拟合曲面16、17、18曲面16、17和18都是规则的四边界域曲面,都采用加边界曲线条件的点云拟合方式,其基本步骤与曲面1一致。
值得注意的是,曲面16、17、18交界区域点云数据很光滑,要求在创建这些曲面时,后创建曲面要以已创建曲面的边界作为封闭曲面的一部分,并添加tangent边界约束,保证曲面的光滑过渡。
图25为这一部分曲面完成后的局部视图。
图24曲面15及其截面曲线图25保持C1连续拼接的曲面局部视图
16.由边界曲线和点云拟合曲面19曲面19连接曲面12、8、6、16,可以用相邻曲面的边界组成的封闭曲线以及所围的点云拟合曲面。
如图3-26所示,依次选取图中边1、2、3、4形成的封闭边界,其中边1、2、4为相邻曲面的边界,边界连续性选择tangent连续,3为两曲面的公共边,保持此处的position连续。
(a)(b)
图26曲面19拟合示意图
17.由边界曲线构造曲面7曲面7在曲面1和裁剪曲面2之间起过渡作用,在相邻的曲面1、2、3、15都已经存在的情况下,可以用插值于封闭边界曲线的曲面来过渡(Surface->Create/Curves->Blend/BoundaryCurves),保证边界插值曲面与曲面1、3、15的tangent连续条件,与曲面2的position连续条件。
18.由边界曲线和点云拟合曲面11曲面11位于曲面18、2、6、5、10之间,因为该区域曲率变化较大,只利用边界曲线信息创建的曲面不能反映其真实形状。
所以同时利用该区域点云信息和边界信息创建曲面(Surface->Fit/CloudandCurves)。
19.构造放样曲面13因为原始测量数据的局部缺失,前面部分将曲面14分开处理,最后用放样面13将曲面14与曲面1、3、15连接起来。
自此,就大体上完成了整个进气道模型曲面的重建。
在实际应用中,最初用曲线对点云数据进行区域划分的结果往往并不完善,需要不断对边界曲线进行调整(例如,裁剪曲面2、4的边界与最初划分的曲线不一致,而是曲线的在曲面上的投影线)。
另外,大体完成后的曲面模型中如果某个曲面误差检查没有通过,就需要将该区域划分为更多的小区域重新创建曲面,由此又会引起与其保持边界连续的某些曲面的调整。
通观本章可以看出,尽管Surfacer10.6为用户提供了强大的曲面造型功能和逆向建模能力,但重建满足精度和光顺度要求的高品质曲面模型还需要造型工程师丰富的经验和大量的、细致的工作!
附录A:
Surfacer常用功能按钮一览表
附录B:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Surfacer 曲面 建模 实验 指导
![提示](https://static.bdocx.com/images/bang_tan.gif)