vba - 如何从 vb.net 脚本打开 Solidworks、运行宏和关闭 Solidworks?

标签 vba vb.net windows-10 solidworks

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

2年前关闭。




Improve this question




我在solidworks 中运行一个VBA 宏,该宏停止工作,并且每次运行它时需要我在恰好478 次循环迭代之后重新启动Solidworks。

在我的循环中,我打开一个 STEP 文件,对其进行验证,然后将其保存为 STL 文件。似乎 Solidworks 正在努力在同一 session 中打开超过固定数量的文件。

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

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

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

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

    2) 您将需要 openMacro2 功能。
    这是一个带有示例的链接
    https://forum.solidworks.com/thread/79502

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

    4) 然后使用 退出solidworks退出App 方法
    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...,直到找到系统上可用的编号。

    关于vba - 如何从 vb.net 脚本打开 Solidworks、运行宏和关闭 Solidworks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57541047/

    相关文章:

    javascript - Polymer-CLI:$polymer build ...无法丑化文件... Bower_components/**/*

    vb.net - 如何将文件复制到剪贴板并将其粘贴到其他位置?

    html - html5 相机输入可以在 Windows 10 平板电脑上使用吗?

    excel - WorksheetFunction.countif 标准不起作用

    excel - 确保您的 VBA 代码兼容 64 位

    SQL 语句作为列表框 VB.NET 的数据源

    vb.net - 如何更改类列表中的值?

    c++ - Visual Studio 2017,智能感知不工作

    excel - VBA 中的十六进制颜色代码

    arrays - 检查数组 VBA 的值