3D ソリッドやサーフェス オブジェクトを作成して AutoCAD の UNION[和] コマンドや SUBTRACT[差] コマンドなどのブール演算や、3D オブジェクトへの編集操作をすると、次のようなエラーメッセージを表示して処理に失敗してしまうことがあります。
ソリッドまたはサーフェス ボディのブール演算に失敗しました。
モデリング操作エラー:
Error Code Number is xxxxxxx (xxxxxxx は数字)
モデリング操作エラーや、DWG 図面自体の破損のほか、ソリッドやサーフェスモデル自身の破損が要因となている場合があります。
ソリッドやサーフェスモデルが破損しているか否かは、SOLIDEDIT[ソリッド編集] コマンドの B オプション >> C オプション([ボディ(B)]: [チェック(C)])で確認することが出来ます。まずは、ソリッドやサーフェスモデルが健全かどうかを確認してみてください。
また、このエラーは、倍精度実数で処理される大座標系での桁落ちにによる不
このため、ObjectARX、.NET API、AutoLISP、ActiveX オートメーション(COM API)など、AutoCAD API でブール演算処理をおこなっても、同様のエラーが発生することがあります。
すべてのケースで問題を回避出来る訳ではありませんが、一般に、ソリッドやサーフェスモデル内部情報の破損の可能性を低減する、または、ブール演算時のエラーを低減するには、次の操作をお勧めしています。
- ソリッド/ サーフェスモデルの境界ボックス座標 X、Y、Z 値の最大値が 10,000 以上(マイナス値の場合、-10,000)になる場合、
- 最大座標が 10,000 未満(あるいは、-10,000 未満)になるようにソリッド/サーフェス モデルを一時的に原点付近置くか、最大座標が 10,000 未満になるように縮小する。
- 原点付近、かつ、最大座標が 10,000 未満になる状態でソリッド/ サーフェス モデルの編集、ブール演算をおこなう。
- ソリッド / サーフェスモデルを縮小した場合は、元の尺度に拡大処理して、元の配置位置に移動する(戻す)。
同様の問題については、次の Autodesk Knowledge Network 記事もご確認いただけます。
モデリング操作エラーが起こってしまう場合にお試しいただければと思います。
By Toshiaki Isezaki
コメント