楊明等
摘 要:利用C#程序語言通過對DXF文件的讀取和分析,從中快速、準(zhǔn)確地提取所需要放樣點的坐標(biāo),并生成適用于全站儀或RTK的數(shù)據(jù)文件。實踐表明,這種方法可以快速、準(zhǔn)確地獲得放樣點坐標(biāo),降低勞動強(qiáng)度,提高工作效率。
關(guān)鍵詞:DXF文件;坐標(biāo)提?。槐4媛窂?;坐標(biāo)文件
中圖分類號:TP391.41 文獻(xiàn)標(biāo)識碼:A DOI:10.15913/j.cnki.kjycx.2015.13.095
在數(shù)字化測量工作中,CAD繪圖軟件發(fā)揮著重要的作用,野外采集的數(shù)據(jù)成圖和事后的施工設(shè)計大都要使用CAD。在數(shù)字成圖時,我們需要將野外采集的數(shù)據(jù)導(dǎo)入到AutoCAD的CASS軟件中,但在施工放樣中,我們需要將圖上設(shè)計的特征點放樣到實地,利用全站儀的坐標(biāo)放樣功能或RTK將點位放樣到實地。但如何快速、準(zhǔn)確地從設(shè)計圖上提取點的坐標(biāo)相對來說比較困難,一般做法是利用AutoCAD的坐標(biāo)查詢功能,一個個查詢需要點的坐標(biāo),這種辦法不僅費時,而且容易出錯。圖形交換格式(Drawing Interchange Format,DXF)是AutoCAD圖形文件中所包含的全部信息標(biāo)記數(shù)據(jù)的一種表示方法,是AutoCAD圖形文件的ASCⅡ文件格式。對于DXF文件的格式和數(shù)據(jù)提取方法已有過不少研究,但在測繪領(lǐng)域的施工放樣中還沒有被充分利用。本文結(jié)合測量工作中的實際問題,利用C#計算機(jī)語言實現(xiàn)對CAD中點位坐標(biāo)的快速提取。該方法不僅簡化了在CAD中提取坐標(biāo)的工作流程,提高了工作效率,還減少了因操作人員的疏忽造成的錯誤。
1 DXF文件
DXF格式是特定版本AutoCAD圖形文件中所包含的全部信息的標(biāo)記數(shù)據(jù)的一種表示方法。典型的DXF文件由6大段(SECTION)組成,即標(biāo)題段(HEADER SECTION)、類段(CLASSES SECTION)、表段(TABLES SECTION)、塊段(BLOCKS SECTION)、實體段(ENTITIES SECTION)和對象段(OBJECTS SECTION)。其中,每一段由多個組(GROUP)組成,組是DXF文件的最小組成單位。每一組由兩行組成,第一行是組碼,它是一個整數(shù);第二行是組值,它的數(shù)據(jù)類型取決于組碼的值。每段由組碼0后接SECTION開始,組碼2后接各段段名,其后跟各段的各個組,各段結(jié)尾以組碼0后接ENDSEC表示。AutoCAD中的圖形信息主要位于實體段(ENTITIES SECTION),本程序也主要是對實體段中的信息進(jìn)行檢索,提取所需要點的坐標(biāo)。
2 實現(xiàn)方法
2.1 主要面臨的問題和解決方法
在一個AutoCAD文件中,存在著大量信息,如何從繁雜的數(shù)據(jù)中提取到所需的信息是需要解決的首要問題。根據(jù)DXF文件的特點,其點、線等實體圖形信息位于實體段中,這樣就縮小了檢索的范圍。在提取放樣點坐標(biāo)的同時,需要將各點坐標(biāo)與圖上實際位置相對應(yīng)。處理的方法是新建一個DXF文件,在讀取原文件的同時,把它所有的信息復(fù)制到新建的DXF文件中,并在新文件中為各放樣點標(biāo)注點號,注記的點號與提取坐標(biāo)時各點的編號一致。
2.2 程序設(shè)計
對于建設(shè)或施工單位提供的建筑設(shè)計平面圖,要用AutoCAD軟件打開,由于電子文件中建筑物的繪制單位一般為“mm”,所以要先將設(shè)計圖整體縮小0.001倍,使單位變成“m”,利用AutoCAD的縮放、圖層控制、平移、旋轉(zhuǎn)等操作,使設(shè)計圖上已標(biāo)注的測量坐標(biāo)值與查詢的測量坐標(biāo)一致。新建一圖層,并記住新圖層名,在新圖層中用點標(biāo)記需要放樣的各個點位,然后將文件另存為DXF格式。在讀取原文件的過程中,寫入新生成的文件,并判斷是否是需要的信息,如果是,就要記錄下來;如果不是,就繼續(xù)讀取下一行。需要注意的是,在得到需要的坐標(biāo)的同時,要在新生成的文件中寫入注記點號。
3 應(yīng)用實例
以提取深圳某高層建筑孔樁坐標(biāo)為例,給出的樁位平面設(shè)計圖上只在建筑物四個角點上標(biāo)注有大地坐標(biāo),而繪圖所用的坐標(biāo)系不是大地坐標(biāo)系。首先將圖形進(jìn)行縮放和平移變換,使圖上所量取坐標(biāo)與給定坐標(biāo)一致,然后新建一圖層,命名為“放樣樁點”,并在新圖層中用點把各個樁的位置標(biāo)記出來,最后將圖形文件另存為.dxf格式。
運(yùn)行軟件,選擇原文件和設(shè)定生成文件的保存路徑,并在圖層名中設(shè)置圖層為新建圖層“放樣樁點”。運(yùn)行結(jié)束后將在指定位置生成坐標(biāo)文件.txt和放樣點圖.dxf兩個文件,其中,坐標(biāo)文件中包含了所需放樣點的編號和坐標(biāo),放樣點圖中標(biāo)示了放樣點的編號與坐標(biāo)文件一一對應(yīng),方便現(xiàn)場參照。生成的放樣點如圖1所示。
4 結(jié)束語
實踐表明,該方法可以快速、準(zhǔn)確地從AutoCAD圖形中提取所需放樣點的坐標(biāo),節(jié)省放樣前期數(shù)據(jù)處理的時間。但在操作上還不是很簡便,利用CAD的二次開發(fā)功能,如何實現(xiàn)坐標(biāo)系的快速自動轉(zhuǎn)換和更簡便地提取坐標(biāo)需要進(jìn)一步的研究。
參考文獻(xiàn)
[1]冀庭軼,姬敏麗.AutoCAD結(jié)合全站儀實現(xiàn)異形建筑的定位放線[J].山西建筑,2008(12):351-352.
[2]譚超,張群會.基于AutoCAD的DXF格式文件讀寫方法研究[J].計算機(jī)與網(wǎng)絡(luò)創(chuàng)新生活,2009(21):46-49.
[3]蔣玉川,陳輝.AutoCAD圖形交換文件DXF在面向?qū)ο蟪绦蛟O(shè)計中的應(yīng)用[J].力學(xué)與實踐,2010(32):93-96.
〔編輯:王霞〕