紀(jì)勇
(新疆有色地質(zhì)勘查局七0一隊(duì),昌吉831100)
經(jīng)常利用CASS軟件繪圖的人就會(huì)發(fā)現(xiàn),我們一個(gè)手操作鍵盤(pán)一個(gè)手操作鼠標(biāo)會(huì)使繪圖速度有很大的提高。但是有些命令較長(zhǎng),需要雙手同時(shí)進(jìn)行輸入,這在一定程度上影響了我們的繪圖速度。
其實(shí)我們可以自己定義一些命令,用以簡(jiǎn)化CASS的內(nèi)部命令,或者完全“命令左手化”。下在就個(gè)人經(jīng)驗(yàn)略給幾個(gè)簡(jiǎn)化的CASS命令:
多次復(fù)制:C
上面要用到一門(mén)新的編程語(yǔ)言,它就是AutoLisp或Visual Lisp語(yǔ)言。它是基于AutoCAD二次開(kāi)發(fā)而設(shè)計(jì)的,其實(shí)用于二次開(kāi)發(fā)的還有VBA、ARX、VLX等。其實(shí)CASS中所有的有地物編碼的地物都可以用一個(gè)命令來(lái)代替,這要用到CASS的通用命令DD,比如說(shuō)要畫(huà)一個(gè)“多點(diǎn)磚房屋”可以用下面的“F”命令來(lái)實(shí)現(xiàn):(DEFUN C:F()(COMMAND"DD""141121")(princ))。
LISP加載的方法有以下幾種方式:
①在安裝目錄下面 Support下面autocad2006.lsp、acad.lsp、acaddoc.lsp等中,將你的lisp文件內(nèi)容全部粘貼到最后,保存退出即可;
②每次都用一個(gè)applaod命令來(lái)加載;
③在菜單欄選擇工具——加載應(yīng)用程序——添加,選擇lisp程序然后加載,然后選擇添加到啟動(dòng)組。
有時(shí)候在CASS下要完成一個(gè)功能要花很大的工夫,如果能夠根據(jù)自己的實(shí)際需要自定義一些新功能命令那會(huì)較大程序提高我們繪圖速度和繪圖質(zhì)量。這樣不僅對(duì)數(shù)字化地籍測(cè)量有利,對(duì)其它的數(shù)字化測(cè)量也有很大的幫助。如下面一個(gè)程序就是CASS里面沒(méi)有的,但它的作用卻是很大的。
例一:輸出圖面坐標(biāo)到文件(如用于提取界址點(diǎn)坐標(biāo))
注:(rtos number[mode[precision]]),rtos根據(jù) mode、precision參數(shù)和系統(tǒng)變量的設(shè)置,函數(shù)返回代表number的字符串。
(nth n lst),要從表中返回的元素的個(gè)數(shù)(元素的編號(hào)從0開(kāi)始)。lst中的第n個(gè)元素。如果n大于lst中最后一個(gè)元素的序號(hào),nth返回nil。
例二:圖形校正程序(相當(dāng)于測(cè)站改正)
這個(gè)程序常用于獨(dú)立坐標(biāo)到統(tǒng)一坐標(biāo)的旋轉(zhuǎn)、平移、縮放,也就是所說(shuō)的“四參數(shù)”問(wèn)題的Lisp程序?qū)崿F(xiàn)。程序如下:
如圖1為所得出的效果。
CASS自定義命令是很多的,只要我們根據(jù)實(shí)際需要總結(jié)思考,都可以得出很多新的功能命令,本文不一一列舉。
圖1 圖像校正
圖2 測(cè)三點(diǎn)與測(cè)四點(diǎn)
圖3 對(duì)角測(cè)四點(diǎn)房
除了上面發(fā)現(xiàn)的一些問(wèn)題之外還有一些問(wèn)題也是特別值得研究的,現(xiàn)簡(jiǎn)單的列幾個(gè)。①在測(cè)量嚴(yán)格直角四點(diǎn)房屋(或直角多點(diǎn)房屋)的時(shí)候有時(shí)候可能只能測(cè)到2個(gè)點(diǎn)(或點(diǎn)的數(shù)量不夠),從理論上來(lái)說(shuō)是可以繪出該房屋了,但要說(shuō)明一點(diǎn)的是所測(cè)的兩個(gè)點(diǎn)必須得是一條長(zhǎng)邊上的兩個(gè)點(diǎn),否則所繪出來(lái)的房屋精度是不夠的。②對(duì)于四點(diǎn)直角房屋,若要支一個(gè)點(diǎn)專(zhuān)程去測(cè)量第四個(gè)角點(diǎn)是沒(méi)有必要的,因?yàn)橹c(diǎn)誤差、設(shè)站誤差、前視棱鏡誤差等的影響反而會(huì)帶來(lái)比測(cè)三個(gè)點(diǎn)更大的誤差。如圖2所示情況。③同樣對(duì)于四點(diǎn)直角房屋,如果能測(cè)到3個(gè)點(diǎn)就最好不過(guò)了。但只能測(cè)到兩個(gè)點(diǎn)也是可以的,無(wú)論這兩個(gè)點(diǎn)在那個(gè)角上都是可以畫(huà)出來(lái)的,只是必須在長(zhǎng)邊上。如果兩點(diǎn)在對(duì)角上,稍微有點(diǎn)麻煩,圖3的方法是可以實(shí)現(xiàn)的。④有時(shí)候會(huì)出現(xiàn)這樣的問(wèn)題,在支點(diǎn)上架站好后發(fā)現(xiàn)支點(diǎn)出來(lái)的時(shí)候棱鏡高沒(méi)有改,使得后視返測(cè)時(shí)高程差了很多。很多沒(méi)有經(jīng)驗(yàn)的測(cè)量員都會(huì)把儀器搬回去重新支點(diǎn),其實(shí)是沒(méi)有必要的。根據(jù)三角高程測(cè)量原理儀器不管你輸入的是多少,真實(shí)測(cè)得的堅(jiān)直角是不會(huì)變的,所以水平坐標(biāo)是不會(huì)變的,只是高程統(tǒng)一加(或減)了一個(gè)常數(shù),這在內(nèi)業(yè)都是可以改正過(guò)來(lái)的。但是如果支點(diǎn)確實(shí)是錯(cuò)了,也就是說(shuō)平面和高程都有誤該怎么辦?那也是有辦法的,這就得用到前面所說(shuō)的測(cè)站改正,只需要你將錯(cuò)誤的后視點(diǎn)坐標(biāo)記下來(lái)就可以了。⑤在郊區(qū)測(cè)需要生成等高線時(shí),高程精度要求較高。但在實(shí)際測(cè)量中有的地方不能通視,棱鏡必然要升高或降低,這樣測(cè)出來(lái)的高程很顯然是不準(zhǔn)確的。于是在內(nèi)業(yè)處理時(shí)首先是要?jiǎng)h除這部分高程,否則等高線繪出現(xiàn)局部最高點(diǎn)或最低點(diǎn),這會(huì)給修改等高線帶來(lái)很多麻煩。
[1]杜海平,詹長(zhǎng)根,李興林.現(xiàn)代地籍理論與實(shí)踐[M].深圳:海天出版社,1999.
[2]南方測(cè)繪儀器公司.CASS7.0成圖軟件用戶手冊(cè)及參考手冊(cè)[M].
[3]陳伯雄.VISUAL LISP程序設(shè)計(jì)-技巧與范例[M].人民郵電出版社,2002.
[4]AutoLISP函數(shù)參考手冊(cè)[M].
[5]李振格.AUTOLISP程序員參考手冊(cè)[M].海洋出版社,1991,5.