2

我想知道是否有办法从 autocad .dxf 文件中提取必要的数据,以便我可以在 opengl 中可视化结构?

我发现了一些用 cpp 编写的 windows 旧的冷片段,但由于标准更改,我认为 15 年的旧代码有点过时了。

此外,还有一本关于 .dxf 文件标准的书,但它也是 90 年代的书,除此之外,很少有。

另一种方法可能是将其转换为其他文件格式,然后提取我需要的数据。

尝试查看 .dxf 文件也没有给出太多的见解,因为一个简单的长方体已经包含大量数据!

谁能给我提示如何解决这个问题?

4

2 回答 2

1

参考资料是一个很好的起点,但如果您正在进行繁重的 3D 工作,则可能无法完成您正在尝试的工作。

我们最近完全基于参考用 JAVA 编写了一个 DXF 转换器。尽管许多实体相对简单,但许多其他实体(3DSOLID、BODY、REGION、SURFACE、Sweep Surface)实际上无法翻译,因为参考说明这些组主要是专有数据。其他对象(挤压曲面、旋转曲面、扫掠曲面(再次))具有大量二进制数据,其中可能包含您需要的重要信息。

这些实体对我们的工作并不重要,但如果您希望转换为 OpenGL,这些实体可能是您特别关心的实体。

于 2010-09-17T00:29:17.453 回答
1

Autodesk 提供了 AutoCAD 最新版本所使用的 DXF 格式的参考资料。不过,我可能会再看一下那个 15 年前的代码。即使您不能/不按原样使用它,它也可以提供一个不错的起点。DXF 规范足够大和复杂,有一些东西可以开始,只需在需要的地方添加新的零碎部分就会有很大帮助。作为一种交换格式,DXF 无论如何都必须非常保守,只包括基本上所有程序都可以合理直接解释的元素。

我可能更关心代码本身而不是 DXF 格式的变化。许多旧代码使用深度的、单一的类层次结构,这与您在现代 C++ 中所期望的完全不同。

于 2010-09-07T20:59:52.197 回答