首先创建控制台应用
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(三维建模软件)应用程序。代码的执行逻辑如下:
- 首先使用
Process.GetProcessesByName
方法获取名为 “SLDWORKS” 的进程。 - 如果没有找到 SolidWorks 进程,则输出 “SW 没有打开”。
- 在没有打开的情况下,使用
SwApplicationFactory.Create
方法创建一个 SolidWorks 应用程序实例。 - 创建新的零件(
IPartDocument
)。 - 显示一个消息框,内容为 “Hello New SolidWorks”。
- 如果找到了 SolidWorks 进程,则从进程中获取 SolidWorks 应用程序实例。
- 显示一个消息框,内容为 “Hello SolidWorks”。
- 创建新的零件。