Autodesk Forge - 使用模型衍生 API 从二维 Cad 工程图中提取几何图形数据



我正在尝试从 2d Cad 绘图中提取数据。本质上,我想找到每个元素的 x/y 坐标。但是,数据不显示此信息。

我正在使用modelderivative/v2/designdata/{{urn}}/metadata/{{guid}}/properties端点来提取数据本身。

这是它给出的输出示例

{
"objectid": 3308,
"name": "Text [67AC]",
"externalId": "67AC",
"properties": {
"AnnotationScaling": {
"Annotative": "No"
},
"General": {
"Color": "ByLayer",
"Handle": "67ac",
"Layer": "IMAGE-HYPERLINKS",
"Linetype": "ByLayer",
"Linetype scale": "1.000",
"Lineweight": "ByLayer",
"Name ": "Text",
"Plot style": "ByColor",
"Thickness": "0.000",
"Transparency": "ByLayer"
},
"Hyperlinks": {
"Description": ".\R0010020.JPG",
"Name": ".\R0010020.JPG"
},
"Misc": {
"Backward": "No",
"Upside down": "No"
},
"Text": {
"Contents": "R0010020.JPG",
"Height": "0.050",
"Justify": "Left",
"Obliquing": "0.000 deg",
"Rotation": "111.348 deg",
"Style": "Standard",
"Width factor": "1.000"
}
}
},

如您所见,没有键"几何">

谁能指出我如何为 2D Cad 绘图提取对象定位数据的正确方向?难道是绘图本身需要隐式设置此信息吗?

这是我在 Cad 绘图本身中看到的示例。

镉输出

在上面的模型导数输出中没有提到正确的键"位置 X"、"位置 Y"。谁能解释为什么会这样?我导出不正确吗?还是 Forge 会删除此信息?

我正在使用PHP并获取数据服务器端。

我导出了另一个测试模型,发现生成了以下内容

"Geometry": {
"Area": "1131855.821",
"Circumference": "3771.382 mm",
"Diameter": "1200.468 mm",
"Radius": "600.234 mm"
}

但是此数据中没有 X/Y/Z 坐标。

您可以根据以下博客文章在客户端解析 2D 绘图的各个基元:https://forge.autodesk.com/blog/working-2d-and-3d-scenes-and-geometry-forge-viewer。

在服务器端解析图形几何图形会更加复杂,因为 Forge Viewer 中使用的文件格式没有公开记录。您可以使用像 https://github.com/Autodesk-Forge/forge.commandline-nodejs 这样的工具,但我不确定是否有PHP的替代品。

最新更新