" />

久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

非圖形擴(kuò)展數(shù)據(jù)技術(shù)在地下管線測(cè)繪中的應(yīng)用

所屬欄目:智能科學(xué)技術(shù)論文 發(fā)布日期:2011-07-20 08:12 熱度:

  摘要:隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和廣泛應(yīng)用,在測(cè)繪行業(yè),圖形的信息化、三維化、圖形和數(shù)據(jù)庫(kù)的互相轉(zhuǎn)換等技術(shù)已逐漸得到應(yīng)用。筆者運(yùn)用VisualLisp和DCL語(yǔ)言開(kāi)發(fā)了繪制二維信息管線、二維信息管線與數(shù)據(jù)庫(kù)互相轉(zhuǎn)換、二維管線自動(dòng)轉(zhuǎn)成三維管線的系統(tǒng)。
  關(guān)鍵詞:非圖形數(shù)據(jù):圖形與數(shù)據(jù)的轉(zhuǎn)換:二維轉(zhuǎn)成三維
  0引言
  管線數(shù)據(jù)庫(kù)和三維管線是在二維信息管線的基礎(chǔ)上形成的。所謂二維信息管線就是在CAD中,用三維多段線畫(huà)線,加入管線信息,例如:管線類(lèi)型、管線材質(zhì)、管徑等。這些信息附加在多段線屬性列表的后面,也叫非圖形擴(kuò)展數(shù)據(jù)。這樣,這條線既有CAD的幾何信息,又有用戶附加的個(gè)人信息。在程序運(yùn)行中,這些信息可以根據(jù)需要檢索出來(lái),以備形成數(shù)據(jù)庫(kù)和三維圖形使用。
  1二維信息管線
  建立和使用非圖形數(shù)據(jù)庫(kù),*.DWG文件是AutoCAD在圖形生成和編輯中使用的數(shù)據(jù)庫(kù),它存放的主要內(nèi)容是所生成圖形的幾何信息和其他相關(guān)信息。DWG這種數(shù)據(jù)庫(kù)相當(dāng)別致,數(shù)據(jù)的結(jié)構(gòu)允許用戶建立自己的、許多種可能結(jié)構(gòu)的“非圖形信息”數(shù)據(jù)。比如管線類(lèi)型、管線材質(zhì)、管徑等信息。
  AutoCAD實(shí)質(zhì)上是一個(gè)優(yōu)秀的數(shù)據(jù)庫(kù)軟件,對(duì)于非圖形數(shù)據(jù)的處理也具有許多優(yōu)秀的性能。例如:雖然有高速讀取的特性,可是體積卻不大。數(shù)據(jù)值寫(xiě)多長(zhǎng),DWG就記下多長(zhǎng)。再如:檢索的方法多,可用圖形對(duì)象塊名色號(hào)、層名……作為索引,甚至用上述方法的組合。
  在指定對(duì)象中建立和加入擴(kuò)展的對(duì)象數(shù)據(jù)庫(kù)的主要步驟:
  (1) 找到指定的目標(biāo)對(duì)象名
  (While(Not(SetQen(EntSel"指定一個(gè)實(shí)體:")))(Alert"沒(méi)選中任何實(shí)體..."))
  (2)找到指定應(yīng)用名(這是搜尋擴(kuò)展對(duì)象數(shù)據(jù)庫(kù)的主要索引項(xiàng))
  (Regapp"PIPEM")
  (3)加入擴(kuò)展數(shù)據(jù)庫(kù)的開(kāi)頭項(xiàng),建立完整的擴(kuò)展數(shù)據(jù)表
  (setqnew_ext_list(list-3(list"PIPEM"
  (cons1000data_ptype);管線類(lèi)型
  (cons1000data_pmat);管線材料
  ……
  )))
  (4)組建后擴(kuò)展數(shù)據(jù)庫(kù)的內(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)對(duì)象,(三維多段線畫(huà)的線,)出現(xiàn)圖1的對(duì)話框,按外業(yè)調(diào)查的信息填入對(duì)話框,就建立了二維信息管線。
  
  圖1
  2二維管線轉(zhuǎn)成三維管線
  三維管線是在二維管線的基礎(chǔ)上用程序自動(dòng)生成的,程序運(yùn)行時(shí),把生成三維管線所需要的幾何信息和附加信息檢索出來(lái)賦給設(shè)定的變量,經(jīng)過(guò)畫(huà)線、拉伸、抽芯等步驟就自動(dòng)生成三維管線。部分代碼如下:
  (Setqold_ext_list(assoc-3endata));取得非圖形數(shù)據(jù)庫(kù)列表
   (Setqptype(cdr(assoc1000(cdrold_ext_list))));管線類(lèi)型
  (Setqpmat(cdr(assoc1000(cdrold_ext_list))));管線材料
  (Setqpdia(cdr(assoc1070(cdrold_ext_list))));管徑
  (Setqvla-pline(vlax-ename->vla-objecten));取得第一個(gè)點(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)信息畫(huà)線
  根據(jù)畫(huà)好的線變換坐標(biāo)系,根據(jù)管線半徑畫(huà)圓,再經(jīng)過(guò)拉伸抽芯就生成三維管線。部分代碼如下:
  (command"ucs""za"(listx0y0h0)(listx1y1h1)"");轉(zhuǎn)換坐標(biāo)系
  (command"circle"'(000)(/pdia2000.0)"");根據(jù)管線半徑畫(huà)圓
  (command"extrude"bb2"""p"en1);根據(jù)圓拉伸
  (command"subtract"aa2""aa3"");抽芯
  畫(huà)好的三維管線效果圖如2:
  
  圖2
  有了這個(gè)程序,只要會(huì)操作CAD的技術(shù)人員,都會(huì)畫(huà)三維管線。
  3信息管線圖與數(shù)據(jù)庫(kù)的相互換
  信息管線圖轉(zhuǎn)到數(shù)據(jù)庫(kù)就是在程序運(yùn)行時(shí),把管線的幾何信息和附加信息檢索出來(lái),按一條管線一個(gè)信息源寫(xiě)到數(shù)據(jù)庫(kù)里。反之,把數(shù)據(jù)庫(kù)里的數(shù)據(jù)轉(zhuǎn)成CAD圖形就是在程序運(yùn)行時(shí),打開(kāi)數(shù)據(jù)庫(kù)把數(shù)據(jù)(幾何信息和附加信息)讀出來(lái),按這些信息在CAD中畫(huà)線、附加信息,再生成信息管線。部分代碼如下:
  (1) 信息管線轉(zhuǎn)到數(shù)據(jù)庫(kù)
  檢索管線的附加信息:
  (setqold_ext_list(assoc-3endata))
  (setqptype(cdr(assoc1000(cdrold_ext_list))));管線類(lèi)型
   (setqpmat(cdr(assoc1000(cdrold_ext_list))));管線材料
   (setqpdia(cdr(assoc1070(cdrold_ext_list))));管徑
  檢索管線的幾何信息:
  (setqvla-pline(vlax-ename->vla-objecten))(vlax-dump-objectvla-pline);取得每個(gè)端點(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í)體的長(zhǎng)度
  把這些信息寫(xiě)入數(shù)據(jù)庫(kù)
  (2) 數(shù)據(jù)庫(kù)轉(zhuǎn)成CAD圖形
  從數(shù)據(jù)庫(kù)里讀出信息:
  (setqptype(substrs1(setqj(-i1))));管線類(lèi)型
  (setqpmat(substrsji));管線材料
  (setqpdia(substrsji));管徑
  (setqx(substrsji))(setqy(substrsji))(setqh0(substrsji));三維坐標(biāo)

  (command"3dpoly"(list(atofx)(atofy)(atofh)))
  根據(jù)這些信息畫(huà)圖:
  (setqnew_ext_list(list-3(list"PIPEM"(cons1000ptype)
  (cons1000pmat)(cons1070(atoipdia));加入附加信息
  4結(jié)束語(yǔ)
  線劃圖形向信息圖形轉(zhuǎn)換、二維圖形向三維圖形轉(zhuǎn)換是今后發(fā)展的趨勢(shì),也給用戶提供更多的服務(wù)功能。筆者在這方面研究的成果還非常浮淺,很多問(wèn)題還需要深入學(xué)習(xí),使之更加完善。
  
  參考文獻(xiàn):
  [1]人民郵電出版社,陳伯雄、馮偉編著的VisualLISP程序設(shè)計(jì)與技巧。
  [2]中國(guó)鐵道出版社,吳永進(jìn)、林美櫻編著的AutoLISP&DCL基礎(chǔ)篇。
  [3]人民郵電出版社,吳永進(jìn)、林美櫻編著的AutoCAD2007中文版實(shí)用教程(3D應(yīng)用篇)。

文章標(biāo)題:非圖形擴(kuò)展數(shù)據(jù)技術(shù)在地下管線測(cè)繪中的應(yīng)用

轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.56st48f.cn/fblw/dianxin/zhineng/9757.html

相關(guān)問(wèn)題解答

SCI服務(wù)

搜論文知識(shí)網(wǎng) 冀ICP備15021333號(hào)-3

主站蜘蛛池模板: 国产男女猛烈无遮掩视频免费网站 | 久久综合av | 东京av男人的天堂 | 午夜影视免费片在线观看 | 中文字幕亚洲欧美 | 亚洲欧美成人在线 | 国产成人高清视频 | 亚洲一一在线 | 久久久久国产精品一区二区 | 国产成人精品一区二区三区视频 | 中文字字幕在线中文乱码范文 | 久久亚洲综合 | 中国人pornoxxx麻豆 | av资源在线看| 亚洲欧美在线一区 | 日韩高清中文字幕 | 欧美激情亚洲天堂 | 7777久久| 免费一二区 | 国产区在线观看 | 国产高清在线精品一区二区三区 | 成人网在线看 | 欧美高清视频 | 一区二区三区高清在线观看 | 日韩a级片 | 91精品导航 | 久久天堂网 | 一级a性色生活片久久毛片 一级特黄a大片 | 国产高清久久 | 亚洲91精品 | 九九亚洲 | 国产欧美视频一区二区三区 | 成人在线欧美 | av手机在线看 | 亚洲伊人久久综合 | 国家aaa的一级看片 h片在线看 | 久久久久国产精品一区二区 | 日韩精品一区中文字幕 | 综合久 | 国产一区欧美 | 99精品欧美一区二区蜜桃免费 |