齊冬梅,鄭加柱
(南京林業(yè)大學(xué)土木工程學(xué)院,南京210037)
隨著數(shù)字化測(cè)圖的迅速發(fā)展和廣泛使用,多數(shù)測(cè)繪單位已經(jīng)把AutoCAD作為地圖數(shù)字化和數(shù)字化測(cè)圖的一種工具。但是,隨著AutoCAD應(yīng)用領(lǐng)域的不斷擴(kuò)大,其應(yīng)用的地物符號(hào)也越來(lái)越復(fù)雜化,AutoCAD的基本繪圖系統(tǒng)已不能適應(yīng)當(dāng)今測(cè)繪行業(yè)所面對(duì)的各種復(fù)雜符號(hào),必須進(jìn)行定制和開(kāi)發(fā),才能滿(mǎn)足地圖數(shù)字化的要求[1]。而地形圖圖式是國(guó)家統(tǒng)一頒布執(zhí)行的標(biāo)準(zhǔn),是測(cè)繪符號(hào)設(shè)計(jì)和編碼的依據(jù)。本文就依據(jù)GB/T 20257.1—2007《1∶500 1∶1000 1∶2000地形圖圖式》中規(guī)定的符號(hào)大小和方向等要素,并對(duì)其進(jìn)行仔細(xì)研究和分析的基礎(chǔ)上,根據(jù)AutoCAD繪圖特點(diǎn),介紹用文本編輯器和MKLITPE命令定制地形圖線(xiàn)型的具體方法。
AutoCAD提供了標(biāo)準(zhǔn)線(xiàn)型庫(kù)acad.1in和acadiso.1in。用戶(hù)在繪圖時(shí),可根據(jù)需要選擇其中的線(xiàn)型,當(dāng)這些標(biāo)準(zhǔn)的線(xiàn)型滿(mǎn)足不了要求時(shí),就需要制作特殊的線(xiàn)型。
在AutoCAD中,線(xiàn)型可分為簡(jiǎn)單線(xiàn)型和復(fù)合線(xiàn)型。簡(jiǎn)單線(xiàn)型是指有寬度的實(shí)線(xiàn)和各種點(diǎn)劃線(xiàn),如小路、地類(lèi)界等。復(fù)合線(xiàn)型是在簡(jiǎn)單線(xiàn)型的基礎(chǔ)上插入文本或形,如柵欄、圍墻等。線(xiàn)型文件是一種純ASCII碼格式的文本文件,一個(gè)線(xiàn)型文件中可以定義多種線(xiàn)型。因此,可以用任何一種文本編輯器 (如WINDOWS的NOTEPAD記事本)或字處理器來(lái)編輯線(xiàn)型文件。線(xiàn)型保存在擴(kuò)展名為.1in的文件中。用戶(hù)定義的新線(xiàn)型既可以加在標(biāo)準(zhǔn)線(xiàn)型文件acad.1in或acadiso.1in的后面,也可以自己創(chuàng)建新的線(xiàn)型文件 (如newLtype.lin)。
在線(xiàn)型文件中,每一種線(xiàn)型的定義都可定義為兩行。具體格式如下:
其中,第一行定義了線(xiàn)型的名稱(chēng)及線(xiàn)型說(shuō)明。在該行中必須以“*”打頭,然后是線(xiàn)型名和可選的線(xiàn)型說(shuō)明。如果需要給出線(xiàn)型的說(shuō)明,則必須通過(guò)逗號(hào)與前面的線(xiàn)型名稱(chēng)分開(kāi),線(xiàn)型說(shuō)明是可選項(xiàng),可以是用ASCII文字對(duì)線(xiàn)型圖案的簡(jiǎn)單表示,也可以是線(xiàn)型的擴(kuò)展說(shuō)明,還可以是注釋 (例如“此線(xiàn)型用于隱藏線(xiàn)”)。線(xiàn)型說(shuō)明允許省略,此時(shí)線(xiàn)型名后不能有逗號(hào)。
第二行是定義線(xiàn)型圖案的代碼。以字母A開(kāi)頭,A為線(xiàn)型的對(duì)齊方式,目前,AutoCAD僅支持這一種對(duì)齊方式。這種對(duì)齊方式將保證直線(xiàn)的端點(diǎn)處為短劃線(xiàn)。后面的dash-n用來(lái)指定組成線(xiàn)型圖案的線(xiàn)段長(zhǎng)度。若長(zhǎng)度為正,則表示是下筆段,即為要畫(huà)出的線(xiàn)段;若長(zhǎng)度為負(fù),則表示為提筆段,即空出長(zhǎng)度為該值的間隔;若長(zhǎng)度為零,則表示要繪出一個(gè)點(diǎn)。
簡(jiǎn)單線(xiàn)型由短劃線(xiàn)、點(diǎn)和空格組成。在地形圖中主要包括公路、小路、房屋實(shí)邊線(xiàn)等,這些線(xiàn)型比較簡(jiǎn)單。下面以定義縣級(jí)行政區(qū)界線(xiàn)為例來(lái)說(shuō)明如何使用文本編輯器定制簡(jiǎn)單線(xiàn)型。
用任一文本編輯器打開(kāi)acad.1in或acadiso.1in文件,或新建一個(gè)文件newLtype.lin,newLtype.lin必須保存在與標(biāo)準(zhǔn)線(xiàn)型acad.1in或acadiso.1in文件相同的路徑中,在AutoCAD 2007中為C:/Documents and Settings/Administrator/Application Data/Autodesk/AutoCAD 2007/R17.0/chs/Support。在newLtype.lin文件中加入下面兩行內(nèi)容:
保存此文件并退出文本編輯器,即完成線(xiàn)型的定義。代碼說(shuō)明:第一行中“*”為標(biāo)識(shí)符,標(biāo)志一種線(xiàn)型定義的開(kāi)始?!翱h界”為線(xiàn)型名,之后是對(duì)線(xiàn)型形狀的簡(jiǎn)單描繪 (描繪是示意性的)。第二行必須以“A”開(kāi)頭,表示對(duì)齊方式。正數(shù)4.5表示繪4.5單位長(zhǎng)的短劃線(xiàn),負(fù)數(shù)-1.75表示空1.75單位長(zhǎng)的空格,數(shù)字0表示繪出一個(gè)點(diǎn)。
1 .3 .1 復(fù)合線(xiàn)型的定義格式
復(fù)合線(xiàn)型除了包含短劃線(xiàn)、點(diǎn)和空格外,還包含形或文本對(duì)象。復(fù)合線(xiàn)型的定義格式與簡(jiǎn)單線(xiàn)型基本相同,不同之處在于還可在定義的線(xiàn)型中嵌入文本字符串或形文件 (.shx)中的形。復(fù)合線(xiàn)型定義的具體格式如下:
其中,嵌入文本字符串的定義語(yǔ)法為:
嵌入形的定義語(yǔ)法為:
其中:Text是嵌入的文字,須用雙引號(hào)括起來(lái)。Text_style_name是嵌入文字所用的文字樣式名。如果當(dāng)前圖形中沒(méi)有Text_style_name,則AutoCAD不允許使用此線(xiàn)型。Shape_name是嵌入的形名。Shx_file_name是嵌入的形所在的編譯后的形文件名。其余五個(gè)字段,R=n,A=n,S=n,X=n和Y=n為可選項(xiàng)。其后面的n表示各參數(shù)的值。
R表示文本或形相對(duì)于當(dāng)前畫(huà)線(xiàn)方向的傾斜角度。在系統(tǒng)默認(rèn)情況下該選項(xiàng)值為0,表示文本或形的方向與當(dāng)前線(xiàn)段方向一致。
A表示形或文本相對(duì)于世界坐標(biāo)系的X軸的絕對(duì)傾斜角度。當(dāng)文本或形總是以水平形式出現(xiàn)而與線(xiàn)段的方向無(wú)關(guān)時(shí),A=0。用戶(hù)可以指定R和A,但兩者不能同時(shí)指定。如果兩個(gè)都沒(méi)有指定值,則AutoCAD將采用R=0。R和A默認(rèn)以度(d)為單位,如果希望以弧度或梯度作為單位,那么數(shù)字后面必須加r或g。
S用來(lái)確定文本或形的比例因子。如果使用固定高度的文本樣式,AutoCAD則將該高度乘以n。如果使用可變高度的文本樣式,AutoCAD則會(huì)把n當(dāng)作是絕對(duì)高度。對(duì)于形而言,該比例因子會(huì)使形按確定的比例放大或縮小。
X和Y用于確定文本或形相對(duì)于線(xiàn)型定義所確定的當(dāng)前點(diǎn)的偏移量。默認(rèn)情況下,AutoCAD將文本字符串的左下角或形的插入點(diǎn)放在當(dāng)前點(diǎn)上。X的值使文本或形沿著當(dāng)前線(xiàn)段方向移動(dòng)。大于0時(shí)和當(dāng)前線(xiàn)段方向相同,小于0時(shí)相反。Y的值使文本或形沿當(dāng)前線(xiàn)段方向垂直的方向 (逆時(shí)針)移動(dòng),大于0時(shí)與該方向相同,小于0時(shí)相反。這兩個(gè)值將使文本或形的定位更精確。
1 .3 .2 復(fù)合線(xiàn)型的定制
在進(jìn)行復(fù)合線(xiàn)型的定制時(shí),可以把形或文本同時(shí)嵌入到同一種線(xiàn)型中。下面分別介紹復(fù)合線(xiàn)型的定制方法。
(1)定義帶形 (Shape)的線(xiàn)型。
以堤、陡坎、斜坡為例,這三種線(xiàn)型都嵌入了一個(gè)共同的形 “︱”。其描述代碼為:
以上代碼說(shuō)明:第一行是標(biāo)題行。以“*”開(kāi)頭,形的編號(hào)為135,由6個(gè)字節(jié)定義,形名為“KAN”。
第二行為描述行。 “014”為一個(gè)描述字節(jié),其中的0表示后邊兩個(gè)字符是十六進(jìn)制數(shù),1代表1個(gè)矢量長(zhǎng)度,4代表矢量的方向。整個(gè)字節(jié)表示從定義點(diǎn)落筆,向4方向劃1個(gè)單位長(zhǎng)度線(xiàn)段?!?”表示提筆,和后面的“01C”一起表示向C方向空移1個(gè)單位長(zhǎng)度,“1”表示落筆,和后面的“01C”一起表示向C方向劃1個(gè)單位長(zhǎng)度線(xiàn)段,“0”表示形定義結(jié)束。(形的定義在這里不再贅述,有興趣的讀者可以參考AutoCAD“幫助”→“自定義手冊(cè)”→“形和形字體”→“創(chuàng)建形定義文件”)
用文本編輯器或字處理器將上述代碼寫(xiě)入新建的newshape.shp文件中,并保存在C:/Documents and Settings/Administrator/Application Data/Autodesk/AutoCAD 2007/R17.0/chs/Support路徑下。
形文件必須編譯后,其中定義的形才能被調(diào)用。在AutoCAD命令行鍵人COMPILE命令,當(dāng)顯示“選擇形或字體文件”對(duì)話(huà)框時(shí),從相應(yīng)路徑下選擇形定義文件newshape.shp開(kāi)始編譯。編譯后在同一路徑下自動(dòng)生成同名.shx文件,即newshape.shx。用LOAD命令加載編譯后的形文件newshape.shx后,定義的形就能被SHAPE命令調(diào)用或用來(lái)定制復(fù)合線(xiàn)型。
用文本編輯器新建或打開(kāi)線(xiàn)型文件newLtype.lin,在文件后面加入堤、陡坎、斜坡的線(xiàn)型定義,具體如下,結(jié)果如圖1所示:
圖1 包含形對(duì)象的復(fù)合線(xiàn)型Fig.1 Complex linetype including shape object
(2)定義帶文本字符串的線(xiàn)型。
定義像地面下的污水管道帶有文字的線(xiàn)型,如圖2所示,具體定義如下:
圖2 污水管道Fig.2 Sewage conduit linetype
*熱力管道
(3)定義同時(shí)帶文本和形的線(xiàn)型。
定義架空的熱力管道的復(fù)合線(xiàn)型。假設(shè)墩架圖
圖3 熱力管道Fig.3 Heating pipe linetype
其中的形定義如下:
用文本編輯器定義的線(xiàn)型,其代碼都是在英文半角狀態(tài)下輸入。線(xiàn)型定義完后并不能直接用來(lái)進(jìn)行繪圖操作,必須進(jìn)行加載后才能調(diào)用。在Auto-CAD中,打開(kāi)“線(xiàn)型管理器”對(duì)話(huà)框,利用“加載”選項(xiàng)打開(kāi)“加載或重載線(xiàn)型”對(duì)話(huà)框,在文件中選擇線(xiàn)型文件newLtype.lin后,既可顯示所有的自定義線(xiàn)型,隨后即可加載所需線(xiàn)型。新線(xiàn)型被加載到“線(xiàn)型管理器”對(duì)話(huà)框中后,在“線(xiàn)型管理器”對(duì)話(huà)框中選取新定義的線(xiàn)型,并將該線(xiàn)型置于當(dāng)前圖層中,最后單擊“確定”按鈕,返回到繪圖窗口,即可使用所定義的新線(xiàn)型進(jìn)行繪圖。
在AutoCAD完全安裝的情況下,可以利用Express Tools提供的MKLITPE命令來(lái)定制線(xiàn)型。用戶(hù)無(wú)需了解線(xiàn)型的定義格式,也無(wú)需反復(fù)測(cè)量各種數(shù)據(jù),只需先繪制出構(gòu)成線(xiàn)型的各元素,然后激活MKLITPE命令,按照命令提示選擇構(gòu)成線(xiàn)型的各元素對(duì)象,即可生成所需的線(xiàn)型[2]。MKLTYPE命令可以定義一個(gè)基于所選對(duì)象的新線(xiàn)型,而且不需要加載,在“線(xiàn)型管理器”中就能看到,是線(xiàn)型定義的快速有效方法。其命令行提示如下:
這里的線(xiàn)型元素既事先繪制好的點(diǎn) (dot)、線(xiàn)(line)、文本 (Text)和形 (Shape)。AutoCAD將用這些對(duì)象的位置、長(zhǎng)度等數(shù)據(jù)來(lái)自動(dòng)生成線(xiàn)型代碼。
線(xiàn)型的多樣性,是地形圖繪制的特色之一,可以說(shuō)掌握了地形圖中線(xiàn)型的定制和使用,就等于掌握了AutoCAD線(xiàn)型定制的全部?jī)?nèi)容[4]。地形圖的境界線(xiàn)、道路、管線(xiàn)等都是用特殊的線(xiàn)型表示的,而在AutoCAD中卻很少有專(zhuān)用的地形圖線(xiàn)型。通過(guò)本文的介紹,用戶(hù)可以定制實(shí)際需要的線(xiàn)型,同樣能夠達(dá)到事半功倍的效果。
[1]高永芹.測(cè)繪CAD[M].北京:中國(guó)電力出版社,2008.
[2]楊德星,王 順.快速定制符合工程設(shè)計(jì)的CAD線(xiàn)型與圖案[J].煤礦機(jī)械,2003(9):67 -69.
[3]章斌全.AutoCAD進(jìn)階教程[M].北京:中國(guó)宇航出版社,2003.
[4]李海祥,許藝朦,陳 剛.淺談AutoCAD線(xiàn)型庫(kù)制作[J].測(cè)繪與空間地理信息,2008,31(4):200 -202,205.