您当前的位置:首页> 热点 >正文
使用API为SOLIDWORKS自动化创建C#插件|最新消息

2023-04-09 18:13:55     来源 : 哔哩哔哩

在 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/

仅供学习使用。

标签:

热门推荐

X 关闭

X 关闭