【问题标题】:Autodesk Forge API - How can I convert DWG files?Autodesk Forge API - 如何转换 DWG 文件?
【发布时间】:2017-06-30 23:18:01
【问题描述】:

我是一个完全没有 AutoCAD 经验的应用程序开发人员,对于我当前的项目,我需要将 DWG 文件转换为空间数据 - ESRI Shapefile / GeoJSON 等。 鉴于 DWG 是 Autodesk 拥有的专有格式,Autodesk Forge API 成为我解释此类文件的唯一选择。我已经评估 Model Derivative API 一个星期了,我发现它不适用于我的目的。它只有 3 种 DWG 文件的输出格式(f2d、f3d、rvt),而且都不符合我的目的。

出于这个原因,我开始查看平台中的其他 API,最终找到了可能有用的设计自动化 API,但它缺少文档。

API 中的一个示例是将 DWG 导出为 PDF 的 PlotToPdf 活动。不知道有没有办法导出PDF以外的其他格式。

我试图通过列出所有活动、workItems 和 AppPackages 在界面中找到可能的“命令”,但这些端点都没有返回任何有用的信息。

所以这是我的问题?

  1. 如何将 DWG 转换为非 Autodesk 格式?更具体地说,输出必须是我可以在不使用专有工具的情况下解释的开放格式。

  2. 如果第一个问题的答案是 Autodesk Forge API,我应该使用哪个?

  3. 如果我应该为此使用设计自动化 API,一旦提供的文档缺少详细信息,我在哪里可以找到补充文档?

【问题讨论】:

    标签: autodesk-forge autodesk-designautomation


    【解决方案1】:

    如果您没有(或不希望)运行 AutoCAD(或任何其他 DWG 兼容的桌面应用程序),我想说Design Automation API 是最佳选择。

    完成:Design Automation 包括一个在云端运行的 AutoCAD 实例,您可以在其中上传带有一系列命令(脚本)的 .DWG 和一个 .NET 自定义应用程序以执行更高级的例程。然后下载结果。默认情况下,AutoCAD 和 Design Automation 都不能导出为 GIS 格式(如您提到的那些),只能导出一些垂直格式,如 Civil 3D 或 Map 3D,但这些在 Design Automation 上不可用。正如您所提到的,Model Derivative API(通过 REST 调用)没有您需要的东西,它专注于元数据,而不是几何规范。

    设计自动化 API 支持相同的 commands AutoCAD Console does。对于 DXF 创建,您可以使用 DXFOUT 命令,您的脚本将类似于(未测试):

    FILEDIA
    0
    DXFOUT
    outputfilename.dxf
    QUIT
    

    根据comment,仅转换为 .DXF 需要付出巨大的努力。我不熟悉其他库执行相同的任务。

    现在我不是 GIS 数据格式方面的专家,但您可以考虑从 .DWG 迁移到 .DXF,然后采用 like described here 的方法。

    【讨论】:

    • 是否有设计自动化 API 接受的命令列表?例如,将 DWG 转换为 DXF 的命令是什么?我只会使用 API 将 DWG 转换为 DXF,考虑到 API 的每月成本以及开发和维护接口的时间,这意味着巨大的资源浪费。也就是说,是否有任何其他 Autodesk 许可解决方案可以以编程方式对其进行转换?瓦卢! :)
    • 只需添加从 DXF(或任何其他矢量开放格式)到 GIS 格式的转换不是问题,我在 NodeJS 上使用 GDAL 库,它工作正常。
    【解决方案2】:

    我不太明白您在 cmets 中提出的这一点:

    我只会使用 API 将 DWG 转换为 DXF,考虑到 API 的每月成本以及开发和维护接口的时间,这意味着巨大的资源浪费。

    你能澄清一下吗?你是说设计自动化的交易成本太高了吗?或者你是说部署 Augusto 给你的脚本相关的开发成本太高了?

    谢谢

    【讨论】:

    • 我的意思是,在每月订阅成本 ($) 之上的开发成本 ($) 对于简单更改文件格式的任务来说太高了。请记住,不涉及任何转换或某种处理。除了文件格式之外,输入 (DWG) 和输出 (DXF) 几乎相同。
    • (续)因此,API 对于我需要的东西来说并不划算。我的结论是购买 AutoCAD 许可证并使用其控制台将 DWG 文件转换为 DXF,它会产生相同的结果,但也需要提供环境。尽管如此,我相信它仍然是值得的。我希望这篇评论能澄清我所说的“资源浪费”的意思。
    • 是的。我得到了它。谢谢。
    【解决方案3】:

    现在,derivativeApi 是解决这个问题的方法:例如,您可以将此列表 (https://developer.autodesk.com/en/docs/model-derivative/v2/overview/supported-translations/) 中的任何输入格式转换为“中间格式”svf,并将 svf 文件转换为 obj。这也将创建一个可以单独下载的材料文件。我现在正在评估 forge api,现在可以从 dwg 文件中生成 obj。

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 2021-02-05
      • 2016-11-26
      • 2017-08-14
      • 2020-12-15
      • 2016-11-23
      • 2020-03-09
      • 2018-01-29
      • 2017-01-12
      相关资源
      最近更新 更多