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