一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

擴展實(shí)體數據在給排水工程CAD中的應用

時(shí)間:2024-07-30 20:27:15 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

擴展實(shí)體數據在給排水工程CAD中的應用

【摘要】本文從擴展數據在實(shí)體中的存貯方式、擴展實(shí)體數據的插入和查詢(xún)以及應用擴展實(shí)體數據實(shí)現管配件的插入、圖形的刪除及修改等方面,介紹了應用擴展實(shí)體數據庫進(jìn)行給排水工程CAD繪制的方法和技巧,并給出幾個(gè)通過(guò)實(shí)際工程驗證的實(shí)用小程序,提出工程設計人員在工程圖繪制過(guò)程中,自行編寫(xiě)小程序可以擴充商業(yè)軟件的功能,提高繪圖效率的結論。

1概述

在計算機迅速普及的今天,CAD已不再是新鮮名詞。尤其是在工程設計領(lǐng)域,手工畫(huà)圖已逐漸被CAD軟件所代替。在我國應用最廣泛、最普及的CAD工具是AutoCAD軟件包,該軟件包以其界面友好、使用方便、功能強大的特點(diǎn),被廣大工程設計人員所接受。在給水排水工程領(lǐng)域,由于各設計單位的設計標準和設計方法的不同,造成各軟件公司所開(kāi)發(fā)的CAD軟件不能被設計單位所廣泛接受。尤其是軟件公司的軟件開(kāi)發(fā)人員,在我國大多是計算機應用比較熟練的非專(zhuān)業(yè)人員或實(shí)際工作經(jīng)驗很少的專(zhuān)業(yè)技術(shù)人員,由于他們專(zhuān)業(yè)知識和工作經(jīng)歷的限制,造成所開(kāi)發(fā)的專(zhuān)業(yè)軟件存在這樣或那樣的不足,從而限制了專(zhuān)業(yè)軟件的實(shí)用性。因此,盡管市場(chǎng)上的商業(yè)專(zhuān)用軟件很多,但能夠切實(shí)滿(mǎn)足工程設計需要的軟件并不多,甚至許多單位購置的軟件根本就不能發(fā)揮其應有的作用。通過(guò)多年的CAD軟件開(kāi)發(fā)經(jīng)驗,作者認為,工程設計人員掌握一定的CAD技術(shù)處理技巧,可以在直接應用AutoCAD軟件或其它商業(yè)軟件進(jìn)行工程設計的同時(shí),自行編寫(xiě)一些實(shí)用的小程序,不但可以提高工程設計效率,而且還可以通過(guò)日積月累,使所編寫(xiě)的小程序在本單位內應用。

在給水排水工程領(lǐng)域,最常處理的圖形就是管線(xiàn)。管線(xiàn)是連接水源到水廠(chǎng)、水廠(chǎng)到用戶(hù)、各構筑物間的有向圖,一根管線(xiàn)的變動(dòng),必然引起其它設施的改變。同樣,各構筑物采用平、立、剖三視圖進(jìn)行工程圖的表達,一個(gè)視圖的改變,也引起其它視圖相應的改變。以前我們都是通過(guò)單個(gè)圖形分別修改的方法來(lái)實(shí)現,不但效率低,而且容易產(chǎn)生錯誤。本人通過(guò)在WDOC軟件開(kāi)發(fā)中的應用,認為擴展實(shí)體數據庫的應用,可以有效地解決這些問(wèn)題,并且能夠提高繪圖效率。

2擴展實(shí)體數據的插入與查詢(xún)

2.1擴展數據在實(shí)體中的存貯方式

假設一條管線(xiàn),起點(diǎn)號是8,坐標是(5.05.00.0),終點(diǎn)號是18,坐標是(10.010.00.0),管段號是1,這條管線(xiàn)的圖形數據庫為:

((-1<Entityname:1f92f48>)(0″LINE″)(5.″519″)(100.″AcDbEntity″)(67.0)(8.″0″)(100.″AcDbLine″)(105.05.00.0)(1110.010.00.0)(2100.00.01.0)(-3(″PIPE1″(1002.″{″)(1000.″8,18″)(1002.″}″)))

其中擴展數據為:(-3(″PIPEI″(1002.″{″)(1000.″8,18″)(1002.″}″))),″PIPEI″表示以PIPE為前導的管線(xiàn),管線(xiàn)號為1;″8,18″表示管線(xiàn)的起點(diǎn)號為8,終點(diǎn)號為18。

擴展實(shí)體數據內容在實(shí)體數據庫中是以-3碼為前導的一個(gè)表項。在一個(gè)實(shí)體中可以加入擴展實(shí)體數據的大小為16383字節。用于描述非圖形數據的擴展實(shí)體數據庫有關(guān)組碼為:

組碼 意義
1000
1001
1002
1003
1004
1005
1010
1011
1012
1013
1040
1041
1042
1070
1071 ASCII碼字串,長(cháng)度小于255個(gè)字符位
已登記的應用名,長(cháng)度小于31個(gè)字符位
控制字串
層名
長(cháng)字節,長(cháng)度小于127字符
實(shí)體索引名
點(diǎn)位
3D地坪空間位置
3D地坪空間位移
3D地坪空間方向
浮點(diǎn)數
距離值
比例系數;
16位整數
32位整數

2.2擴展實(shí)體數據的插入

使用擴展實(shí)體數據,必須用AutoLISP程序實(shí)施對實(shí)體數據庫的訪(fǎng)問(wèn)和修改。首先要自行定義擴展實(shí)體數據庫信息表,然后再加入到指定的實(shí)體中。此處只是給出擴展實(shí)體數據庫插入的AutoLISP程序主要內容,有興趣的讀者可以自行加入所需要的信息表,以把這一程序的功能進(jìn)行擴展。

對最后畫(huà)的一個(gè)實(shí)體加入擴展的實(shí)體數據表的AutoLISP程序為:

(defunexadd(nametyp/sselnel);name:擴展實(shí)體數據登記名,typ:擴展實(shí)體數據內容。

(setqss(cons-3(list(consname(cons(cons1002″{″)(cons(cons1000typ)(list(cons1002″}″)))))));定義擴展實(shí)體數據庫el(entget(entlast));提取最近畫(huà)的一個(gè)實(shí)體的圖形數據庫

nel(consssel);把擴展實(shí)體數據信息加入到實(shí)體數據庫中)(regappname)(entmodnel))

如果對上述函數修改一下,可適用于對任意所選擇實(shí)體加入擴展實(shí)體數據信息:

(defunexaddl(nametyped/sselnel);ed:所選擇實(shí)體,把上述程序的el(entget(entlast))改為el(entgeted)即可。)

利用上述二個(gè)小程序,就可以實(shí)現對所畫(huà)的最后一個(gè)實(shí)體或任一所選擇的圖形實(shí)體加入擴展實(shí)體數據,其特點(diǎn)是比用屬性建立非圖形信息的速度更快、更靈活、更小的數據體積,而且可以進(jìn)行圖形索引。

2.3擴展實(shí)體數據的查詢(xún)

在對圖形實(shí)體插入擴展實(shí)體數據后,還要對所插入數據信息進(jìn)行查詢(xún)、修改和應用。此處只給出擴展實(shí)體數據查詢(xún)和數據提取的AutoLISP程序。

查找擴展數據登記名的程序:(defunexname(ed/cxl)(setqcxl(cdr(assoc-3(entgeted`(″*″)))))(ifcxl(car(nth0cxl))))

本程序應用,就可以對任何一個(gè)所選擇的實(shí)體,找出它的擴展實(shí)體數據登記名。如管段號、節點(diǎn)號等。

對任意選擇實(shí)體,提取擴展實(shí)體數據的程序:

(defunexsub(edname/sstypnamecxlcncalctcbl)(setqtyp(cons1"不是所選擇實(shí)體");如果選擇實(shí)體與所指定的擴展數據名不一致,則提示錯誤。

name(strcasename)cxl(cdr(assoc-3(entgeted`(″*″)))))(ifcxl(progn(setqcn0)(while(setqcal(nthcncxl))

(if(=name(carcal))

(progn(setqct0cal(cdrcal))

(while(setqcbl(nthctcal))

(if(=(carcbl)1000)(setqtypcblct10000cn10000))

(setqct( ct1)))))(setqcn( cn1)))))(cdrtyp))

上述兩個(gè)程序的應用,就可以實(shí)現對所繪實(shí)體的擴展數據信息進(jìn)行提取。

我們知道,AutoLISP是嵌入AutoCAD中的功能擴展程序,如同使用AutoCAD函數一樣,易學(xué)易用。應用AutoCAD進(jìn)行工程設計的技術(shù)人員,應該學(xué)會(huì )用AutoLISP編寫(xiě)簡(jiǎn)單的程序,以方便工程圖形的繪制。從上述的程序中也可以看出AutoLISP編寫(xiě)的完成某一功能的程序,小到一至二句,多到十幾句,即可實(shí)現所要完成的工作。

3擴展實(shí)體數據在給排水CAD中的應用

3.1管配件插入:

例如一條已經(jīng)畫(huà)好的管線(xiàn),管徑為DN100,使插入的管配件也具有DN100的特性。假設管配件是閥門(mén),為已經(jīng)做好的圖塊。我們可以在插入的過(guò)程中不需要關(guān)心管徑是多少,直接插入閥門(mén)信息,從而提高繪圖效率。應用擴展實(shí)體數據庫的程序為:

(defunc:inval(/sspededanametypp1p2ang)

setqss(entsel)p(car(cdrss))ed(carss)eda(entgeted)

name(exnameed);提取擴展實(shí)體數據的名稱(chēng)

typ(exsubedname);提取擴展實(shí)體數據信息,即管徑信息

p1(cdr(assoc10eda);管線(xiàn)的起點(diǎn)坐標

p2(cdr(assoc11eda);管線(xiàn)的終點(diǎn)坐標

ang(anglep1p2);管線(xiàn)角度



(command″break″p″F″(polarpangBL)(polarp( piang)BL);斷開(kāi)線(xiàn)的距離

″insert″″閥門(mén)″p(*2BL)″″ang);插入閥門(mén)(exaddnametyp);對插入的閥門(mén)加入擴展實(shí)體數據,即管徑。



這一小程序在加載以后,如同AutoCAD函數一樣,只要在命令狀態(tài)下運行inval,系統提示選擇實(shí)體時(shí),在插入閥門(mén)的位置上點(diǎn)取管線(xiàn),就會(huì )自動(dòng)把管線(xiàn)先斷開(kāi),再插入閥門(mén),并且所插入的閥門(mén)具有DN100的特牲。

3.2管線(xiàn)刪除

對于上面所插入閥門(mén)的管線(xiàn),由于閥門(mén)的插入而變?yōu)槎䲢l線(xiàn),三個(gè)實(shí)體(二條線(xiàn)加一個(gè)閥門(mén)),如果由于各種原因需要刪除,按照AutoCAD命令,則需要分別對這三個(gè)實(shí)體加以刪除。對于工程圖,由于圖形復雜,經(jīng)常會(huì )產(chǎn)生誤操作或漏操作的問(wèn)題,給工程設計人員帶來(lái)許多困難。而擴展實(shí)體數據庫的應用,可以為工程圖的繪制帶來(lái)許多方便。

(defunc:deled()

(setqss(entsel)ed(carss)s(ssget"x")n0name(exnameed)typ(exsubedname))

(while(setqes(ssnamens))(setqname1(exnamees))

(if(=namename1)(progn(setqtyp1

(exsubesname))(if(=typ1typ)(entdeles))))

(setqn( n1))))

這一小程序在加載后,運行deled,按照提示選擇要刪除的實(shí)體,即可刪除與這一實(shí)體具有相同擴展數據的所有實(shí)體,快速而準確。

3.3擴展實(shí)體數據修改

給水管網(wǎng)圖是由管線(xiàn)、節點(diǎn)、水泵、水塔、閥門(mén)等組成,所有設施之間并不是相互獨立,而是有機的聯(lián)系在一起。某一設施的修改,必然帶動(dòng)其它與之有關(guān)聯(lián)的設施和變動(dòng)。例如,對于給水管網(wǎng)水力計算成果圖,當節點(diǎn)號修改時(shí),要影響與之相連的所有管線(xiàn)的起止節點(diǎn)號的變動(dòng)、管線(xiàn)上水流方向擴展實(shí)體數據的變動(dòng)以及節點(diǎn)標注信息的變動(dòng)。一般情況下,一個(gè)節點(diǎn)號的變化,要引起幾個(gè)甚至幾十個(gè)圖形實(shí)體的變化。采用擴展實(shí)體數據繪圖,這一變化可以通過(guò)程序方便地實(shí)現。此處只給出修改一個(gè)擴展實(shí)體數據的小程序,讀者可以擴充這一小程序,以通過(guò)遍歷整個(gè)圖形數據庫的方式,分別查找要修改的實(shí)體,并加以修改。

(defunchent(edstyp/sbcxlss);

(setqsb(entgeteds′(″*″))cxl(cdr(assoc-3sb))

ss(cons(cons1002″{″)(cons(cons1000typ)(list(cons1002"}"))))

ss(list(cons(exnameeds)ss)))(netmod(subst(cons-3ss))

(cons-0cxl)sb))(entupdeds))

從上述介紹可以看出,應用擴展實(shí)體數據,可以彌補僅以AutoCAD繪圖函數繪圖的不足,從而使所繪的工程圖有速度更快、更準確的特點(diǎn)。

4結論

以上僅是作者在給水管網(wǎng)優(yōu)化設計計算與非穩定狀態(tài)水力模擬軟件-WDOC開(kāi)發(fā)過(guò)程中采用的幾個(gè)小技巧,在應用中發(fā)現有極大的實(shí)用價(jià)值,不僅提高了繪圖的速度,而且還可使互不相關(guān)的實(shí)體之間建立相互聯(lián)系。在繪圖過(guò)程中,可以實(shí)現對一個(gè)實(shí)體的繪制及修改,自動(dòng)實(shí)現與之相關(guān)的其它實(shí)體的繪制及修改。工程設計人員如果是有心人,可以在完成實(shí)際工程的過(guò)程中,對一些圖形復雜、關(guān)聯(lián)性強的實(shí)體,自行通過(guò)編寫(xiě)幾句或十幾句AutoLISP程序來(lái)加以實(shí)現,日積月累,把編寫(xiě)的小程序集成起來(lái),不但可以解決商業(yè)軟件與工程實(shí)用化相脫節的矛盾,而且還可以提高制圖效率。

作者在給水排水工程CAD軟件的開(kāi)發(fā)和使用中,通過(guò)多年的積累,也編寫(xiě)了一些小程序,相當實(shí)用。有興趣的讀者可以與作者聯(lián)系,相互交流,擴大實(shí)用小程序的應用范圍 .
論文出處(作者):
給排水專(zhuān)業(yè)CAD軟件開(kāi)發(fā)方法探討
論污水厭氧生物處理新工藝-升流式厭氧污泥床

【擴展實(shí)體數據在給排水工程CAD中的應用】相關(guān)文章:

研究CAD技術(shù)在先進(jìn)制造模式中的應用03-19

探析CAD技術(shù)在先進(jìn)制造模式中的應用03-19

數據挖掘在CRM中的應用分析03-22

數據挖掘技術(shù)在CRM中的應用03-22

ERP系統中數據倉庫的應用03-28

元數據標準的擴展原則與方法03-18

擴展的ABC分類(lèi)法在庫存治理中的應用03-20

淺論應用CAD技術(shù)的現代機械設計03-19

節能技術(shù)在建筑給排水工程中的應用分析03-06

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看