2016-05-25 5 views
0

私はdxfファイルを.netの画像に変換するために解析する必要があります。Dxf:表示するレイヤーを知る方法?

私はDxfLib(https://github.com/mkernel/DXFLib)を使用しました。

私はレイヤーとproblemeを持っている:私は3つの層を持っていると示すことにする唯一の必要性(私はいくつかのDXFビューアで私のファイルをアップロードし、それらが一層のみを表示)

私が知っている方法がわかりませんレイヤーを表示するかどうかを指定します。私は自分のdxfファイルで情報を見つけられませんでした。

あなたはどこでこれを見つけることができますか? (多分それはDxfLibから不足している要素だ)

EDIT:私のDXFファイルのexempleがあります:https://github.com/mkernel/DXFLib/files/286112/DIAMOND-R.zip

答えて

2

DXFファイルがHEADERセクションでLAYERSテーブルが含まれています。ここでレイヤテーブル記録の詳細は次のとおりです。

http://www.autodesk.com/techpubs/autocad/acad2000/dxf/layer_dxf_04.htm

あなたはグループコードに興味がある:

Group code 62

層の色がある場合は、見ることができるようにネガティブレイヤーはオフから切り替わります。次に例を示します。

0 
LAYER 
    5 
242 
330 
2 
100 
AcDbSymbolTableRecord 
100 
AcDbLayerTableRecord 
    2 
LAYER2 
70 
    0 
62 
    -3 
    6 
Continuous 
370 
    -3 
390 
F 
347 
EE 
348 
0 
    0 
ENDTAB 

あなたはエンティティを処理し、層の値を調べるときに、HEADERセクションでLAYERSテーブルにそれをルックアップします。

位置一旦
0 
TABLE 
    2 
LAYER 

性を調べ、場合、層がスイッチオフされる。これは、そのセクションの開始です。

どのような機能がわかりませんDXFibは、DXFファイルのHEADERSセクションの解析に使用できます。しかし、私はこの細部があなたを助けることを願っています

+0

ありがとうございます。私の場合、色はすべてのレイヤーで7です:( – ROCHEDY

+0

完全なDXFファイルを共有できますか?おそらくENTITIESセクションのみです。 –

+0

ファイルはhttps:// githubです。 com/mkernel/DXFLib/files/286112/DIAMOND-R.zip – ROCHEDY

1

最後に解決策を見つけました。

私の問題は、レイヤを表示/非表示にするのではなく、無関係なオブジェクトを検出して非表示にすることでした。

ヘッダーセクションにDrawingExtendsLowerRightプロパティとDrawingExtendsUpperRightプロパティを使用して、私の描画の限界を知りました。私は限界にある要素だけを保持します。

関連する問題