紀勇
(新疆有色地質勘查局七0一隊,昌吉831100)
經常利用CASS軟件繪圖的人就會發現,我們一個手操作鍵盤一個手操作鼠標會使繪圖速度有很大的提高。但是有些命令較長,需要雙手同時進行輸入,這在一定程度上影響了我們的繪圖速度。
其實我們可以自己定義一些命令,用以簡化CASS的內部命令,或者完全“命令左手化”。下在就個人經驗略給幾個簡化的CASS命令:

多次復制:C


上面要用到一門新的編程語言,它就是AutoLisp或Visual Lisp語言。它是基于AutoCAD二次開發而設計的,其實用于二次開發的還有VBA、ARX、VLX等。其實CASS中所有的有地物編碼的地物都可以用一個命令來代替,這要用到CASS的通用命令DD,比如說要畫一個“多點磚房屋”可以用下面的“F”命令來實現:(DEFUN C:F()(COMMAND"DD""141121")(princ))。
LISP加載的方法有以下幾種方式:
①在安裝目錄下面 Support下面autocad2006.lsp、acad.lsp、acaddoc.lsp等中,將你的lisp文件內容全部粘貼到最后,保存退出即可;
②每次都用一個applaod命令來加載;
③在菜單欄選擇工具——加載應用程序——添加,選擇lisp程序然后加載,然后選擇添加到啟動組。
有時候在CASS下要完成一個功能要花很大的工夫,如果能夠根據自己的實際需要自定義一些新功能命令那會較大程序提高我們繪圖速度和繪圖質量。這樣不僅對數字化地籍測量有利,對其它的數字化測量也有很大的幫助。如下面一個程序就是CASS里面沒有的,但它的作用卻是很大的。
例一:輸出圖面坐標到文件(如用于提取界址點坐標)


注:(rtos number[mode[precision]]),rtos根據 mode、precision參數和系統變量的設置,函數返回代表number的字符串。
(nth n lst),要從表中返回的元素的個數(元素的編號從0開始)。lst中的第n個元素。如果n大于lst中最后一個元素的序號,nth返回nil。
例二:圖形校正程序(相當于測站改正)
這個程序常用于獨立坐標到統一坐標的旋轉、平移、縮放,也就是所說的“四參數”問題的Lisp程序實現。程序如下:

如圖1為所得出的效果。
CASS自定義命令是很多的,只要我們根據實際需要總結思考,都可以得出很多新的功能命令,本文不一一列舉。

圖1 圖像校正

圖2 測三點與測四點

圖3 對角測四點房
除了上面發現的一些問題之外還有一些問題也是特別值得研究的,現簡單的列幾個。①在測量嚴格直角四點房屋(或直角多點房屋)的時候有時候可能只能測到2個點(或點的數量不夠),從理論上來說是可以繪出該房屋了,但要說明一點的是所測的兩個點必須得是一條長邊上的兩個點,否則所繪出來的房屋精度是不夠的。②對于四點直角房屋,若要支一個點專程去測量第四個角點是沒有必要的,因為支點誤差、設站誤差、前視棱鏡誤差等的影響反而會帶來比測三個點更大的誤差。如圖2所示情況。③同樣對于四點直角房屋,如果能測到3個點就最好不過了。但只能測到兩個點也是可以的,無論這兩個點在那個角上都是可以畫出來的,只是必須在長邊上。如果兩點在對角上,稍微有點麻煩,圖3的方法是可以實現的。④有時候會出現這樣的問題,在支點上架站好后發現支點出來的時候棱鏡高沒有改,使得后視返測時高程差了很多。很多沒有經驗的測量員都會把儀器搬回去重新支點,其實是沒有必要的。根據三角高程測量原理儀器不管你輸入的是多少,真實測得的堅直角是不會變的,所以水平坐標是不會變的,只是高程統一加(或減)了一個常數,這在內業都是可以改正過來的。但是如果支點確實是錯了,也就是說平面和高程都有誤該怎么辦?那也是有辦法的,這就得用到前面所說的測站改正,只需要你將錯誤的后視點坐標記下來就可以了。⑤在郊區測需要生成等高線時,高程精度要求較高。但在實際測量中有的地方不能通視,棱鏡必然要升高或降低,這樣測出來的高程很顯然是不準確的。于是在內業處理時首先是要刪除這部分高程,否則等高線繪出現局部最高點或最低點,這會給修改等高線帶來很多麻煩。
[1]杜海平,詹長根,李興林.現代地籍理論與實踐[M].深圳:海天出版社,1999.
[2]南方測繪儀器公司.CASS7.0成圖軟件用戶手冊及參考手冊[M].
[3]陳伯雄.VISUAL LISP程序設計-技巧與范例[M].人民郵電出版社,2002.
[4]AutoLISP函數參考手冊[M].
[5]李振格.AUTOLISP程序員參考手冊[M].海洋出版社,1991,5.