Dxf:如何知道要显示哪些图层?

Dxf : how to know which layers to show?

我必须解析 dxf 文件以将其转换为 .net 中的图像。

我使用了 DxfLib (https://github.com/mkernel/DXFLib)。

我有层问题:我有 3 层,只需要显示一个(我在一些 dxf 查看器中上传了我的文件,它们只显示了一层)

我不知道如何知道图层是否需要显示。我没有在我的 dxf 解析文件中找到这些信息。

你知道我在哪里可以找到这个吗? (可能是 DxfLib 中缺少的元素)

编辑:我的 dxf 文件有一个例子:https://github.com/mkernel/DXFLib/files/286112/DIAMOND-R.zip

DXF 文件包含 LAYERS table 31=]HEADER 部分。这是层 table record:

的详细信息

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

您对群码感兴趣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

因此,当您处理实体并检查层值时,在 LAYERS table 中查找 HEADER 部分。这是该部分的开头:

  0
TABLE
  2
LAYER

找到后,检查颜色 属性,如果,图层关闭。

我不知道 DXFLib 有哪些功能可用于解析 DXF 文件的 HEADERS 部分。但我希望这个细节对你有所帮助!

终于找到解决办法了!

我的问题不是 show/hide 层,而是如何检测和隐藏不相关的对象。

我在页眉部分使用 DrawingExtendsLowerRight 和 DrawingExtendsUpperRight 属性来了解绘图的限制。我只保留限制范围内的元素。