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