This shows you the differences between two versions of the page.
zh:rhino:badobjects [2016/05/24] |
zh:rhino:badobjects [2020/08/14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======修复损坏的物件 | ||
+ | > | ||
+ | ======模型内有一个损坏的物件,为什么会这样?可以修复吗?====== | ||
+ | |||
+ | =====损坏(无效)的物件物件是什么?===== | ||
+ | |||
+ | Rhino“损坏”的物件(Bad objects)通常是指物件违反了某些[[rhino: | ||
+ | |||
+ | =====我如何查找损坏的物件?===== | ||
+ | |||
+ | 查找损坏物件最简单的方式是使用 **SelBadObjects** 指令(分析 > [[rhino: | ||
+ | |||
+ | =====为何会产生损坏的物件及如何判定是无效的物件?===== | ||
+ | |||
+ | 这有许多技术上的解释。对曲面物件来说,产生损坏物件多半是因为已修剪边缘上有一个或多个极微小的分段造成边缘结构不良所导致的。有时候也可能因为曲面上的某几列控制点完全重合而产生损坏物件,又或者是在某个方向上产生长度为零的边(收缩边缘)。这种状况在Rhino V3时比较容易发生─例如建立一个垂直的平面或直线,从上视图将它投影至工作平面上。这个物件现在Z方向上就是长度为零并且被认定为损坏物件了。在Rhino V4里,这类操作在某些场合是“不允许”的,所以也不会产生损坏物件,指令只会在动作失败后弹出错误讯息而已。然而,在V4仍然还是有可能会产生损坏物件。 | ||
+ | |||
+ | 为什么曲面修剪后会变成损坏物件您通常不会刻意这么做。损坏物件通常可能会在使用组合指令 (或者其他用到组合功能的指令,例如布尔运算)后出现。因为在组合物件的过程中,Rhino经常必须分割并调整修剪边缘。在某些情况下这些修剪过的边缘会因为调整而产生极微小分段,//< | ||
+ | |||
+ | =====输入/ | ||
+ | |||
+ | 由其他程序输入的几何物件也可能有损坏的物件,若您有执行 **CheckNewObjects**检查新物件指令,当您输入文件时若有无效物件,将会有一个提醒通知,您需要逐一点击确定。若有很多无效物件,这可能很烦人,您可以先把检查新物件指令关闭,然后在输入工作结束后再次开启。 | ||
+ | |||
+ | 每一套程序有他自己建立及检查几何物件的方式,并可能与Rhino不尽相同,是以输入的物件有可能在原始建立的程序可能并不被视为" | ||
+ | |||
+ | =====幽灵曲面===== | ||
+ | // | ||
+ | |||
+ | Rhino偶尔会产生您看不到的损坏物件。就字面上,它们是隐形的(是因为没有显示网格可以产生显示它们)。它们有时被称作" | ||
+ | |||
+ | 通常可以选取损坏的物件**SelBadObjects**指令,然后直接删除即可解决,这类幽灵曲面通常无法被修复。若无法删除,请试用**Ctrl+X**剪下这些资料。若您无法选取这些幽灵曲面,您也可以试做下列方式:缩放至最大范围,选取视图内所有物件并隐藏。然后使用 Ctrl+A全选物件,通常这会将文件所有物件选取起来,包括无法点选的物件。若您在指令提示列有看到一个物件被选取,使用详细资料(What)来确认选取到的物件为此损坏物件(无效),并删除这个物件,然后将所有隐藏物件复原显示即可。 | ||
+ | |||
+ | |||
+ | ===== 损坏的网格===== | ||
+ | 若多边形网格物件看起来有问题,可使用网格> | ||
+ | |||
+ | **ExtractDuplicateMeshFaces** | ||
+ | |||
+ | **ExtractNonManifoldMeshEdges** | ||
+ | |||
+ | **CullDegenerateMeshFaces** | ||
+ | |||
+ | **UnifyMeshNormals** | ||
+ | |||
+ | =====如何修复损坏的曲面及曲线?===== | ||
+ | |||
+ | 损坏的多重曲线通常透过炸开并重新组合即可修复。另外,曲线是否包含非常微小的边缘,并清除它。若这样仍然有问题,可能曲线违反 [[rhino: | ||
+ | |||
+ | 以下是处理因修剪造成损坏曲面修复处理的方式,在这之前,您需要先确认那些是损坏的曲面并暂时将其他物件隐藏(您可能需要执行前文说明的步骤并执行**ExtractBadSrf**指令)。 | ||
+ | |||
+ | **1.** 首先我们通常在所有的损坏物件上先执行重建边缘 **RebuildEdges**指令,这个步骤可修复部分曲面,或多或少恢复到曲面边缘修剪前的状态,然而也意味着曲面无法再度与邻近曲面组合,或是组合后再度损坏。但它在某些情况下是可行的,若有部分曲面被修复(使用选取损坏物件并反选**SelBadObjects/ | ||
+ | |||
+ | **2.** 在第一个损坏曲面上,使用取消修剪指令并将选项设为" | ||
+ | |||
+ | **3.** 若仍有损坏的曲面,在这些损坏曲面上再次执行分离修剪指令,将分离修剪结果使用 **炸开**指令并检查是否有小边缘,这是造成损坏物件最常见的情况。检查看看有多少曲线组成此修剪过的曲线,通常会出现一个可疑的数字,例如看起来是一个矩形的曲线数是5而非4,有可能某处有一个微小边缘导致问题,通常会靠近四角,试着检查四周边缘。或者,使用选取过短的曲线**SelShortCrv**指令并设定一个小的设定值。若您发现有小边缘,请删除它并重新组合为一条封闭的曲线,使用它重新修剪曲面,通常能够修复大部分损坏的曲面。 | ||
+ | |||
+ | **4.** 最后,试着显示所有隐藏的物件,然后试试看是否能够再度组合物件并不产生损坏的物件。若一切都很好,那太赞了。若仍有问题,这一般是因为组合无法正确完成,若如此您需要分析曲面为何无法与邻近那个曲面组合且为何会发生。这个部分有时相当伤脑筋。 | ||
+ | |||
+ | > **备注:** // | ||