亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Autodesk官方最新的.NET教程(二)(C#版)

2019-11-18 19:18:12
字體:
來源:轉載
供稿:網友

選擇自 zenghf7878 的 Blog

第2章  .NET AutoCAD 向導及Editor類
        在第一章中,我們使用的是類庫模板,這樣就不得不手工加入acdbmdg. dll 和acmgd.dll這兩個引用。在這一章中,我們將使用AutoCAD托管C#應用程序向導來創建.NET工程,它會自動加入以上兩個引用。在開始本章之前,你首先得安裝ObjectARX向導(ObjectARX2006開發包的/utils/ObjARXWiz/ArxWizards.msi)。
 
1)    啟動Visual Studio .NET,選擇”文件>新建>工程”(File> New> PRoject)。在新建工程對話框中選擇工程類型為”Visual C#工程”,然后選擇“AutoCAD Managed CS Project application”模板。在工程名字框中輸入”Lab2”,然后選擇工程存放的位置。點擊確定按鈕,“AutoCAD Managed CSharp Application Wizard”對話框將會出現。因為我們不需要使用非托管代碼,所以不要選擇“Enable Unmanaged Debugging”項。“Registered Developer Symbol”將會使用你在安裝ObjectARX向導時輸入的值。單擊”finish”按鈕來創建工程。
2)    下面來看一下向導生成的工程。在解決方案瀏覽器中,你會看到acdbmgd 和 acmgd已經被引用了。在Class.cs文件中,“Autodesk.AutoCAD.Runtime”命名空間已被導入,工程使用“Registered Developer Symbol”的名字來命名缺省的公有類。向導還為類加入了一個CommandMethod屬性和一個函數,它們用于AutoCAD命令。
3)    在前一章中,我們使用一個“Autodesk.AutoCAD.EditorInput.Editor”類的實例對象在AutoCAD命令行上輸出文本。在這一章中,我們將使用這個類來提示用戶在AutoCAD圖形中選擇一個點,然后將用戶選擇的點的x,y,z值顯示出來。和前一章一樣,請導入Autodesk.AutoCAD.ApplicationServices 和 Autodesk.AutoCAD.EditorInput命名空間。
4)    把向導生成的CommandMethod屬性的值改為有意義一些的名字如“selectPoint”(函數的名字可以不用修改)。PromptPointOptions類用來設置提示字符串和其它的一些控制提示的選項。這個類的一個實例作為參數被傳入到Editor.GetPoint方法。在函數的開始,實例化這個類,設置字符串參數為“Select a point”。因為 Editor.GetPoint方法會返回一個PromptPointResult類的實例對象,所以我們也要把它實例化。
 
PromptPointOptions prPointOptions =
new PromptPointOptions("Select a point");
PromptPointResult prPointRes;
 
5)    接下來實例化一個Editor類的對象并使用參數為PromptPointOptions對象的GetPoint方法。用GetPoint方法的返回值來給上面聲明的PromptPointResult對象賦值。賦值好以后,我們可以測試PromptPointResult對象的狀態,如果不是OK就返回。
 
prPointRes = ed.GetPoint(prPointOptions);
       if (prPointRes.Status != PromptStatus.OK)
       {
           ed.WriteMessage("Error");
}
 
6)    如果PromptPointResult對象返回了一個有效的點,我們就可以使用WriteMessage方法把結果輸出到命令行。PromptPointResult.Value的ToString方法使輸出非常容易:
 
ed.WriteMessage("You selected point "
 prPointRes.Value.ToString)
 
7)    按F5來運行一個調試AutoCAD的進程。(注意:向導已經設置好用acad.exe來調試)在AutoCAD命令行中輸入NETLOAD,選擇Lab2.dll并打開。在命令行中輸入你起的命令名字(selectPoint)。在選擇點的提示下,單擊圖形中的任一點。如果一切正常的話,你可以在命令行中看到你所選的點的坐標值。在Class.cs文件的“ed.WriteMessage("Error");”行加入斷點,然后再次運行selectPoint命令。這一次,在選擇點的提示下按ESC鍵而不是選擇一個點。PromptPointResult對象的狀態就不是OK了,所以上面代碼中的if語句就會被執行,“ed.WriteMessage("Error")”;語句就會被調用。
8)    接下來我們將加入另外一個命令,它可以獲取兩個點之間的距離。向導沒有添加命令的功能,所以我們必須手工添加。在Class.cs文件的選擇點的函數(getPoint)下面添加一個名為getDistance的新命令。加入命令的方法請參考上一章的內容或本章的源代碼,這里就不列出了。使用CommandMethod屬性并使字符串參數為“getdistance”或其它類似的名字。在命令的函數中使用PromptDistanceOptions代替PromptPointOptions。當然GetDistance方法的返回值是一個PromptDoubleResult類的實例對象,所以請用PromptDoubleResult來代替PromptPointResult:
 
PromptDistanceOptions prDistOptions = new    
     PromptDistanceOptions("Find distance, select first point:");
          PromptDoubleResult prDistRes;
prDistRes = ed.GetDistance(prDistOptions);
 
9)       和前面的命令一樣,也可以測試PromptDoubleResult的狀態,然后用WriteMessage方法在命令行中顯示值。
 
if (prDistRes.Status != PromptStatus.OK)
         {
             ed.WriteMessage("Error");
         }
      else
         {
ed.WriteMessage("The distance is: " + prDistRes.Value.ToString());
   
  }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一区第二区| 国产亚洲精品综合一区91| 一本一本久久a久久精品牛牛影视| 久久久成人的性感天堂| 欧美专区中文字幕| 日产精品久久久一区二区福利| 欧美精品在线免费播放| 国产区亚洲区欧美区| 懂色av影视一区二区三区| 国产成人jvid在线播放| 国产精品三级美女白浆呻吟| 欧美疯狂性受xxxxx另类| 日韩经典一区二区三区| 久久精品一偷一偷国产| 国产欧美日韩亚洲精品| 久久久久日韩精品久久久男男| 欧美日韩福利视频| 久久久免费观看视频| 亚洲一级黄色片| 亚洲电影天堂av| 国产精品视频导航| 中文字幕亚洲一区在线观看| 国产日韩在线观看av| 国产精品久久久久久久久久新婚| 一本一本久久a久久精品综合小说| 91探花福利精品国产自产在线| 国产精品黄色av| 欧美一区二区大胆人体摄影专业网站| 亚洲欧美日韩高清| 欧美高清理论片| 国产亚洲aⅴaaaaaa毛片| 欧美日韩国产123| 国产一区二区日韩精品欧美精品| 欧美黑人性视频| 久久天堂av综合合色| 91久久国产精品| 精品国偷自产在线视频| 亚洲影院色无极综合| 国产日韩av高清| 亚洲成人在线网| 亚洲老司机av| 国产丝袜精品第一页| 久久久噜噜噜久久久| 亚洲精品久久7777777| 日韩av一卡二卡| 日韩在线资源网| 一个人看的www久久| 91精品国产自产在线观看永久| 欧美激情第99页| 日本伊人精品一区二区三区介绍| 黄网动漫久久久| 久久青草精品视频免费观看| 欧美精品一区三区| 欧美激情网友自拍| 欧美亚洲日本网站| 国产一区二区三区久久精品| 日韩精品中文字幕有码专区| 日韩在线观看免费全| 亚洲欧洲中文天堂| 亚洲福利视频网站| 亚洲成色777777在线观看影院| 中文欧美在线视频| 日韩av电影中文字幕| 国产一区深夜福利| 欧美精品一区二区三区国产精品| 日韩精品999| 欧美成人在线影院| 国产在线观看一区二区三区| 亚洲精品电影网站| 亚洲理论电影网| 久久人人爽人人爽人人片亚洲| 高清一区二区三区四区五区| 欧美性猛交xxxx乱大交极品| 成人av资源在线播放| 精品爽片免费看久久| 国产精品福利片| 久久天天躁狠狠躁夜夜av| 亚洲国产精品高清久久久| 久久精品国产免费观看| 午夜欧美大片免费观看| 日韩av电影在线免费播放| 国产精品∨欧美精品v日韩精品| 亚洲自拍偷拍色图| 久久亚洲国产精品| 国产免费一区视频观看免费| 亚洲一区二区三区视频| 黄色一区二区三区| 亚洲国产毛片完整版| 日韩欧美在线视频免费观看| 国产成人激情视频| 国产国产精品人在线视| 一区二区在线视频播放| 亚洲精品日韩在线| 国产日韩欧美日韩大片| 久久久精品久久久久| 欧美性受xxxx黑人猛交| 欧美超级免费视 在线| 中文字幕少妇一区二区三区| 91亚洲人电影| 久久久久久网站| 久久久伊人日本| 国产日韩在线精品av| 日韩男女性生活视频| 亚洲韩国欧洲国产日产av| 8090理伦午夜在线电影| 亚洲va码欧洲m码| 91精品国产高清自在线| 亚洲欧美日韩爽爽影院| 欧美黄网免费在线观看| 国产精品人成电影| 日韩精品久久久久久福利| 亚洲精品国产精品乱码不99按摩| 欧美专区在线视频| 奇门遁甲1982国语版免费观看高清| 亚洲老板91色精品久久| 成人免费在线视频网站| 国产精品美女主播| 久久久亚洲国产天美传媒修理工| 欧美激情亚洲激情| 欧美日韩国产一区二区三区| 精品无码久久久久久国产| 成人黄色免费在线观看| 欧美黑人性视频| 欧美性猛交xxxx乱大交极品| 欧美电影免费在线观看| 久久精品男人天堂| 亚洲专区国产精品| 国内精品视频久久| 97精品欧美一区二区三区| 久久av中文字幕| 国产精品91一区| 亚洲国产中文字幕在线观看| 亚洲精品日韩激情在线电影| 亚洲丁香婷深爱综合| 亚洲欧美综合另类中字| 九九热这里只有在线精品视| 日韩女优在线播放| 国产精品久久久一区| 欧美日韩国产综合新一区| 日韩精品在线观看一区| 久久69精品久久久久久久电影好| 久久精品99无色码中文字幕| 国产成人精品在线观看| 国产精品毛片a∨一区二区三区|国| 亚洲有声小说3d| 中文字幕精品一区二区精品| 久久亚洲一区二区三区四区五区高| 午夜精品久久久久久久男人的天堂| 91成人在线观看国产| 亚洲欧美日韩综合| 久久999免费视频| 欧美日韩成人在线播放| 日韩欧美在线网址| 国产精品吹潮在线观看| 国产成人精品电影久久久| 久久久久久久久久av| 久久这里只有精品99| 久久精品这里热有精品| 亚洲国产精品悠悠久久琪琪| 日av在线播放中文不卡| 精品国产一区二区三区在线观看| 欧美日韩成人在线播放| 国产精品男人的天堂| 日韩中文字幕视频在线|