1、Imageware 入门教程(声明:本资料来源于网络,版权归原作者所有,如有侵权本人将尽快删除)一:数据评估 在本指南的开始,应该在你的 Imgaeware 中打开“stare.imw”文件 注意:来自光学扫描系统的扫描数据受外围环境,材料的类型,物体的颜色的约束, 应该趋向于密集和光滑。在本例中,为了节省时间,扫描数据已经被光滑处理和修整了。 为了确定你的工程目标,你应该弄清楚以下问题: 1. 这些扫描数据从哪里来? 这是一个摇臂开关(这个该是点云的名字) ,由光学扫描系统得到数据。 2. 这种数据具有什么特征? 这种数据是非常密集的点云,位置错乱,这意味着它不具备基准或者对齐的信息。 (此
2、处我理解为在扫描数据的过程中,由于人工的原因,比如测量机晃动,以至于点的位置错乱,所以在这个逆向过程中应该进行数据对齐的操作。 3. 我的最终产品要用来做什么? 最终模型用来校验原型产品(这个和逆向工程想要达到的目的有关,他要来校验最初的模型,应该是要求很高的精度了) 4. 最终反求的模型要达到怎样的精度? 最终做出的曲面必须相当精确,偏差在 0.10mm 之内(虽然我是学机械设计的,但我的几何量测量太糟糕了,这里的偏差是不是指面的光滑度?) Data reduction and polygonization 数据缩减和多边形化 处理海量数据时,典型的处理方式是采用定义点距大小的方式缩减一部分
3、数据,使点云看上去更清楚,也便于多边形网格化数据或做其他处理。 (化繁为简,许多东西多了并不一定好哎) 二:Data reduction 数据缩减 缩减数据比较通俗的做法就是使用 Space Sampling(间隔取样)命令。这个命令会在指定的间隔中简化点云,也能去处重叠点。 注意:确认示例文件“start.imw”是否被打开(老外的说法真罗嗦!) 缩减数据: 1. 从 Modify 工具条找到 Restructure,选择 Space Sampling 。 或菜单 Modify|Data Reduction|Space Sampling。或在点云上击鼠标右键选择 2. 选择要处理的点云 3.
4、 设定 distance tolerancet 为 0.15mm. (这种做法就好象做一个 0.15*0.15 方格的筛子或者滤网,每个网格里边只保留一个点) ,处理结果如下图所示。 处理之后,点云虽然被缩减了 75%(原来是 210109 个点,现在是 51616) ,但它依然具有足够的数据信息提给下面的各步处理。 4. 保存一下文件,以 “original_reduced.imw.“为文件名。 三:Scan polygonization 多边形化处理 为了更清楚的表达点云的形状,我们要进行点云的多边形网格化处理(CAGD 中叫织网,点云的曲面重建技术分三个主要步骤,采样,织网,蒙面。逆向工
5、程的最高境界就是能自动进行重建,而不是像目前这样为了取得高精度面付出很多的人工参与。据说 Hopper 博士,好象是这么一个人,他的研究已经可以实现曲面重建,最终重建的曲面可以是 NURBS 定义的,这是不是意味着逆向工程要进行革命?这种革命的出现会让许多人付出失业的代价!) 后来我又想到,之所以要进行多边形网格化,很大一部分原因为了曲率分析!因为曲率分析是要借助于每个单元格构成的小平面的曲率来进行近似统计!单纯对于点云中的点来说,曲率是没有意义的! 注意:确认 “original_reduced.imw“ 被打开 扫描数据的多边形化处理 1. 从 Construct 工具条中找到 Creat
6、e Polygon Mesh ,选择 Polygonize Cloud ,或从菜单选择 Construct|Polygon mesh|Polygonize Cloud。或击鼠标右键选 2. 设定 the Max. Similar distance to 为 0 ,设定 neighborhood size(邻域尺寸) 为 0.5mm ,而后点击 Apply 提示:邻域尺寸值通常近似取 space sampling 中设定的距离公差值的 3 倍,这样可以得到均匀的高质量的网格。完成之后,在菜单中选择 Display|Point|Gouraud-Shaded,就看到如下图所示。 3. 按文件名为 “
7、original_reduced_polygonized.imw.“存盘 四:Alignment data creation 数据对齐 这一节讲述了通过简单的数据对齐把点云的位置调整好。之所以要对齐点云,是因为输入计算机的初始的点云坐标系是三坐标测量机的赋予它的局部坐标系,这个局部坐标系与Imageware 系统坐标系通常不一致,这就导致了点云缺乏合适位置信息,处理起来十分不便。所以要进行点云对齐,可以更容易地进行建模操作。-(一开始翻译的不够好,在把这个例子完整地做完之后才订正的,许多东西是动手之后才能明白!) 在建模操作之前,需要把点云的位置调整好,这就是对齐。 (这一处内容一开始我读的不
8、是很明白,后来按照指南中的步骤一步一步做下来,才领悟到为什么要这么做了。我在一本讲 OpenGL 编程的书中了解了世界坐标系和局部坐标系的概念。这里所谓的对齐调整就是把局部坐标系和世界坐标系的方位统一起来。什么叫世界坐标系和局部坐标系?说来话长,在 OpenGL 的图形学原理中这是基本概念,本人是半路出家学习反求工程,对图形学的概念了解的不是很多,我相信有许多人也和我一样不理解某些专业的概念,只好罗嗦一下。图形在计算机内是以数值的形式进行存储和处理的。众所周知,坐标建立了图形和数据之间的关系。为了使所显示的图形数量化,就要在被显示的图形所在的空间中定义一个坐标系,坐标系的长度单位和坐标轴的方向
9、要适合所显示的图形对象,这就是世界坐标系。所谓的局部坐标系就是以物体的中心为原点,物体的旋转和平移操作均是围绕局部坐标系进行的之所以要统一局部坐标系和世界坐标系,是因为物体执行了缩放操作,局部坐标系也要进行相应的缩放操作,如果缩放的比例在个坐标轴上不同,经过旋转操作后,局部坐标系的各坐标轴有可能不再相互垂直。之所以要把点云的坐标系与世界坐标系进行对齐是为了下一步更精确定义截面线的位置或其他的建模操作。因为 Imageware 对视图的旋转和缩放等操作是基于世界坐标系的。 。不知我这样理解对不对, , ,请前辈指正! 点云对齐的基本操作:先在点云上找出可以定位的线和面,通过做截面,取得截面线,调
10、整截面线,这些截面和截面线就是点云的对齐特征。然后在世界坐标系中做出这些线和面的相似形,最后使用 Imageware 中的对齐工具,进行对齐。对齐是逆向工程的基本操作。下文的过程和我说的恰好相反,我觉得他的做法欠自然!不经过对点云的特征分析,怎么可能先在世界坐标系中建立点云特征相似形呢? 创建基准 Creating reference geometry(所谓基准,就是点云对齐的依据) 为了正确地调整数据,我们有必要建立一些几何图形作为参照物参与调整过程。在你的模型原点(0,0,0)和 Z 方向上创建一些直线,圆,平面等辅助图形,如下面过程所示。 注意: Make sure that the f
11、ile “original_reduced_polygonized.imw“ is open. 建立直线: 1. 在 Create 工具条中找到 Lines 选择 Line ,或选择 Create|3D Curve|Line. 2. 设定 start point 为 X = 0, Y = 0, Z = 0 ,设定 end point 为 X= 0, Y = 100 , Z = 0. 3. 点击 Apply. 建立圆: 1. 在 Create 工具条中找到 Arc/Circle,选择 Circle ,或者选择 Create|Circle Primitive|Circle. 2. 设定 cente
12、r 为 0,0,0 ,设定 direction 为 Z. 即在 XY 面上作一个圆 3. 随便输入一个半径值,比如 20mm(我的 IMAGEWARE 在这个地方出现 BUG 了,我输入 2 之后,不管输什么都显示 2。好多次都这样,比如我输入 12345,显示就是 22222) 4. 点击 Apply. 建立一个平面: 1. 从 Create 工具条中找到 Plane,选择 Planar Surface ,或选择 Create|Surface Primitive|Plane. 2. 在 Creat plane Options 栏指定 By Center Point,设定 Center of
13、plane 为(0,0,0) 3. 在 plane Normal 栏选择 Z 方向作为平面法线 4. 输入 U 向和 V 向的宽度(Extent) ,这个值不作要求,我们使用 20 5. 点击 Apply. 6. 使用 TOP 视图(默认摁 F1 键)观察,如下图所示(下图有网格,你可以在 VIEW 菜单中选择 Show Grid) 到此为止,辅助的参考几何元素建立完毕,至于为什么要这么干,请继续向下看。 既然做了,肯定是要用到的,所以不要着急! 建立相应的对齐特征(Creating corresponding alignment entities) 下一步,我们必须要在模型中建立相应的实体,
14、这些实体就是点云的特征,对齐点云的位置只需要对齐这些实体的位置即可,可以将这些实体与上一步建立的参考几何图形对齐,完成点云对齐的工作。这一步,我们要构造截面线来决定哪些点被用来作为参考点,我们要拟合两个圆和一条直线组成参考实体。 注意:在 Imageware 中,实体包括点,线,面。 对齐视图:(To align view) 为了创建对齐实体,视图必须首先与基于最合适的平面上的点云对齐,这样就可以很容易地抽取点云的截面线。 1. 在菜单中选择 View|Align View To|Cloud. 2. 选择要对齐的点云,击 Apply. 3. 在视图中击右键,选择旋转,你看到如下图所示。 (这儿
15、是旋转 90 度,我不明白该怎样旋转地这么正好?我只是大体地旋转到这个位置) 创建截面线: .一个截面线必须水平地切过网格化之后的点云,稍微切过主侧面之下。一旦截面线创建完毕,必须进行修整,把截面线分成直线部分和圆。 1. 从 Construct 工具条中找到 Create Cross Section,选择 Interactive Cross Section ,或在菜单中寻找 Construct|Cross section|Cloud Interactive 2. 设定采样间隔 sampling distance to 为 0.25mm. 3. 使用鼠标左键建立一条穿过点云的水平直线,记住在画
16、线时要摁着 Ctrl 键。 (在画水平线和垂直线的时候都要摁着 Ctrl) 4. APPLY 5. 把多边形网格点云隐藏,并对齐截面线的视口 6. 从 Modify 工具条找到 Trim,选择 Circle Select Points ,或在截面线处右击鼠标选择。 7. 设定选择模式 selection mode to 为 Both Clouds.(晕倒,这好象是 10 版的做法) 8. 使用鼠标画弯曲部分,然后 APPLY。 9. 重复画另外弯曲的部分,如下图所示。 创建对应的几何图形: 1. 菜单中 Construct|Curve from Cloud|Fit Circle. 2. 选择点
17、云 (Original Scan InteractPolySectCld in2) 拟合圆。 然后 Apply. 3. 再对另一端的点云拟合成圆。 4. 菜单中找到 Create|3D Curve| Line.(这也是第 10 版的 做 法,第 11 版的在Create|Curve Primitive|Line 5. 设定起始点为一圆的圆心,终点为另一圆的圆心,关于圆心的选择,请参考工具条处跳出的点捕捉功能。 6. Apply. 直线如下图浅兰色所示。 7. 删除由截面线生成的数据,即截面线的点云,只留下两圆和一直线。 Group the entities 组合实体(依然是为了数据对齐) 在
18、Imageware 中,一组数据需要使用对齐工具进行对齐。这组数据必须包含所有你期望对齐的几何要素,也包括为了对齐而创建的参考图形,在本例中,就是那俩圆和一直线,我们要把它们和点云进行对齐。 .注意:一旦物体被组合了,这组实体就呈现出一种不同的颜色以示区别。 组合实体: 1. 选择 Organize|Create Group. (这是老版本的做法,在第 11 版中从 Edit 菜单中 选择Creat Group) 2. 选择那两个圆,直线,和点云。 3. Apply. 4. 保存为文件 “ready_for_alignment.imw.“ 5. 如下图所示 Top Align the data
19、 to a world location 把点云的坐标与世界坐标系对齐 .一旦对齐特征被创建了,你就准备把点云与全局坐标系进行对齐了,我们将使用逐步对齐命令(Stepwise Alignment ), 该命令允许我们堆叠对齐的配对数据和观察对齐的结果。 注意:确定“ready_for_alignment.imw“ 被打开。 对齐数据:(要把所有的数据都显示出来,不然 Stepwise Alignment 是灰色的不可点,为什么会这样,自己想!) 1. 从 Modify 工具条中找到 Alignment,选择 Stepwise Alignment , 或在菜单中选择Modify|Align|St
20、epwise. 2. 指定使用点作为匹配操作类型 3. 选择颇象大拇指摁下去的那个部位的圆(FitCircle )作为源元素(source element). TMD,这儿的翻译颇让俺闷了好大一会,老外也真晕人!太*形象了! 4. 从目的元素列表中选择 circle 5. 摁下 Add,创建第一对对齐配对。 .你可以看到点云组从原位置移到了新位置。嘿嘿,你知道它们移哪去了吗?回想一下一开始咱不是画了一条线,一个圆和一个平面吗?就是在点云的多边形网格化之后,在数据对齐的一开始那儿做的。现在点云组中的那个 FitCirle 的圆心被移到了那个辅助圆的圆心了!自己仔细看一看。 。 。 。现在就该明白
21、了为什么一开始要从(0,0,0)点画一条直线,画一个圆(法线为 Z 轴)和一个平面了吧。 。 。 。 。 6. 把视图放大,如下所示: 7. 然后指定使用 Plane 作为第二个匹配类型 8. 选择另外一个圆作为源元素 9. 选择 plane 作为目的元素 10. 摁 Add 创建第二对匹配,你可以看到原来圆所在的平面和你在数据对齐一开始创建的那个 plane 重合起来。 。 。 。 11. 指定使用 line 作为最后的匹配类型。这样就可以把点云的位置摆正 12. 选择扫描线作为源元素,指定直线(Line)作为目的元素 13. 摁 Add 完成第三次配对。你应该可以看到扫描数据可以围绕它自己
22、进行转动,并把它自身与 Y+方向对齐了(两直线重合) 。 14. 在所有可能的匹配都被输入之后,不再有其他自由度了,那么你现在唯一要干的就是APPLY! 然后 Stepwise 对话框会报告对齐处理的精确度,达到的公差是多少。 修改对齐 Modifying the alignment。 解散点云组,删掉所有被用来辅助对齐操作的参照几何形。由于所选位置的原因,点云侧面部分仍然在 Z 轴的下面。为了纠正这种现象,我们将要再一次使用对齐操作,在 Z 方向上移动这部分 注意:你可能会问为什么不是把全部数据都移动。很简单:你需要回退时,你已经动手移动了你的数据,如果你忘记了记下你移动了哪些数据,那么你就
23、可能碰到麻烦。自由建模过程可以保持跟踪所有的对齐操作,并把它们保存在文件中。这些信息会一直保留在文件中,除非你明确地要把它们删除了。 (这儿我读得不是很明白,我觉得它的大体意思就是说为什么要删除那些辅助几何形) 原指南中没有说如何解散点云组。在 Edit 菜单中找到 Ungroup,然后选择你要解散的组即可。解散完毕之后,要把那些在前面参与对齐工作的辅助图形都删掉。删除的方法是在你要删除的图形处右键,然后找到 Cut Entity. .一旦对齐操作完成了,你可以得到所有对齐操作的信息。在菜单中选择Evaluate|Information|Alignment 去看一看你把数据怎么样移动,移到哪去
24、了的历史记录。更有意义的是,如果你需要重新装入初始数据到你已经清除它们的地方去,此时你可以使用Modify|Align|Reapply 的命令。这个操作允许你重新对齐数据。 To establish the distance to move the data:确定移动数据的距离: 1. 在 Main 工具条中找到 File Management ,然后选择 Object Information 2. 选择要重新找回原信息的点云组。 你可以看到最小的 Z 值(也就是点云的侧面部分的最小值)的值是 xx.xxxx 移动数据(To move the data:) 1. 在菜单中选择 Construc
25、t|Points.(这也是老版本中的做法,在 11 版中选择的路径是Create|Points) 2. 设定要建立的点坐标为(0,0,0) ,(此处输入点坐标时,是在工具条栏中找到 ,前面在创建直线,圆什么的凡是坐标输入的功能几乎都在那儿找),然后 APPLY 3. 设定第二个点的坐标为(0,0,xx.xxxx),这里的 xx.xxxx 即刚才我们在查看点云信息的时候看到的那个 Z 坐标最小值。然后 Apply 4. 在 Edit 菜单中找到 Create Group,把上面设定的第一个点(Cld)与点云成组。 5. Apply注意建立的点坐标与点云的颜色不同以示区别。如下左图所示(它说的这个
26、,我倒没看见,只要确定点已经建立就可以了。我的 Imageware 在这个地方又死了一次) Two clouds to be aligned Part once the Stepwise alignment was completed 6. 从 Modify 工具条中找到 Alignment,选择 Stepwise Alignment , 或在菜单中选择Modify|Align|Stepwise. 7. 指定使用点作为匹配类型 8. 选择点云组中的点作为源元素,选择另一个点(Cld2)作为目的元素,即对齐点。 9. 先 Add ,然后 Apply. 然后观察一下你的点云被移到哪儿了。 。 。是
27、不是把那两个点重合对齐之后,点云此刻的 Z 坐标大于等于 0 了?尽信书不如无书,我按他的指南做,结果恰恰背道而迟了, (建议在前面第 2 步中选择另一点,不要按他说的那样。 )对不起,事实证明我在这一步做错了, ,就应该按原文档中所说的那样操作! 10. 在菜单中选择 Modify|Orient|Reset Home 或在工具条中 Modify|Orient|Reset Object Axis 重置坐标,把世界坐标系定到新位置。 。 。 。 这将会防止你意外的把数据返回到原来的位置,不让上面的辛苦浪费了。 。 。 。 别忘了把方才构造的两个点删除! 11. 以文件名 “aligned.imw
28、.“保存文件。 数据对齐的经验 ? 要记住你为对齐操作而建立的所有辅助形的名字,有时要被用到,比如在删除时,或决定要显示哪个,不显示哪个时。还有在做 StepWise 操作时选择匹配类型时也需要用到辅助形的名字。 ? 及时清除不再需要的对齐操作辅助图形,尽量保证数据的可管理性。只要你觉得你的对齐操作已经完成了,那么就可以把你自己创建的辅助图形删除,要保证你的数据一直很干净,这个和手工绘图的道理是一样的。 。 。辅助线太多会干扰作图。 ? 在对齐完成之后,要重置一次坐标系,防止以外地回退到原坐标系中,那样就不好再重新对齐了。也就是说要保证坐标系的唯一性。 至此,对齐操作完全结束,点云已经具有比较
29、合适的坐标系位置了,下一步就是构造截面! 数据显示,抽取特征(Visualize the data and extract features) 在处理点云的过程中,有时想看到很微小的特征很困难,有些特征很可能被遗漏了。在使用点云离散化显示或者单一平面投影模式(flat shaded mode)时,特征遗漏最为常见,在gouraud shaded(一个图形学的专业人士告诉我 Gouraud 是一个人名)模式下效果会好一些,但微小特征遗漏的现象也时有发生。为了解决这个问题,我们引入了一些功能操作,可以帮助你更好的观察点云,更方便抽取你需要的特征。额外的好处就是给你一个立体的(三维的)操作环境,你就
30、不会遗漏掉那些你需要处理的重要的,微小的特征了。 (gouraud shaded 应该是多平面投影模式,个人理解,也许不对。 ) 这些功能最好不要用来处理非多边形网格化的点云,强烈推荐在使用这些功能前,你要保证你的点云已经被网格化了。这些功能可以帮助你审度点云的质量。如果点云呈现很亮的橘色,那么这些工具产生的精确度就会降低一些;如果点云呈现锯齿状,那么这些工具的的精确度就会更加的低了。在这种情况下,我们就必须再多用一些时间来整理一下数据,如果允许就对数据重新进行调整操作。 (这段叙述应该讲:用一组有关数据显示的工具来检验点云的质量,如过质量不好,那么就该重新调整前面进行的处理所用的公差值什么的
31、。 。 。 ) 评估点云(Evaluating the scan data) 为了评估点云,我们要使用点云反射率(Cloud Reflectance)工具。这个操作可以显示在点光源中点云的颜色。反射率(反射比)就是点的法向量和这个点指向光源的向量之间的夹角(据一个搞图象研究的网友说反射率是指入射光线和法线的夹角的余弦) 。换句话说,这样你就可以更好感受到这些投影到点云上的颜色区域表示了什么。连续或者柔和过渡的区域将会以相近的颜色进行着色渲染! 附:在 OpenGL 的图形学原理中,顶点的法向量就是垂直于该点的切平面的向量,我猜想Imageware 的这个算法就是评估各点的法向量与这个点指向光源
32、的向量之间的夹角,如果一些点的这个角度值在一个邻近的范围内,那么就给这些点染上相近的颜色 .注意:确定你的“aligned.imw“被打开了 评估点云(To evaluate the data ): 1. Select F1 to see a top view of your model and ungroup the entities. 选择 F1,观察你的模型的顶视图(TOP) ,并解除你以前所做的 Create Group 操作。 如果你前面所做的都正确,那么现在你摁下 F1 你就可以看到如下图所示的窗口: 2. 从工具条栏中找到 Main,再找到 Basic Display,然后选择
33、Fill Screen ,或者在视图的空区域中右击鼠标,找到 3. 提示 : 要确定你的点云是在 gouraud shaded 模式下显示的,这种模式在菜单中的路径为Display|Point|Gouraud-Shaded 3. 在工具条中寻找路径 Modify Direction ,选择 Harmonize Polygon Normals ,在菜单中路径是 Modify|Direction|Harmonize Polygon Normals ,此功能用来调和多边形网格点云的法线方向的。 我的个人理解由于点云由海量个多边形组成,每个小多边形都可以看作一个小平面,每个小平面都有一个方向,此功能就
34、是把邻近的小平面进行整理一下,使它们形成一个比较连续的区域,这样可以更好的分析反射率 4. 在菜单路径中寻找 Evaluate|Surface Flow|Cloud Reflectance 操作功能 5. Select a point approximately in the center of the scan data for the initial light location.在点云的中心部位近似地取一点作为着光点。 (就是找一个点,让光源朝这个点照过来) 6. 把“ 动态更新( Dynamic Update) ”选项打开,这样就可以在视图中看到你所做的设定产生的结果了。 7. 在(偏
35、转方向)offset direction 指定 Along Direction,就是指定一个固定的方向来进行投光,下面的那一步就是指定 Z 方向为光的照射方向,这样你可以随旋转你的模型,而光源的位置和照射方向会随着世界坐标系的旋转而旋转。 (这样可以固定物体表面的颜色域) 8. 设定 direction 为 Z.方向(详细解释请看第 7 步) 9. Set the light to offset 20mm in the positive direction of the model.设定光在模型的正方向上偏离 20mm, (我的理解就是让光源在 Z 的负方向上远离 20mm,我观察到在拖动 o
36、ffset 的滑动条时,有一条线沿着 Z 伸长缩短,我是由这个判断光源的所在的,大家试试看) 这个偏移距离的操作是为了控制光源所在的位置,它允许我们移动光源在模型的上面或下面放置,不能放在点云上!(这里用了上和下两个方向,因为咱们使用的是顶视图(TOP),所以要讲上下, , ,我的方向感不太强,所以对于方向的细节问题比较重视。 。嘿嘿。 。 。 。 。 。 ) 10. 设定条纹(zebra band)的数量为 5 这个操作允许你定义颜色图的重复次数,可以更详细地表达点云。 。 。 (原理上也无非就是递进地多照几次,颜色进行叠加) 11. 把视图旋转一下,看看是不是点云表达地清楚了。. 提示:如
37、果你愿意随着旋转操作变换色图,那么你可以在对话框里 offset direction 栏中选择 Along View Vector。这允许你随着旋转更新光源的位置(其实就是你旋转的时候,光源也跟着围绕世界坐标系旋转了) ,然后你 Apply,色图就被冻结了在停留的那个位置了。 。如下图所示。 。 。 。 12. 在菜单路径中寻找 Display|Point|Remove Cloud Colors 操作,移除点云上的颜色表,因为下面还有一种评估点云的操作,那就是传说中的点云曲率分析,呵呵。 。 。 。 。 。 。 View of scan data using the Reflectance c
38、ommand View of evaluation data once rotated 其他的评估操作(Another evaluation option) . 另一种观察点云形状特征的操作是点云(Cloud Curvature)曲率操作。这个操作能显示出高曲率和低曲率区域在哪个位置,这样就很容易分辨出高低曲率的区域,给特征抽取提供了充分的信息!(我使用过几次浙江大学开发的一个反求工程软件,它的界面很糟糕就不用说了,此处 Imageware 所具有的这一功能它就没有了。我很伤心中国没有自己特色三维 CAD/CAM 软件,也伤心没有一个像样的反求软件) 评估点云曲率(To evaluate th
39、e cloud curvature) 1. 从菜单路径中选择 Evaluate|Curvature|Cloud Curvature,或在工具栏中找到 Evaluate,然后选取 ,选择 2. 设定邻域尺寸( neighborhood distance)为 0.5mm. 3. 确认“Curvature Based”coloring着色功能被打开。 我的第 11 版无此选项,老版本是不是有这个选项? 4. Apply 之后,如下图所示:(呵呵, ,是不是比较简单, , ,我一直在思考它们是怎样开发出来的,就这么简单的一个功能,为什么就没有中国制造?) 特征提取(Extracting feature
40、s) 上面我们试过了两种评估方式,最后都生成了一张色图来显示点云。我们可以基于这些由点云评估产生的颜色信息来提取特征。 特征提取(To extract features): 1. 在菜单路径中找到 Construct|Feature Line|Color Based.(纳闷,为什么工具条中找不到) 2. 在需要构造边线的区域选择种子点 3. 确认动态更新 (Dynamic Update)被选择了 4. 指定使用十字花标记模式(又是十字花,俺好讨厌,UG 中显示点也这样的,Imageware中的点还能改样式,UG 中干脆连改都不能改!) ,使用这种标记功能可以让你很容易地看见哪部分被选择接受提取
41、特征了。 5. 把 percentage growth 滑动条拖到 95%。这样你就可以在基于颜色信息包含更多一些的点了。百分比越高,数据就越多地被包围进来。你拖动滑动条时,可以观看到所选区域的变动。在本例中,选择的区域呈紫色显示。 6. Apply.。然后这些点就被提取到一个与原点云分离的新点云中了,目的是为了使用提取出来的新点云来构造一个比较合适的边线框。 (fillet 我翻译为边线框,应该翻译为圆角的,但在这儿,我总觉得该叫边线框。 。 。 。 ) 7. 在菜单路径中找到 Display|Point|Remove Cloud Colors. 隐藏所有的点云,然后移走颜色层,结果如下右图
42、所示。 Color based extraction Only the extracted data is visible ?- (这个是我做的) 组织数据(Organizing the data )- 为了更好的管理数据。 为了保持数据被组织起来(以便于管理和使用) ,我们推荐使用层作为管理机构。为了下面的工作中数据更便于使用,它允许你把数据迁移到不同的层中。 (我感觉在这一功能上,Imageware 比 UG 做的要好,它可以动态更新,也就是在层管理器中,你可以规定哪个层被显示,哪些实体被显示,视图区会对你做的选择发生响应,这样更便于数据的显示与否的调整,UG 中做的有些死,非动态。把层管
43、理器用好了,可以减少许多不必要的麻烦。缺憾就是层管理器的对话框做的太窄,每次我都要用鼠标把它拖宽。 ) 组织数据(To organize data): 1. 从工具条 Main 中找到 Create Layer(输入“Feature Data”作为新层的层名,然后确认该层被激活(选择“Activate New Layer“) 在第 11 版中层的操作都被集中到对话框中了,直接在对话框的条目中编辑各项数据,以下各步操作皆为老版本做法。在这段的下面,我把新版本的做法也贴出来。 2. 从 Main 工具条中选择 Layers,找到 Transfer Objects(迁移对象)功能 3. 把特征数据(
44、ColorCld 2)转移到新建的层中。 4. Apply 5. 再把活动层设回“Scan” 6. Select Layer Settings from the Main Layers toolbar to hide the layer “Feature Data.“从 Main工具条找到 Layers,选择 Layer Settings(层设置) ,把层“Feature Data.“隐藏。然后再把该层设定为不可操作(non-pickable)的,这样可以保证该层数据的安全性,不至于在下面的过程中遭到破坏。待到使用时,再把它们提出来。 7. 以文件名 “Section3.imw“存盘 第 11
45、 版中关于层的管理工具的使用,如下: 1. 菜单路径 Edit|Layer Manager,或在 Main 工具条中找到 ,选择层管理器,可以调出下面这样的一个对话框。 2. 在下图所示位置右键鼠标,选择 New layer,如下图(不好意思!把金山词霸的翻译框也抓了下来) ,就创建了一个新层,默认名是 L2 为了更好的管理数据,我们需要为新层起一个自己比较喜欢,便于记忆的名字。可以在新建的层 L2 的层名上右键鼠标,选择 Rename,然后键入“ feature Data”,在上图中,我已经把名字改完了。然后在 Active 栏中把 feature Data 激活为当前工作层。 3scan
46、层中的(ColorCld 2)的特征数据转移到 feature Data 层中最简洁的做法是:把 scan层打开之后,在右面的框中左键鼠标选取“ColorCld 2”,直接拖到左面框中层 feature Data上,转移就完成了。 (第 11 版中,层的管理有了很好的改进,使操作更直观,简便了。许多时候,从一些小的地方能够看到软件开发者是比较体贴用户的习惯的,工程学中管这个叫人机界面的吧。 。 。可是从这一点上就暴露出国产软件的许多不足来,不仅仅是软件,许多东西没有考虑用户使用时的细节问题,这是不尊重用户的表现) 4:隐藏数据时,只需要在 Show 栏中把该层或者该层的实体名字前的选择框取消即
47、可,相应的若要实现 non-pickable,只需要把 pick 栏中相应层的选择框取消即可。 5:还有一个比较好玩的方式,就是摁住空格键,可以从视图中用鼠标左键直接把数据拖到某个层中,这样可以完成转移工作。 数据显示及特征提取的总结(Visualization and Extraction Best Practices) ? 点云评估和特征提取要在干净的点云上进行处理(这里所说的干净,就是去掉以前为了对齐点云而创建的一些辅助几何形) ? 使用点云反射率工具来观察点云中微小部位的变化(这个工具我现在还没觉得它的作用有多大!好象只是用来查看点云面的走势) ? Use the evaluation
48、 tools to get to know your data prior to starting surface patch breakdown.使用点云评估(evaluation)工具来获取点云上各面的分布信息(即各面的近似区域) ? 使用层管理工具来组织你的数据(使它们便于管理,在一个大工程中里,数据的有序性是重要的,逆向工程也是一个工程,所以应该从工程学的角度来进行逆向。 ) 大有用处的多边形操作(Useful polygon operations ) 在开始创建线框之前,需要讨论处理多边形的一些很有用的技巧。这里所说的多边形就是指表面数据。我们可以像对待实体 solid 注:soli
49、d,而不是前面讲的那个实体(entity) ,我不是在表示我有多严谨,而是事实上许多的概念一开始一定要清晰。一样偏移和截切它们,也可以把它们脱壳(注:shell。倒霉,为什么老碰上难翻译的词啊,我把这个翻译为脱壳,去皮,难道也可以翻成加壳?在软件破解领域中是把这个叫为壳的)执行布尔操作,这个操作为建立需要的截面线提供了可行性;也为创建一些工程处理必需的特征提供了可行性,比如蒙皮(注:packaging. ,这东西也不知道怎么翻了,是蒙皮,还是封装?) 我还要那样说,许多东西不动手去做是不能体会的。现在我可以确定上面的我的翻译没有错,shell 就是脱壳的意思,是对原点云进行偏移,就好象把一层壳给提出来一样!金蝉脱壳!嘿嘿。 。 模型偏移脱壳(Shelling the model) 注意:确定文件“Section3.imw“ 被打开(这样的“注意”出现许多次,可能读者并不太在意,写文档的人煞废苦心,因为这个工程不是很小,所以他一再的提示要保存文件,这也是从工程学的角度来说的,谁也不愿意把自己辛苦一上午