首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solidworks中存在多个实例时如何引用活动文档

Solidworks中存在多个实例时如何引用活动文档
EN

Stack Overflow用户
提问于 2018-01-31 08:03:42
回答 1查看 360关注 0票数 1

我在Solidworks 2017 Visual Studio Tools for Applications中使用以下代码。它是运行Microsoft Visual basic2005和Microsoft .NET Framework2.0.50727 SP2的Microsoft Visual Studio2005版本8.0.50727.42。

代码语言:javascript
复制
 Public Sub Reference_GetCurrentPartorAssembly(ByRef CurrentFile As SolidWorks.Interop.sldworks.ModelDoc2)

        CurrentFile = swApp.ActiveDoc

        If IsNothing(CurrentFile) Then Throw New Exception("Could not get reference to current part or assembly.")

    End Sub

一般来说,代码运行得很好。但是,有时会有额外的Solidworks实例运行,这些实例列在Windows任务管理器中的“后台进程”列表下。当发生这种情况时,我的代码抛出异常。要让我的代码在没有异常的情况下执行,我必须找到分散的solidworks后台进程,并使用任务管理器强制终止它。

(我不知道为什么会出现这些后台版本的Solidworks。)

我没有发现Solidworks关于ActiveDoc的文档是非常有用的:http://help.solidworks.com/2017/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~activedoc.html?verRedirect=1

我的问题是:我如何才能获得对当前文档的引用,而不必强制终止这些后台进程?我尝试过寻找其他方法来获取对活动文档的引用,但我找到的大多数代码示例都使用ActiveDoc。

EN

回答 1

Stack Overflow用户

发布于 2018-01-31 13:45:30

根据我的经验,solidworks的多个实例可以很好地工作,我不认为后台版本的solidworks会影响你的主实例。据我所知,您正在运行宏,而不是插件,所以请确保您是从solidworks的前台版本启动VSTS。也许你的宏是在一个明显没有活动文档的后台版本上执行的。

此外,我还会查看后台实例,如果您没有启动它们-没有理由让它们执行,请尝试在它们似乎试图确定原因的时刻记录下来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48532440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档