溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#中ObjectARX .NET封裝類的訪問怎么實現(xiàn)

發(fā)布時間:2021-12-03 09:48:28 來源:億速云 閱讀:253 作者:iii 欄目:編程語言

這篇文章主要講解了“C#中ObjectARX .NET封裝類的訪問怎么實現(xiàn)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#中ObjectARX .NET封裝類的訪問怎么實現(xiàn)”吧!

1) 啟動Visual Studio.NET,選擇”文件>新建>工程”(File> New> Project)。在新建工程對話框中選擇工程類型為”Visual C#工程”,然后選擇”類庫”模板,在工程名字框中輸入”Lab1”,然后選擇工程存放的位置。點擊確定按鈕來創(chuàng)建工程。

2) 在工程的Class1.cs文件中,一個公有類“Class1”已經(jīng)被系統(tǒng)自動創(chuàng)建了。接下來向這個類加入命令。要加入命令,你必須使用AutoCAD .NET托管封裝類。這些托管封裝類包含在兩個托管模塊中。要加入對這兩個托管模塊的引用,請用鼠標(biāo)右鍵單擊”引用”然后選擇”添加引用”。在彈出的”添加引用”對話框中選擇”瀏覽”。在”選擇組件”對話框中,選擇AutoCAD 2006的安裝目錄(這里假定為C:\Program Files\AutoCAD 2006\),在這個目錄下找到“acdbmgd.dll”然后選擇并打開它。再一次選擇”瀏覽”,在AutoCAD 2006的安裝目錄下找到“acmgd.dll”并打開它。當(dāng)這兩個組件被加入后,請單擊”添加引用” 對話框中的”確定”按鈕。正如它們的名字所表示的,acdbmgd.dll包含ObjectDBX托管類,而acmgd.dll包含AutoCAD托管類。

3) 使用對象瀏覽器(Visual Studio.NET的”查看>其它窗口>對象瀏覽器”菜單項)來瀏覽加入的兩個托管模塊所提供的類。請展開“AutoCAD .NET Managed Wrapper”對象(在對象瀏覽器中顯示為acmgd),在整個教程中我們將使用這個對象中的類。在本章中,我們將使用 “Autodesk.AutoCAD.EditorInput.Editor”類的一個實例來在AutoCAD命令行中顯示文本。請再展開“ObjectDBX .NET Managed Wrapper” 對象(在對象瀏覽器中顯示為acdbmgd),這個對象中的類將被用來訪問和編輯AutoCAD圖形中的實體(這部分內(nèi)容將在以后的章節(jié)中介紹)。

4) 引用了ObjectARX .NET 封裝類后,我們就可以導(dǎo)入它們。在Class1類的聲明語句(位于Class1.cs文件的頂部的)之前,導(dǎo)入ApplicationServices, EditorInput 和 Runtime命名空間。

using Autodesk.AutoCAD.ApplicationServices;  using Autodesk.AutoCAD.EditorInput;  using Autodesk.AutoCAD.Runtime;

5) 接下來在類Class1中加入命令。要加入能在AutoCAD 中調(diào)用的命令,你必須使用“CommandMethod”屬性。這個屬性由Runtime命名空間提供。在類Class1中加入下列屬性和函數(shù)。

[CommandMethod("HelloWorld")]  public void HelloWorld()  {   }

6) 當(dāng)“HelloWorld”命令在AutoCAD中運行的時候,上面定義的HelloWorld函數(shù)就會被調(diào)用。在這個函數(shù)中,一個Editor類的實例將被創(chuàng)建。Editor類擁有訪問AutoCAD命令行的相關(guān)方法,它還包括選擇對象和其它一些重要的功能。AutoCAD當(dāng)前活動文檔的Editor對象可以使用Application類來訪問。當(dāng)Editor對象被創(chuàng)建后,你可以使用它的WriteMessage方法在命令行中顯示“Hello World”文本。在HelloWorld函數(shù)中加入以下代碼:

Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;  ed.WriteMessage("Hello World");

7) 要在AutoCAD中調(diào)試這個程序,你可以讓Visual Studio.NET啟動一個AutoCAD進程。在解決方案管理器中右鍵單擊“Lab1”,然后選擇”屬性”。在Lab1的屬性頁對話框中,選擇” 配置屬性>調(diào)試”。在”啟動”項中,選擇”調(diào)試模式”為”程序”,在”啟動程序”的右邊單擊省略號按鈕然后選擇AutoCAD 2006安裝目錄下的acad.exe。設(shè)置好以后,按F5來啟動一個AutoCAD進程。這樣就會編譯你的程序然后自動啟動AutoCAD,而當(dāng)編譯后有錯誤的時候就會停止。請修正你可能碰到的任何錯誤。

8) “NETLOAD”命令被用來裝載托管程序。在AutoCAD命令行中輸入NETLOAD,會出現(xiàn)”選擇.NET組件”的對話框。選擇上面生成的“l(fā)ab1.dll”然后打開它。

9) 在命令行中輸入“HellowWorld”。如果一切順利的話,命令行中將顯示“Hello World”文本。切換到Visual Studio.NET,在ed.WriteMessage(“Hello World”);語句處加入一個斷點。在AutoCAD中再次運行HelloWorld命令,你會注意到你可以跟蹤代碼的運行。Visul Studio.NET的”調(diào)試”菜單有好幾項可以用來跟蹤程序的運行。

如果有時間的話,請瀏覽一下CommandMethod屬性。你會發(fā)現(xiàn)它有七種不同的形式。在上面的例子中,我們使用了最簡單的形式,它只有一個輸入?yún)?shù)(命令的名字)。你可以使用其它的形式來控制命令的工作方式,例如你可以確定命令組的名字、全局和局部名字、命令標(biāo)識(命令如何來運行)等。

感謝各位的閱讀,以上就是“C#中ObjectARX .NET封裝類的訪問怎么實現(xiàn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C#中ObjectARX .NET封裝類的訪問怎么實現(xiàn)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI