利用AutoLISP語言批量修改CASS下高程點的高程_第1頁
利用AutoLISP語言批量修改CASS下高程點的高程_第2頁
利用AutoLISP語言批量修改CASS下高程點的高程_第3頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、無本本科科畢畢業(yè)業(yè)論論文文( (設(shè)設(shè)計計) )題目:利用 AutoLISP 語言批量修改CASS 下高程點高程學(xué)院:班級:姓名:指導(dǎo)教師:職稱:完成日期:年月日無山西大同大學(xué)山西大同大學(xué)本 科 生 畢 業(yè) 設(shè)本 科 生 畢 業(yè) 設(shè) 計計中文題目:利用 AutoLISP 語言批量修改 CASS 下高程點高程英文題目:UsingAutoLISP language to modify the elevation ofelevation point in batch CASS學(xué)院:煤炭工程學(xué)院姓名:學(xué)號:專業(yè):班級:指導(dǎo)教師:職稱:完成日期:年月日無大同大學(xué)本科畢業(yè)論文(設(shè)計)原創(chuàng)性聲明大同大學(xué)本科畢

2、業(yè)論文(設(shè)計)原創(chuàng)性聲明作者聲明:作者聲明:我所呈交的畢業(yè)論文(設(shè)計)是在指導(dǎo)教師指導(dǎo)下獨立進行研究工作所取得的成果。除文中已經(jīng)標(biāo)明引用的內(nèi)容外,本論文不包含其他個人或集體已經(jīng)公開發(fā)表的研究成果。本聲明的法律結(jié)果由本人承擔(dān)。畢業(yè)論文(設(shè)計)作者簽名:簽字日期:年月日指導(dǎo)教師聲明:指導(dǎo)教師聲明:該生所呈交的畢業(yè)論文(設(shè)計)是在本人指導(dǎo)下獨立完成的,相關(guān)的檢測報告已審閱。除文中已經(jīng)標(biāo)明引用的內(nèi)容外,本論文不包含其他個人或集體已經(jīng)公開發(fā)表的研究成果。指導(dǎo)教師簽名:簽字日期:年月日無山西大同大學(xué)山西大同大學(xué) 2016 屆本科畢業(yè)論文屆本科畢業(yè)論文( (設(shè)計設(shè)計) )開題報告書開題報告書學(xué)院:系別:專業(yè)

3、(專業(yè)方向):論文題目利用 Auto LISP 語言批量修改 CASS 下高程點高程論文類型A 理論研究;B 應(yīng)用研究;C 應(yīng)用理論研究;D 產(chǎn)品設(shè)計;E 工程技術(shù)開發(fā);F 軟件開發(fā)與應(yīng)用;G 其它。完成方式A 理論研究;B 實驗;C 實習(xí)或?qū)嵺`;D 工程實踐;E 社會調(diào)查;F 畢業(yè)展演;G 其它。指導(dǎo)教師職稱學(xué)生姓名學(xué)號一、研究目的(選題的意義和預(yù)期應(yīng)用價值)南方 CASS 是基于 CAD 平臺, 進行二次開發(fā)專門為測繪成圖而設(shè)置的專業(yè)成圖系統(tǒng)。利用 CASS 軟件進行軟件成圖時, 有時會出現(xiàn)高程點出錯的情況, 在多次編輯不便重新成圖的情況下, 修正高程值則是一個必須的過程, 南方 CASS

4、 對于高程修改有一個專門的命令“changed” ,但一次只能修改一個點高程,當(dāng)修改的高程點較多時,則比較不方便。這時,通常做法是將點位坐標(biāo)高程導(dǎo)出到 Excel,在 Excel 上進行修改再導(dǎo)入 CASS,進行展繪。但這種辦法也不方便,在數(shù)據(jù)量大的情況下,工作量也很大。而運用 Auto LISP語言即 AutoCAD 的二次開發(fā)功能則能很好的解決這一問題。AutoCAD 的二次開發(fā)功能特別強大。AutoCAD 軟件二次開發(fā)是在現(xiàn)有軟件基礎(chǔ)上,為提高和完善軟件功能, 使之更符合用戶需求而對軟件所做的開發(fā)工作 ,目的是提高設(shè)計質(zhì)量和效率及充分發(fā)揮通用 AutoCAD 軟件價值。二次開發(fā)將應(yīng)用對象

5、的設(shè)計規(guī)范、構(gòu)造描述 、設(shè)計方法等以約束關(guān)系形式集成到通用 AutoCAD 平臺中去, 使應(yīng)用對象設(shè)計智能化、 集成化,也是將 AutoCAD 環(huán)境客戶化的基本手段 。 Auto LISP( List ProcessingLanguage) 是一種內(nèi)嵌于 AutoCAD 中表處理高級程序設(shè)計語言, 能夠直接在 AutoCAD內(nèi)部運行 ,是迄今人工智能領(lǐng)域中應(yīng)用最廣泛的程序設(shè)計語言之一 . Auto LISP 既具備一般高級語言的基本結(jié)構(gòu)和功能 ,又具有一般高級語言所沒有的強大圖形處理功能;Auto LISP 可直接調(diào)用幾乎全部的 AutoCAD 命令,它語法簡潔 ,表達能力強, 函數(shù)種類多 ,

6、程序控制結(jié)構(gòu)靈活 ;是進行 AutoCAD 二次開發(fā)的理想工具。運用 Auto LISP 語言進行 CASS 高程的批量修改簡單,快捷,不僅使得工作效率提高,而且可以更好的了解該語言,對 AutoCAD 的二次開發(fā)功能能夠更好的利用。無二、利用現(xiàn)狀1、 AutoCAD 及 Auto LISP 語言在規(guī)劃建筑紅線放線測量中的應(yīng)用(李玉潔2012)在 CAD 軟件上對建筑進行方向,距離的幾何定位后,需要為外業(yè)的放線工作提供幾何(坐標(biāo))資料,以及為施工建設(shè)單位提供樁位圖。利用 CAD 可以對放線點逐一查詢坐標(biāo)值,進行標(biāo)記,抄錄。但這種方法需要耗費大量的精力與時間去做重復(fù)的工作,且容易出錯。而利用 A

7、uto LISP 語言編程則可以解決這些問題,可以利用程序繪制坐標(biāo)點,進行放樣點位標(biāo)注,方便,簡潔。很大程度上提高作業(yè)效率。設(shè)計思路:(1)放樣點標(biāo)記,標(biāo)記相應(yīng)的點號,放在點號層,用模板指定的顏色標(biāo)記;(2) 將放樣點坐標(biāo)用線條引出, 標(biāo)記在選取點附近, 將線條與坐標(biāo)文字放在坐標(biāo)層,使用指定顏色;(3)為配合坐標(biāo)放樣,將所有選取的點位以點號的格式形成一個坐標(biāo)文件,設(shè)置文件名,與圖形文件放在同一目錄下,方便查詢管理。2、 如何在 AutoCAD 環(huán)境下利用 Auto LISP 語言建立符號庫 (孔令壯 鄧玉柳 2013)目前, 南方 CASS 軟件都附帶了標(biāo)準(zhǔn)的地籍圖符號庫, 符號庫的應(yīng)用不僅可

8、以減輕工作量,而且在很大程度上提高了工作效率,成為業(yè)內(nèi)制圖必不可少的工具。但符號庫只羅列了常用符號, 一些地域性, 專業(yè)性強的符號只能手工繪制。 本文介紹如何在 AutoCAD環(huán)境下利用 Auto LISP 語言建立符號庫。設(shè)計原則:依據(jù)國家測繪總局和總參謀部測繪局頒布的地形圖圖式保證附后一體,屬性關(guān)聯(lián),應(yīng)用方便,切實提高工作效率。設(shè)計思路: (1)設(shè)計符號庫(點,線,面狀符號) ;(2)建立圖式符號庫,賦予代碼,便于調(diào)用。不僅于此,Auto LISP 在繪圖中的應(yīng)用在很多領(lǐng)域都發(fā)揮了極大作用,例如建筑,公路,鐵路,煤礦開采等等。無三、可行性研究及成果預(yù)計在 CAD 中利用 Auto LISP

9、 語言進行二次開發(fā)已經(jīng)有很多成功的例子,在批量操作上也有很多實例值得借鑒,例如: 批量修改多義線寬如在需大量修改多義線寬的圖形中 ,用 petit 命令 ,一根一根地改線寬非常慢, 筆者用 Auto LISP 語言編一個函數(shù)程序, 完成一次性選定修改. 程序如下:( defun C : wpline( ); 統(tǒng)一修改線寬( setq s( ssget) w( getreal “w idth : ”) )( setq n( sslength s) n(- n 1) )( while(= n 0); 循環(huán)( setq n1( ssname s) ); 取當(dāng)前目標(biāo)名稱( if( k ( cdr( a

10、ssoc 0( entget n1) ) )“polyline”)( command “pedit”( cdr( assoc -1( entget n1) ) )“w” “w” “ x”) )( setq n(- n 1) ); 目標(biāo)個數(shù)減“1”) )所以對于利用 Auto LISP 語言批量修改 CASS 高程完全是可行的。利用 Auto LISP 語言編程修改高程,首先得了解該語言,Auto LISP 之所以能功能如此強大,都有賴功能函數(shù),其成員共約 200 個:1、一般性函數(shù) 170 個2、ADS 定義特殊函數(shù) 9 個3、配合 DCL 交談框設(shè)計函數(shù) 22 個那么掌握這些函數(shù),了解語法則

11、是必不可少的。因為是內(nèi)置語言,所以在 CAD 上加載該語言是很方便的,對于本課題,要達到修改高程注記,合理分配位置的效果。對于本次設(shè)計, 要達到的成果不僅僅是對高程點的批量修改操作, 還應(yīng)達到根據(jù)注記值來修改高程點的效果,這樣,這次設(shè)計才能算完成。無四、課題研究的主要方法、策略和步驟設(shè)計主要思路:(1)確定需要達到的效果,功能;(2)確定編程的進行思路;(3)選擇編程需要的代碼語句;(4)將程序功能分解,分步完成各個功能,最后進行整合;(5)對程序進行改進,完善。主要方法:(1)查找相關(guān)資料,整理資料;(2)依據(jù)設(shè)計要求和指導(dǎo)老師的提示選擇合適的代碼語句進行構(gòu)建;(3)將整個程序分解后一個一個

12、進行制作修改,在編譯器上做調(diào)試;(4)最主要的是了解 Auto LISP 語言的語法結(jié)構(gòu)及代碼五、參考文獻1 唐爭氣, 胡潤希. 基于 Auto Lisp 的局部高程點批量檢查與修改技術(shù)J. 電腦編程技巧與維護,2013(2):76-77.2 龔子楨, 花向紅, 尹相寶,等. 基于Auto LISP的高程點批量修改算法設(shè)計與實現(xiàn)J. 測繪通報,2011(4):41-43.3 郭秀娟, 范曉鷗. 基于 Auto LISP 的 AutoCAD 二次開發(fā)研究J. 吉林建筑工程學(xué)院學(xué)報, 2008,25(4):82-84.4 張廣偉. Excel、Word 與 CASS(AutoCAD)在測量繪圖中的

13、應(yīng)用J. 北京測繪, 2006(2):8-12.5 祁宇明, 曹巨江, 高文華. 基于 Autolisp 的二次開發(fā)參數(shù)化設(shè)計J. 陜西科技大學(xué)學(xué)報:自然科學(xué)版, 2006, 24(1):76-79.6 高紅巖. 南方 CASS7.0 軟件中關(guān)于批量修改高程注記的幾種方法J. 環(huán)球人文地理, 2015(4)7 Autolisp 基礎(chǔ)教程EB/OL六、指導(dǎo)教師意見指導(dǎo)教師簽字:年月日無大同大學(xué)本科畢業(yè)論文大同大學(xué)本科畢業(yè)論文( (設(shè)計設(shè)計) )中期檢查記錄表中期檢查記錄表(指導(dǎo)教師、學(xué)生用表)學(xué)院:專業(yè)(專業(yè)方向):畢業(yè)年度:論文(設(shè)計)題目:利用 Auto LISP 語言批量修改 CASS 下

14、高程點高程學(xué)生姓名學(xué)號指導(dǎo)教師職稱學(xué)位綜述學(xué)生在論文(設(shè)計)完成過程中的研究態(tài)度、 與指導(dǎo)教師分時段的聯(lián)系情況及對存在問題的解決情況。學(xué)生簽字:指導(dǎo)教師簽字:年月日年月日無山西大同大學(xué)山西大同大學(xué) 20162016 屆本科畢業(yè)論文屆本科畢業(yè)論文( (設(shè)計設(shè)計) )指導(dǎo)教師評分表指導(dǎo)教師評分表(指導(dǎo)教師用表)學(xué)院:專業(yè)(專業(yè)方向):畢業(yè)年度:論文(設(shè)計)題目:利用 Auto LISP 語言批量修改 CASS 下高程點高程學(xué)生姓名學(xué)號指導(dǎo)教師職稱學(xué)位指導(dǎo)教師評語:指導(dǎo)教師簽字:年月日評價項目ABCDE寫作過程01寫作過程中的認(rèn)真程度02寫作過程中,進度掌握情況選題質(zhì)量03選題與專業(yè)培養(yǎng)目標(biāo)相符情況

15、04選題體現(xiàn)專業(yè)特點情況05選題體現(xiàn)三基的要求情況論文質(zhì)量06知識綜合運用能力07結(jié)構(gòu)、方案設(shè)計、應(yīng)用價值08寫作規(guī)范情況指導(dǎo)教師評定成績優(yōu)秀良好中等及格不及格畢業(yè)論文(設(shè)計)分工情況:(多人合作時填寫,包括本人研究的內(nèi)容及其在課題中所占比例)評定成績參考:優(yōu)秀為 7 項 A,另一項為 B;良好為 6 項 B 或 A,其它至少為 B;中等為 5 項 B 或 A,其它至少為 C;及格為 4 項 B 或 A,其它至少為 D;不及格為 4 項為 E。無山西大同大學(xué)山西大同大學(xué) 20162016 屆本科畢業(yè)論文屆本科畢業(yè)論文( (設(shè)計設(shè)計) )評閱人評分表評閱人評分表(評閱人用表)學(xué)院:煤炭工程學(xué)院專

16、業(yè)(專業(yè)方向): 測繪工程畢業(yè)年度: 2016論文(設(shè)計)題目:利用 Auto LISP 語言批量修改 CASS 下高程點高程學(xué)生姓名學(xué)號指導(dǎo)教師職稱評 閱 人職稱評閱人評鑒評閱人評鑒評審項目指標(biāo)ABCDE選題質(zhì)量01選題與專業(yè)培養(yǎng)目標(biāo)相符情況02選題體現(xiàn)專業(yè)特點情況能力水平03綜合運用知識能力04運用資料文獻能力05研究方案設(shè)計能力論文水平06論點論據(jù)、語言表達07整體結(jié)構(gòu)、應(yīng)用價值08寫作規(guī)范情況評閱人評定成績優(yōu)秀良好中等及格不及格評定成績參考:優(yōu)秀為 7 項 A,另一項為 B;良好為 6 項 B 或 A,其它至少為 B;中等為 5 項 B 或 A,其它至少為 C;及格為 4 項 B 或

17、A,其它至少為 D;不及格為 4 項為 E。無山西大同大學(xué)山西大同大學(xué) 20162016 屆本科畢業(yè)生論文屆本科畢業(yè)生論文( (設(shè)計設(shè)計) )答辯記錄表答辯記錄表(答辯組用表)學(xué)院:專業(yè)(專業(yè)方向):姓名:學(xué)號:論文題目利用 Auto LISP 語言批量修改 CASS 下高程點高程答辯委員會主任(或組長)職稱答辯委員會秘書答辯委員會成員答辯記錄(包含答辯委員提出的問題,學(xué)生回答情況等)記錄人簽字:答辯委員會主任(答辯小組組長)(簽字):年月日年月日無山西大同大學(xué)山西大同大學(xué) 20162016 屆本科畢業(yè)論文屆本科畢業(yè)論文( (設(shè)計設(shè)計) )答辯評分表答辯評分表(答辯組用表)學(xué)院:專業(yè)(專業(yè)方向

18、):畢業(yè)年度:論文(設(shè)計)題目:利用 Auto LISP 語言批量修改 CASS 下高程點高程學(xué)生姓名學(xué)號指導(dǎo)教師評分指導(dǎo)教師職稱評閱人評分答辯委員會/答辯小組名單姓名性別職稱學(xué)位答辯小組職務(wù)男男女答辯委員會答辯委員會( (答辯小組答辯小組) )評鑒評鑒評審項目指標(biāo)ABCDE論文評價01選題與專業(yè)培養(yǎng)目標(biāo)相符情況02選題體現(xiàn)專業(yè)特點情況03綜合運用知識能力04運用資料文獻能力05研究方案設(shè)計能力06論點論據(jù)、語言表達07整體結(jié)構(gòu)、應(yīng)用價值08寫作規(guī)范情況答辯表現(xiàn)09自述情況10答辯過程答辯委員會(答辯小組)評定成績優(yōu)秀良好中等及格不及格畢業(yè)論文(設(shè)計)最終得分答辯委員會主任(答辯小組組長)簽字

19、:年月日評定成績參考:優(yōu)秀為 9 項 A,另一項為 B;良好為 8 項 B 或 A,其它至少為 B;中等為 7 項 B 或 A,其它至少為 C;及格為 6 項 B 或 A,其它至少為 D;不及格為 5 項為 E。無摘摘要要CASS 軟件是基于 CAD 平臺開發(fā)的一套集地形、地籍、空間數(shù)據(jù)建庫、工程應(yīng)用、土石方算量等功能為一體的軟件系統(tǒng)。本次設(shè)計所用到的 Auto LISP 語言工具是在 CAD 平臺上加載運行的,所以批量修改 CASS 下高程數(shù)據(jù)就要涉及到 AutoCAD的二次開發(fā)。針對 AutoCAD 的二次開發(fā), Auto LISP 語言一直是一個強有力的工具。 利用 AutoLISP語言

20、編寫的一些小程序可以與Auto CAD很好的結(jié)合起來, 從而有效的提高AutoCAD 的圖形處理功能。本文針對 CASS 下地形圖高程數(shù)據(jù)存在的一些高程缺陷、注記與高程點 Z 值不符、 顯示或范圍內(nèi)批量修改問題, 設(shè)計了多邊形內(nèi)匹配高程點和注記以及角度匹配高程點與注記且批量修改 CASS 地圖形中高程值局部錯誤的算法,利用 Auto LISP 語言編寫該算法,并在 AutoCAD 中實現(xiàn)該算法以解決 CASS 下導(dǎo)入高程點錯誤的情況。關(guān)鍵詞: CASS;Auto LISP;批量修改;AutoCAD 二次開發(fā);匹配無ABSTRACTCASS software is based on CAD pl

21、atform for the development of a set of terrain,cadastral spatial database building, engineering applications, count the amount ofearthwork and other functions into one software system. The Auto LISP language designtool used is loaded on CAD platforms, so the bulk edits under CASS elevation data woul

22、drelate toAutoCAD secondary development.For the secondary development of AutoCAD, Auto LISP language has always been apowerful tool. Use Auto LISP language written small programs with Auto CAD can be agood combination, so as to effectively improve Auto CAD graphics capabilities. In thispaper topogra

23、phic map elevation data exists under CASS some elevation flaws, notediscrepancies credited with elevation point Z value, display or bulk modifications withinthe scope of the problem, design a polygon matching elevation points, and annotation andangle to match the elevation point annotation and bulk

24、editing CASS value of the localground elevation drawing the wrong algorithm, using Auto LISP language of the algorithm,and implementation of the algorithm in AutoCAD to solve the case of CASS importelevation points wrong.KeywordsKeywords: CASS; autolisp; bulk edits;autocad secondary development; mat

25、ch無目目錄錄1 緒論緒論.1 12 CASSCASS 軟件及軟件及 AutoCADAutoCAD 的二次開發(fā)介紹的二次開發(fā)介紹.2 22.1 CASS 軟件簡介.22.2 AutoCAD 二次開發(fā).22.2.1 二次開發(fā)的目的.22.2.2 二次開發(fā)的工具.32.2.3 二次開發(fā)的主要內(nèi)容.33 AutoAuto LISPLISP 語言概述語言概述.5 53.1 Auto LISP 語言簡介.53.2 Auto LISP 語言的特點.53.3 本次設(shè)計的主要 Auto LISP 函數(shù)介紹.63.3.1 表處理函數(shù).73.3.2 判斷函數(shù).83.3.3 選擇集創(chuàng)建.103.3.4 AutoCA

26、D 函數(shù).113.4 Auto LISP 語言的使用案例.123.4.1 直線畫圓.123.4.2 修改圓半徑.134 程序算法及程序的編寫程序算法及程序的編寫.15154.1 文字注記的批量操作.154.1.1 修改注記的算法.154.1.2 修改注記的程序?qū)崿F(xiàn).164.2 高程點 Z 值的修改.184.2.1 高程點 Z 值的修改算法.184.2.2 修改高程點 Z 值的程序?qū)崿F(xiàn).194.3 范圍內(nèi)高程點與注記匹配.214.3.1 角度匹配.214.3.2 距離自動匹配與人工干預(yù)進行匹配. 224.4 顏色轉(zhuǎn)變.244.5 程序演示及講解.274.5.1 對高程點與注記進行角度匹配的批量修

27、改. 27無4.5.2 對高程點與注記進行距離匹配的批量修改. 295 結(jié)論與展望結(jié)論與展望.錯誤!未定義書簽。錯誤!未定義書簽。參考文獻參考文獻.錯誤!未定義書簽。錯誤!未定義書簽。致謝致謝.錯誤!未定義書簽。錯誤!未定義書簽。無1 緒論緒論高程是地形圖的地形要素之一,是圖形的立體表述,由高程點及高程注記組成。在基于 CASS 導(dǎo)入的數(shù)字化地形圖中,高程點一般是由具有三維坐標(biāo)的圖塊表示,X、Y 值表示高程點的平面位置,Z 值表示高程點高程數(shù)值。高程注記是高程 Z 值的圖面表述,不僅應(yīng)標(biāo)注在高程點附近,而且還應(yīng)該與高程點 Z 值相等。地形圖用于制圖時,一般使用注記表達相應(yīng)點高程即可,而當(dāng)利用數(shù)

28、字地形圖進行三維立體展示、土石方計算、建立高程模型等工作時,就需要利用高程點的高程值來實現(xiàn)。 但在實際工作中,經(jīng)常會發(fā)生高程點高程值和高程注記不一致的情況。在 CASS 中可以通過高程點修改命令對高程點 Z 值進行修改, 但局限性太高, 只能做到單個點修改或者對整個圖面高程加減一個定值, 無法做到局部或者指定一些點來進行修改,也不能完成對圖面高程點 Z 值的正確性進行檢驗。這時,基于這些問題的出現(xiàn)及實際工作中的要求,尋找合適簡便的解決方法便勢在必行。AutoCAD 開放的結(jié)構(gòu)為不同的使用者留出了非常廣的發(fā)揮空間,提供了多種二次開發(fā)工具,Auto LISP 是其中應(yīng)用最多功能也最強的一個。本次設(shè)

29、計也是利用 AutoLISP 語言來對此進行程序編輯,更好的理解和使用該語言能幫助我們更加方便快捷的進行繪圖。無2 CASS 軟件及軟件及 AutoCAD 的二次開發(fā)介紹的二次開發(fā)介紹2.1 CASS 軟件簡介CASS 軟件是廣州南方測繪儀器有限公司開發(fā)的一款在 CAD 平臺上運行的集地形、地籍、繪圖處理、建立空間數(shù)據(jù)庫、工程應(yīng)用及計算土石方等功能于一體的軟件系統(tǒng)。CASS 軟件是廣大測繪人熟悉的軟件,無論是做平面還是三維圖形,CASS 內(nèi)部的許多繪圖功能使得成圖方式變得更為容易。具體的功能由于太多,不能一一敘述,在此,就講述一下 CASS 軟件與本次設(shè)計的關(guān)系。對高程點進行修改,首先要做的是

30、導(dǎo)入高程點數(shù)據(jù),將全站儀或 RTK 獲得的坐標(biāo)數(shù)據(jù)導(dǎo)出到文件,按 CASS 展點要求修改數(shù)據(jù)的排列方式后即可將數(shù)據(jù)在 CASS 中呈現(xiàn)出來,呈現(xiàn)的點便是我的設(shè)計對象,可以說 CASS 軟件是一個數(shù)據(jù)導(dǎo)入平臺,雖然操作平臺是在 AutoCAD 上,但最終的結(jié)果還是要回歸到 CASS 上進行應(yīng)用。同時,CASS 軟件與 AutoCAD 軟件之間可以進行自由轉(zhuǎn)換更是方便我們進行圖形處理。2.2 AutoCAD 二次開發(fā)2. .2. .1 二次開發(fā)的目的二次開發(fā)的目的AutoCAD是目前在Windows和MAC系統(tǒng)中應(yīng)用最為廣泛、 使用人數(shù)最多的CAD軟件。但它只給我們提供了基礎(chǔ)的 CAD 功能,如果

31、我們想完成具體項目設(shè)計,就必須根據(jù)數(shù)據(jù)一筆筆繪制出圖形,這樣一旦在設(shè)計完成之后,要更改局部圖形則需要重復(fù)原來的全部內(nèi)容。造成了大量工作量的浪費。如果使用 AutoCAD 的開發(fā)系統(tǒng),我們就可以將以上的過程用程序編制出來,在工程設(shè)計需要時,利用命令語句調(diào)入程序就可以運行這個程序,自動完成繪圖過程。 顯然,這不僅大大提高了設(shè)計效率,而且,還可以通過定制來完成某些專業(yè)化的模塊,甚至大型設(shè)計軟件。本次設(shè)計就是用到了 CAD 的二次開發(fā)功能,將圖形修改功能從復(fù)雜變?yōu)橹恍枰粋€命令,大大提高了繪圖效率。無因此,要提高繪圖效率,讓圖形處理變得簡便容易,不做過多的重復(fù)性操作,就必不可少要用到 AutoCAD 的

32、二次開發(fā)功能。2. .2. .2 二次開發(fā)的工具二次開發(fā)的工具從 AutoCAD 2.18 開始推出 Auto LISP 開始到現(xiàn)在,我們所能使用的開發(fā)工具主要有:Auto LISP、VisualLISP、VBA、COM 外部接口、ObjectARX、ObjectARX.NET等開發(fā)方式。下面主要對 VisualLISP 進行簡要介紹,Auto LISP 將會在下一章進行介紹:在 AutoCAD R14.01 中,Autodesk 公司首次提供了一種新的 LISP 編程工具:Visual LISP,它是一種面向?qū)ο蟮拈_發(fā)環(huán)境,是 Auto LISP 的擴展和延伸。在 AutoCAD 中,Vis

33、ual LISP 被集成到了AutoCAD 環(huán)境之中。作為開發(fā)工具,Visual LISP 提供了一個完整的集成開發(fā)環(huán)境(IDE) ,包括編譯器、調(diào)試器和其他工具,可以實時調(diào)試 Auto LISP 命令。Visual LISP 是一種半編譯的 API。由于它的可編譯性所以大大提高了它的運行效率和安全性。 同時它又與 Auto LISP 完全兼容,提供了 Auto LISP 的所有功能,同時它又能夠訪問 AutoCAD 的多文檔環(huán)境, 以及對 COM/ActiveX 技術(shù)的支持和反應(yīng)器等。2. .2. .3 二次開發(fā)的主要內(nèi)容二次開發(fā)的主要內(nèi)容(1)編寫用戶自定義的各種函數(shù),形成若干 LISP、

34、ARX、VLX 或 ADS 文件,以及一些 DCL 文件。(2)建立一個符合用戶要求的菜單文件, 一般可在 AutoCAD 原菜單文件內(nèi)添加用戶定義的內(nèi)容。(3)在系統(tǒng)的.LSP 以及類似文件中加入某些自定義內(nèi)容以便進行各種初始化操作,如在啟動時就裝入一些文件等。(4)通過系統(tǒng)對話框設(shè)置某些操作路徑。這些操作在程序開發(fā)成功后向其它AutoCAD 系統(tǒng)上安裝應(yīng)用,特別是需要大批安裝時,需要進行很多文件輸入、內(nèi)容增刪、 子目錄創(chuàng)建、 文件拷貝、 系統(tǒng)設(shè)置等繁瑣工作, 如能令上述工作全部自動進行,使整個二次開發(fā)程序在無人干預(yù)的情況下嵌入系統(tǒng),將大大提高工作效率(5)面向用戶對象,讓用戶能夠根據(jù)自己的

35、需要來編寫相關(guān)的程序,進行二次開無發(fā)。在本章節(jié)中,從利用 CASS 軟件導(dǎo)入高程數(shù)據(jù)進行展點到利用 AutoCAD 的二次開發(fā)功能進行繪圖工具編輯, 可以發(fā)現(xiàn)在本次設(shè)計, 二者的結(jié)合必不可少, 缺一不可。無3 Auto LISP 語言概述語言概述3.1 Auto LISP 語言簡介LISP(List Processing Language)是一種基于計算機的表處理語言,是在人工智能領(lǐng)域廣泛應(yīng)用的程序設(shè)計語言。Auto LISP 語言是嵌套在 AutoCAD 內(nèi)部的一種計算機語言, 是 AutoCAD 開放式體系結(jié)構(gòu)的具體體現(xiàn), 同時也是 LISP 語言和 AutoCAD有機結(jié)合的產(chǎn)物。使用 A

36、uto LISP 語言可直接調(diào)用幾乎全部的 AutoCAD 命令。AutoLISP 語言既具備一般高級語言的基本結(jié)構(gòu)和功能,又具有一般高級語言所沒有的強大圖形處理功能,是當(dāng)今世界 CAD 軟件中被廣泛應(yīng)用的語言之一。美國 AutoDesk 公司在 AutoCAD 內(nèi)部嵌入 Auto LISP 語言的目的是讓用戶充分利用 AutoCAD 進行二次開發(fā),來實現(xiàn)直接增加和修改 CAD 命令,以擴大圖形編輯功能,建立圖形庫和數(shù)據(jù)庫,并能對當(dāng)前圖形進行直接的訪問和修改,開發(fā) CAD 軟件包等。在 AutoCAD 為用戶提供的 Auto LISP、VBA 等開發(fā)工具中,Auto LISP 語言是一種簡便易

37、學(xué)的解釋性語言, 具有很強的數(shù)據(jù)表處理功能, 是一種開發(fā) AutoCAD的重要手段。Auto LISP 語言能夠利用 PDB 函數(shù)驅(qū)動 DCL(Dialog Control Language)文件來創(chuàng)建自己的對話框。Auto LISP 語言的嵌入,使得僅作為交互式圖形編輯軟件的 AutoCAD 軟件變成能進行計算機輔助設(shè)計、繪圖的 CAD 軟件。鑒于 LISP 語言的靈活多樣且便于學(xué)習(xí)和使用,使得 AutoCAD 成為功能很強的繪圖工具軟件。3.2 Auto LISP 語言的特點Auto LISP 具有以下特點:(1)Auto LISP 表達式的形式為前綴式表達式;(2)Auto LISP 中

38、的一切成分都是以函數(shù)的形式給出的,Auto LISP 語言沒有語句無概念或者其他的語法結(jié)構(gòu)。執(zhí)行 Auto LISP 程序就是來執(zhí)行一些函數(shù),再去調(diào)用其他函數(shù);(3)Auto LISP 把數(shù)據(jù)和程序統(tǒng)一起來表達為表結(jié)構(gòu),即 S-表達式,因此可把程序當(dāng)作數(shù)據(jù)處理,也可把數(shù)據(jù)當(dāng)作程序執(zhí)行;Auto LISP 是在普通 LISP 語言基礎(chǔ)之上,在擴充了許多適用于 AutoCAD 應(yīng)用的特殊功能之后而形成的一種計算機語言,是一種只能以解釋方式在 AutoCAD 內(nèi)部運行的程序設(shè)計語言;(4)Auto LISP 中的程序運行過程就是對函數(shù)求值的過程,是在對函數(shù)求值的過程中實現(xiàn)函數(shù)的功能;(5)Auto

39、LISP 比較典型的程序結(jié)構(gòu)就是遞歸方式,遞歸方式的使用,使得程序設(shè)計簡便易懂。3.3 本次設(shè)計的主要 Auto LISP 函數(shù)介紹Auto LISP 語言主要用到如下數(shù)據(jù)類型:表 3-1數(shù)據(jù)類型與代碼數(shù)據(jù)類型數(shù)據(jù)類型代碼代碼整型數(shù)(INT)實型數(shù)(REAL)符號(SYM)字符串(STR)表(及用戶定義的函數(shù))(LIST)文件描述符(FILE)Auto LISP 的內(nèi)部函數(shù)(SUBR)AutoCAD 的選擇集(PICKSET)AutoCAD 的實體名(ENAME)函數(shù)分頁表(PAGETB)在本次設(shè)計中, 用到很多語句函數(shù),將其中比較重要和比較難掌握的在這里講解一下。無3. .3. .1 表處理

40、函數(shù)表處理函數(shù)(1)(LIST )該函數(shù)將任意數(shù)目的表達式的值按順序串聯(lián)在一起,并返回由他們組成的表。(list a b c)返回(A B C)(lista(b c)d)返回(A (B C) D)(list 3.6 9.7)返回(3.6 9.7)重要應(yīng)用:給點賦值(setq x 4.5 y 9.0);給 x,y 賦值(setq pt (list x y)等效于(setq pt (4.5 9.0)返回(4.5 9.0);賦值給 pt命令:!pt顯示(4.5 9.0)(2) (ASSOC )關(guān)聯(lián)表又稱 A 一表,它是以點對或子表為元素組成的表,子表中的第一個元素為“關(guān)鍵字” 。ASSOC 函數(shù)搜索

41、,以找到此表中,提取包含的一個元素,并返回該子表,若未找到,則返回 NIL。例如:(SETQ L (0 . “CIRCLE”) (8 . “MYLAYER”)(10 5.0 7.0 0.0) (40 . 1.0);給 L 賦值,一個集合則(ASSOC 0 L)返回(0 . “CIRCLE”)(ASSOC 40 L)返回(40 . 1.0)(ASSOC 10 L)返回(10 5.0 7.0 0.0)例如:(SETQ m (name box)(width 3)(size 4.2)(depth 5.1);命令一個圖框則(ASSOC size m)返回(size 4.2)(ASSOC width m)

42、返回(width 3)無例如:(SETQ A (d . 30)(L . 60)(R . 4);賦值 A則(ASSOCR A)返回(R . 4)(ASSOCH A)返回 NIL(SETQ F (Q W E T 5 6 7)則(ASSOC E F);錯誤:關(guān)聯(lián)列表錯誤:(Q W E T 5 6 7)(3) (SUBST )該函數(shù)從中搜索,將中的每一個用替換, 并返回替換后的表;如果中沒找到,則該函數(shù)返回沒有更改的表。例如:(SETQ sample (a b (c d) b)則(SUBST qq b sample)返回(A QQ(C D)QQ)(SUBST qq (c d) sample)返回(A

43、B QQ B)(SUBST (qq rr) z sample)返回(A B(C D)B)注意: SUBST 函數(shù)常常與 ASSOC 函數(shù)一起使用, 方便地替換與關(guān)聯(lián)表中的關(guān)鍵字相對應(yīng)的值。3. .3. .2 判斷函數(shù)判斷函數(shù)(1)“條件判斷函數(shù)”的格式為:(if 條件判斷 表達式 1 表達式 2)函數(shù)用于程序的分支結(jié)構(gòu)。函數(shù)中的“條件判斷”由關(guān)系運算函數(shù)和邏輯運算函數(shù)組成,根據(jù)數(shù)學(xué)關(guān)系進行判斷。函數(shù)的功能為根據(jù)判斷結(jié)果,在程序流程中形成分支,即如果條件表達式返回判斷結(jié)果為 T(真) ,則執(zhí)行“表達式 1” ;如果判斷結(jié)果為 nil(假) ,則執(zhí)行“表達式 2” ;如果缺少表達式 2,則表示不執(zhí)

44、行表達式 1,函數(shù)無不返回任何值。相當(dāng)于 BASIC 語言中的“ifthenelse”或“ifthen”語句。例如:(if ( x 0) (setq a (+ a b) (setq a (- a b)如果關(guān)系函數(shù) x0 滿足,返回 T,則執(zhí)行表達式 1:a=a+b;如果條件不滿足則返回 nil,執(zhí)行表達式 2:a=a-b.(if ( dx 0) (setq Azm (+ Azm Pi) (if ( dy 0) (setq Azm (+ Azm Pi Pi)條件判斷函數(shù)的“分層嵌套結(jié)構(gòu)” 。外層的條件表達式的條件 dx0 如果滿足,則執(zhí)行 Azm=Azm+;否則執(zhí)行內(nèi)層的條件判斷函數(shù),內(nèi)層的條件

45、表達式的條件 dy0如果滿足,則執(zhí)行 Azm=Azm+2。(if (and ( x 0) ( y 0) (setq a (+ a c)通過邏輯和函數(shù)將兩個關(guān)系函數(shù)組成復(fù)合條件:x0 且 y0,如果條件滿足返回 T,則執(zhí)行表達式 1:a=a+c;否則返回 nil,不執(zhí)行任何運算。(if (or ( x 0) ( y 0) (setq a (+ a c) (setq a (-a c)通過邏輯或函數(shù)將兩個關(guān)系函數(shù)組成復(fù)合條件:x0 或 y0,即只要滿足其中一個條件,則返回T,執(zhí)行表達式 1:a=a+c;如果兩個條件都不滿足,則返回 nil,執(zhí)行表達式 2:a=a-c。(2)“持續(xù)函數(shù)”的格式為:(p

46、rong 表達式 表達式 表達式 )函數(shù)的功能為將任意多個表達式組合起來成為一個表達式, 在程序的流程控制中需要持續(xù)執(zhí)行,其作用相當(dāng)于 C 語言中的一個大括號,在 Auto LISP 語言中一般配合條件判斷函數(shù)使用。例如:(if (= x y) (prong (setq a (+ a b) (print a)如果關(guān)系函數(shù) x=y 的條件滿足,返回 T,則執(zhí)行由 progn 函數(shù)所組合的兩個需持續(xù)執(zhí)行的表達式:賦值 a=a+b,并且由屏幕輸出 a。(3)“條件循環(huán)函數(shù)”的格式為:(while 條件表達式 表達式 表達式 )函數(shù)用于程序中的循環(huán)運算,循環(huán)的次數(shù)取決于函數(shù)中的“條件表達式” ,該式返

47、回 T,則執(zhí)行循環(huán)體的運算,包含在函數(shù)括號內(nèi)的“表達式”的個數(shù)不限。例如:(setq i 0 n 10);給 I,n 賦值(while (= i 5) (setq i (+ 1 i) (setq n (* n i);在 i5 時,進入循環(huán)無(print n);輸出 n運算結(jié)束時,輸出函數(shù)使屏幕顯示 n 的值為 7200。3. .3. .3 選擇集創(chuàng)建選擇集創(chuàng)建“選擇集創(chuàng)建函數(shù)”的格式為:(ssget 選擇方法 點 1 點 2 點表 過濾表)函數(shù)的功能為用各種方法創(chuàng)建選擇集, 所有參數(shù)均為可選參數(shù)。 其中 “選擇方法”的代碼和內(nèi)涵如下:C(Crossing)與“點 1” 、 “點 2”確定的窗口

48、相交的圖形對象被選中;CP(CPolygon) 與“點表”確定的多邊形相交的圖形對象被選中;F(Fence) 與“點表”確定的折線相交的圖形對象被選中;I(Implied) 處于夾取狀態(tài)的圖形對象被選中;L(Last) 最后繪制的圖形對象被選中;P(Previous) 上一次創(chuàng)建的選擇集被選中;W(Window) 在“點 1” 、 “點 2”確定的窗口內(nèi)的圖形對象被選中;WP(WPolygon) 在“點表”確定的多邊形內(nèi)的圖形對象被選中??蛇x參數(shù)“過濾表”的作用為根據(jù)其描述條件對所選圖形對象進行篩選,只保留滿足條件的對象。過濾表描述的條件為 entget 函數(shù)返回的圖元表的子表。例如:(0 .

49、 “circle”) 圖元種類為“圓” ;(8 . “0”) 圖層為“0”層。當(dāng)在選擇集函數(shù)中不提供參數(shù)時(ssget),表示以交互方式建立選擇集。執(zhí)行此函數(shù)后系統(tǒng)自動切換到 AutoCAD 圖形窗口,提示區(qū)出現(xiàn)“Select object: ” 。用戶可用各種方法在屏幕選擇圖元,直至用空回車(不輸入任何參數(shù)的回車)結(jié)束選擇。選擇集函數(shù)最常用的為“窗口” ( “W” )選擇方法,例如:(setq ssl (ssget “w” (20 50) (30 60) 選中以平面坐標(biāo)(20,50)和(30,60)為角點的窗口中所包含的圖形對象,并將它賦值給變量 ssl。無3. .3. .4 AutoCAD

50、 函數(shù)函數(shù)(1)AutoCAD 的所有繪圖命令都可以作為 Auto LISP 的函數(shù),使 Auto LISP 程序的運算和 AutoCAD 的繪圖功能完全結(jié)合起來,使設(shè)計、計算和繪圖融為一體?!癆utoCAD 命令函數(shù)”的格式為:(command “AutoCAD 命令” 命令所需要的參數(shù) “”)在學(xué)習(xí) Auto LISP 之前,一般對于 AutoCAD 命令屏幕操作的各種菜單、圖標(biāo)快捷鍵和參數(shù)提供的中文提示已應(yīng)有所掌握。但是對于 Auto LISP 編程,CAD 繪圖命令函數(shù)中的“AutoCAD 命令”均用英文表示,也沒有“命令所需要的參數(shù)”的提示(按何種次序提供何種參數(shù)) 。因此,在 Au

51、to LISP 編程中應(yīng)用 CAD 命令函數(shù)時,可以先在 AutoCAD 繪圖屏幕用相應(yīng)的繪圖菜單(包括子菜單)或圖標(biāo)快捷鍵演示一次,可以在屏幕提示區(qū)獲得英文的 AutoCAD 命令以及命令所需參數(shù)的提供方法和次序。 參數(shù)中代表各種意義的規(guī)定字符串應(yīng)包括在引號內(nèi), 代表變量的標(biāo)識符則不用引號,函數(shù)中最后的空引號代表“回車” 。由于 AutoCAD 的各種版本(例如AutoCAD2004,2006,2008) 的若干繪圖命令中參數(shù)的提供存在微小的差別, 因此在寫Auto LISP 程序的繪圖函數(shù)時應(yīng)顧及所用 AutoCAD 的版本。AutoCAD 命令函數(shù)十分豐富,下面只介紹本次設(shè)計中所用到的一

52、些:“建立圖層函數(shù)”的格式為:(command “l(fā)ayer” “m” “圖層名” “” “” “”)函數(shù)的功能為建立并設(shè)定為當(dāng)前層。函數(shù)中的字符“m”表示建立圖層,并設(shè)定為當(dāng)前圖層, “圖層名”為字符串。例如:(command “l(fā)ayer” “m” “road” “” “” “”);建立命名為 road 的圖層?!叭忠晥D函數(shù)”的格式為:(command “zoom” “e”)函數(shù)的功能為將模型空間所畫的圖形對象在屏幕上以最大的視圖全部顯示。(2)“輸出函數(shù)”的功能為向屏幕或指定的的文件輸出字符和數(shù)值,函數(shù)有下列三種格式:無(prinl 表達式 文件描述符)(princ 表達式 文件描述符

53、)(print 表達式 文件描述符)函數(shù)中的表達式為輸出的內(nèi)容(字符、數(shù)值或表達式返回的值) , “文件描述符”為可選參數(shù), 如果輸出至指定的文件則需要文件描述符, 在屏幕提示區(qū)輸出則不需要。以上三種輸出格式有較小的差別,對于在屏幕提示區(qū)的輸出,例如:(setq a 123 b “ABC” c “Happy n New Year”)(prinl a)不換行輸出數(shù)字 123,后面不留空格;(print a)換行后輸出數(shù)字 123,后面加空格;(princ a)不換行輸出數(shù)字 123,后面不留空格。3.4 Auto LISP 語言的使用案例3. .4. .1 直線畫圓直線畫圓直線畫圓案例:(def

54、un c:hy()(setvar cmdecho 0) ;指令執(zhí)行過程不響應(yīng)(setq en (entsel 選擇一條直線:) ;要求碰選一條線(setq en_data (entget (car en) ;取得元體資料串行(setq pts (assoc 10 en_data) ;取得群碼 10 的子串行(setq pt1 (cdr pts) ;取得起點 pt1 坐標(biāo)(setq px1 (car pt1) ;取得 pt1 坐標(biāo)的 x 值(setq py1 (cadr pt1) ;取得 pt1 坐標(biāo)的 y 值(setq pta (assoc 11 en_data) ;取得群碼 11 的子串行(

55、setq pt2 (cdr pta) ;取得終點 pt2 坐標(biāo)(setq px2 (car pt2) ;取得 pt2 坐標(biāo)的 x 值(setq py2 (cadr pt2) ;取得 pt2 坐標(biāo)的 y 值(setq nx (/ (+ px1 px2) 2) ;求得中點 X 值無(setq ny (/ (+ py1 py2) 2) ;求得中點 Y 值(setq npt (list nx ny) ;結(jié)合 mx & my 成 mpt 點(setq nr (getdist npt 輸入半徑:);要求輸入半徑值(command circle npt nr) ;完成直線中點畫圓(prin1)在上述案例中,

56、算法步驟如下:首先,選取需要的直線,獲得直線端點坐標(biāo),其次,利用端點坐標(biāo)求得直線中點坐標(biāo),求得的該點坐標(biāo)可以是圓心也可能是圓上一點(具體看畫圓時取點方向) ,最后輸入圓半徑值,也可以在圖上指定一點為圓半徑,完成直線畫圓。其中,hy 為該程序的調(diào)用命令,entsel 函數(shù)用點選擇的方式選擇單個實體,并返回一個表。(assoc 10 en_data)該語句中,10 是一個組碼,11 也同樣,代表數(shù)據(jù)的三維坐標(biāo),該語句就是取出數(shù)據(jù)串行中坐標(biāo)值。其后的語句便很好理解了。實現(xiàn)過程:在 AutoCAD 中,打開“工具”選項,在下拉菜單中選擇“Auto LISP”然后“加載應(yīng)運程序” ,打開該程序所在的文件

57、夾,加載該程序,在 AutoCAD 命令行會顯示“*.lsp 文件已成功加載” 。在 AutoCAD 命令行輸入“mcir”,命令行便會提示“選擇一條直線: ” ,根據(jù)提示在圖面上選擇所要的直線,選擇完成后,點右鍵或按enter 鍵完成選擇,之后系統(tǒng)會自動完成坐標(biāo)點的計算,命令行會提示“輸入半徑: ” ,鍵入一個實數(shù)或在圖面上直接點擊一點成為半徑,圓便自動生成,完成該程序。3. .4. .2 修改圓半徑修改圓半徑圓半徑修改案例:(defun c:chgrad()(setvar cmdecho 0) ;指令執(zhí)行過程不響應(yīng)(setq en (entsel 選取圖面一圓:) ;要求碰選一個圓(set

58、q en_data (entget (car en) ;取得元體資料串行(setq old_rad_list (assoc 40 en_data);取得半徑子串行無(setq old_rr (cdr old_rad_list) ;取得舊有半徑(princ “n 圓舊半徑=”)(princ old_rr) ;顯示該舊圓半徑值于指令區(qū)(setq cenpt (cdr (assoc 10 en_data) ;取得圓之圓心(setq new_rr (getdist cenpt 輸入一新半徑值:);輸入一半徑值(setq new_rad_list (cons 40 new_rr) ;產(chǎn)生新的半徑子串行(

59、setq en_data (subst new_rad_list old_rad_list en_data) ;新舊替換(entmod en_data) ;依新像素資料更新圖面上圓半徑(prin1)(prompt * *)(prin1)算法步驟如下:選取需要修改的圓,獲得該圓的半徑,修改圓原來的數(shù)據(jù)串行,輸入一個新的半徑值,得到一個新圓。實現(xiàn)過程:程序?qū)胪?,在命令行鍵入“chgrad” ,提示“選取圖面一圓” ,命令行便顯示“圓舊半徑=” ,得到舊半徑值,接下來提示“輸入一新半徑值: ” ,輸入一個實數(shù),圖面便會應(yīng)新半徑值繪制一個新圓。注意:在上述程序中,加了最后兩行命令語句:(promp

60、t * *)(prin1)目的是使讀者們養(yǎng)成加入最后兩行的習(xí)慣,以免未來程序越來越大,在加載程序后,根本不知道該如何執(zhí)行此 LISP 程序,因為程序內(nèi)可能有好幾個 C:XX 指令函數(shù),可能有很多子程序。在本章節(jié)中,對本次設(shè)計所用到的 Auto LISP 函數(shù)及使用做了一個初步介紹,對于更好的理解本次設(shè)計有很大幫助,對 Auto LISP 語言的掌握使用也會更加容易。無4 程序算法及程序的編寫程序算法及程序的編寫本次設(shè)計研究的是對高程點的批量操作,所以要涉及到注記及高程點的屬性操作、 注記與高程點的匹配、 范圍的選擇以及為了顯示修改效果所進行的顏色改變等等。下面將會介紹這些內(nèi)容的具體實現(xiàn)。4.1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論