您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Imageware12之点云对齐
多曲面体的逆向过程(全面修正版)----------------------------------------------作者:或请尊重作者的劳动,如有转载,请写明出处和作者如有不明问题可与作者联系。Emial:wenziking@sina.comQQ:46402947现在开始转入icemsurf的学习,很想同学习icemsurf的兄弟一起讨论。谢谢!--------------修正目的:修正当初学习中的错误认识,尽力去覆盖逆向工程的基本知识,并深给出当前逆向建模最佳的技术路线,并对逆向建模过程进行深化!---------------------------------------------------------------------------------------------------------------------该文档包括以下主要步骤:1:点云评估。2:点云精简,多边形网格化3:点云对齐。/////////////////////////////前三个步骤为点云处理。4:特征提取。5:多边形网格的编辑。6:曲线的创建及编辑7:曲面的创建及编辑。由上可知,imageware的逆向过程是很严格的遵循点线面的流程,这个过程恰恰是模拟了正向设计,只有通过样件点云揣测该样件原设计者的设计意图,才能够精确的进行模型重建,模型重建的过程也就是设计人员再学习的过程,在这个基础上才可以进行再创新,这就是逆向工程的真正意义。在下面的示例过程中,从头到尾SDRC公司也没有采用直接由点云拟合曲面的方式,它宁愿很严格的按照点----线-----面的思路!我会给出由点云直接拟合面的做法,形成对照。可以体会一下。另外还有一种曲面重建的方式,它的过程是点云多边形网格曲面模型。这种曲面重建通常用在艺术,动画,文物模型修复等领域,不适合工业设计,它无法体现设计者的设计意图,只能是仿造!另外采用这种方式重建的曲面通常无法在通用CAD中进行加厚等实体处理,无法对其进行后续加工。它仅适合RP(快速原型)。一:数据评估拿出一些时间来对项目进行一番规划是项目成功的关键,可以避免犯错,节省时间。在本指南的开始,应该在你的Imgaeware中打开“start.imw”文件,然后数据就会显示在你眼前。注意:来自激光测量机的点云数据应该是密集和光滑的。在本例中,为了节省时间,扫描数据已经被平滑处理和修整过了。在对该产品逆向工程之前,你应该清楚以下问题:1.这些扫描数据从哪里来?这是一个摇臂开关的点云,来自激光测量机。2.这种数据具有什么特征?数据点非常密集(点数为210,109),并且测量时样件的位置没有被摆正,导致在imageware中点云的坐标和imageware的世界坐标系不统一。3.最终产品要用来做什么?最终模型用来校验样品的精度(他要来校验最初的模型,应该是要求很高的精度)4.最终反求的模型要达到怎样的精度?最终做出的曲面必须相当精确,精度要求0.10mm(该偏差指最后的曲面模型与点云的偏差)逆向建模的整个过程不能脱离两个相互矛盾的准则,精度和光顺性。实际操作过程中,二者不可得兼,取其中庸。数据简化和点云多边形化(Datareductionandpolygonization)处理海量数据时,典型的处理方式是采用定义点距大小的方式简化数据,降低计算量,便于多边形网格化等操作。简化要以保形为原则。二:Datareduction数据简化简化数据比较通俗的做法就是使用SpaceSampling(空间取样)命令。这个命令会在指定的邻域空间中简化点云,也能去处重叠点。注意:确认示例文件“start.imw”是否被打开。简化数据:1.空间采样(SpaceSampling):从Modify工具条找到Restructure,选择SpaceSampling。或菜单Modify|DataReduction||SpaceSampling。或在点云上击鼠标右键选择2.选择要处理的点云3.设定distancetolerance为0.15mm.提示:distancetolerance的确定方法:将点云放大至能分清点距,由点距探测和欲去掉几成的点来确定distancetolerance值。如果欲将点云点数去半。可依下面步骤进行:(1)菜单MesureDistanceBetweenpoints(2)任取一点,探测与该点最近点的点距,如图所示,最近点点距为0.0781,然后取该点距的2倍为distancetolerance值,即为0.15mm。处理之后,点云被均匀精简了75%(原来是210109个点,现在是51616),但它依然具有足够的数据信息提给下面的各步处理。也可以直接指定欲保留的点数来对点云进行采样(前提是必须知道点云的点数)。如下图:4.保存一下文件,以original_reduced.imw.为文件名。三:Scanpolygonization多边形化处理为了更清楚的表达点云的形状或者为了快速原型(RP),要对点云进行多边形网格化处理。注意:确认original_reduced.imw被打开扫描数据的多边形化处理1.从Construct工具条中找到CreatePolygonMesh,选择PolygonizeCloud,或从菜单选择Construct|Polygonmesh|PolygonizeCloud。或击鼠标右键选2.设定theMax.Similardistance为0,设定neighborhoodsize(邻域尺寸)为0.5mm,而后点击Apply。(这两个参数的设定同前面samplecloud时设定的参数是有联系的,参数theMax.Similardistance为底限,如果在这个范围内有多个点,那么只保留一个作为三角网格的顶点,因为前面我们对点云进行空间抽样时的抽样距离为0.15,所以这个值设为0.15也可以。参数neighborhoodsize是顶限,算法中与当前点的距离超出这个范围的点不列入当前点的计算范围)三角网格化示意图如下:提示:邻域尺寸值通常近似取spacesampling中设定的距离公差值的3倍(也有文档说是4倍,我觉得3倍最好),这样可以得到均匀的高质量的网格。完成之后,在菜单中找渲染指令Display|Point|Gouraud-Shaded,效果如下图所示:四:Alignmentdatacreation数据对齐这一节讲述了通过简单的数据对齐把点云的位置调整好。之所以要对齐点云,是因为输入计算机的初始的点云坐标系是三坐标测量机的赋予它的局部坐标系,这个局部坐标系与Imageware系统坐标系通常不一致,这就导致了点云缺乏合适位置信息,处理起来十分不便。所以要进行点云对齐,可以更容易地进行建模操作。(你可以摁一下F1键,将点云摆在TOP视图位置上,发现点云的位置不正了吧!)对齐的概念:概念1:在建模操作之前,需要把点云的位置调整好,这就是对齐之概念一。概念2:已有设计模型,基于该设计模型制造出来的样件需要检测其精度时,可使用三坐标测量机获取样件点云,将点云导入imageware中,然后需要将点云与原设计模型进行对齐,最终可使用IMAGEWARE提供的检测工具求出样件的CAD模型与样件的点云之间的偏差,对齐方法是321对齐。这就是对齐之概念二。关于321对齐,请参另一份文档。这里所谓的对齐调整就是把局部坐标系和世界坐标系的方位统一起来。之所以要把点云的坐标系与世界坐标系进行对齐是为了下一步更便于拟订截面线的位置或其他的建模操作。点云对齐的基本操作:先在点云上找出可供定位的线和面特征,通过各种方式来制作对齐特征(直线,圆,球面,平面等),然后在世界坐标系中做出这些线和面的相似形,最后使用Imageware中的stepwise对齐工具,进行对齐。对齐是逆向建模的基本操作。下文使用了漫长的篇幅来讲概念1中提到的对齐,对于该例点云是没有必要这么麻烦的。Imageware11中一个自动对齐指令(菜单:Modify—Align---AutoAlignClouds)就可以解决这个问题。但下文内容并非无用,对于复杂点云在IMAGEWARE中对齐只能使用下文阐述的方法。另外321对齐的机理也是如此。使用自动对齐(AutoAlignClouds)效果如下:对齐是基于特征的对齐!创建对齐参考特征(在WCS坐标系中)在创建参考特征之前,对点云的轮廓进行分析是必需的。如下图所示,我们可以构思出图示特征。在创建参考特征前,首先要在视图中将打开WCS坐标系(因为默认状态是不显示的)菜单Edit-----LayerManager。下图展示层管理器的界面。建立直线:1.在Create工具条中找到Lines选择Line,或选择Create|curveprimitive|Line.2.设定startpoint为X=0,Y=0,Z=0,设定endpoint为X=0,Y=100,Z=0.3.点击Apply.建立圆:1.在Create工具条中找到Arc/Circle,选择Circle,或者选择Create|CirclePrimitive|Circle.2.设定center为0,0,0,设定direction为Z.即在XY面上作一个圆3.随便输入一个半径值,比如20mm4.点击Apply.建立一个平面:1.从Create工具条中找到Plane,选择PlanarSurface,或选择Create|SurfacePrimitive|Plane.2.在CreatplaneOptions栏指定ByCenterPoint,设定Centerofplane为(0,0,0)3.在planeNormal栏选择Z方向作为平面法线4.输入U向和V向的宽度(Extent),这个值不作要求,我们使用20。5.点击Apply.6.使用TOP视图(默认摁F1键)观察,如下图所示:到此为止,对齐的参考特征建立完毕,参考特征的建立只求形似就可以了。如果有读者至此还不太清楚为什么要搞这些东东,请继续向下看吧。既然做了,肯定是要用到的,所以不要着急!建立相应的对齐特征下一步,我们必须要在模型中建立相应的对齐特征,然后将所建特征与点云绑定,对齐点云只需要将点云中对齐特征与世界坐标系中的参考特征对齐即可。这种对齐的原理很简单,懂得一些计算机图形学的朋友应该知道图形变换通常是通过变换矩阵来实现的,变换矩阵即旋转矩阵和平移矩阵!我们所做的无论哪种点云的对齐,都是由软件通过数据的源位置和目的位置的信息计算出变换矩阵来实现对齐的。感兴趣的朋友可以翻翻滥滥的计算机图形学的书吧,多学点东西是好事情。在下面的步骤中,我们要拟合两个圆和一条直线组成对齐特征,现在可以再回头看一看前面咱们所做的工作,想一想为什么要这么搞,现在应该心里有数了。。。对齐视图:(Toalignview)因为下面要使用截面工具来截点云,以获取截面线点云,然后才可以拟合曲线得到对齐特征。在使用截面工具之前,很有必要将显示点云的视图摆成合适的方位。这就叫对齐视图。1.在菜单中选择View|AlignViewTo|Cloud.2.选择要对齐的点云,击Apply.3.在视图空区右击鼠标,选择旋转菜单,然后拖动又侧滚动条将点云从当前位置翻转90度。(如果看不到右侧滚动条,那么点击右上角的小标,把滚动条显示出来,可以拖动工具条来转精确的90度。)还有其他旋转视图方式,如下图:创建截面:.一个截面必须水平地切过网格化之后的点云,稍微切过主侧面之下。一旦截面创建完毕,必须进行修整,把截面分成直线部分和圆。1.从Construct工具条中找到CreateCrossSection,选择InteractiveCrossSection,或在菜单中寻找Construct|Crosssection|CloudInteractive2.设定采样间隔samplingdistanceto为0.25mm.3.使用鼠标左键建立一条穿过点云的水平直线,记住在画线时要摁着Ctrl键。(在画水平线和垂直线的时候都要摁着Ctrl)4.APPLY。如下图所示:5.把多边形网格点云隐藏,并对齐截面
本文标题:Imageware12之点云对齐
链接地址:https://www.777doc.com/doc-5157276 .html