淺談AutoCAD中修改高程的四種方法
引言
AutoCAD軟件包是美國Autodesk公司推出的CAD軟件,從AutoCAD第一版誕生到現(xiàn)在已有二十年的時間。AutoCAD是目前最流行的工程圖形處理軟件。由于它具有完善的繪圖功能、良好的用戶界面、易學(xué)易用等特點(diǎn),因而被廣泛應(yīng)用于測繪、規(guī)劃、設(shè)計(jì)、土地管理等行業(yè)。
2 AutoCAD使用中遇到的一些問題
現(xiàn)今許多數(shù)字線劃地形圖的繪制有相當(dāng)一部分都是基于AutoCAD二次開發(fā)的軟件來繪制完成的。繪圖軟件讀取從全站儀或RTK傳出的數(shù)據(jù),并展野外測點(diǎn)點(diǎn)號得到DWG圖形,利用這些點(diǎn)號結(jié)合外業(yè)草圖繪制數(shù)字線劃地形圖。此時繪出的線劃標(biāo)高大部分不為零,而且標(biāo)高大小不等。在做高程點(diǎn)時,如果高程點(diǎn)密度不夠,需復(fù)制高程點(diǎn)使其滿足地形圖對高程點(diǎn)的要求,復(fù)制的高程點(diǎn)需進(jìn)行修改。使用RTK測地形高程時,如果控制點(diǎn)不足,RTK無法測的準(zhǔn)確的實(shí)地高程,因此出現(xiàn)展出的測量高程與實(shí)地高程之間有一個固定常數(shù)(K)。綜上所述,在數(shù)字化地形圖制作中,高程問題經(jīng)常出現(xiàn),對數(shù)字化地形圖中的高程進(jìn)行修改是不可避免的。
3 在AutoCAD中修改高程的四種方法
通過對AutoCAD的使用、總結(jié),結(jié)合實(shí)際遇到得問題,我們得出以下三種在AutoCAD中修改高程的方法。三種方法分別為單個修改方法、批處理修改方法、線劃整體修改方法。其中批處理修改方法又分為利用AutoCAD中的命令和工具條進(jìn)行手工批處理修改方法、利用在AutoCAD的命令行中輸入命令批處理修改方法以及利用AutoCAD為用戶提供二次開發(fā)工具進(jìn)行編程進(jìn)行批處理修改方法。
3.1 單個修改方法
①、打開特性窗口;
②、選擇一個高程點(diǎn)或線劃;
③、在“位置(起點(diǎn)、端點(diǎn))Z坐標(biāo)”或“標(biāo)高”欄中輸入正確的高程值;
④、選擇下一個高程點(diǎn)或線劃,重復(fù)第3步。
3.2 批處理修改方法
(1) 利用AutoCAD中的命令和工具條進(jìn)行手工批處理修改方法.
①、將圖幅中的其它層全部關(guān)閉或凍結(jié),但除高程點(diǎn)所在的層外;
②、選擇任意一個高程點(diǎn)(其高程為Z),同時任意畫一條PL線;
③、打開特性窗口;
④、將PL線的“標(biāo)高”值改為“K+Z”;
⑤、在AutoCAD命令行輸入“move”,選擇所有的高程點(diǎn),捕捉先前所選的高程點(diǎn)為基點(diǎn),PL線上的任意點(diǎn)為第二目標(biāo)點(diǎn)進(jìn)行移動操作。
操作結(jié)束后,查詢其它點(diǎn)的高程值,就會發(fā)現(xiàn)所有點(diǎn)的高程值均在原有的基礎(chǔ)上增加了一常數(shù)K。
(2) 利用在AutoCAD的命令行中輸入命令批處理修改方法.
①、利用特性窗口的“快速選擇”來選擇符合條件的對象(也可以利用將圖幅中的其它層全部關(guān)閉或凍結(jié),但除高程點(diǎn)所在的層外);
②、在AutoCAD命令行依次輸入“move”、“all”、“0,0,0”、“0,0,K”。
操作結(jié)束后也能達(dá)到上述的目標(biāo)。
(3) 利用AutoCAD為用戶提供二次開發(fā)工具進(jìn)行編程進(jìn)行批處理修改方法.
本文的程序設(shè)計(jì)就是利用AutoLISP語言設(shè)計(jì)的。假定高程點(diǎn)所在的層為“GCD”。
程序清單:
(defun c:gcd(/k ssi pt pty ptx ptz0 ptm)
(setq cmdecho(getvar “cmdecho”))
(setvar “cmdecho”0)
(command “-layer”“new”“gcd03-”“set”“gcd03-” “”)
(setq ssgcd(ssget“x”(list(cons0“point”)(cons8“gcd”)))
(setqK(getdist“\nPlease Input K:”))
(if ssgcd
(progn
setq n (sslength ssgcd)
n0 0
)
(repeat n
(setq ssi(ssname ssgcd n0))
(setq sse(entget ssi))
(setq pt(cdr(assoc 10 sse)))
(setq pty(car pt))
(setq ptx(cadr pt))
(setq pz0(caddr pt))
(setq ptz(+pz0 k))
(setq ptm(LIST pty ptx ptz))
(command“point”ptm“”)
(setq n0(+n0 1))
聲明①:文章部分內(nèi)容來源互聯(lián)網(wǎng),如有侵權(quán)請聯(lián)系刪除,郵箱 cehui8@qq.com
聲明②:中測網(wǎng)登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實(shí)其描述,文章內(nèi)容僅供參考。