使用基於 C#_C# 的 AutoCAD 開發示例獲取 AutoCAD 的安裝位置


使用基於 C#_C# 的 AutoCAD 開發示例獲取 AutoCAD 的安裝位置

c#獲取autocad的安裝位置 打開 Visual Studio CodeC#

541038bacd16669d9ea6acc0997ca936.png

Hello World:訪問 ObjectARX .NET Wrapper 類

在本章中,我們將使用 Visual Studio .NET 創建一個新的類庫項目。該項目允許您創建一個可由 AutoCAD 加載的 .NET dll 文件。此 dll 文件向 AutoCAD 添加了一個名為“HelloWorld”的新命令。當用戶運行此命令時,文本“Hello World”將顯示在 AutoCAD 命令行上。

ff12c480f560d2e0c8eb3689938b235f.png

1) 啟動 Visual Studio .NET,[ファイル]>[新規]>[プロジェクト]選擇。[新しいプロジェクト]對話框,作為項目類型[Visual C# プロジェクト]並選擇[クラス ライブラリ]選擇模板,在工程名稱框中輸入“Lab1”,選擇工程保存的位置。[OK]單擊按鈕以創建項目。

2)在項目的Class1.cs文件中,系統自動創建了一個公共類“Class1”。然後將命令添加到此類。要添加命令,您必須使用 AutoCAD .NET 託管包裝類。這些託管包裝類包含在兩個託管模塊中。要添加對這兩個託管模塊的引用,[参照]右鍵單擊並[参照の追加]選擇。被展示[参照の追加]在對話框中,[参照]選擇。[コンポーネントの選択]在對話框中選擇AutoCAD 2006的安裝目錄(假設為C:Program FilesAutoCAD 2006),在該目錄下找到“acdbmgd.dll”,選中,打開。[参照]再次,在 AutoCAD 2006 安裝目錄中找到並打開“acmgd.dll”。 添加兩個組件後,[参照の追加]對話框的[OK]單擊按鈕。顧名思義,acdbmgd.dll 包含 ObjectDBX 託管類,acmgd.dll 包含 AutoCAD 託管類。

3)對象瀏覽器(Visual https://Studio.NET[表示]>[その他のウィンドウ]>[オブジェクト ブラウザー]菜單項)來引用兩個添加的託管模塊提供的類。 展開“AutoCAD .NET Managed Wrapper”對象(在對象瀏覽器中顯示為 acmgd)。我們將在整個教程中使用此類對象。在本章中,我們將使用“Autodesk.AutoCAD.EditorInput.Editor”類的實例在 AutoCAD 命令行上顯示文本。 展開“ObjectDBX .NET Managed Wrapper”對象(在對象瀏覽器中顯示為 acdbmgd)。此類對像用於訪問和編輯 AutoCAD 工程圖中的實體(這部分將在後面的章節中介紹)。

四)一旦引用了 ObjectARX .NET 包裝類,就可以導入它們。 在 Class1 類聲明語句(位於 Class1.cs 文件的頂部)之前,導入 Application Services、EditorInput 和 Runtime 命名空間。

使用 Autodesk.AutoCAD.ApplicationServices;

使用 Autodesk.AutoCAD.EditorInput;

使用 Autodesk.AutoCAD.Runtime;

五)然後將命令添加到 Class1 類。 要添加可在 AutoCAD 中調用的命令,您需要使用“命令方法”屬性。此屬性由運行時命名空間提供。將以下屬性和函數添加到 Class1 類。

[CommandMethod(“HelloWorld”)]

公共無效HelloWorld()

{ }

6)在 AutoCAD 中執行“HelloWorld”命令將調用上面定義的 HelloWorld 函數。此函數創建 Editor 類的實例。 Editor 類具有訪問 AutoCAD 命令行的方法,包括對象選擇和其他重要功能。 可以使用 Application 類訪問 AutoCAD 中當前活動文檔的 Editor 對象。 創建 Editor 對像後,您可以使用其 WriteMessage 方法在命令行上顯示“Hello World”文本。將以下代碼添加到 HelloWorld 函數。

已編輯=Application.DocumentManager.MdiActiveDocument.Editor;

ed.WriteMessage(“Hello World”);

7)要在 AutoCAD 中調試此程序,請在 Visual https://Studio.NET 中啟動 AutoCAD 進程。 在解決方案管理器中右鍵單擊 Lab1 並選擇[プロパティ]選擇。 實驗室1[プロパティ ページ]在對話框中,[構成プロパティ]>[デバッグ]選擇。 在 Startup 項中,選擇 Debug Mode 作為 Program,單擊 Startup Program 右側的省略號按鈕,然後選擇 AutoCAD 2006 安裝目錄中的 acad.exe。設置後,按 F5 啟動 AutoCAD 會話。這將編譯程序並自動啟動 AutoCAD 並在編譯後出現錯誤時停止。請更正可能出現的任何錯誤。

8)“NETLOAD”命令用於加載託管程序。 當我在 AutoCAD 命令行上鍵入 NETLOAD 時,[.NET コンポーネントの選択]出現一個對話框。選擇並打開上面生成的“lab1.dll”。

9)在命令行中輸入“HelloWorld”。如果一切順利,文本“Hello World”將出現在命令行上。 切換到 Visual Studio .NET 並在 ed.WriteMessage(“Hello World”); 語句上放置一個斷點。 在 AutoCAD 中再次運行 Hello World 命令,您將看到可以跟踪正在運行的代碼。 視覺 https://Studio.NET[デバッグ]該菜單有幾個可用於跟踪程序執行的項目。

76bf203ccc6d6fedf091e56ae6b77d83.png

有時間請閱讀

命令方法屬性。你會發現它有 7 種不同的形式。在上面的例子中,我使用了最簡單的形式,只有一個輸入參數(命令的名稱)。您可以使用其他形式來控制命令的行為。例如,您可以確定命令組的名稱、全局和本地名稱、命令標識符(如何執行命令)等等。

dbd0d659a942a76b36bc0db5a4d4da63.gif