0

Cad lib ライブラリ (http://www.woutware.com) を使用して .dxf ファイルに次の検証を適用するにはどうすればよいですか。

.dxf ファイルをアップロードしたいのですが、アップロードする前に次のチェックを適用したいと考えています。

  • 私のレーザー マシンで使用できるプログラムには、AutoCAD 2000 バージョンの .dxf が必要です。
  • プログラムは単位をミリメートルとして解釈するため、図面は 1000x700 単位の長方形に含める必要があります。
  • ブロックまたは AES オブジェクトは受け入れられません。
  • デフォルトのレイヤー 0 は切断に使用され、彫刻には最大 7 レイヤー (最大 8 レイヤー) が使用されます。
  • すべてのオブジェクトは 2D である必要があり、3D オブジェクトは許可されません (ほとんどの SPLines)。
4

1 に答える 1

0

Wout Ware フォーラムに質問を投稿してください。ほとんどのチェックはかなり簡単に実行できますが、3D オブジェクトのチェックは、すべてのタイプのエンティティに対して何らかのチェックを行う必要があるため、おそらくかなりの作業になります。

  • バージョンは、DxfModel.Header.AcadVersion を使用して確認できます。
  • 四角形を描くには多くの方法があるため、四角形は注意が必要です。LWPOLYLINE、2D POLYLINE、3D POLYLINE (ただし z 座標なし)、4 つの LINE のコレクション、および長方形を作成する他の方法もあります。
  • ブロックは DxfModel.Blocks にありますが、DxfModel.Entities では INSERT の存在が非常に重要であると言えます。AES オブジェクトは CadLib ではサポートされていませんが、DxfModel.UnsupportedObjects を調べて、元の図面に存在するかどうかを確認できます。
  • 3D オブジェクトのチェックでは、エンティティごとに特別なチェックが必要です。このために IEntityVisitor オブジェクトを実装し、すべてのエンティティをループします。大まかなチェックは、各エンティティの z 軸が (0, 0, 1) であり、厚さがゼロ (厚さのあるエンティティの場合) であるかどうかです。
于 2012-05-24T09:45:35.350 に答える