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

歡迎光臨散文網 會員登陸 & 注冊

為SOLIDWORKS API自動化創(chuàng)建C#獨立應用程序

2023-04-14 19:57 作者:HongfengZhu  | 我要投稿

在本教程中,我將演示如何使用 C# 和 Microsoft Visual Studio 從進程外(也稱為獨立)應用程序(例如 Windows Forms、Windows 控制臺)連接到 SOLIDWORKS 應用程序。

有關本文中討論的方法的更詳細說明,請閱讀《如何使用SOLIDWORKS API創(chuàng)建獨立(exe)應用程序》一文。

創(chuàng)建新項目

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

  • 打開 Visual Studio。

  • 啟動新項目:

在 Visual Studio 中創(chuàng)建新項目
  • 選擇項目模板。我建議從控制臺應用程序項目模板開始,因為它包含最少的預生成代碼:

選擇 C# 控制臺應用程序項目模板
  • 添加對 SolidWorks 互操作庫的引用。

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

向項目添加程序集引用

對于面向 Framework 4.0 的項目,我建議將“嵌入互操作類型”選項設置為 false。否則,由于類型轉換問題,在調用 SOLIDWORKS API 時,應用程序可能會出現不可預測的行為。

嵌入互操作程序集的選項

現在我們可以添加代碼以連接到 SOLIDWORKS 實例。

創(chuàng)建或連接到SOLIDWORKS實例(譯者注:推薦)

連接到 COM 服務器的最常見和最快速的方法可能是使用 Activator::CreateInstance方法。(https://learn.microsoft.com/zh-cn/dotnet/api/system.activator.createinstance)

此方法將從類型定義構造類型的實例。由于SOLIDWORKS應用程序已注冊為COM服務器,因此我們可以通過 Type::GetTypeFromProgID方法(https://learn.microsoft.com/zh-cn/dotnet/api/system.type.gettypefromprogid)從其程序標識符創(chuàng)建類型。請閱讀《如何使用SOLIDWORKS API創(chuàng)建獨立(exe)應用程序》一文,了解此方法的限制說明。

或者,您可以使用 Marshal::GetActiveObject方法(https://learn.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.marshal.getactiveobject)連接到SOLIDWORKS的活動(已啟動)會話。此方法將確保不會創(chuàng)建新的SOLIDWORKS實例,如果沒有要連接的正在運行的 SOLIDWORKS 會話,則會拋出異常。

通過 ROT 獲取正在運行的實例(譯者注:不推薦)

為了連接到已經運行的特定 SOLIDWORKS 會話或能夠創(chuàng)建多個會話,您可以使用正在運行的對象表 API。請閱讀《如何使用SOLIDWORKS API創(chuàng)建獨立(exe)應用程序》一文,了解有關此方法的更多詳細信息。

在上面的示例中,通過從SOLIDWORKS應用程序安裝路徑啟動新進程來啟動SOLIDWORKS的新會話。StartSwApp 函數需要 sldworks 的完整路徑.exe作為第一個參數,可選的超時(以秒為單位)作為第二個參數。超時將確保在進程無法啟動的情況下應用程序不會被鎖定。

您還可以使用異步調用,以便在SOLIDWORKS啟動時在應用程序中顯示一些進度指示:

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

僅供學習使用。??


為SOLIDWORKS API自動化創(chuàng)建C#獨立應用程序的評論 (共 條)

分享到微博請遵守國家法律
元朗区| 石渠县| 秦安县| 舞阳县| 普宁市| 攀枝花市| 聂拉木县| 大洼县| 伽师县| 嘉定区| 额济纳旗| 福贡县| 崇州市| 克什克腾旗| 丽江市| 包头市| 鹤岗市| 五河县| 高阳县| 云浮市| 祁门县| 休宁县| 苗栗县| 无为县| 民丰县| 沈丘县| 乐业县| 日照市| 富源县| 平邑县| 香港| 洞头县| 北川| 河南省| 内乡县| 阿荣旗| 界首市| 高安市| 阿合奇县| 双江| 平利县|