问题标签 [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.
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();
没有问题。
所以,左开进程的问题只出现在这个特定的组合中:
- 通过以下方式启动 Inventor
Activator.CreateInstance(InventorType);
- 用户手动退出 Inventor
左打开进程不再在运行对象表中,因此它不能再作为 COM 对象处理,并且它没有可见的 UI,这意味着它只能在 TaskManager 中被杀死。
使用所描述的“错误组合”,我什至尝试以GC.WaitForPendingFinalizers(); GC.Collect();
不同的组合以及 before 和/或 after 多次调用(我知道这很糟糕,但我只是在尝试一切)Marshal.ReleaseComObject(invApp); Marshal.FinalReleaseComObject(invApp);
。我什至尝试了一个最小的应用程序,它实际上什么都不做。请参阅下面的代码。
那么,是Activator.CreateInstance(InventorType);
什么导致了这种情况?有什么办法可以防止这种情况发生吗?或者这是 Inventor 特有的问题?
最小的应用程序示例:
autodesk-inventor - 注册 RxApprenticeServer dll Inventor api
我创建了一个独立的应用程序,它使用学徒服务器读取和写入 Inventor 文件。如何在不安装 Autodesk Inventor 视图的情况下仅注册 RxApprentice dll。
我已经尝试使用 regsv32 但我收到以下 错误
vba - Inventor VBA 保存文件
我在其中使用 Inventor 2022 和 VBA。我尝试使用 VBA 脚本(宏 - 按钮)保存文件。
这是代码,它包含在旧版本 Inventor 的文档中,但包含一些错误:
来源:https ://github.com/ADN-DevTech/Inventor-Training-Material (常见的Inventor Functions powerpoint演示)
我所有的解决方案都不正确!
我认为这是来自对象浏览器的重写代码,但不在Inventor 库中:
我还发现了这样的东西:
感谢您的任何帮助。
vba - 从 VBA IDE 运行 VBA 例程?
我想从 VBA 项目中获取例程列表,然后运行用户选择的宏。
下图显示了本机“宏”框。我想将此功能扩展到跨多个文档的多个宏。
我发现这个链接解决了问题的第一部分。现在我有了列表,如何按名称运行选定的例程?
autodesk-inventor - 查询 Inventor 事件的定义属性导致异常:未指定的错误(来自 HRESULT 的异常:0x80004005 (E_FAIL))
当我在检索事件的定义时遇到未指定的错误时,可能是什么原因。我有一个发生对象,我可以读取它的名称、可见、启用和抑制属性,但是当我查询定义属性时,我得到一个未指定的错误:异常:未指定的错误(来自 HRESULT 的异常:0x80004005(E_FAIL))
有什么想法可能是错的吗?
TIA,马克
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 代码。
autodesk-forge - 带有模型状态的 Inventor 设计自动化不起作用
我今天遇到了一个使用模型状态的程序集的错误。它由设计自动化处理。所以我只是做了一个简单的例子。
有一个Quader,一个圆柱体和一个球体。 样品背景
在模型状态和 iLogic 的帮助下,只显示其中一个。有一个参数具有三个选项:
根据选择的模型状态切换。这通过使用一些 iLogic 来工作:
这在本地有效,但在与伪造设计自动化一起使用时无效。我很高兴向您展示示例,但如果您想观看此视频: https ://youtu.be/a9YQxsZuobo
在一个更复杂的示例中,似乎有更多的东西无法正常工作,例如参数值没有更新或模型的位置错误。
browser - 如何在浏览器中使用 Inventor Viewer 查看 (*.asm,*.stp) 文件?
我想在浏览器中查看 3D 模型。我看到 Autodesk Forge 可以在浏览器中查看一些 3D 模型,但它不支持文件扩展名(.asm、 .ipt)。剂量 Antodesk 有另一种在浏览器中查看(.asm、 .stp)文件的方法吗?