如何打开 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 代码:
- 打开 Solidworks
- 调用现有的宏脚本(可能设置一个变量,让我可以从我离开的地方继续处理数据)
- 关闭 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...直到找到系统上可用的编号。
我在 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 代码:
- 打开 Solidworks
- 调用现有的宏脚本(可能设置一个变量,让我可以从我离开的地方继续处理数据)
- 关闭 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...直到找到系统上可用的编号。