" />
所屬欄目:智能科學(xué)技術(shù)論文 發(fā)布日期:2011-07-20 08:12 熱度:
摘要:隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和廣泛應(yīng)用,在測繪行業(yè),圖形的信息化、三維化、圖形和數(shù)據(jù)庫的互相轉(zhuǎn)換等技術(shù)已逐漸得到應(yīng)用。筆者運(yùn)用VisualLisp和DCL語言開發(fā)了繪制二維信息管線、二維信息管線與數(shù)據(jù)庫互相轉(zhuǎn)換、二維管線自動轉(zhuǎn)成三維管線的系統(tǒng)。
關(guān)鍵詞:非圖形數(shù)據(jù):圖形與數(shù)據(jù)的轉(zhuǎn)換:二維轉(zhuǎn)成三維
0引言
管線數(shù)據(jù)庫和三維管線是在二維信息管線的基礎(chǔ)上形成的。所謂二維信息管線就是在CAD中,用三維多段線畫線,加入管線信息,例如:管線類型、管線材質(zhì)、管徑等。這些信息附加在多段線屬性列表的后面,也叫非圖形擴(kuò)展數(shù)據(jù)。這樣,這條線既有CAD的幾何信息,又有用戶附加的個人信息。在程序運(yùn)行中,這些信息可以根據(jù)需要檢索出來,以備形成數(shù)據(jù)庫和三維圖形使用。
1二維信息管線
建立和使用非圖形數(shù)據(jù)庫,*.DWG文件是AutoCAD在圖形生成和編輯中使用的數(shù)據(jù)庫,它存放的主要內(nèi)容是所生成圖形的幾何信息和其他相關(guān)信息。DWG這種數(shù)據(jù)庫相當(dāng)別致,數(shù)據(jù)的結(jié)構(gòu)允許用戶建立自己的、許多種可能結(jié)構(gòu)的“非圖形信息”數(shù)據(jù)。比如管線類型、管線材質(zhì)、管徑等信息。
AutoCAD實(shí)質(zhì)上是一個優(yōu)秀的數(shù)據(jù)庫軟件,對于非圖形數(shù)據(jù)的處理也具有許多優(yōu)秀的性能。例如:雖然有高速讀取的特性,可是體積卻不大。數(shù)據(jù)值寫多長,DWG就記下多長。再如:檢索的方法多,可用圖形對象塊名色號、層名……作為索引,甚至用上述方法的組合。
在指定對象中建立和加入擴(kuò)展的對象數(shù)據(jù)庫的主要步驟:
(1) 找到指定的目標(biāo)對象名
(While(Not(SetQen(EntSel"指定一個實(shí)體:")))(Alert"沒選中任何實(shí)體..."))
(2)找到指定應(yīng)用名(這是搜尋擴(kuò)展對象數(shù)據(jù)庫的主要索引項(xiàng))
(Regapp"PIPEM")
(3)加入擴(kuò)展數(shù)據(jù)庫的開頭項(xiàng),建立完整的擴(kuò)展數(shù)據(jù)表
(setqnew_ext_list(list-3(list"PIPEM"
(cons1000data_ptype);管線類型
(cons1000data_pmat);管線材料
……
)))
(4)組建后擴(kuò)展數(shù)據(jù)庫的內(nèi)容(這些內(nèi)容附加在實(shí)體屬性列表的后面。)
(("PIPEM"(1000."排水")(1000."水泥管")(1070.1000)(1070.0)(1040.0.0)(1040.0.0)(1000."")(1000."")(1000."")(1000."")(1070.0)(1000."")(1000."")(1070.0)(1000."")(1000."")))
具體操作是在CAD環(huán)境下,選擇指定的目標(biāo)對象,(三維多段線畫的線,)出現(xiàn)圖1的對話框,按外業(yè)調(diào)查的信息填入對話框,就建立了二維信息管線。
圖1
2二維管線轉(zhuǎn)成三維管線
三維管線是在二維管線的基礎(chǔ)上用程序自動生成的,程序運(yùn)行時,把生成三維管線所需要的幾何信息和附加信息檢索出來賦給設(shè)定的變量,經(jīng)過畫線、拉伸、抽芯等步驟就自動生成三維管線。部分代碼如下:
(Setqold_ext_list(assoc-3endata));取得非圖形數(shù)據(jù)庫列表
(Setqptype(cdr(assoc1000(cdrold_ext_list))));管線類型
(Setqpmat(cdr(assoc1000(cdrold_ext_list))));管線材料
(Setqpdia(cdr(assoc1070(cdrold_ext_list))));管徑
(Setqvla-pline(vlax-ename->vla-objecten));取得第一個點(diǎn)的坐標(biāo)信息(vlax-dump-objectvla-pline)(SetqCoordinates(vla-get-Coordinatesvla-pline))
(Setqval_list(safearray-value(vlax-variant-valueCoordinates)))
(SetqX(carval_list))(SetqY(cadrval_list))(SetqH(-(caddrval_list)(/pdia2000.0)))
(command"3dpoly"(listxyh));根據(jù)坐標(biāo)信息畫線
根據(jù)畫好的線變換坐標(biāo)系,根據(jù)管線半徑畫圓,再經(jīng)過拉伸抽芯就生成三維管線。部分代碼如下:
(command"ucs""za"(listx0y0h0)(listx1y1h1)"");轉(zhuǎn)換坐標(biāo)系
(command"circle"'(000)(/pdia2000.0)"");根據(jù)管線半徑畫圓
(command"extrude"bb2"""p"en1);根據(jù)圓拉伸
(command"subtract"aa2""aa3"");抽芯
畫好的三維管線效果圖如2:
圖2
有了這個程序,只要會操作CAD的技術(shù)人員,都會畫三維管線。
3信息管線圖與數(shù)據(jù)庫的相互換
信息管線圖轉(zhuǎn)到數(shù)據(jù)庫就是在程序運(yùn)行時,把管線的幾何信息和附加信息檢索出來,按一條管線一個信息源寫到數(shù)據(jù)庫里。反之,把數(shù)據(jù)庫里的數(shù)據(jù)轉(zhuǎn)成CAD圖形就是在程序運(yùn)行時,打開數(shù)據(jù)庫把數(shù)據(jù)(幾何信息和附加信息)讀出來,按這些信息在CAD中畫線、附加信息,再生成信息管線。部分代碼如下:
(1) 信息管線轉(zhuǎn)到數(shù)據(jù)庫
檢索管線的附加信息:
(setqold_ext_list(assoc-3endata))
(setqptype(cdr(assoc1000(cdrold_ext_list))));管線類型
(setqpmat(cdr(assoc1000(cdrold_ext_list))));管線材料
(setqpdia(cdr(assoc1070(cdrold_ext_list))));管徑
檢索管線的幾何信息:
(setqvla-pline(vlax-ename->vla-objecten))(vlax-dump-objectvla-pline);取得每個端點(diǎn)的信息
(vlax-dump-objectvla-pline)(setqx(carval_list))(setqy(cadrval_list))(setqh(caddrval_list))
(setqObjectID(vla-get-ObjectIDvla-pline));取得取得實(shí)體的ID碼
(setqLengt(vla-get-Lengthvla-pline));取得取得實(shí)體的長度
把這些信息寫入數(shù)據(jù)庫
(2) 數(shù)據(jù)庫轉(zhuǎn)成CAD圖形
從數(shù)據(jù)庫里讀出信息:
(setqptype(substrs1(setqj(-i1))));管線類型
(setqpmat(substrsji));管線材料
(setqpdia(substrsji));管徑
(setqx(substrsji))(setqy(substrsji))(setqh0(substrsji));三維坐標(biāo)
(command"3dpoly"(list(atofx)(atofy)(atofh)))
根據(jù)這些信息畫圖:
(setqnew_ext_list(list-3(list"PIPEM"(cons1000ptype)
(cons1000pmat)(cons1070(atoipdia));加入附加信息
4結(jié)束語
線劃圖形向信息圖形轉(zhuǎn)換、二維圖形向三維圖形轉(zhuǎn)換是今后發(fā)展的趨勢,也給用戶提供更多的服務(wù)功能。筆者在這方面研究的成果還非常浮淺,很多問題還需要深入學(xué)習(xí),使之更加完善。
參考文獻(xiàn):
[1]人民郵電出版社,陳伯雄、馮偉編著的VisualLISP程序設(shè)計(jì)與技巧。
[2]中國鐵道出版社,吳永進(jìn)、林美櫻編著的AutoLISP&DCL基礎(chǔ)篇。
[3]人民郵電出版社,吳永進(jìn)、林美櫻編著的AutoCAD2007中文版實(shí)用教程(3D應(yīng)用篇)。
文章標(biāo)題:非圖形擴(kuò)展數(shù)據(jù)技術(shù)在地下管線測繪中的應(yīng)用
轉(zhuǎn)載請注明來自:http://www.optiwork.cn/fblw/dianxin/zhineng/9757.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:106
Nature旗下多學(xué)科子刊Nature Com...關(guān)注:152
中小學(xué)教師值得了解,這些教育學(xué)...關(guān)注:47
2025年寫管理學(xué)論文可以用的19個...關(guān)注:192
測繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時開論文檢索證明很重要關(guān)注:52
中國水產(chǎn)科學(xué)期刊是核心期刊嗎關(guān)注:54
國際出書需要了解的問題解答關(guān)注:58
合著出書能否評職稱?關(guān)注:48
電信學(xué)有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:121
評職稱發(fā)論文好還是出書好關(guān)注:68
復(fù)印報(bào)刊資料重要轉(zhuǎn)載來源期刊(...關(guān)注:51
英文期刊審稿常見的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評估...關(guān)注:59
電子信息論文范文
智能科學(xué)技術(shù)論文 廣播電視論文 光電技術(shù)論文 計(jì)算機(jī)信息管理論文 計(jì)算機(jī)網(wǎng)絡(luò)論文 計(jì)算機(jī)應(yīng)用論文 通信論文 信息安全論文 微電子應(yīng)用論文 電子技術(shù)論文 生物醫(yī)學(xué)工程論文 軟件開發(fā)論文
SCI期刊分析
copyright © www.optiwork.cn, All Rights Reserved
搜論文知識網(wǎng) 冀ICP備15021333號-3