Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在opengl/opengl es中显示的autocad dxf文件_Opengl_Opengl Es_Autocad_Dxf - Fatal编程技术网

在opengl/opengl es中显示的autocad dxf文件

在opengl/opengl es中显示的autocad dxf文件,opengl,opengl-es,autocad,dxf,Opengl,Opengl Es,Autocad,Dxf,我想知道是否有办法从autocad.dxf文件中提取必要的数据,以便在opengl中可视化结构 我发现了一些用cpp编写的旧的windows冷代码段,但由于标准的更改,我认为15年前的代码有点过时 此外,还有一本关于.dxf文件标准的书,但也是90年代的,除此之外,很少有 另一种方法可能是将其转换为其他文件格式,然后提取所需的数据 尝试查看.dxf文件也没有提供太多的洞察力,因为一个简单的长方体已经包含了很多数据 有人能告诉我如何处理此问题吗?Autodesk对AutoCAD最新版本使用的DXF

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

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

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

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

尝试查看.dxf文件也没有提供太多的洞察力,因为一个简单的长方体已经包含了很多数据

有人能告诉我如何处理此问题吗?

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


我可能更关心代码本身,而不是DXF格式的更改。很多代码都使用了深层的,整体的类层次结构,这与你在现代C++中所期望的有很大的不同。

< p>引用是一个很好的开始的地方,但是如果你正在做繁重的3D工作,那么你可能无法完成你正在尝试的东西。p> 最近,我们完全基于参考文献,用JAVA编写了一个DXF转换器。尽管许多实体相对较直,但许多其他实体(三维实体、实体、区域、曲面、扫描曲面)实际上不可能转换,因为参考说明这些组主要是专有数据。其他对象(拉伸曲面、旋转曲面、扫描曲面(再次))具有大量二进制数据,这些数据可能包含您需要的重要信息


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

谢谢大家的回复@Knyphe:如果我可以问的话,你是如何开始转换.dxf文件的。因为我确实在想,我是否能提取出我需要的所有数据。毕竟,这里不仅仅有顶点数据,还有很多数据,需要大量的数学运算才能得到所需坐标系中的信息。您可能应该先看一下规范,然后发布具体问题。即使只是发布一些类似的东西-这是一个DXF格式的三维实体,我如何将它转换成顶点列表。哦,上帝,考虑到这个问题的年龄。。。你偶然没有解决你的问题?我面临着同样的任务。但是使用VTK作为目标格式,而不是OpenGL。因为这些都是可以互换的,我对你如何解决你的问题感兴趣?嘿,刚刚看到你的评论。straighforward:未解决。当时浏览了很多论坛,似乎没有人对这项任务有任何想法。据我记忆所及,我想找到一种解释这些文件中数据的方法,但没有找到如何开始的提示。我很抱歉。如果你在任何情况下偶然发现了什么,我会对任何提示感兴趣…谢谢你的回答:对我来说也没有“开箱即用”的解决方案。。。这就归结为编写我自己的解析器。我使用一个免费的C#库来打开dxf文件(DFXLib:),然后迭代找到的每个dxf项。由于它是一个VTK解决方案(代码和OpenGL之间的层),它不会帮你很多。。。这是一个相当痛苦的过程,因为一些dxf符号需要相当多的数学工作才能将它们输入vtk/gl数据(例如,没有弧等效)