五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

為SOLIDWORKS創(chuàng)建VB.NET獨(dú)立(exe)應(yīng)用程序

2023-04-14 20:26 作者:HongfengZhu  | 我要投稿

在本教程中,我將演示如何使用 VB.NET 和Microsoft Visual Studio從進(jìn)程外(也稱為獨(dú)立)應(yīng)用程序(例如Windows Forms,Windows Console)連接到SOLIDWORKS應(yīng)用程序。

有關(guān)本文中討論的方法的更詳細(xì)說(shuō)明,請(qǐng)閱讀《如何使用SOLIDWORKS API創(chuàng)建獨(dú)立(exe)應(yīng)用程序》一文。

創(chuàng)建新項(xiàng)目

我將使用Microsoft Visual Studio開(kāi)發(fā)環(huán)境。您可以使用任何版本的 Visual Studio。相同的代碼適用于專業(yè)版、精簡(jiǎn)版或社區(qū)版。

  • 打開(kāi)Visual Studio。?

  • 啟動(dòng)新項(xiàng)目:

在Visual Studio中創(chuàng)建新的 VB.NET 項(xiàng)目
  • 選擇項(xiàng)目模板。我建議從控制臺(tái)應(yīng)用程序項(xiàng)目模板開(kāi)始,因?yàn)樗钌俚念A(yù)生成代碼:

選擇 VB.NET 控制臺(tái)應(yīng)用程序項(xiàng)目模板
  • 添加對(duì) SolidWorks 互操作庫(kù)的引用。

    互操作庫(kù)文件位于SOLIDWORKS安裝文件夾\api\redist\SolidWorks.Interop.sldworks.dll(用于面向 Framework 4.0 及更高版本的項(xiàng)目),SOLIDWORKS安裝文件夾\api\redist\CLR2\SolidWorks.Interop.sldworks.dll(用于面向框架 2.0 和 3.5 的項(xiàng)目)。

向項(xiàng)目添加程序集引用

對(duì)于面向 Framework 4.0 的項(xiàng)目,我建議將“嵌入互操作類型”選項(xiàng)設(shè)置為 false。否則,由于類型轉(zhuǎn)換問(wèn)題,在調(diào)用 SOLIDWORKS API 時(shí),應(yīng)用程序可能會(huì)出現(xiàn)不可預(yù)測(cè)的行為。?

嵌入互操作程序集的選項(xiàng)

現(xiàn)在我們可以添加代碼以連接到 SOLIDWORKS 實(shí)例。

創(chuàng)建或連接到SOLIDWORKS實(shí)例

連接到 COM 服務(wù)器的最常見(jiàn)和最快速的方法可能是使用CreateObject方法(https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.visualbasic.interaction.createobject)。替代方法是:Activator::CreateInstance(https://learn.microsoft.com/zh-cn/dotnet/api/system.activator.createinstance)和 GetObject(https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.visualbasic.interaction.getobject)。請(qǐng)注意,如果 GetObject 無(wú)法連接到活動(dòng)會(huì)話,它將創(chuàng)建新實(shí)例。

我建議使用 Activator::CreateInstance,因?yàn)檫@允許通過(guò) 2 個(gè)步驟連接到會(huì)話:

  • 由于 SOLIDWORKS 應(yīng)用程序已注冊(cè)為 COM 服務(wù)器,因此我們可以通過(guò) Type::GetTypeFromProgID方法(https://learn.microsoft.com/zh-cn/dotnet/api/system.type.gettypefromprogid)從其程序標(biāo)識(shí)符創(chuàng)建類型。

  • 從類型定義構(gòu)造類型的實(shí)例。

這種方法將在發(fā)生錯(cuò)誤時(shí)提供更好的故障排除選項(xiàng):如果第一步失敗,則意味著 COM 類未注冊(cè)或無(wú)法從注冊(cè)表訪問(wèn);否則,這可能表示存在某些權(quán)限問(wèn)題。請(qǐng)閱讀《如何使用SOLIDWORKS API創(chuàng)建獨(dú)立(exe)應(yīng)用程序》一文,了解此方法的限制說(shuō)明。

或者,您可以使用 Marshal::GetActiveObject方法(https://learn.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.marshal.getactiveobject)連接到SOLIDWORKS的活動(dòng)(已啟動(dòng))會(huì)話。與調(diào)用 GetObject 不同,此方法將確保不會(huì)創(chuàng)建新的 SOLIDWORKS 實(shí)例,并且如果沒(méi)有要連接的正在運(yùn)行的 SOLIDWORKS 會(huì)話,則會(huì)引發(fā)異常。

通過(guò) ROT 獲取正在運(yùn)行的實(shí)例

為了連接到已經(jīng)運(yùn)行的特定 SOLIDWORKS 會(huì)話或能夠創(chuàng)建多個(gè)會(huì)話,您可以使用正在運(yùn)行的對(duì)象表 API。請(qǐng)閱讀《如何使用SOLIDWORKS API創(chuàng)建獨(dú)立(exe)應(yīng)用程序》一文,了解有關(guān)此方法的更多詳細(xì)信息。

在上面的示例中,通過(guò)從SOLIDWORKS應(yīng)用程序安裝路徑啟動(dòng)新進(jìn)程來(lái)啟動(dòng)SOLIDWORKS的新會(huì)話。StartSwApp 函數(shù)需要 sldworks.exe的完整路徑作為第一個(gè)參數(shù),可選的timeout(超時(shí),以秒為單位)作為第二個(gè)參數(shù)。超時(shí)將確保在進(jìn)程無(wú)法啟動(dòng)的情況下應(yīng)用程序不會(huì)被鎖定。

您還可以使用異步調(diào)用,以便在SOLIDWORKS啟動(dòng)時(shí)在應(yīng)用程序中顯示一些進(jìn)度指示:


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

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


為SOLIDWORKS創(chuàng)建VB.NET獨(dú)立(exe)應(yīng)用程序的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
万载县| 喀喇| 平凉市| 绥滨县| 大田县| 库伦旗| 城固县| 龙陵县| 拉孜县| 佛冈县| 房产| 阿巴嘎旗| 酉阳| 勐海县| 潮州市| 灵璧县| 吉首市| 永新县| 长垣县| 乌兰浩特市| 舞阳县| 托克逊县| 松滋市| 托克托县| 尼木县| 政和县| 芜湖市| 鄂伦春自治旗| 静乐县| 定安县| 柏乡县| 应城市| 化隆| 宁陵县| 宁陕县| 镶黄旗| 额尔古纳市| 兰西县| 泾阳县| 乐安县| 陵水|