Check 指令回报选取的物件的数据结构错误。
CheckNewObjects 指令在物件建立、修改、导入时检查物件的数据结构是否有错误。
详情
Rhino 会在下列几种情形检查物件是否有错误。
读取 .3dm 文件时
当读取 .3dm 文件时发现损坏的物件,模型读取完成后会在指令视窗提示"建立了 N 个损坏的物件 (读取 ***.3dm 时)"。
读取其它模型文件时
当文件导入程序在导入文件时发现损坏的物件,模型读取完成后会在指令视窗提示"建立了 N 个损坏的物件 (读取 ***.3dm 时)",不会弹出警告对话框。
打开 3DM 以外的文件类型时侦测到损坏物件:
4 | 如果您在读取 3DM 以外的文件类型 (例如:IGES、STEP...) 时 Rhino 建立了损坏的物件,请将该文件寄至仅边框线 tech@mcneel.com。 |
执行 Rhino 指令时
如果指令在执行中建立了损坏的物件,指令完成后指令行会提示"指令名称建立了 N 个损坏的物件",并弹出警告对话框。
建模时建立了损坏的物件:
如果 Rhino 在一般建模过程中弹出检查新物件对话框,您可能遇到了 Rhino 的程序错误,请将这个问题回报给我们知道:
1. | 请说明警告对话框弹出时您所执行的指令。 |
2. | 复原。 |
3. | 选取与该指令运行相关的所有物件,将它们导出至另一个文件。 |
4. | 将文件通过电子邮件发送到 tech@mcneel.com。 |
5. | 请说明这个错误发生时您执行的指令与使用的选项。 |
有时候模型可能会损坏,损坏的部分可能会造成错误。
Rhino 的某些工具可能建立损坏的曲面,例如以自交的封闭曲线建立平面时,Rhino 并不会阻止您这么做,但是建立的平面在后续的运行会发生问题。
当一个修剪的微小边缘与另一个曲面的大边缘组合时,微小边缘可能会变成一个点造成错误。
有一些技巧可以提高模型的有效性。
以一段非常短的曲线连接一条修剪曲线的两个端点将其封闭,而不是将一个端点移动到另一个端点,可能会产生错误。
有时候微小的边缘可能由其它指令运行产生,例如:布尔运算,当两个物件只有非常小的交集时可能产生微小的边缘。
修剪边缘非常短或自交是造成错误的最大原因。
Rhino 有一些工具可以检查模型是否有这些错误。
检查模型时第一个会用到的是 Check 指令,如果模型无法通过指令的检查,它会列出一些错误,您可以依照列出的错误修复模型。但,可以通过检查的模型并不一定百分之百没问题。模型损坏的部分 (例如:自交的曲面) 可能会造成指令运行的效率降低,也难以自动侦测。Check 令并不会检查这类的错误,但可以检查物件的整体资料结构是否正确。
复损坏物件的流程通常是炸开、取消修剪、重新修剪、再次组合。如果物件有很多小边缘,您可能需要使用 SplitEdge 指令分割部分的边缘,使要组合的边缘有相同的结构,再使用 JoinEdge 将相对的边缘组合。
当很大的物件与很小的物件相邻时,Join 指令可能无法正确判断是否要组合这两个物件,这种情形可以使用 JoinEdge 指令来处理。
这些工具都在分析功能表里的边缘工具里,当模型严重损坏时,您可能需要使用到这里的许多工具。
避免模型发生错误
● | 通常需要避免建立微小的边缘。 |
● | 不要使用有非常短的曲线连接其它的两条曲线。 |
● | 组合两个曲面时,两个曲面明确的以边缘对边缘相接。 |
分析工具有:
● | 列出物件的资料结构 |
● | 检查物件 |
● | 选取所有无法通过检查的物件 |
网格分析
Notes
● | 某些 STL/SLA 打印机在打印含有许多很长的网格面的网格物件时会发生问题,可能使打印速度变慢、产生奇怪的打印结果或造成打印机内存不足。 |
● | The MeshRepair command may be useful when tuning up meshes for STL/SLA printing. |
退化的网格面
可以使用 CullDegenerateMeshFaces 指令将它删除。
长度为 0 的边缘
长度为 0 的网格边缘通常是因为退化的网格面而产生的,也可以使用 CullDegenerateMeshFaces 指令将它删除。
非流形的网格边缘
可以使用 CullDegenerateMeshFaces 指令,再以 ExtractNonManifoldMeshEdges 指令修复。
外露的网格边缘
网格上可以有外露边缘存在,但是会在快速原型输出时发生问题。ShowEdges 指令可以找出物件上的外露边缘。FillMeshHole、FillMeshHoles 及 MatchMeshEdge 指令可以用来消除外露的网格边缘。
重复的网格面
可以使用 ExtractDuplicateMeshFaces 指令将它抽离。
网格面的法线方向不一致
可以使用 UnifyMeshNormals 指令统一网格面的法线方向。
未相接的网格
可以使用 SplitDisjointMesh 指令分割成为个别的网格。
孤立的网格顶点
孤立的网格顶点通常不会造成问题,并且没有指令可以将它删除。
右键点击选项
Undo
剪切
复制
Paste
全选
将文字视窗里的所有文字复制到剪贴板。
将文字视窗里的属性储存成文字档。
关闭窗口
请参考