陳偉
【摘 要】Auto CAD繪圖軟件是一個具備良好界面的大型微機測繪軟件,因此在工業(yè)設計、建筑設計等方面的測繪應用十分的廣泛。在Auto CAD不斷發(fā)展的過程中存在了好幾個版本,每一個版本的圖形數(shù)據(jù)庫的訪問和信息處理都需要對其數(shù)據(jù)庫的結(jié)構進行探測和識別,這樣才能在測繪應用的過程中更加的得心應手,本文就對不同版本的CAD軟件的測繪應用進行分析。
【關鍵詞】圖形數(shù)據(jù)庫 訪問 測繪
若采用CAD對圖形進行繪制和修改的同時還能對其復雜且龐大的數(shù)據(jù)庫進行管理,那么可以在任何時間對數(shù)據(jù)庫中的任何數(shù)據(jù)進行添加、修改和刪除處理,從而盡量保證數(shù)據(jù)庫中的數(shù)據(jù)和與計算機屏幕中的圖像保持一致,由此來看CAD不僅是一個圖形測繪軟件,同時還是一個圖形數(shù)據(jù)庫管理程序。很多時候在設計人員使用CAD軟件時都需要對其進行二次開發(fā)處理,那么在開發(fā)之前就應該對目前最常用的開發(fā)技術進行全面的了解,從而才能開發(fā)出適合自己使用的編輯命令,逐漸完善其中的功能缺陷。
1 不同版本CAD數(shù)據(jù)庫結(jié)構對比
在軟件開發(fā)商技術不斷成熟的過程中,其會不斷的對該軟件進行升級,在升級的過程中其圖形數(shù)據(jù)庫也在不斷的發(fā)生變化,比如拿Auto CAD12版本和Auto CAD2000版本作比較,我們使用復合線命令畫一條(2.5,3.2),(6.6,3.3)作為兩個端點,且存在(4.0,6.0)結(jié)點的復合線,在 版本中其數(shù)據(jù)表如下所示:
(( : 001 )( . )( )( . 1)( 0. . 0 )(5 . )( )( )( 1.0)( )( )( )( ))。
在 的數(shù)據(jù)表為:
(( : )(0 . )( : )(5. )(100 . )( 0)( . )(8 . )(100. )( )( )( )( )( )( 2. . )( . 0)( . 0)( . 0)( . 000 . )( )( )( )( . 3. )( )( )( )( )
通過以上的數(shù)據(jù)表可以看出,CAD軟件在升級的過程中其數(shù)據(jù)表結(jié)構發(fā)生了變化,內(nèi)容同樣也發(fā)生了變化,數(shù)據(jù)的信息量也趨于復雜化,由此可知在CAD軟件升級的過程中其信息量越復雜,那么所存儲的信息也越精細,因此在軟件不斷升級的過程中能夠給用戶帶來更多的便利,但是同樣也存在著比較明顯的缺陷,比如采用高版本繪制的圖形在低版本的軟件中無法打開和運行。
2 對圖形數(shù)據(jù)庫進行探測和識別
每個測繪單位所使用的CAD軟件版本也可能存在差異,不管是哪個版本在開發(fā)之前都要對其數(shù)據(jù)庫結(jié)構等進行了解,所以作為企業(yè)的軟件開發(fā)人員來說,CAD二次開發(fā)是應用的關鍵。一般對CAD軟件數(shù)據(jù)庫結(jié)構的探測方法有幾種可供選擇,本次所探討的是基于Auto LISP語言進行二次開發(fā)的CAD軟件。在CAD軟件的數(shù)據(jù)庫中有復雜實體和簡單實體的區(qū)別,首先在當前的圖形文件中輸入一個需要進行探測的實體,即直線然后在命令欄輸入(entget/entlast),這樣便會將最后一個輸入實體的數(shù)據(jù)表的格式探測出來,然后將輸入的實體和探測的格式進行記錄,直到將所有的實體全部探測完畢。這些都是相對簡單的實體,對于復雜的實體而言其是由一個主實體和多個子實體構成的,若采用上述的方法只能探測到主實體的數(shù)據(jù)表格式,如果想要獲得那些子實體的數(shù)據(jù)表格式就需要采用entnext函數(shù),這樣便能夠?qū)⒅鲗嶓w和相應的子實體格式和名稱進行探測。在輸入一個復雜的實體時盡可能的簡單,旨在能夠?qū)⑵渲袉栴}進行解決即可,比如在命令行輸入以下命令:
( )—得到主實體名
( )—獲得主實體的數(shù)據(jù)表
( )—獲得第一個子實體名
( )—獲得第一個子實體的數(shù)據(jù)表
( *( *))返回值為
不同的CAD版本其對于復雜實體和簡單實體的分類也存在明顯的差異,舉個例子,如在12版本中復合線為復雜實體,但是在2000版本中復合線則變成簡單實體。在對實體進行探測時,其探測復雜實體的方法同樣適用于簡單實體的探測。
在探測完成之后則就需要對各個數(shù)據(jù)表中的組碼進行識別,如果識別失敗那么同樣不能進行使用。下面就簡單介紹幾組組碼和其所代表的含義:
表示實體名; 表示的是實體的類型; 表示的是實體代號; 表示的是線型名稱; 表示的是圖層; 表示的是顏色號; 表示的是三維延伸向量。
單單了解和掌握組碼是不行的,因為在很多時候即使是同一組碼但是其所代表的實體含義也會有所差異,所以在識別組碼時需要進行揣測,在探測實體時需要進行修改,逐漸的判斷出某個位置代表實體的特性。
3 圖形數(shù)據(jù)庫的訪問和應用
在對CAD的使用時我們不僅僅要掌握該軟件命令對圖形的編輯、增加和刪減操作,還要學會采用間接的手段來給圖形添加新的實體,并對這些實體的形狀、位置和顏色等特性進行修改處理,必要時還能夠?qū)D形中的數(shù)據(jù)進行查詢、分析、處理等,這些分析處理的結(jié)果能夠為企業(yè)的管理以及在進行重要決策方面提供依據(jù)。新時期測繪技術在不斷的發(fā)展,其對于測繪人員的要求也在不斷的提升,以往的測繪人員只需要提供一些空間信息即可,現(xiàn)如今則要求測繪人員能夠?qū)π畔⑦M行采集、管理和使用等綜合性和全能型方向轉(zhuǎn)變。在對CAD圖形數(shù)據(jù)庫結(jié)構探測完成之后,用戶所想要的信息便能夠輕易的找到,并且可以使用各類自己比較熟悉的編程語言對其信息進行篩選、運算、統(tǒng)計、分析、修改等操作,測繪工作人員的工作效率也明顯得到提升。
4 結(jié)語
企業(yè)和單位在購買測繪軟件之后往往會因為使用過程中的功能缺陷導致需要進行二次開發(fā),因此單位內(nèi)部一定要儲備具備軟件二次開發(fā)能力的團隊來對現(xiàn)有功能欠缺的軟件進行改進。在開發(fā)之前要深入了解每個版本軟件的數(shù)據(jù)表格式,或者通過探測來了解其數(shù)據(jù)表格式,在全部了解之后實現(xiàn)對圖形數(shù)據(jù)庫的訪問,繼而便能夠處理自己需要的圖形信息,然后根據(jù)自己的需求對這些信息進行處理,編寫出適合自己的專用測繪程序。
參考文獻:
[1] 黃玉勇,熊先源.AutoCAD圖形數(shù)據(jù)庫的訪問及其在測繪工作中的應用[J].測繪通報,2001(8).
[2] 高何利,何秀國,劉金婷.AutoLISP程序在地形圖圖廓整飾中的應用[J].人民長江,2007(10).