最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

使用API為SOLIDWORKS自動(dòng)化創(chuàng)建C#插件

2023-04-09 17:48 作者:HongfengZhu  | 我要投稿
  • 在 Microsoft Visual Studio 中創(chuàng)建新項(xiàng)目。

  • 在 Visual C# 模板下選擇“類(lèi)庫(kù)”模板。指定項(xiàng)目的位置和名稱(chēng)。

在 Visual Studio 中創(chuàng)建新的類(lèi)庫(kù)項(xiàng)目
  • 添加對(duì) SolidWorks Interop 庫(kù)的引用:SolidWorks.Interop.sldworks.dll、SolidWorks.Interop.swconst.dll、SolidWorks.Interop.swpublish.dll?;ゲ僮鲙?kù)位于 SOLIDWORKS安裝文件夾\api\redist(面向框架 4.0 及更高版本的項(xiàng)目)和 SOLIDWORKS安裝文件夾\api\redist\CLR2(面向框架 2.0 和 3.5 的項(xiàng)目)。

對(duì)于面向 Framework 4.0 的項(xiàng)目,我建議將“嵌入互操作類(lèi)型”(https://learn.microsoft.com/zh-cn/dotnet/framework/interop/type-equivalence-and-embedded-interop-types)選項(xiàng)設(shè)置為 false。否則,由于類(lèi)型轉(zhuǎn)換問(wèn)題,在調(diào)用 SOLIDWORKS API 時(shí),應(yīng)用程序可能會(huì)出現(xiàn)不可預(yù)測(cè)的行為。

嵌入 SOLIDWORKS 互操作

在一些教程中,添加了對(duì)solidworkstools.dll庫(kù)的引用。此庫(kù)是可選的,本教程中不會(huì)使用它。

  • 添加一個(gè)公共類(lèi)(public class),并取一個(gè)對(duì)用戶(hù)友好的名稱(chēng)。這將是插件的主類(lèi)。此類(lèi)必須是公共的且 COM 可見(jiàn)。我建議使用ComVisible特性(https://learn.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.comvisibleattribute?view=netframework-4.7.2)將類(lèi)標(biāo)記為 COM 可見(jiàn)對(duì)象,并使用 Guid特性(https://learn.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.guidattribute?view=netframework-4.7.2)為插件類(lèi)顯式分配 COM GUID:

我建議不要在項(xiàng)目設(shè)置中選擇【使程序集 COM 可見(jiàn)】選項(xiàng),而只是如上所述將所需的類(lèi)標(biāo)記為 COM 可見(jiàn)。

使程序集COM可見(jiàn)標(biāo)志

插件 dll 必須使用 /codebase 標(biāo)志注冊(cè)。注冊(cè)項(xiàng)目設(shè)置中可用的 COM 互操作選項(xiàng)在注冊(cè)時(shí)不使用此選項(xiàng),因此不適合這種情況。而是添加生成后操作,如下所示:

發(fā)布生成事件以將 dll 注冊(cè)為 COM 對(duì)象

這將確保在插件項(xiàng)目的每個(gè)生成(build)上正確注冊(cè)。

  • 為了增強(qiáng)調(diào)試(debugging)體驗(yàn),我建議在項(xiàng)目設(shè)置中將【啟動(dòng)外部應(yīng)用程序】設(shè)置為 SOLIDWORKS程序的完整路徑。

在調(diào)試插件時(shí)將 SOLIDWORKS 作為外部程序啟動(dòng)

這將允許通過(guò)按綠色運(yùn)行按鈕或F5鍵啟動(dòng)SOLIDWORKS并從Visual Studio自動(dòng)附加調(diào)試器。

  • 需要將注冊(cè)表信息添加到 SOLIDWORKS 注冊(cè)表分支,使其對(duì)應(yīng)用程序可見(jiàn)。為了簡(jiǎn)化過(guò)程,當(dāng)dll注冊(cè)和取消注冊(cè)為COM對(duì)象時(shí),可以通過(guò)定義函數(shù)并使用 ComRegisterFunction特性和 ComUnregisterFunction特性修飾它們來(lái)自動(dòng)添加和刪除此信息。

  • 復(fù)制粘貼插件的代碼,如下所示并編譯項(xiàng)目。

  • 編譯時(shí),可能會(huì)顯示以下警告。

未簽名程序集編譯警告

可以忽略此警告。

  • 運(yùn)行 SOLIDWORKS,啟動(dòng)時(shí)將顯示 Hello World 消息框。

上面的代碼可以在xCAD.NET框架(https://xcad.xarial.com/)的幫助下簡(jiǎn)化,如下所示:


文章翻譯自https://www.codestack.net/

僅供學(xué)習(xí)使用。


使用API為SOLIDWORKS自動(dòng)化創(chuàng)建C#插件的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
汉沽区| 吉水县| 阳信县| 定日县| 望城县| 庆阳市| 固阳县| 阿尔山市| 玉田县| 贡觉县| 梁河县| 石屏县| 顺平县| 邛崃市| 微山县| 金门县| 霍林郭勒市| 桐梓县| 元谋县| 桐乡市| 芜湖县| 鄂温| 剑河县| 友谊县| 平利县| 泗水县| 佛山市| 清苑县| 临城县| 绥棱县| 天柱县| 会宁县| 定州市| 保德县| 东兴市| 苏尼特右旗| 长葛市| 长沙市| 佛坪县| 滦平县| 新龙县|