前面的文档中提到过Solidworks的自动化操作是通过其提供的API接口实现。本文我们将来认识第一个Solidworks的API对象--SldWorks。
如下图,我们打开了一个Solidworks的应用程序,这个我们看到的程序,就是SldWorks对象的一个实例。我们在软件界面中人工能够操作的菜单工具等功能绝大多数都能由SldWorks对象的方法或属性完成。
SldWorks是Solidworks API对象中最高层级的接口。此接口提供了一组常规函数,这些函数允许应用程序级操作,如创建、打开、关闭和退出文档、排列图标和窗口、更改活动文档以及创建属性定义。
使用CreateObject, GetObject, New或类似的函数创建或从进程中的Solidworks应用程序(Visual Basic或C++调度)获得SldWorks对象。
新建Solidworks程序对象
C#
SldWorks swApp;swApp = new SldWorks();swApp.Visible = true;//Solidworks已经打开,中间处理swApp.ExitApp(); swApp = null;
VB.NET
Dim swApp As SldWorks swApp = New SldWorks()'Solidworks已经打开,中间处理swApp.ExitAppswApp = Nothing
获取已经打开的Solidworks进程
C#
SldWorks swApp; bool ExistSwApp = false; foreach (Process thisproc in Process.GetProcessesByName("SLDWORKS")) { ExistSwApp = true; break; } if (ExistSwApp) { Type swtype = Type.GetTypeFromProgID("SldWorks.Application"); swApp = (SldWorks)Activator.CreateInstance(swtype); return swApp; } else { return null; }
VB.NET
Dim swApp As SldWorksswApp = CreateObject("SldWorks.Application")
如下图为本文的示例程序,源码可上我的Github下载。操作步骤可见文章《公众号源码Github分享库》