问题标签 [autodesk-inventor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
996 浏览

python - 如何在 python (pywin32) 中从 Inventor COM API 创建和使用对象

我正在尝试使用 Autodesk Inventor 的 COM API 创建一个 python 脚本,该脚本将在 Inventor 工程图中生成选择的 PDF,然后将以对我的问题不重要的特定方式处理这些 PDF。我正在使用 pywin32 访问 COM API,但我对 COM API 的使用方式和 pywin32 模块并不是特别熟悉。

这是我能够找到的 Inventor API 文档的范围(API 对象模型参考文档的图表),我无法找到列出的各个对象的文档。因此,我对这些对象的使用的理解基于我可以从在线示例中找到的内容(全部使用 VB 或 iLogic - Inventor 自己的简单内置语言)。

我遇到的一个大问题是创建我想使用的对象。下面的简化示例:

所以我不知道如何创建一个 DrawingPrintManager 来使用!您可以看到我在创建 DrawingDocument 对象时避免了这个问题,因为我只是碰巧知道我可以从应用程序本身获得一个 ActiveDocument 属性。

我也:

  • 不知道 DrawingPrintManager 的属性和方法的完整列表是什么,所以我不知道如何设置保存位置
  • 不确定我尝试使用的两个枚举实际上是在 DrawingPrintManager 中定义的,但是一旦我真正有一个 DrawingPrintManager 可以使用,我就可以弄清楚

如果在使用 COM API 或 pywin32 方面有更多经验的人可以帮助我,我将非常感激。如果有人可以将我指向 Inventor 的 API 对象的任何实际文档,那也是一样,这将使事情变得容易得多。

谢谢

编辑:发布后我几乎立即发现我可以通过访问drawing.PrintManager而不是drawing.DrawingPrintManager.

这是一种解决方法,但是因为它没有回答我关于如何在 pywin32 中创建对象的问题。

我前进的问题是找到可以访问 PrintScaleModeEnum 和 PrintSizeEnum 对象的位置,并找到如何设置打印 PDF 的保存位置(我认为这将是一个单独的问题,因为它可能与 COM API 无关)。

0 投票
2 回答
98 浏览

salesforce - 将 Salesforce 与 AutoDesk Inventor 集成

我们如何将 Salesforce 与 AutoDesk Inventor 集成?由于 Salesforce 是基于云的,而 Inventor 是基于桌面的应用程序,我们有哪些选项可以集成 Salesforce 和 Inventor?我们必须使用中间件吗?如果是,那么是哪一个?

0 投票
1 回答
813 浏览

stress-testing - 如何正确使用 Inventor 的应力分析软件来查找装配体中的扭转位移?

我一直在使用 Autodesk Inventor 中的应力分析环境来查找我一直在构建的底盘的扭转位移。我已经使用严格的配合来组装零件,包括面对面和齐平配合。我现在已经固定了组件的一端,并对 1000 in-lbs 的另一端施加了一个力矩,我认为这相当高,但我想看看一个可能会夸大位移的力矩会发生什么。我还使用自动接触工具在零件之间应用接触。有些联系人可能不正确,但我在这个环境中的知识有限,所以我使用了软件吐出的内容。

现在这就是我的问题所在。我实际上已经创建了这个程序集并将它放在实验室中。我进行了类似的测试,我将底盘的前部朝一个方向旋转,而另一端平放,因此基本上一端是固定的,另一端像软件中一样被扭转。我可以看到物理底盘肯定有扭转弯曲。但是,在软件中,我没有看到与实际底盘相同的位移水平。重申一下,当分析设置为实际时,运动就是它的样子而不夸大它,我看不到与真实事物相同的数量。

如果有人知道我可能做错了什么,我将不胜感激。附上软件图片,先谢谢了。如果需要将所有内容置于上下文中,请告诉我。左上角视图。 软件显示的位移。

0 投票
0 回答
123 浏览

autodesk-forge - 设计自动化 LogTrace onProgress 无法匹配自定义调用中的参数

我正在尝试将 .sat 文件导出为 .stp 格式的文件。我在直接导出到存储桶时遇到了麻烦(从 .ipt 到 .stp 没问题,但从 .sat 到 .stp 不起作用)。

最后,我尝试使用带有自定义数据的 LogTrace 通过字符串发送文件数据(步骤格式具有字符串内容并且已正确创建)。不幸的是,我无法使用自定义数据使回调 !ACESAPI:acesHttpOperation 工作(默认情况下它确实有效)。

这是我的工作项调用

这是日志响应的一部分

我认为来自 !ACESAPI:acesHttpOperation 的 API 调用存在问题。

我遵循 回调文档中的相同说明

提前致谢

0 投票
1 回答
78 浏览

autodesk-forge - 使用 Forge API 以编程方式从第三方文件重新计算精确的零件体积

我正在寻找在源文件中丢失模型体积时重新计算模型体积的最佳实践和性能指导建议。这是在我正在构建的 Web 应用程序的上下文中实现的:

  1. 以各种文件格式上传 3D 模型
  2. 使用 AutoDesk Viewer 与这些模型交互
  3. 在查看器旁边显示质量属性,例如体积和表面积(本文的主题

摘要级业务流程

背景

某些文件格式具有由创作应用程序计算并写入文件的非常可靠的卷信息。对于这些文件,我们可以通过 AutoDesk Viewer 访问卷作为属性。

然而,其他格式不携带体积信息- 至少不是以使用创作应用程序以外的工具可公开访问的方式(这里的主要示例是 SolidWorks)。这给我们留下了一个巨大的空白——我们需要使用文件中的内容重新计算模型的体积。

已知的解决方法和选项

AutoDesk 发表了一篇博文,详细介绍了一种使用查看器内模型的三角形来近似模型体积的方法。我认为这是一个理想的用例解决方案,可以用准确性来换取性能的提升——它将所有内容都集中在查看器中,使开发和后续维护更简单。然而,这个应用程序不能依赖于这样的近似值。我正在审查利用AutoDesk 设计自动化 API的选项:

  1. 启动一个 Inventor 实例
  2. 加载模型文件
  3. 依靠 iLogic 触发重新计算模型的零件属性(可能是这样的?
  4. 将该数据推送回我的 Web 应用程序

我需要帮助的地方

我的理解是AppBundleActivity是提前定义的,然后每个上传的模型都将作为工作项提交

我希望得到以下指导:

目前的想法

比如我在想我在源文件上传后的第一步是立即初始化两个并行进程:第一个为查看器翻译源文件,第二个启动Inventor并触发相关的下游进程得到体积。

我正在考虑的另一个选项是处理 Inventor 中的所有工作 - 并将 SVF 文件推送到包含体积数据的查看器。这种方法的优点是我的前端将只有一个体数据源(无论是否在原始文件中提供,它都将在丰富的 SVF 中)。

在理想情况下,我只能在源文件中缺少体积数据时调用设计自动化 API——但我只有在翻译文件并将其带回查看器后才知道这一点。鉴于我们的许多文件是在 SolidWorks 和其他高端专有 CAD 平台中创建的,我的工作假设是,我们将需要更频繁地填补体积空白。

0 投票
1 回答
226 浏览

autodesk-inventor - Autodesk Inventor 绘制/雕刻线条

我必须在 Autodesk Inventor 中为激光雕刻和切割的车身建模。

我如何设计一个带有雕刻表面的模型(简单的例如一个圆形雕刻)。我需要做一个介绍。

我尝试了什么:

  1. 用矩形(例如 20mm×20mm)绘制草图。
  2. 挤出 3 毫米
  3. 在矩形的表面上画了另一个草图。
  4. 在上面画一个圆圈(就是刻出来的形状)

这导致圆圈在程序集中可见,但在演示文稿中不可见。所以这不是一个解决方案,因为我需要看到演示文稿中的圆圈。所以在我看来这不是一个好方法。

谢谢你的帮助!

提博尔

0 投票
2 回答
731 浏览

vb.net - 重命名零件/装配的内部装配

我制作了一个程序,可以将文件放在程序集中或打开该文件并重命名它们并将它们放入正确的文件夹中。我想对小型装配体做同样的事情,但我无法让它工作,因为我需要在放置或打开它们之前重命名并将零件放置在正确的文件夹中。

我的代码是这样的;

这段代码的作用是: 1 你需要打开一个程序集(这不是我想要的)。2 它检查装配中有多少零件/装配。3 它为零件/装配体提供了一个新名称并将它们放在 te 文件夹中。4 主程序集被放置在一个文件夹中,并赋予了一个新名称。

我不想要的是这样的: 1 从“K:\Flenzen\BundNutPakking\DN10 19 - DIN11864-2.iam”获取零件/组件。2 重命名零件/装配体的 whitin 并将它们放在一个文件夹中。3 重命名主程序集并将其放在正确的文件夹中。(所有这些都无需打开文件) 4 放置您在步骤 4 中提供的新位置的主组件或打开它。

我希望你们中的一个有这方面的经验,可以帮助我!提前谢谢了。

再见,托马斯·德弗里斯

0 投票
1 回答
416 浏览

c# - Forge 中的外部 iLogic 规则

有没有办法将外部 iLogic 规则与 Forge Automation 结合使用?我有一个依赖于以下外部 iLogic 规则的 iLogic 规则:

我已将此文件 (MyiLogicFile.iLogicVb) 添加到我的包中,希望 Forge 能解决这个问题,但没有运气。

因此,我的问题是:

  • 是否有可能使用外部 iLogic 规则?
  • 如果是,我如何在 Forge 中获取它们?
0 投票
2 回答
104 浏览

c# - 在 Inventor 中禁用转义键

我有一个带有用户界面的插件(可停靠窗口中的用户控件),它启动一个需要很长时间才能在 Inventor 中运行的命令,我不希望它可能被用户按下转义键(ascii 27)打断. 我试过设置 UserInteractionDisabled = true,但看起来逃生键从网上滑过。还尝试订阅按键事件,但也没有运气。

谁能告诉我如何阻止/禁用转义键?

0 投票
1 回答
129 浏览

api - 加载多个 Autodesk Inventor 插件

我有两个 Inventor 插件,它们都基于相同的通用自定义库。通过其 .addin 文件加载一个插件时,一切正常。当使用两个 .addin 文件时,启动时只加载一个插件,另一个必须手动加载(尽管它在 AppManager 中可见),然后也可以正常工作。第二个插件的构造函数没有被调用,所以它的方法 activate() 不能被触发。我检查了 .addin 文件和 guid,一切似乎都正常。应该没问题,否则加载不会与单个 .addin 文件有关。任何帮助或提示将不胜感激!