如何打开 Solidworks,运行 宏,以及从 vb.net 脚本关闭 Solidworks?

How to open Solidworks, run macro, and close Solidworks from vb.net script?

我在 solidworks 中 运行 设置了一个 VBA 宏,它停止工作并且要求我在每次 运行 循环迭代 478 次后重新启动 Solidworks。

在我的循环中,我打开一个 STEP 文件,验证它,然后将它保存为一个 STL 文件。 Solidworks 似乎很难在同一会话中打开超过固定数量的文件。

我的计划是在 Solidworks 之外编写一个 VB.NET 脚本,它可以自动重启应用程序而无需我干预每 X 次迭代,这样我就可以在没有我干预的情况下处理我拥有的数千个文件。

VB.NET 为我关闭和重新打开 Solidworks 的控制台脚本,只要达到 477 次迭代,然后从它停止的地方继续宏。

包含我的文件的文件夹已编号,例如

c:\data[=12=]\file.STEP
c:\data\file.STEP
c:\data\file.STEP
...
c:\data000\file.STEP

具体来说,我正在寻找执行以下操作的 VB.NET 代码:

  1. 打开 Solidworks
  2. 调用现有的宏脚本(可能设置一个变量,让我可以从我离开的地方继续处理数据)
  3. 关闭 Solidworks

1) 首先你需要打开solidworks和你要处理的文件: 打开程序集文档示例(VB.NET) http://help.solidworks.com/2017/english/api/sldworksapi/open_assembly_document_example_vbnet.htm

2) 您将需要 openMacro2 函数。 这是一个带有示例的 link https://forum.solidworks.com/thread/79502

3) 然后用 CloseAllDocuments 方法 http://help.solidworks.com/2017/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~CloseAllDocuments.html

4) 然后使用 ExitApp 方法退出 solidworks https://help.solidworks.com/2017/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~ExitApp.html

注意:如果您安装了 api 模块,您将在 apihelp.chm 文件中找到所有需要的示例,该文件默认位于: C:\程序Files\SOLIDWORKSCorp\SOLIDWORKS\api

因为你没有提到你正在使用的版本,所以我冒昧地选择了 2017 版。但是所有示例也应该适用于更高版本。如果您使用的是早期版本并且找不到 openDoc7,请查看 openDoc6 或 openDoc5...直到找到系统上可用的编号。