我在solidworks中运行一个VBA宏,它停止工作,并要求我每次运行它时都要在478个循环之后重新启动Solidworks。
在我的循环中,我打开一个步骤文件,验证它,然后将它保存为一个STL文件。在同一会话中,Solidworks似乎很难打开超过固定数量的文件。
我的计划是在Solidworks之外编写一个VB.NET脚本,它可以在不需要干预的情况下自动重新启动应用程序,这样我就可以在没有干预的情况下处理数千个文件。
每当到达477个项目时,关闭并重新打开Solidworks的VB.NET控制台脚本,然后从它停止的地方继续宏。
带有我的文件的文件夹是编号的。
c:\data\0\file.STEP
c:\data\1\file.STEP
c:\data\2\file.STEP
...
c:\data\20000\file.STEP
具体来说,我正在寻找执行以下操作的VB.NET代码:
发布于 2019-08-18 06:39:52
1)首先,您需要打开solidworks和要处理的文件: (VB.NET) vbnet.htm
2)您将需要openMacro2函数。下面是一个带有示例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方法https://help.solidworks.com/2017/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~ExitApp.html退出solidworks
注意:如果安装了api模块,您将在默认情况下位于C:\Program \SOLIDWORKS Corp\SOLIDWORKS\api中的apihelp.chm文件中找到所有需要的示例。
我冒昧选择了2017版,因为你没有提到你正在使用的版本。但是所有的例子也应该适用于更晚的版本。如果您使用的是早期版本,并且无法找到例如openDoc7,那么请查看openDoc6或openDoc5.直到您找到系统上可用的号码为止。
https://stackoverflow.com/questions/57541047
复制相似问题