Rescue3dmFile

ツールバー メニュー

診断

ツール

ツール

ファイルユーティリティ >

3DMファイルの復旧

Rescue3dmFileコマンドは、破損したRhinoの.3dmファイルから読み取れるジオメトリオブジェクトを復旧します。

操作手順

  1. ファイルを選択します。
  2. オプションを指定します。
コマンドラインオプション

分析

ファイルの内容の詳細を表示します。ERRORという文字が表示されている部分がファイルが破損したところです。

====== FILENAME: C:/RhinoFiles/BadFile.3dm

====== VERSION: 3

====== COMMENT BLOCK:

...

====== CHUNKS:
108272: 10000013 TCODE_OBJECT_TABLE: length = 103075 bytes
...

211347: FFFFFFFF TCODE_ENDOFTABLE: value = 0 (00000000)
211355: 10000017 TCODE_USER_TABLE: length = 55 bytes
...

214045: 00007FFF TCODE_ENDOFFILE: length = 4 bytes
current position = 214057 stored size = 214057
====== FINISHED:

リスト

ファイルの復旧できる可能性のあるすべての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行はいくつか表示されます。これはリーダーがファイルの残っている部分を分析できるようにエラーを飛ばすからです。

復旧

ファイルの中のすべてのオブジェクトを自動的にすべて復旧しようと試みます。基本的なジオメトリのみ復旧されます。レイヤ、レンダリングマテリアル、名前等の属性情報は復旧できません。

復旧オプションは、Importコマンドのような動作をします。指定ファイルからオブジェクトを追加し、現在のセッションのオブジェクトは維持します。

読み込み

アイテムを1つずつ読み込みます。

複数を読み込み

読み込むアイテムの数を指定します。

すべてを読み込み

すべてを読み込みが行えなかった場合、リストオプションでファイルを作成して印刷し、読み込みオプションを使ってアイテムを1つずつ読み込みます。各アイテムの読み込み後、結果を別の名前を付けて新しい3dm ファイルに保存してください。(作業中のファイルを壊さないため。)読み込みできないオブジェクトがでてきた場合、印刷したリストのそのオブジェクトに印を付け、再度コマンドを実行してください。この時は、読み込めなかったオブジェクトをスキップオプションを使って飛ばし、次のオブジェクトに移ってください。

スキップ

読み込めないオブジェクトをスキップします。

複数をスキップ

スキップするアイテムの数を指定します。

中止

コマンドを中止します。

CRCエラー

Cyclic Redundancy Check(巡回冗長検査-CRC)エラーは、ファイルが書き込まれた後に破損されたことを意味します。

CRCは、多項式ですべてのバイト値を処理することでデータを計算して得られる数です。多項式は、バイト値に変更があった場合、高い確立でCRCの多項式が生み出す結果が変わるように作られています。

Rhinoは、ファイルのデータの整合性をチェックするためにCRCを使用します。ファイルを書き込む際、それぞれのオブジェクトのデータのCRCが計算され、ファイルに保管されます。ファイルを読み込む際に、CRCは再度計算され、ファイルに保管されているCRCの値と比較されます。2つのCRCの値が合う場合、ファイルに書き込まれた情報と、ファイルから読み込まれた情報はほぼ確実に同じものだと言えます。2つのCRCの値が異なる場合、ファイルに書き込まれた情報と、ファイルから読み込まれた情報は一致しないということが確実に言えます。CRC値が異なる場合、ファイルの中の少なくとも1バイトは最後に保存されたときから変更されたということになります。

ファイルが破損する主な原因は、ディスクのプラッタの機械的故障、ヘッドのアーマチャ(接極子)の機械的故障、ヘッドの消耗、外部磁界によるハードディスクの鉄原子への影響が挙げられます。また、送信/コピー中にデータが変わってしまった(ファイルがフロッピー、CD、ジャンプドライブなどの取り外し可能なメディアにコピーされたり、ノイズのある回線でダウンロードされたりして)ことでファイルが破損することもあります。

破損ファイルがよく発生する場合、ディスクの破損、またはウィルスの可能性を疑うことをお勧めします。破損ファイルの問題がコンピュータだけの問題にとどまらない場合、シールド(保護)されていない大きな電気モーター(エレベーター、産業用真空掃除機、エアコン用コンプレッサー、故障した工業用電子レンジ)による広い範囲に渡る磁界が問題である可能性もあります。

CRCエラーが報告された場合、ファイルに書き込まれた情報と、ファイルから読み込まれた情報は一致しないということを意味します。ファイルがそれでも読み込まれた場合、モデルをよく確認し、問題がないかを確かめてください。問題がない場合、破損されたのはおそらくファイルの重要でない部分であるか、またはリーダーが自動的に問題を検出し、読み込み処理中に問題の箇所を修復したのだと考えられます。

ファイルが読み込めなかった場合、Rescue3DMFileコマンドを使用してできるかぎりデータの復旧を試みることをお勧めします。

緊急保存

緊急保存(メモリ不足)の場合、Rhinoは自動的に異なる名前で現在のモデルを保存し、1回前に保存した.3dmファイルに上書きしないようになっています。ハードディスクでRHINO_EMERGENCY_SAVE.3dmと名前の付いたファイルを探してください。

RescueBlockOrphans

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

RescueBlockOrphansコマンドは、どのブロック定義にも参照されていないブロック定義ジオメトリを探します。このようなオブジェクトは親ブロックがないためブロックの「孤児」(孤立)と呼ばれ、Insertコマンドを使用してアクセスすることができません。

通常この状態は破損ファイルを読み込む際に発生します。

3dmファイルが不明な理由で切り詰められた(ファイルの最後がない状態)場合、ファイルの読み込みは開始されますが、ジオメトリテーブルが破損しているという警告が表示されます。その際、続行してできるだけ多くの情報を読み込むように選択することができます。

読み込みが終了した際、何も表示されません。ブロック定義ジオメトリが読み込まれていた場合、RescueBlockOrphansを使用するとモデルのアクセスできないブロック定義オブジェクトのコピーを作成することができます。

RescueBlockOrphansが動作する場合、RescueBlockOrphansはレイヤ、注釈スタイル、ハッチングパターンなどの情報との関係を維持します。

詳細: 「切り詰め」がブロック定義ジオメトリがある場所またはその後で、しかしモデル空間ブロックの参照および補助ブロック定義情報の前で起こった場合、「孤児」(孤立)ブロック定義にアクセスする方法はありません。ファイルのほとんどがブロック定義ジオメトリに当てられている場合に「切り詰め」が起こった場合は、RescueBlockOrphansがすべてのブロック定義ジオメトリを探す可能性が上がります。

次もご覧ください。

ファイル作業を行う

 

 

 

Rhinoceros 7 © 2010-2021 Robert McNeel & Associates. 17-12-2021