我正在solidworks 中运行一个VBA 宏,该宏停止工作并要求我在每次运行它时经过478 次循环迭代后重新启动Solidworks。
在我的循环中,我打开一个 STEP 文件,验证它,然后将其另存为 STL 文件。 Solidworks 似乎很难在同一会话中打开超过固定数量的文件。
我的计划是在 Solidworks 之外编写一个 VB.NET 脚本,该脚本可以在每隔 X 次迭代时自动重新启动应用程序,而无需我的干预,因此我可以在无需我干预的情况下处理数千个文件。
每当达到 477 次迭代时,VB.NET 控制台脚本都会为我关闭并重新打开 Solidworks,然后从中断处继续执行宏。
包含我的文件的文件夹已编号,例如
c:\data\0\file.STEP
c:\data\1\file.STEP
c:\data\2\file.STEP
...
c:\data\20000\file.STEP
具体来说,我正在寻找执行以下操作的 VB.NET 代码:
- 打开Solidworks
- 调用现有的宏脚本(可能设置一个变量,让我继续处理数据的位置)
- 关闭 Solidworks
1)首先你需要打开solidworks和你要处理的文件:打开装配体文档示例 (VB.NET)
http://help.solidworks.com/2017/english/api/sldworksapi/open_ assembly_document_example_vbnet.htm http://help.solidworks.com/2017/english/api/sldworksapi/open_assembly_document_example_vbnet.htm
2)你将需要打开宏2功能。
这是一个带有示例的链接https://forum.solidworks.com/thread/79502 https://forum.solidworks.com/thread/79502
3)然后用关闭所有文档关闭所有文档 Method
http://help.solidworks.com/2017/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~CloseAllDocuments.html http://help.solidworks.com/2017/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~CloseAllDocuments.html
4) 然后退出solidworksExitApp Method
https://help.solidworks.com/2017/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~ExitApp.html https://help.solidworks.com/2017/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~ExitApp.html
注意:如果您安装了 api 模块,您将在 apihelp.chm 文件中找到所有需要的示例,该文件默认位于:
C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\api
我冒昧地选择了2017版本,因为你没有提到你正在使用的版本。但所有示例也应该适用于更高版本。如果您使用的是早期版本,并且找不到 openDoc7 等,请查看 openDoc6 或 openDoc5...,直到找到系统上可用的编号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)