国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:00:30
字體:
來源:轉載
供稿:網友
  第2章  .net autocad 向導及簡單用戶輸入        在第一章中,我們使用的是類庫模板,這樣就不得不手工加入acdbmdg. dll 和acmgd.dll這兩個引用。在這一章中,我們將使用autocad托管c#應用程序向導來創建.net工程,它會自動加入以上兩個引用。在開始本章之前,你首先得安裝objectarx向導(objectarx2006開發包的/utils/objarxwiz/arxwizards.msi)。   1)    啟動visual studio .net,選擇”文件>新建>工程”(file> new> project)。在新建工程對話框中選擇工程類型為”visual basic工程”,然后選擇“autocad managed vb project application”模板。在工程名字框中輸入”lab2”,然后選擇工程存放的位置。點擊確定按鈕,“autocad managed vb application wizard”對話框將會出現。因為我們不需要使用非托管代碼,所以不要選擇“enable unmanaged debugging”項?!皉egistered developer symbol”將會使用你在安裝objectarx向導時輸入的值。單擊”finish”按鈕來創建工程。2)    下面來看一下向導生成的工程。在解決方案瀏覽器中,你會看到acdbmgd 和 acmgd已經被引用了。在class.vb文件中,“autodesk.autocad.runtime”命名空間已被導入,工程使用“registered developer symbol”的名字來命名缺省的公有類。向導還為類加入了一個commandmethod屬性和一個函數,它們用于autocad命令。3)       在前一章中,我們使用一個“autodesk.autocad.editorinput.editor”類的實例對象在autocad命令行上輸出文本。在這一章中,我們將使用這個類來提示用戶在autocad圖形中選擇一個點,然后將用戶選擇的點的x,y,z值顯示出來。和前一章一樣,請導入autodesk.autocad.applicationservices 和 autodesk.autocad.editorinput命名空間。  imports autodesk.autocad.applicationservicesimports autodesk.autocad.editorinput 4)       把向導生成的commandmethod屬性的值改為有意義一些的名字如“selectpoint”(函數的名字可以不用修改)。promptpointoptions類用來設置提示字符串和其它的一些控制提示的選項。這個類的一個實例作為參數被傳入到editor.getpoint方法。在函數的開始,實例化這個類,設置字符串參數為“select a point”。因為 editor.getpoint方法會返回一個promptpointresult類的實例對象,所以我們也要把它實例化。      dim prpointoptions as promptpointoptions =new promptpointoptions("select a point")dim prpointres as promptpointresult 5)       接下來實例化一個editor類的對象并使用參數為promptpointoptions對象的getpoint方法。用getpoint方法的返回值來給上面聲明的promptpointresult對象賦值。賦值好以后,我們可以測試promptpointresult對象的狀態,如果不是ok就返回。 dim ed as editor = application.documentmanager.mdiactivedocument.editor           prpointres = ed.getpoint(prpointoptions)            if prpointres.status <> promptstatus.ok then                 return nothing           end if 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.vb文件的“return nothing”行加入斷點,然后再次運行selectpoint命令。這一次,在選擇點的提示下按esc鍵而不是選擇一個點。promptpointresult對象的狀態就不是ok了,所以上面代碼中的if語句就會被執行,“return nothing”語句就會被調用。8)       接下來我們將加入另外一個命令,它可以獲取兩個點之間的距離。向導沒有添加命令的功能,所以我們必須手工添加。在class.vb文件的選擇點的函數(getpoint)下面添加一個名為getdistance的新命令。加入命令的方法請參考上一章的內容或本章的源代碼,這里就不列出了。使用commandmethod屬性并使字符串參數為“getdistance”或其它類似的名字。在命令的函數中使用promptdistanceoptions代替promptpointoptions。當然getdistance方法的返回值是一個promptdoubleresult類的實例對象,所以請用promptdoubleresult來代替promptpointresult: dim prdistoptions as promptdistanceoptions = new promptdistanceoptions("find distance, select first point:")          dim prdistres as promptdoubleresult      prdistres = ed.getdistance(prdistoptions)  9)       和前面的命令一樣,也可以測試promptdoubleresult的狀態,然后用writemessage方法在命令行中顯示值。 if prdistres.status <> promptstatus.ok then              return nothing           end if            ed.writemessage("the distance is: " & prdistres.value.tostring)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都匀市| 绥江县| 南涧| 浮山县| 沾益县| 六安市| 吉安县| 车致| 习水县| 衢州市| 金秀| 招远市| 定州市| 涪陵区| 潞西市| 天峨县| 西充县| 开江县| 武鸣县| 隆昌县| 兰溪市| 兴城市| 昭通市| 安溪县| 集安市| 清水县| 临武县| 通河县| 聂拉木县| 凌云县| 和田市| 封开县| 通山县| 休宁县| 芒康县| 黔江区| 稻城县| 临夏县| 河津市| 新丰县| 米林县|