Rescue3dmFile
Toolbar | Menu |
---|---|
|
Tools File Utilities > Rescue .3DM File |
Rescue3dmFile 指令可以恢复从损坏的 Rhino 3dm 文件中读取的几何物件。
- Open, Import 及 Insert 指令无法读取损坏文件内的资料。
- 文件储存至有坏轨的磁碟、以不稳定的 FTP 或不良的 USB 埠传输都可能造成文件损坏。
- 您可以将 Rescue3dmFile 指令用在未损坏的文件上,观察此指令如何运行。
- 使用 Audit3dmFile 指令检查 3dm 文件中的错误。
步骤
- 选取一个文件。
- 设定选项。
指令行选项 | |
---|---|
分析 |
以下是一个文件属性的详细描述,搜寻 "ERROR" 可以找出文件损坏的位置。 范例====== FILENAME: C:/RhinoFiles/BadFile.3dm ====== VERSION: 3 ====== COMMENT BLOCK: ... ====== CHUNKS: 211347: FFFFFFFF TCODE_ENDOFTABLE: value = 0 (00000000) 214045: 00007FFF TCODE_ENDOFFILE: length = 4 bytes |
清单 |
列出选取的文件里所有可能可以修复的 openNURBS 物件,如果未列出任何物件模型就修复无望。 范例:良好的文件: ... Object[35] 16722 bytes at offset 125176. class id F06FC243-A32A-4608-9DD8-A7D2C4CE2A36 (TL_Brep) Object[36] 257 bytes at offset 142052. class id CF33BE2A-09B4-11d4-BFFB-0010830122F0 (ON_ArcCurve) Object[37] 257 bytes at offset 142463. class id CF33BE2A-09B4-11d4-BFFB-0010830122F0 (ON_ArcCurve) Object[38] 333 bytes at offset 142874. class id 5EAF1119-0B51-11d4-BFFE-0010830122F0 (TL_NurbsCurve) Object[39] 569 bytes at offset 144079. class id 4ED7D4E6-E947-11d3-BFE5-0010830122F0 (ON_PolylineCurve) Object[40] 15828 bytes at offset 145161. class id F06FC243-A32A-4608-9DD8-A7D2C4CE2A36 (TL_Brep) Object[41] 16775 bytes at offset 161143. class id F06FC243-A32A-4608-9DD8-A7D2C4CE2A36 (TL_Brep) ... 损坏的文件: 如果文件有损坏,会有像这样含有"ERROR"的字串: ** ERROR near offset 78931 ** Rogue chunk in openNURBS class record. 想要找到文件损坏的部分,在清单里搜索“ERROR”。 通常会找到许多包含"ERROR"的字串,指令找到错误时不会停止,会继续搜寻错误至文件结尾。 |
修复 |
尝试修复文件里的所有物件,只有几何图形可以修复,物件的属性资讯 (例如:图层、材质、名称....) 皆无法修复。 修复选项就像是导入指令一样,会将可用的物件加入至目前的模型。 |
读取 |
一次读取一个物件。 |
读取数次 |
设定要读取的物件数。 |
读取全部 |
如果读取全部失败,请使用清单选项和读取选项一个一个地读取物件。成功读取的物件会被储存到一个不同档名的 3dm 文件里 (避免破坏您正在运行的文件)。当您遇到物件不能被读取时,可在清单上标示出该物件,然后重新来过,下次再遇到这个物件时使用略过选项将其略过并继续读取下一个物件。 |
略过 |
略过无法读取的物件。 |
略过数次 |
设定要略过的物件数。 |
结束 |
结束指令。 |
CRC 错误
循环多余检查码 (Cyclic redundancy check, CRC) 错误代表文件在写入磁碟之后因为某些原因而损坏。
CRC 数字是从一个文件的每个位元组数值经由一个方程序计算而来。此方程序有经过特殊设计,只要文件有一个位元组的数值改变,所产生 CRC 数字也会不一样。
Rhino 使用 CRC 验证文件里资料的完整性,文件写入磁碟时会记下每一个物件资料的 CRC 数值,并储存于文件内。读取文件时会再计算一次 CRC 数值,并与原来的 CRC 数值做比对。如果两个 CRC 数值吻合,几乎可以断定目前读取的文件资料与以前文件写入磁碟时的资料完全一样。如果 CRC 数值不同,代表目前读取的文件资料与以前文件写入磁碟时的资料不同。简单的说,如果 CRC 数值不同,代表文件在储存到磁碟以后至少有一个位元组被改变。
通常文件损坏是因为磁碟机发生机械性的损坏、外部磁场干扰碟片上铁原子的方向、不稳定的传输 (将资料复制到可携式的储存媒体,例如:软碟片、光碟片、下载时线路不良...等) 所造成的。
如果使用者不断地遇到损坏的文件,有可能是磁碟有损坏或电脑感染了病毒。如果这文件经常损坏的情形不止发生在一部电脑,有可能是受到未屏蔽的电磁马达 (例如:电梯、工业用吸尘机、冷气压缩机、损坏的工业用微波炉) 所造成的磁场的影响。
该怎么做呢?会产生 CRC 警告所代表的意义是目前读取的文件资料和以前文件储存到磁碟时的资料不同。如果文件还可以被读入,请先检查模型,如果模型看起来没什么问题,有可能是文件损坏的部分并不重要或读取程序在读取文件时侦测到错误并已自动修复。
如果文件已经无法读入,请尝试使用 Rescue3DMFile 指令尽可能修复该文件中可以修复的部分。
紧急存档
在需要紧急存档 ( 内存不足 ) 的情形,Rhino 会自动以不同的名称储存目前的模型,避免紧急储存的文件覆盖您的文件。您可以在硬碟里搜寻名为 RHINO_EMERGENCY_SAVE.3dm 的文件。
Toolbar | Menu |
---|---|
|
|
RescueBlockOrphans 指令搜索没有被任何图块定义使用的图块定义几何图形,这种物件被称为“孤立图块”,孤立图块没有父图块,也无法通过 Insert 指令插入场景。
读取损坏文件常常会出现这种情况。
例如 3dm 文件因不明原因被截断(文件末端丢失),文件开始部分可以读取,但读取到一半时会弹出几何图形表损坏的信息,使用者可以选择继续读取,尽可能读取所有可用的信息。
文件读取完成后如有不可见的孤立图块,可用 RescueBlockOrphans 指令使这些孤立的图块出现在模型里。
RescueBlockOrphans 指令恢复的图块定义可保留与其关联的图层、注解型式、剖面线图案等信息。
详情:当文件截断发生在包含图块定义几何体的位置或之后,但又早于模型空间中的图块实例引用及辅助图块定义信息时,原本属于图块定义的几何体将变成“孤立”的几何体,即无法通过正常方式访问。如果文件中大部分内容是用于存储图块定义几何体,并且恰好在该区域发生截断,就很有可能出现这种“孤立图块几何体”的情况。RescueBlockOrphans 指令会扫描并尝试恢复所有图块定义中的几何数据,使用户能够重新访问这些“孤立”的图块几何体。