问题标签 [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 回答
71 浏览

c# - 使用 Activator.CreateInstance() 创建时未释放 Inventor COM 对象

我的问题是:如果 Autodesk Inventor 没有运行,我的应用程序(控制台应用程序)会创建一个新实例Activator.CreateInstance(InventorType);并将其用作 COM 对象。当我的应用程序没有退出 Inventor 而是让它保持打开状态并且用户稍后手动退出它时,TaskManager 中仍然有一个进程inventor.exe正在运行,它只能在 TaskManager 中被杀死。奇怪的是,只有将这两件事结合起来时,才会出现问题。每当我的应用程序退出 Inventor 并InventorApp.Quit();正确关闭并且没有任何进程处于打开状态时。

如果我的应用程序使用 Inventor 启动Process.Start(..);或用户在启动应用程序之前启动 Inventor,然后我的应用程序使用 Inventor 抓取,Marshal.GetActiveObject(ProgId);则无论应用程序或用户退出 Inventor 都没有问题。

如果我的应用程序使用 Inventor 启动Activator.CreateInstance(InventorType);然后保持 Inventor 打开,应用程序关闭然后重新启动,它使用 Inventor 抓取Marshal.GetActiveObject(..);然后退出 Inventor,InventorApp.Quit();没有问题。

所以,左开进程的问题只出现在这个特定的组合中:

  1. 通过以下方式启动 InventorActivator.CreateInstance(InventorType);
  2. 用户手动退出 Inventor

左打开进程不再在运行对象表中,因此它不能再作为 COM 对象处理,并且它没有可见的 UI,这意味着它只能在 TaskManager 中被杀死。

使用所描述的“错误组合”,我什至尝试以GC.WaitForPendingFinalizers(); GC.Collect();不同的组合以及 before 和/或 after 多次调用(我知道这很糟糕,但我只是在尝试一切)Marshal.ReleaseComObject(invApp); Marshal.FinalReleaseComObject(invApp);。我什至尝试了一个最小的应用程序,它实际上什么都不做。请参阅下面的代码。

那么,是Activator.CreateInstance(InventorType);什么导致了这种情况?有什么办法可以防止这种情况发生吗?或者这是 Inventor 特有的问题?

最小的应用程序示例:

0 投票
1 回答
29 浏览

autodesk-inventor - 注册 RxApprenticeServer dll Inventor api

我创建了一个独立的应用程序,它使用学徒服务器读取和写入 Inventor 文件。如何在不安装 Autodesk Inventor 视图的情况下仅注册 RxApprentice dll。

我已经尝试使用 regsv32 但我收到以下 错误

0 投票
1 回答
255 浏览

vba - Inventor VBA 保存文件

我在其中使用 Inventor 2022 和 VBA。我尝试使用 VBA 脚本(宏 - 按钮)保存文件。

这是代码,它包含在旧版本 Inventor 的文档中,但包含一些错误:

来源:https ://github.com/ADN-DevTech/Inventor-Training-Material (常见的Inventor Functions powerpoint演示)

我所有的解决方案都不正确!

我认为这是来自对象浏览器的重写代码,但不在Inventor 库中:

我还发现了这样的东西:

感谢您的任何帮助。

0 投票
1 回答
61 浏览

vba - 从 VBA IDE 运行 VBA 例程?

我想从 VBA 项目中获取例程列表,然后运行用户选择的宏。

下图显示了本机“宏”框。我想将此功能扩展到跨多个文档的多个宏。
在此处输入图像描述

我发现这个链接解决了问题的第一部分。现在我有了列表,如何按名称运行选定的例程?

0 投票
0 回答
43 浏览

autodesk-inventor - 查询 Inventor 事件的定义属性导致异常:未指定的错误(来自 HRESULT 的异常:0x80004005 (E_FAIL))

当我在检索事件的定义时遇到未指定的错误时,可能是什么原因。我有一个发生对象,我可以读取它的名称、可见、启用和抑制属性,但是当我查询定义属性时,我得到一个未指定的错误:异常:未指定的错误(来自 HRESULT 的异常:0x80004005(E_FAIL))

有什么想法可能是错的吗?

TIA,马克

0 投票
0 回答
50 浏览

vb.net - iLogic (VB.NET) - DistinctBy() 不是 System.Collections.Generic.IEnumerable(Of CustomClass) 的成员

我想在我的 VB.NET 代码中使用Enumerable.DistinctBy()Method *。但我遇到了'DistinctBy()' is not member of System.Collections.Generic.IEnumerable(Of CustomClass)错误。

这就是我的代码的样子:

当我用DistinctBy()组合替换时GroupBy()First()一切都按预期工作。

为什么可以使用GroupBy()andFirst()而不是DistinctBy()?我在那里缺少什么?

* 事实上,这是 Autodesk Inventor 的 iLogic 代码,但基本上(双关语)它是使用 eval() 运行的 VB.NET 代码。

0 投票
1 回答
96 浏览

autodesk-forge - 带有模型状态的 Inventor 设计自动化不起作用

我今天遇到了一个使用模型状态的程序集的错误。它由设计自动化处理。所以我只是做了一个简单的例子。

有一个Quader,一个圆柱体和一个球体。 样品背景

在模型状态和 iLogic 的帮助下,只显示其中一个。有一个参数具有三个选项:

范围

根据选择的模型状态切换。这通过使用一些 iLogic 来工作:

这在本地有效,但在与伪造设计自动化一起使用时无效。我很高兴向您展示示例,但如果您想观看此视频: https ://youtu.be/a9YQxsZuobo

在一个更复杂的示例中,似乎有更多的东西无法正常工作,例如参数值没有更新或模型的位置错误。

0 投票
0 回答
10 浏览

browser - 如何在浏览器中使用 Inventor Viewer 查看 (*.asm,*.stp) 文件?

我想在浏览器中查看 3D 模型。我看到 Autodesk Forge 可以在浏览器中查看一些 3D 模型,但它不支持文件扩展名(.asm、 .ipt)。剂量 Antodesk 有另一种在浏览器中查看(.asm、 .stp)文件的方法吗?

0 投票
1 回答
11 浏览

autodesk - 如何在发明者身上制作多个六角孔?

我正在尝试在发明者身上制作以下模式。除了绘制每个六边形并挤压它之外,还有更有效的方法吗?

在此处输入图像描述