摘要:利用AutoLISP編程實(shí)現(xiàn)若干個(gè)空間小三角形擬合扭面(直紋曲面),然后三維拉伸空間小三角形用union并集建立開(kāi)挖區(qū)域的設(shè)計(jì)開(kāi)挖實(shí)體模型,使用CASS和AutoCAD軟件在實(shí)測(cè)地形數(shù)據(jù)的基礎(chǔ)上建地形實(shí)體模型,地形實(shí)體模型與設(shè)計(jì)開(kāi)挖實(shí)體模型求subtract(交集)后生成開(kāi)挖實(shí)體模型,查詢工程量。
關(guān)鍵字:扭面(直紋曲面);AutoLISP;編程;線框模型;表面模型;實(shí)體模型;union并集;
中圖分類號(hào):TP2文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-3791(2011)06(c)-0000-00
1 引言
在水電站大壩及發(fā)電廠房基礎(chǔ)開(kāi)挖中,開(kāi)挖形體復(fù)雜且對(duì)體形的控制要求較高,常規(guī)的設(shè)計(jì)及施工用圖都是二維平面圖加特征部位的典型斷面圖進(jìn)行描述的,對(duì)于設(shè)計(jì)開(kāi)挖面是由多個(gè)空間平面或扭面(直紋曲面)組成的形體的土石方量計(jì)算,一般的方法是用斷面法進(jìn)行計(jì)算,但斷面間距一般在5~10,斷面線大多不是正好落在體形突變的地方,這樣就給工程量計(jì)算的帶來(lái)了由計(jì)算方法造成的不準(zhǔn)確性,對(duì)于土石方開(kāi)挖計(jì)`量還不算太嚴(yán)重,但對(duì)于開(kāi)挖完成澆筑混凝土量的計(jì)算這種問(wèn)題不容忽視。
2 開(kāi)挖前地面實(shí)體建模
用CASS7.0軟件生成不規(guī)則三角網(wǎng)地面模型,此地面模型不是一個(gè)實(shí)體而是由很多空間三角形組成的是地形表面模型,為使所有三角形成為一個(gè)實(shí)體,需在AutoCAD中使用extrude(拉伸)命令沿Z軸(高程)方向向下拉伸(下拉高度對(duì)應(yīng)的高程應(yīng)低于設(shè)計(jì)開(kāi)挖高程中最低高程)所有三角形使之成為實(shí)體, 然后用union(并集)選中所有三棱柱實(shí)體,即可建立地形實(shí)體模型。
3 設(shè)計(jì)開(kāi)挖形體建模
先用設(shè)計(jì)平面圖計(jì)算出開(kāi)挖形體各個(gè)面的轉(zhuǎn)角特征點(diǎn)的三維坐標(biāo)值,在AutoCAD上用計(jì)算得的三維坐標(biāo)畫(huà)三維線框模型,但三維線框模型中沒(méi)有面,只有描繪對(duì)象的點(diǎn)、直線和曲線,是對(duì)三維物體輪廓的描述、包含的信息很少不能用于體積計(jì)算。實(shí)體模型包含的信息才可進(jìn)行體積計(jì)算,所以要在三維線框模型的基礎(chǔ)上建立實(shí)體模型。對(duì)于體形面的輪廓是由三個(gè)點(diǎn)組成或位于同一空間平面的四個(gè)點(diǎn)組成時(shí),則可直接用extrude(拉伸)命令沿Z軸(高程)方向向上拉伸(上拉高度對(duì)應(yīng)的高程應(yīng)高于地面實(shí)體模型高程中最高點(diǎn)的高程)使之成為實(shí)體,但對(duì)于體形結(jié)構(gòu)面的輪廓是由四個(gè)角點(diǎn)控制的扭面(直紋曲面)時(shí),則不能直接用extrude(拉伸)命令把它拉伸形成實(shí)體,為此我用AutoLISP編寫(xiě)了一段程序(見(jiàn)下,程序?qū)崿F(xiàn)的流程圖)來(lái)對(duì)扭面進(jìn)行內(nèi)插計(jì)算,計(jì)算出其體形結(jié)構(gòu)面上按指定步長(zhǎng)計(jì)算的三維坐標(biāo)點(diǎn),坐標(biāo)數(shù)據(jù)按CASS7.0軟件對(duì)數(shù)據(jù)文件的格式要求存入指定位置,然后用CASS7.0軟件生成TIN三維三角網(wǎng)表面模型(如圖1),再在AutoCAD上對(duì)所有三角網(wǎng)運(yùn)用extrude(拉伸)命今使其成為實(shí)體。最后用union(并集)命令,選中所有棱柱實(shí)體,即可建立設(shè)計(jì)開(kāi)挖實(shí)體模型。
把地形實(shí)體模型與設(shè)計(jì)開(kāi)挖實(shí)體模型相疊加,用subtract(交集)命令生成開(kāi)挖形體模型。對(duì)于混凝土工程量的計(jì)算也是依上面的思路和方法,建立混凝土形體實(shí)體模型,然后把混凝土實(shí)體模型和設(shè)計(jì)開(kāi)挖實(shí)體模型相疊加,用subtract(交集)命令生成混凝土設(shè)計(jì)面與開(kāi)挖設(shè)計(jì)面之間的混凝土實(shí)體模型。用massprop(查詢-面域/質(zhì)量特性)命令即可得到體積。
5 結(jié)語(yǔ)
為使圖例清晰上面例子只截取了某水電站廠房基礎(chǔ)開(kāi)挖的一小部分。在建模過(guò)程中需要注意幾點(diǎn):邊界線一定要明確、設(shè)計(jì)體型線的每一個(gè)面要封閉且相鄰面間的輪廓坐標(biāo)要一致(不能有縫隙)。三維模型建立完成后,利用AutoCAD的查詢功能得其體積(也就是準(zhǔn)確的工程量),還可以用三維模型直觀地再現(xiàn)復(fù)雜體型間的相互關(guān)系指導(dǎo)現(xiàn)場(chǎng)施工。
參 考 文 獻(xiàn)
[1] 劉志剛等.AutoCAD2000 Visual LISP開(kāi)發(fā)人員指南[M].北京:中國(guó)電力出版社,2001;
[2] 馬永志等.AutoCAD中文版三維造型基礎(chǔ)教程[M]. 北京:人民郵電出版社,2009;