在 Microsoft Visual Studio 中创建新项目。
在 Visual C# 模板下选择“类库”模板。指定项目的位置和名称。
(资料图片)
添加对 SolidWorks Interop 库的引用:SolidWorks.Interop.sldworks.dll、SolidWorks.Interop.swconst.dll、SolidWorks.Interop.swpublish.dll。互操作库位于 SOLIDWORKS安装文件夹\api\redist(面向框架 4.0 及更高版本的项目)和 SOLIDWORKS安装文件夹\api\redist\CLR2(面向框架 2.0 和 3.5 的项目)。
对于面向 Framework 4.0 的项目,我建议将“嵌入互操作类型”(https://learn.microsoft.com/zh-cn/dotnet/framework/interop/type-equivalence-and-embedded-interop-types)选项设置为 false。否则,由于类型转换问题,在调用 SOLIDWORKS API 时,应用程序可能会出现不可预测的行为。
在一些教程中,添加了对solidworkstools.dll库的引用。此库是可选的,本教程中不会使用它。
添加一个公共类(public class),并取一个对用户友好的名称。这将是插件的主类。此类必须是公共的且 COM 可见。我建议使用ComVisible特性(https://learn.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.comvisibleattribute?view=netframework-4.7.2)将类标记为 COM 可见对象,并使用 Guid特性(https://learn.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.guidattribute?view=netframework-4.7.2)为插件类显式分配 COM GUID:
我建议不要在项目设置中选择【使程序集 COM 可见】选项,而只是如上所述将所需的类标记为 COM 可见。
插件 dll 必须使用 /codebase 标志注册。注册项目设置中可用的 COM 互操作选项在注册时不使用此选项,因此不适合这种情况。而是添加生成后操作,如下所示:
这将确保在插件项目的每个生成(build)上正确注册。
为了增强调试(debugging)体验,我建议在项目设置中将【启动外部应用程序】设置为 SOLIDWORKS程序的完整路径。
这将允许通过按绿色运行按钮或F5键启动SOLIDWORKS并从Visual Studio自动附加调试器。
需要将注册表信息添加到 SOLIDWORKS 注册表分支,使其对应用程序可见。为了简化过程,当dll注册和取消注册为COM对象时,可以通过定义函数并使用 ComRegisterFunction特性和 ComUnregisterFunction特性修饰它们来自动添加和删除此信息。
复制粘贴插件的代码,如下所示并编译项目。
编译时,可能会显示以下警告。
可以忽略此警告。
运行 SOLIDWORKS,启动时将显示 Hello World 消息框。
上面的代码可以在xCAD.NET框架(https://xcad.xarial.com/)的帮助下简化,如下所示:
文章翻译自https://www.codestack.net/
仅供学习使用。