为 Solidworks 构建 C# 插件

Building a C# addin for Solidworks

在多个站点上似乎很复杂。使用 Visual Studio 2017 在 C# 中构建 Solidworks 插件的正确步骤是什么?

我想分享我使用 Visual Studio Professional 2017 和 Windows 10 为 Solidworks 2016 构建 C# 插件的经验。我希望我有这样的 post 来保存我的时间,所以我认为未来的用户可以在这方面找到帮助。

1.正在下载 visual Studio 的 C# 模板并安装它

我基本上遵循了 Solidworks 提供的步骤(需要 Solidworks 客户门户帐户),您可以找到 here

遇到的问题:exe 将被提取到 MSI 中,然后 MSI 将 运行。安装完成后,我在 Visual Studio 中找不到模板项目,在其文件夹 (C:\Users[UserName]\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#)

解决方案:我发现这个 post 建议使用 7zip 解压缩 MSI。果然,该解决方案对我有用,我能够将 zip 文件 (swcsharpaddin.zip) 复制到其各自的文件夹中。

2。使用 Visual Studio.

创建 C# Soliworks 项目

你可以找到Solidworks提供的信息here

一旦 .zip 文件位于 Visual Studio 的模板文件夹中,您在创建 C# 项目时应该有这个新的 option。

首先,如果您得到这个 error,您需要在创建项目后将其更改为项目的 .Net Framework 版本。为此,您可以进入“项目属性”并将框架更改为等于或高于其中一个 DLL 的版本。 (此处为 4.0.0.0)

其次,如果你得到这个 error,你需要包括 C# 参考。只需右键单击引用,添加引用,程序集,勾选 Microsot.CSharp.

第三,我个人不得不将项目平台目标更改为 x64,以便我的插件能够注册 COM。

完成这些步骤后,您就可以构建项目了。由于此模板默认为 "COM Visible" 和 "Register for COM interop",因此应在 Buid 上调用 swAddin.cs 中名为 RegisterFunction 的函数(在 Clean 上调用 UnregisterFunction)。请注意,如果您在此函数中放置断点,则不会命中断点。

然后您应该会在 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\AddIns[GUID] 中看到您的插件信息,其中包含 SwAddin.cs.[=19= 顶部提供的信息]

    /// <summary>
/// Summary description for SwCSharpAddin1.
/// </summary>
[Guid("f0a50f9b-7c7f-4d90-8fc2-15d5d34a3a9f"), ComVisible(true)]
[SwAddin(
    Description = "SwCSharpAddin1 description",
    Title = "SwCSharpAddin1",
    LoadAtStartup = true
    )]

Fluff : 您可以在项目中填写您的装配信息Properties/Application/AssemblyInformation。对于 GUID 部分,您可以使用此 site。不要采用与代码部分相同的 GUID,它们必须不同。如果我可以与您分享我提供版本号的方式:YY.MM.DD.VV 如(Year.Month.Day.Incremental 当天的版本)

3。调试插件

在项目 Properties/Debug 部分,您应该已经 "Start External Program" 检查了您的 Solidworks 路径。如果是这样,您现在就可以调试您的应用程序了。你可以找到一个例子 here 。您可以在 CreateCube 函数中放置一个断点,您将在单击 Solidworks 中的选项时立即命中它。

注意:我没有在此处包含任何代码。我宁愿你从模板开始。更容易理解。