如何使用设计自动化 API 从上传的 AutoCAD 文件中提取元数据?

Posted

技术标签:

【中文标题】如何使用设计自动化 API 从上传的 AutoCAD 文件中提取元数据?【英文标题】:How can I use the Design Automation API to extract metadata from an uploaded AutoCAD file? 【发布时间】:2020-11-30 01:19:07 【问题描述】:

在与 Denis Grigor 的会面中,我获悉设计自动化 API 与模型衍生 API 具有相同的功能,可以从上传的 AutoCAD 文件中提取元数据。 Model Derivative 采用固定作业定价结构,对于大型文件更具成本效益,因为它按作业收费,而 Design Automation 按处理小时收费。

我的客户只会从较小的文件中提取数据,因此如果 Design Automation 可以做到这一点,那么使用 Model Derivative API 是没有意义的。

我不知道从哪里开始。如果我想上传 .dxf 或 .dwg 等 AutoCAD 文件并使用 Design Automation API 检索几何结果,我需要使用哪些特定 API?

【问题讨论】:

【参考方案1】:

无论您是为 AutoCAD、Inventor、Revit 还是任何其他“引擎”设置设计自动化流程,过程都几乎相同

在本地开发和调试插件/脚本(在您的情况下是 AutoCAD 插件) 将插件/脚本作为应用程序包上传到 Design Automation 服务 创建一个设计自动化活动 - 一个可重复使用的模板,用于您稍后要执行的任务,指定引擎、应用程序包、输入、输出等。 创建一个设计自动化工作项,基于具有特定输入/输出(通常只是可以从中下载输入文件和输出文件的 URL)的活动执行任务上传到)

这是一篇博客文章,其中包含一个使用 Inventor 设计自动化的简单示例 - 它采用 Inventor 插件生成自定义屏幕截图,并将其转换为稍后使用不同输入 Inventor 执行的设计自动化活动型号:https://forge.autodesk.com/blog/simple-introduction-design-automation-inventor.

本教程中也解释了相同的过程:https://learnforge.autodesk.io/#/tutorials/modifymodels。

【讨论】:

您的帖子暗示设计自动化 API 无法从上传的 AutoCAD 文件中提取数据,而 Autodesk 员工明确表示可以。你是说API本身没有内置能力,必须作为插件开发? 没错。设计自动化基本上是您在 Autodesk 服务器上运行您的自定义 Inventor/AutoCAD/Revit/3dsMax 逻辑的一种方式,因此您不需要特殊的硬件或许可。您的自定义逻辑做什么取决于您,无论您是修改设计、提取模型衍生服务未提取的元数据,还是其他任何事情。 抱歉,我的一位同事刚刚指出我可能误解了您的问题...如果您正在寻找的是提取 完全相同 元数据,由模型衍生服务提取,那么在设计自动化方面一点帮助。一些引擎——至少是 Inventor 和 AutoCAD——提供了一个“未记录的 API”,允许您将设计转换为 Forge Viewer 格式 (SVF)。然后,您可以稍微费力地解析这种格式(例如,使用github.com/petrbroz/forge-convert-utils),并获取元数据。 以下是使用 Inventor API 将装配导出为 SVF 格式的示例:github.com/akenson/da-update-user-params/blob/master/…。不过,我不知道有任何 AutoCAD 示例。 这是 AutoCAD 的示例:github.com/Autodesk-Forge/design.automation-custom-data-viewer

以上是关于如何使用设计自动化 API 从上传的 AutoCAD 文件中提取元数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 和 CURL 使用 api 在 github 上上传 zip

使用 Revit API 和设计自动化从模板文件创建项目文件

如何从php调用“asp.net api上传文件”

如何使用 Revit API 从上传到系统的 Revit 文件中获取所有元素

如何从 Google Drive 上传和下载文件(使用 Rest Api v3)

slack api : 上传到 slack 频道的文件