autocad - DXF 文件 - 无法在 Autodesk Viewer 中打开

标签 autocad cad autodesk dxf

我们正在构建一个 DXF 导出器,根据我的阅读,这个极其简单的文件应该是有效的。我们没有任何 CAD 工具可供测试,因此我的调试能力非常有限。这在 the Proficad online viewer 中打开正常但我从 Autodesk viewer 收到错误,显示“绘图文件无效,无法查看”。

这是完整的文件。如有任何帮助,我们将不胜感激!

  0
SECTION
  2
ENTITIES
  0
LWPOLYLINE
  90
5
  70
0
  43
0.0
  10
-8.75
  20
-11.75
  30
0.0
  10
-8.75
  20
11.75
  30
0.0
  10
8.75
  20
11.75
  30
0.0
  10
8.75
  20
-11.75
  30
0.0
  10
-8.75
  20
-11.75
  30
0.0
  0
ENDSEC 
  0
EOF

最佳答案

您的 DXF 文件存在一些问题。

  1. LWPOLYLINE 需要大量额外的开销才能使用。您需要一个 TABLES 部分,然后必须处理 AcDbEntity 和 AcDbPolyline 条目。它很快就会变得复杂。切换到 POLYLINE 实体将为您省去很多麻烦。

  2. 您需要 AutoCAD 的 HEADER 部分才能打开 DXF 文件。您不必在 header 中输入太多内容,基本上只是版本信息。

下面显示的是一个功能最少的 DXF 文件(以 R12 格式保存),该文件将在 AutoCAD 中成功打开:

  0
SECTION
  2
HEADER
  9
$ACADVER
  1
AC1009
  0
ENDSEC
  0
SECTION
  2
ENTITIES
  0
POLYLINE
  5
7C
  8
0
 66
     1
 10
0.0
 20
0.0
 30
0.0
  0
VERTEX
  5
174
  8
0
 10
-8.75
 20
-11.75
 30
0.0
  0
VERTEX
  5
175
  8
0
 10
-17.5
 20
0.0
 30
0.0
  0
VERTEX
  5
176
  8
0
 10
-8.75
 20
11.75
 30
0.0
  0
VERTEX
  5
177
  8
0
 10
0.0
 20
0.0
 30
0.0
  0
VERTEX
  5
178
  8
0
 10
-8.75
 20
-11.75
 30
0.0
  0
SEQEND
  5
179
  8
0
  0
ENDSEC
  0
EOF

如果这就是您要放入文件中的全部内容,那么它应该可以正常工作。请记住,所有 DXF 实体都需要一个句柄(基本上是一个 ID 号)。

  0
 POLYLINE
   5
 7C

上面的5是表示后面跟着的句柄(ID号)的代码。 7C 是实际的句柄。如果添加更多实体,则需要增加每个实体的句柄,因此每个实体都有一个唯一的句柄。

关于autocad - DXF 文件 - 无法在 Autodesk Viewer 中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382770/

相关文章:

cad - KiCAD 使用 CvPcb 将组件与封装关联

javascript - Forge Viewer 工具栏按钮未隐藏在手机屏幕上

javascript - 如何调整对象的大小 - Autodesk Forge Viewer

algorithm - CAD 的分解图算法

opengl - 可在 OpenGL 中表示的曲线

python - FBX SDK - 从角色的 ENodeId 获取 FbxNode

python - Win32com、Python 和 AutoCAD 的变体错误

C# AutoCAD 插件 SQLite - 在极少数情况下找不到错误表

python - 如何为 COM 构造对象列表?

c# - 以编程方式将 autocad 文件转换为 visio 图