AutoCAD在測繪圖形處理中的應(yīng)用
/ 2021/6/5 10:43:56
次
近年來,測繪領(lǐng)域內(nèi)機助制圖的研究取得了飛速發(fā)展,通過繪圖機輸出的圖形從過去簡單的工程制圖到現(xiàn)在的各種比例尺的地形圖、地藉圖、宗地圖,以及非常復(fù)雜的小比例尺土地利用現(xiàn)狀圖等。在眾多的繪圖系統(tǒng)中,人們普遍采用的基礎(chǔ)繪圖軟件是美國Autodesk公司的AutoCAD,因為該軟件不僅具有豐富的繪圖命令,還具有強大的圖形編輯功能,而且軟件運行相當(dāng)穩(wěn)定。但是熟悉AutoCAD的人都知道,要用好AutoCAD,不但要熟練掌握其各項命令,而且要熟練掌握AutoCAD提供的數(shù)據(jù)交換文件SCR、DXF和嵌入AutoCAD內(nèi)部的高級語言 --Auto LISP語言,這樣使您對各種圖形,尤其對復(fù)雜的圖形更加得心應(yīng)手。關(guān)于 AutoCAD 在測繪圖形中應(yīng)用可歸納為以下幾個方面。
1 實現(xiàn)數(shù)據(jù)到圖形的自動轉(zhuǎn)換
有了原始數(shù)據(jù),如何實現(xiàn)自動成圖,這一直是人門關(guān)心的問題,在AutoCAD下,把原始數(shù)據(jù)變成圖形,可以通過以下途徑:
(1)采用高級語言(BASIC語言或C語言)編制程序調(diào)用原始數(shù)據(jù)文件生成SCR命令文 件,在AutoCAD的圖形編輯環(huán)境下調(diào)用SCRIPT命令執(zhí)行該文件,生成相應(yīng)的圖形。
(2)用高級語言生成DXF文件,在AutoCAD圖形編輯環(huán)境下調(diào)用DXFIN命令打開該文 件,即可得到相應(yīng)的圖形文件。
(3)用高級語言直接生成DWG圖形文件
(4)利用 Auto LISP語言,編寫相應(yīng)程序,讀取有關(guān)數(shù)據(jù)文件,進行處理,并且調(diào)用 Auto CAD繪圖命令,直接生成圖形。
以上四種方法中,第一種方法比較簡單,但執(zhí)行速度慢;第二種方法速度較快,但DXF文件格式死板,記錄冗長,尤其是復(fù)雜的圖形,DXF文件長得驚人。第三種方法較前兩種方法理想,但這種方法對于一些復(fù)雜的圖形尚有一定的難度,況且,不同的AutoCAD版本,DWG文件的結(jié)構(gòu)也不同,使程序不能通用。三種方法都有一共同的特點,先在AutoCAD外,用高級語言做數(shù)據(jù)處理,然后再回到AutoCAD下成圖,效率低。第四種方法是直接在AutoCAD下工作,減少了中間環(huán)節(jié),提高了效率。而且具有較強的通用性,對一些較復(fù)雜的圖形,更直接方便。
2 實現(xiàn)圖形到數(shù)據(jù)的自動轉(zhuǎn)換
剛接觸AutoCAD的人都有下面的感覺,就是由數(shù)據(jù)生成圖形容易,由圖形返回數(shù)據(jù)困難, 有LISP語言,這個問題就會迎刃而解。
2.1 圖紙資料的數(shù)字化
要把圖像資料變成相應(yīng)的數(shù)據(jù),一般是通過數(shù)字化儀和掃描儀。對于手扶式數(shù)字化儀來 講,我們可以根據(jù)不同要求來編制相應(yīng)的LISP程序,完成圖形的數(shù)字化。程序運行時,把從 數(shù)字化儀傳遞來的數(shù)據(jù)信息(點的坐標(biāo))連同交互式狀態(tài)下輸入的有關(guān)編碼合并以一合理的數(shù)據(jù)結(jié)構(gòu)存貯于數(shù)據(jù)文件中,同時,在屏幕上,采用不同的圖層,不同的顏色進行同步顯示。從而使數(shù)字化過程變得非常直觀、形象,避免產(chǎn)生丟點或重復(fù)等各種錯誤的發(fā)生。這樣數(shù)字化的結(jié)果,不僅得到與原圖紙相對應(yīng)的數(shù)據(jù)文件,也同時生成了一幅相對應(yīng)的圖形文件。數(shù)據(jù)文件可以納入有關(guān)相對應(yīng)的數(shù)據(jù)管理系統(tǒng)中,而圖形文件為將來的輸出和變更修改提供了方便。對于掃描儀,是將原圖通過掃描儀掃描形成位圖文件(文件擴展名為BMP或TIF),經(jīng)矢量化軟件把圖形的數(shù)據(jù)信息分類存貯于數(shù)據(jù)文件中。
2.2圖形變更后,數(shù)據(jù)的自動更新
測量領(lǐng)域的各種圖形隨時間的推移是不斷發(fā)生變化的,為保證圖形的現(xiàn)實性,就要對圖形隨時加以修改,這種修改大多數(shù)是直接對原圖文件利用AutoCAD的圖形編輯功能來完成,但隨之產(chǎn)生一個問題,就是圖形文件修改后,原圖對應(yīng)的數(shù)據(jù)文件如何修改?解決這個問題的違禁詞辦法是利用AutoLISP語言。 在AutoLISP語言中,有很多實體訪問函數(shù),實體名稱函數(shù)、實體數(shù)據(jù)函數(shù),運用上述函 數(shù)編制一個LISP程序就可以實現(xiàn)圖形文件到數(shù)據(jù)文件的自動轉(zhuǎn)換。具體過程如下: 用ssget函數(shù)構(gòu)造一個選擇集,在利用sslength函數(shù)求出選擇集實體的個數(shù),然后ssname函數(shù)依次求出每個實體的名稱,在通過entget函數(shù)就可以獲得實體的下列信息: 實體類型,所在層名和實體顏色號(一般圖形的編碼就隱含在圖層和顏色中)。實體類型常見有:組合線、直線、注記和塊。 如果實體是直線,我們就可以直接讀取直線的起始坐標(biāo)。如果實體是注記類,我們可以讀取注記內(nèi)容,字符高度,方向及注記點位坐標(biāo)。 如果實體是塊,我們就可以直接讀取塊名,插入點位,旋轉(zhuǎn)角度和X、Y方向比例因子。
如果是組合線,可利用entnext函數(shù)依次讀取線上的各點坐標(biāo)。把上面獲得數(shù)據(jù)按所需 要的格式,輸入到相應(yīng)的數(shù)據(jù)文件中,即實現(xiàn)了圖形到數(shù)據(jù)的自動轉(zhuǎn)換。這樣一來,如果原圖形中某一范圍需要修改的話,就可以利用AutoCAD編輯命令完成,甚至可以把原圖中元素刪除掉,重新繪制,修改完成后,運行上述LISP程序,給出變更范圍,計算機立即生成一個新的數(shù)據(jù)文件,重新納入管理系統(tǒng)中去,從而保證了圖形于數(shù)據(jù)的統(tǒng)一。
2.3利用圖形和數(shù)據(jù)相互轉(zhuǎn)換功能進行控制網(wǎng)的優(yōu)化設(shè)計
控制網(wǎng)的精度取決于網(wǎng)形結(jié)構(gòu)和觀測量的精度,控制網(wǎng)的結(jié)構(gòu)主要任務(wù)是確定合理的網(wǎng)形結(jié)構(gòu)。這個過程完全可以在AutoCAD下完成。
首先,把已知數(shù)據(jù)輸入計算機,初步確定待定點的位置,再用邊長和方向把這些點連接起來構(gòu)成控制網(wǎng)。網(wǎng)中已知點、未知點及觀測邊、觀測方向均用不同的圖層和顏色加以區(qū)分。然后,把該網(wǎng)形轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)文件,則該數(shù)據(jù)文件含有網(wǎng)形的所有點位及觀測信息。調(diào)用相應(yīng)的精度估算程序,對該網(wǎng)做精度分析,其結(jié)果仍以圖形形式返回AutoCAD中,如各點的誤差橢圓等。設(shè)計者將根據(jù)這些精度指標(biāo),參照設(shè)計要求,合理調(diào)整該網(wǎng)的結(jié)構(gòu),反復(fù)上述過程,最后,完成該控制網(wǎng)的優(yōu)化設(shè)計,輸出該網(wǎng)設(shè)計圖和精度分析結(jié)果。
3 用LISP程序?qū)崿F(xiàn)圖形的批量編輯
在測量圖形處理中,經(jīng)常會遇到需要批量處理某類圖素的情況。如地形圖中的一些專用符號及注記字符的大小需要統(tǒng)一放大或縮??;圖中的植被符號需要統(tǒng)一調(diào)整密度等。如果我們采用手工逐一編輯的話,工作量相當(dāng)大,效率很低,盡管這類問題編輯工作量大,但規(guī)律性極強,我們可以編制一段相應(yīng)的LISP程序來自動完成。具體作法是,首先是在AutoCAD下構(gòu)造一選擇集,集內(nèi)包含所有需要修改的實體,然后逐一求出各個實體的名稱,并對該實體有關(guān)數(shù)據(jù)做相應(yīng)的修改。 類似的批量編輯問題還很多,如修改某一類實體的圖層或顏色,刪除滿足一定條件的所有實體等等。均可以通過LISP程序來完成,從而大大地提高編輯的工作效率。
4 用LIST語言開發(fā)新的功能函數(shù)
AutoCAD已經(jīng)為我們提供了豐富的繪圖和編輯命令,但是這些命令并不是針對測量專業(yè)而設(shè)置的。有些測量方面常用的功能AutoCAD并不具備,但可以利用LISP語言對AutoCAD作二次開發(fā),開發(fā)出適應(yīng)測量專業(yè)特點的新命令。這里只舉幾個簡單的例子加以說明: 在地形測量中,
(1)如果我們測量了某一矩形建筑物的四個點,則很容易把這個建筑物繪制出來。但大多數(shù)情況是,我們只測量了這個建筑物的一條邊,丈量了建筑物的寬度,這種情況,顯然AutoCAD提供的LINE或PLINE命令是無法實現(xiàn)的。
(2)在地形測量中,加固陡坎、末加固陡坎、鐵路、電力線路,圍墻,界址線等等地貌符號和圖式符號的繪制,AutoCAD沒有提供相應(yīng)的繪圖命令,為此,我們都可以編制相應(yīng)的LISP程序來自動處理完成。以在編輯土地利用現(xiàn)狀圖時,經(jīng)常需要知道某一宗地的面積,同樣也可以編制一個LISP程序,它的功能是把圍繞宗地四周的線提出來,首尾相接,構(gòu)成封閉的多邊形,計算其面積并顯示出來。
類似的,我們可以編制若干個LISP程序,每一個程序完成一個相應(yīng)的功能,把這些程序嵌入AutoCAD內(nèi)部,調(diào)用AutoCAD時一同裝入內(nèi)存,我們就可以象調(diào)用其它AutoCAD命令 一樣,隨意調(diào)用,方便、靈活地完成各種編輯工作。
5 圖形坐標(biāo)還原、方位旋轉(zhuǎn)及換帶處理
在地形圖或地籍圖測量中,會遇到這樣的情況,圖形已經(jīng)測繪完畢,但坐標(biāo)系統(tǒng)用錯或需要換帶處理,或需要把圖形扭轉(zhuǎn)(還原)或處理到需要的坐標(biāo)系統(tǒng)。AutoCAD可以幫助您完成上述工作。 具體的辦法是:對于坐標(biāo)系統(tǒng)用錯,在測圖區(qū)域內(nèi)找相距較遠的兩個已知點,計算確定對的和錯的兩組坐標(biāo),分別計算兩點之間邊的方位,確定出需要扭轉(zhuǎn)的角度。如果是數(shù)字化地形圖或地藉圖,直接在AutoCAD環(huán)境下調(diào)出所有圖幅,關(guān)閉純地形圖或地籍圖以外的圖層(如圖廓等圖層)。利用MOVE命令移動整塊圖形,移動基點選取上述已知點中錯誤的一 個。再利用ROTATE命令旋轉(zhuǎn)整塊圖形,旋轉(zhuǎn)基點選擇已知點中正確的一個。經(jīng)移動和旋轉(zhuǎn)正確后的圖形由WBOLCK命令存盤,重新調(diào)出該圖形,再重新分幅和加圖廓等信息。換帶處理,方法類似。如果不是數(shù)字化的圖形,需要將該圖形通過數(shù)字化儀或掃描儀加上相應(yīng)的軟件處理成AutoCAD下的圖形,按上述方法,即可完成圖形坐標(biāo)還原、方位旋轉(zhuǎn)及換帶處理。
6 GPS點、導(dǎo)線點、圖根點展點在分幅圖上
大比例尺、大面積的地形圖或地籍圖測量,規(guī)范要求除必需的導(dǎo)線點外,還需要大量的圖根點,少則幾百個,多則幾千個。人工找點將其上在相應(yīng)圖幅上,工作量大,效率低,還容易錯。計算機加 AutoCAD就容易多了。
具體方法是這樣, 先將各點的點號、坐標(biāo)按規(guī)定的格式錄入計算機形成數(shù)據(jù)文件, 檢查無錯誤后,通過展點程序調(diào)用該數(shù)據(jù)文件,生成與AutoCAD連接的交換文件(擴展名為SCR),然后在AutoCAD下用SCRIPT命令執(zhí)行該交換文件,即可得到已上好點的總體分幅圖。這樣哪一個點在哪一幅圖上,一目了然,通過打印機或繪圖機輸出該圖。
AutoCAD 還有許多功能可供我們測繪行業(yè)運用, 有待我們?nèi)ネ诰?,也望同仁相互交流?共同發(fā)展,為測繪事業(yè)作出貢獻。