日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C#.NET教程:AutoCAD向?qū)Ъ癊ditor類

在***章中,我們使用的是類庫(kù)模板,這樣就不得不手工加入acdbmdg. dll 和acmgd.dll這兩個(gè)引用。在這一章中,我們將使用AutoCAD托管C#應(yīng)用程序向?qū)?lái)創(chuàng)建.NET工程,它會(huì)自動(dòng)加入以上兩個(gè)引用。在開始本章之前,你首先得安裝ObjectARX向?qū)?ObjectARX2006開發(fā)包的\utils\ObjARXWiz\ArxWizards.msi)。

成都創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)武鳴,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

1) 啟動(dòng)Visual Studio .NET,選擇”文件>新建>工程”(File> New> Project)。在新建工程對(duì)話框中選擇工程類型為”Visual C#工程”,然后選擇“AutoCAD Managed CS Project Application”模板。在工程名字框中輸入”Lab2”,然后選擇工程存放的位置。點(diǎn)擊確定按鈕,“AutoCAD Managed CSharp Application Wizard”對(duì)話框?qū)?huì)出現(xiàn)。因?yàn)槲覀儾恍枰褂梅峭泄艽a,所以不要選擇“Enable Unmanaged Debugging”項(xiàng)。“Registered Developer Symbol”將會(huì)使用你在安裝ObjectARX向?qū)r(shí)輸入的值。單擊”finish”按鈕來(lái)創(chuàng)建工程。

2) 下面來(lái)看一下向?qū)傻墓こ?。在解決方案瀏覽器中,你會(huì)看到acdbmgd 和 acmgd已經(jīng)被引用了。在Class.cs文件中,“Autodesk.AutoCAD.Runtime”命名空間已被導(dǎo)入,工程使用“Registered Developer Symbol”的名字來(lái)命名缺省的公有類。向?qū)н€為類加入了一個(gè)CommandMethod屬性和一個(gè)函數(shù),它們用于AutoCAD命令。

3) 在前一章中,我們使用一個(gè)“Autodesk.AutoCAD.EditorInput.Editor”類的實(shí)例對(duì)象在AutoCAD命令行上輸出文本。在這一章中,我們將使用這個(gè)類來(lái)提示用戶在AutoCAD圖形中選擇一個(gè)點(diǎn),然后將用戶選擇的點(diǎn)的x,y,z值顯示出來(lái)。和前一章一樣,請(qǐng)導(dǎo)入Autodesk.AutoCAD.ApplicationServices 和 Autodesk.AutoCAD.EditorInput命名空間。

4) 把向?qū)傻腃ommandMethod屬性的值改為有意義一些的名字如“selectPoint”(函數(shù)的名字可以不用修改)。PromptPointOptions類用來(lái)設(shè)置提示字符串和其它的一些控制提示的選項(xiàng)。這個(gè)類的一個(gè)實(shí)例作為參數(shù)被傳入到Editor.GetPoint方法。在函數(shù)的開始,實(shí)例化這個(gè)類,設(shè)置字符串參數(shù)為“Select a point”。因?yàn)?Editor.GetPoint方法會(huì)返回一個(gè)PromptPointResult類的實(shí)例對(duì)象,所以我們也要把它實(shí)例化。

  
 
 
  1. PromptPointOptions prPointOptions =
  2. new PromptPointOptions("Select a point");
  3. PromptPointResult prPointRes;

5) 接下來(lái)實(shí)例化一個(gè)Editor類的對(duì)象并使用參數(shù)為PromptPointOptions對(duì)象的GetPoint方法。用GetPoint方法的返回值來(lái)給上面聲明的PromptPointResult對(duì)象賦值。賦值好以后,我們可以測(cè)試PromptPointResult對(duì)象的狀態(tài),如果不是OK就返回。

  
 
 
  1. prPointRes = ed.GetPoint(prPointOptions);
  2. if (prPointRes.Status != PromptStatus.OK)
  3. {
  4. ed.WriteMessage("Error");
  5. }

6) 如果PromptPointResult對(duì)象返回了一個(gè)有效的點(diǎn),我們就可以使用WriteMessage方法把結(jié)果輸出到命令行。PromptPointResult.Value的ToString方法使輸出非常容易:

  
 
 
  1. ed.WriteMessage("You selected point "
  2. prPointRes.Value.ToString)

7) 按F5來(lái)運(yùn)行一個(gè)調(diào)試AutoCAD的進(jìn)程。(注意:向?qū)б呀?jīng)設(shè)置好用acad.exe來(lái)調(diào)試)在AutoCAD命令行中輸入NETLOAD,選擇Lab2.dll并打開。在命令行中輸入你起的命令名字(selectPoint)。在選擇點(diǎn)的提示下,單擊圖形中的任一點(diǎn)。如果一切正常的話,你可以在命令行中看到你所選的點(diǎn)的坐標(biāo)值。在Class.cs文件的“ed.WriteMessage("Error");”行加入斷點(diǎn),然后再次運(yùn)行selectPoint命令。這一次,在選擇點(diǎn)的提示下按ESC鍵而不是選擇一個(gè)點(diǎn)。PromptPointResult對(duì)象的狀態(tài)就不是OK了,所以上面代碼中的if語(yǔ)句就會(huì)被執(zhí)行,“ed.WriteMessage("Error")”;語(yǔ)句就會(huì)被調(diào)用。

8) 接下來(lái)我們將加入另外一個(gè)命令,它可以獲取兩個(gè)點(diǎn)之間的距離。向?qū)]有添加命令的功能,所以我們必須手工添加。在Class.cs文件的選擇點(diǎn)的函數(shù)(getPoint)下面添加一個(gè)名為getDistance的新命令。加入命令的方法請(qǐng)參考上一章的內(nèi)容或本章的源代碼,這里就不列出了。使用CommandMethod屬性并使字符串參數(shù)為“getdistance”或其它類似的名字。在命令的函數(shù)中使用PromptDistanceOptions代替PromptPointOptions。當(dāng)然GetDistance方法的返回值是一個(gè)PromptDoubleResult類的實(shí)例對(duì)象,所以請(qǐng)用PromptDoubleResult來(lái)代替PromptPointResult:

  
 
 
  1. PromptDistanceOptions prDistOptions = new
  2. PromptDistanceOptions("Find distance, select first point:");
  3. PromptDoubleResult prDistRes;
  4. prDistRes = ed.GetDistance(prDistOptions);

9) 和前面的命令一樣,也可以測(cè)試PromptDoubleResult的狀態(tài),然后用WriteMessage方法在命令行中顯示值。

  
 
 
  1. if (prDistRes.Status != PromptStatus.OK)
  2. {
  3. ed.WriteMessage("Error");
  4. }
  5. else
  6. {
  7. ed.WriteMessage("The distance is: " + prDistRes.Value.ToString());
  8. }

C#.net 教程中AutoCAD及Editor類的相關(guān)內(nèi)容就介紹到這里。


文章名稱:C#.NET教程:AutoCAD向?qū)Ъ癊ditor類
本文路徑:http://www.dlmjj.cn/article/dhijhpd.html