Shaper3d论坛版主Shadow 分享他使用Rhino实现逆向工程的一些经验,供大家学习。 在大多数人看来,用Rhino做逆向工程,第一反应就是不行,可事实上并非如此,只要掌握方法,用Rhino实现逆向工程还是可以实现的。本例分为两个内容来讲,先讲纯Rhino工具实现逆向操作的方法,另外一个内容是借用插件的方法。 ![]() 接下来工作就是考虑如何做面,这一步和看图练习就没有什么区别,要在脑子里想好如何分面,对于有一定基础的同学来说,并没啥难度,难点就是如何让做出来的面贴到mesh上去。 先说如何生成曲面 ![]() 像图中的例子,我们可以先把它做成3个大面,在边缘有曲率变化比较大的部分,再切开做出细节即可。 在顶视图画线把这一体的mesh分为几个部分,注意mesh不是直接用split指令,而是用meshsplit,分开的这3个部分就是我们想要做的3个大面。 ![]() 但要记得,尽可能的选择曲率比较平缓的做为大面,像我图中蓝色的面,就不选择切到右侧这部分,因为右侧是曲率比较大的部分,这部分将作为单独的一个面与左边连接,如果一次选择完做一个大面,在曲率大的这里,就会贴不好了。 Mesh分割好之后,就建立NURBS曲面。先用plane指令做出一个简单的曲面。从顶视图看,这个面要比蓝色的mesh要大一些,但也不必太大。 ![]() 可以看出,左下角的曲面,离mesh比较远,所以需要对曲面进行一定的调整,让它的边界尽可能的与mesh保持一个走势,这样就方便我们保证曲面的质量。当然也可以先画线把这曲面做出来,最终目的是弄出这个曲面。 ![]() ![]() 这里可能会有人有疑问,为何不把曲面边界事先画在倒角的附近,让做出来的曲面离倒角的边更近,不是更好控制吗?当然这也是一个方法,但画线可能没这么方便而已。 还有contour指令不支持历史记录,所以调起来挺不方便,但也不是没方法,可以在需要调整的位置选出几条截面线投影到曲面上,这样就带有历史了,因为投影有历史记录,但是一定不能要太多条,两三条就够了,如果你全部选择曲面上的那些截面线投影,调整的时候曲线也会在动,但是它动的时候会很卡,并没单条线操作顺畅,另外太多条线这样操作还有可能宕机。 ![]() 容许角度 没有曲线或曲面法线通过的点,如果位于曲线端点或曲面边缘法线容许角度范围内也会被测量,预设值为 1 度,设为 180 度时,所有的点都会被测量。 如果你的曲面是在mesh范围之内,设置为180的时候,就会把曲面范围之外的mesh顶点也算进去,如果是1,那就是在你的曲面范围之内的点。一般情况下我们都是检测曲面内的点的误差,如果把之外的顶点也算进来,反而会影响到实际结果,所以只需要设置为1即可。当你的曲面范围大于mesh范围,简单理解为曲面包住你的mesh,那么即便设置为180,也是没啥效果的,因为你的所有点都已曲面的范围之内。 指示线缩放比 点到曲线或曲面的指示线长度会因为缩放比设定值而被放大,预设值为 10,设置越大指示线越长。所谓指示线就是被检测的点到曲面的法线。下面两个选项是一个是显示这些指示线,另外一个就是生成这些指示为直线,这几个没有什么实际意义,可以忽略。 下面的统计就是被检测的点数量,还有平均距离什么的,这些数据并不是真正的误差值,具体我也不太清楚这组数据有啥意义。主要是设置是在右边这些设置。 忽略,坏点 超过这个数值的点就不被检测,坏点多显示一个红色,这两个可以理解为一样。我们要检测的是所有点,所以这两个数值可以设大一些。有的人可能觉得设置为1或2大不大,我觉得不够,我觉得随便设置个几百吧。如果设置太小,你会发现统计那栏的点数会很少,这样检测结果当然不准了。 良点 这个数值就是我们要设置的误差值,比如说你想知道这些顶点到曲面的距离,是不是都在0.5以内,如果在范围内,就会显示为蓝色。如果超过这个范围,就显示水蓝色。 曲面上 这个参数没得设置,就是0,意思就是点真正意义上的在曲面上。 ![]() 回到我们的例子检测一下,显示有两个不同的颜色,蓝色就表示在1mm范围内的点,水蓝色的就是大于1mm点。每改一个范围,就要点一下套用,颜色显示也会不同。如果想知道最大误差值是多少在哪看呢?这时候要点关闭,再按F2,会在指令历史中看得到。在这里我想吐槽一下,为什么不直接在这界面上显示呢? ![]() 好了,第一部分先讲这些,下一内容讲用插件如何实现。插件相对来说,会更方便。 |