首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在dxf文件中表示/读取多维数据集?

如何在dxf文件中表示/读取多维数据集?
EN

Stack Overflow用户
提问于 2021-07-05 17:17:29
回答 1查看 273关注 0票数 0

尝试打开dxf文件格式(C++中的实际项目),我可以理解文件的基本结构,但无法找到多维数据集的实际表示方式。

对于CAD中的多维数据集,我希望至少有9个值:

  • X位置
  • A-B-C轮调
  • 立方体的W尺寸

我希望X,Y,Z,A,B和C在实体部分,

但是在示例文件中,我看到了许多设置、预览图像(在文件中占据了重要的空间)、布局等等。但我无法与立方体的实际构建方式相媲美。

问题:

如何在dxf文件中表示/读取多维数据集?

更多信息

以下是有关文件格式的文档:

http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-235B22E0-A567-4CF6-92D3-38A2306D73F3

下面是一个带有多维数据集的文件示例(用BricsCAD创建)。不幸的是,我不能嵌入文件,因为它太大了。“立方体”为20毫米x25毫米x30毫米。

mm.dxf

我检查了LibreCAD源代码,但它不管理3D模型。而且,libdxfrw库过于通用(它只使用完整的实体数据调用接口回调)。

3.

https://github.com/LibreCAD/libdxfrw

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-06 08:11:08

这个多维数据集是嵌入的二进制ACIS数据(3 3DSOLID),没有空间公司的库就无法解释。有关更多信息,请参阅我对另一个问题的回答:如何从dxf文件解析nurbs曲面?或者您知道用于解析它的库(对于js,如果存在或任何其他语言)?

编辑:查找ACIS实体的二进制数据

从R 2013/ at 1027开始,ACIS数据的Modeler几何学存储在ACDSDATA节的ACDSRECORD中,这些记录没有句柄,而是有一个ID。3 3DSOLID的记录从第22393行开始,ID 10:

代码语言:javascript
复制
0
ACDSRECORD
90
1
2
AcDbDs::ID
280
10
320
D2            <<< handle to 3DSOLID
2
ASM_Data
280
15
94
9259          <<< size in bytes
310
41534D2042696E61...   <<< binary data as multiple tags of group code 310

这是带有句柄D2的3 3DSOLD,它从第2187行开始:

代码语言:javascript
复制
0
3DSOLID
5
D2      <<< handle of your 3DSOLID
330
1F
100
AcDbEntity
8
0
100
AcDbModelerGeometry
290
0
2
{00000000-0000-0000-0000-000000000000}
100
AcDb3dSolid
350
0

如您所见,在ACDSRECORD部分中,3 3DSOLID与二进制内容之间没有关联。

我对将这些数据连接在一起的表格(字典)一无所知。我所知道的唯一方法是在ACDSRECORD部分中搜索到ACDSDATA对象的链接(组代码320)。

FYI:在R2013之前的DXF版本中,ACIS数据作为ascii文本以糟糕的xor“加密”形式存储在实体中。我对DXF格式的所有知识都写在我的Python包中:埃兹德克斯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68259913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档