SolidWorks二次开发(6)调试与部署

149 阅读3分钟

调试是保障工具稳定性的关键,部署是实现工具规模化应用的前提。以下内容针对信息管理人员,明确调试与部署的核心流程与注意事项。

(一)调试:定位问题,保障工具稳定

  • VBA 宏调试

    • 工具:使用 SolidWorks 内置的 VBA 编辑器(Alt+F11),支持断点、单步执行、变量查看。

    • 常用技巧

      1. 设置断点:在关键代码行(如 “修改尺寸”“保存文件”)左侧点击,运行时会暂停,便于查看变量值(如尺寸是否正确修改)。
      2. 单步执行:按 F8 逐行执行代码,观察每一步操作是否符合预期,定位错误位置(如 “未找到模板文件” 可能是路径错误)。
      3. 错误捕获:使用On Error Resume Next(忽略错误)或On Error GoTo(跳转至错误处理代码),避免宏直接崩溃,例如:
      Sub GetDocInfo()
          On Error GoTo ErrorHandler
          Dim swModel As ModelDoc2
          Set swModel = Application.SldWorks.ActiveDoc
          MsgBox "文档尺寸:" & swModel.GetPartSize() ' 假设GetPartSize()是自定义方法,可能出错
          Exit Sub
      ErrorHandler:
          MsgBox "错误:" & Err.Description ' 提示错误信息,便于定位问题
      End Sub
      
  • C# / VB.NET调试

    • 工具:使用 Visual Studio,通过 “附加到进程” 调试 SolidWorks 插件或独立程序。

    • 常用技巧

      1. 附加进程:打开 SolidWorks 后,在 Visual Studio 中点击 “调试 - 附加到进程”,选择 “SLDWORKS.exe”,点击 “附加”,即可在代码中设置断点调试。
      2. 输出日志:使用Debug.WriteLine(调试模式)或Console.WriteLine(控制台程序)输出关键信息(如 “已读取 10 条参数数据”),便于跟踪流程。
      3. 异常捕获:使用Try-Catch块捕获异常,记录详细错误信息(如堆栈跟踪),便于后续分析,例如:
      try
      {
          swModel.SaveAs4(savePath, ...); // 可能出错的代码
      }
      catch (Exception ex)
      {
          // 记录错误信息到日志文件
          File.WriteAllText("error.log", $"时间:{DateTime.Now}\n错误:
          {ex.Message}\n堆栈:{ex.StackTrace}");
          swApp.SendMsgToUser("保存失败,请查看error.log文件。");
      }
      

(二)部署:简化流程,实现规模化应用

  • VBA 宏部署

    • 方式:将开发完成的.swb宏文件复制到企业共享文件夹(如 “\ 服务器 \SolidWorks 宏”),设计人员通过 SolidWorks “工具 - 宏 - 运行”,选择宏文件即可使用。
    • 优化建议:将常用宏添加到 SolidWorks 工具栏(“工具 - 自定义 - 命令 - 宏”),设计人员点击图标即可运行,提升使用便捷性。
  • 插件(Add-in)部署

    • 方式:通过 “注册表注册” 或 “SolidWorks 插件管理器” 加载,支持 “单机部署” 与 “企业批量部署”。

    • 详细步骤

      1. 单机部署

        • 复制插件 DLL 文件到本地目录(如C:\SolidWorksAddins)。
        • 打开 SolidWorks,点击 “工具 - 插件”,在弹出的对话框中点击 “添加”,选择 DLL 文件,勾选 “加载” 与 “启动时加载”,完成部署。
      2. 企业批量部署

        • 通过组策略(GPO)或企业部署工具(如 SCCM),将 DLL 文件分发到所有设计人员的电脑指定目录。
        • 编写注册表脚本(.reg文件),自动添加插件注册信息(如插件路径、CLSID),设计人员双击脚本即可完成注册,无需手动操作。
  • 独立应用程序(EXE)部署

    • 方式:将 EXE 文件与依赖库(如SolidWorks.Interop.sldworks.dllEPPlus.dll)打包,通过企业共享文件夹或安装程序(如使用 Inno Setup 制作安装包)分发。
    • 注意事项:确保目标机器安装对应版本的.NET Framework(如.NET Framework 4.8),可在安装程序中自动检测并安装,避免 “缺少依赖” 错误。