无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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ó)家法律
界首市| 乌什县| 三明市| 平乡县| 饶阳县| 台东县| 大方县| 名山县| 抚顺市| 兰西县| 运城市| 同心县| 诸城市| 锦屏县| 鸡东县| 大港区| 四子王旗| 岑巩县| 无极县| 天长市| 岳阳市| 博野县| 鹰潭市| 湘西| 宿迁市| 永平县| 故城县| 达尔| 响水县| 新昌县| 信阳市| 启东市| 桦川县| 都匀市| 廊坊市| 英吉沙县| 辽宁省| 如东县| 榆社县| 桦川县| 拉孜县|