SolidWorks二次开发(Hello SolidWorks)

首先创建控制台应用
NuGet安装Xarial.XCad.SolidWorks

using System;
using System.Diagnostics;
using System.Linq;
using Xarial.XCad.SolidWorks;
using Xarial.XCad.SolidWorks.Documents;

namespace ConnectToSW
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 获取名为 "SLDWORKS" 的进程
            var swProcess = Process.GetProcessesByName("SLDWORKS");
            if (!swProcess.Any())
            {
                Console.WriteLine("SW 没有打开");  // 如果没有找到进程,则输出 "SW 没有打开"

                // 创建 SolidWorks 应用程序
                var swApp = SwApplicationFactory.Create(Xarial.XCad.SolidWorks.Enums.SwVersion_e.Sw2018);

                // 创建新的零件
                IPartDocument part = swApp.Sw.INewPart();
                swApp.ShowMessageBox("Hello New SolidWorks");  // 显示消息框,内容为 "Hello New SolidWorks"
            }
            else
            {
                // 从进程获取 SolidWorks 应用程序
                var swApp = SwApplicationFactory.FromProcess(swProcess.FirstOrDefault());

                swApp.ShowMessageBox("Hello SolidWorks");  // 显示消息框,内容为 "Hello SolidWorks"
                swApp.Sw.NewPart();  // 创建新的零件
            }
        }
    }
}

这段代码的作用是连接到 SolidWorks(三维建模软件)应用程序。代码的执行逻辑如下:

  1. 首先使用 Process.GetProcessesByName 方法获取名为 “SLDWORKS” 的进程。
  2. 如果没有找到 SolidWorks 进程,则输出 “SW 没有打开”。
  3. 在没有打开的情况下,使用 SwApplicationFactory.Create 方法创建一个 SolidWorks 应用程序实例。
  4. 创建新的零件(IPartDocument)。
  5. 显示一个消息框,内容为 “Hello New SolidWorks”。
  6. 如果找到了 SolidWorks 进程,则从进程中获取 SolidWorks 应用程序实例。
  7. 显示一个消息框,内容为 “Hello SolidWorks”。
  8. 创建新的零件。

你可能感兴趣的:(SolidWorks二次开发,c#)