王 博,程耀東,朱奕蓓,楊 軍(1.蘭州交通大學 測繪與地理信息學院,甘肅 蘭州 70070;2.甘肅省地理國情監(jiān)測工程實驗室,甘肅 蘭州 70070;.蘭州交通大學 甘肅省道路橋梁與地下工程重點實驗室,甘肅 蘭州 70070;.蘭州交通大學 電子與信息工程學院,甘肅 蘭州 70070)
基于ObjectARX的實體建模技術與應用*
王博1,2,程耀東3,朱奕蓓3,楊軍4
(1.蘭州交通大學測繪與地理信息學院,甘肅蘭州730070;2.甘肅省地理國情監(jiān)測工程實驗室,甘肅蘭州730070;3.蘭州交通大學甘肅省道路橋梁與地下工程重點實驗室,甘肅蘭州730070;4.蘭州交通大學電子與信息工程學院,甘肅蘭州730070)
三維實體模型是建立三維可視化信息系統(tǒng)的基礎,通過對幾何造型及圖形處理基本理論和方法的研究,基于構造實體幾何法的理論,對ObjectARX工具中三維圖形接口和實體造型方法進行了探討,用Visual C++和ObjectARX工具進行二次開發(fā),實現(xiàn)了三維實體自動建模、圖形變換和布爾運算等操作方法,并以橋梁結構為例進行了的參數(shù)化建模,為橋梁信息化平臺的建設提供素材。
計算機應用;實體建模;ObjectARX開發(fā)工具;圖形變換;布爾運算
[2-4]對OpenGL建模技術進行了研究,參考文獻[5-8]對三維建模技術、橋梁設計及可視化進行了研究。本文通過對實體模型構造方法的研究,探討工程物的參數(shù)化建模、圖形變換、集合運算等方法,運用Visual C++2005語言和ObjectARX開發(fā)工具包,對AutoCAD進行二次開發(fā),建立實體圖形數(shù)據(jù)庫接口,實現(xiàn)工程物的參數(shù)化自動建模,為三維可視化和信息化平臺的建立奠定圖形及數(shù)據(jù)基礎[9]。
構造實體幾何法(Constructive Solid Geometry,CSG)是當前許多CAD/CAM系統(tǒng)采用的表示三維形體的一種方法[10]。CSG用系統(tǒng)定義的簡單幾何形體及正則集合運算,可構造出復雜實體。其基本思想是:一個較復雜三維形體可以通過一些基本形體的并、交、差集等集合運算來正確表示。
1.1基本體造型方法
在ObjectARX中,三維實體屬于AcDb3dSolid類對象,對于一個幾何實體,AcDb3dSolid實體是一個容器和接口,通過AcDb3dSolid類的成員函數(shù)可以生成多種基本實體,通過布爾運算可生成復雜的組合體[11]。生成三維基本體的方法如下:
(1)用AcDb3dSolid類創(chuàng)建一個容器對象:
AcDb3dSolid p3dObj;
AcDb3dSolid*p3dObj=new AcDb3dSolid;
(2)建立基本體對象的一般形式:
指向AcDb3dSolid類對象的指針->創(chuàng)建基本三維實體對象成員函數(shù);
如創(chuàng)建長方體的方法為:
p3dObj->createBox(xLen,yLen,zLen);
(3)將三維實體用AddEntityToDbs()數(shù)據(jù)庫接口寫入當前圖形數(shù)據(jù)庫中。
1.2由二維對象用推移表示法創(chuàng)建三維實體
將物體A沿空間一條軌跡P推移時,A的軌跡定義了一個新的物體B,則物體B可以由物體A與軌跡P共同表示,這種方法稱為推移表示法。
除了用AcDb3dSolid類的成員函數(shù)創(chuàng)建基本體外,也可在二維封閉圖形的基礎上,通過指定高度、路徑用推移法創(chuàng)建立體,或繞軸旋轉封閉區(qū)域生成三維實體。
1.2.1按指定的高度拉伸立體的方法
若將一個平面區(qū)域沿著垂直于該平面的直線段推移得到一個柱體,稱為平移掃掠,也叫拉伸。這種方法可用于生成棱柱、圓柱等立體,如橋梁的墩臺基礎、樁柱及其他等截面結構。由平面區(qū)域拉伸生成三維立體的AcDb3dSolid類成員函數(shù)為:
extrude(const AcDbRegion*pRegion,double height,double taper);
其中,pRegion為面域;height為推移高度;當沿高度推移時,參數(shù)taper為0,則為柱體,非零時沿高度為呈線性遞減截面。
1.2.2按指定路徑掃掠形成立體
如果平面區(qū)域沿任意曲線推移,則稱為掃掠。這種方法將二維平面區(qū)域沿軌跡形成等截面實體,可應用于形成等截面梁體、拱橋和鋼結構桿件等。注意,在路徑和實體創(chuàng)建后,要分別將對象添加到圖形數(shù)據(jù)庫中。
2.1基于ObjectARX的三維實體圖形變換方法
復雜工程物是由簡單體通過疊加、穿孔、截切等方式構成的,而由AcDb3dSolid類的成員函數(shù)形成簡單體的質心在WCS坐標的原點,所以,要用圖形變換方法,根據(jù)變換方式和順序形成變換矩陣,從而將立體變換到復雜體中確定的空間位置,然后用布爾運算形成復雜體。
在ObjectARX中,圖形變換的主要方式和變換矩陣形成方法如下:
(1)平移變換:mat_move.setCoordSystem(moveBy,x,y,z)。
(2)比例變換:mat_scale.setToScaling(scale,moveBy)。
(3)旋轉變換:mat_rotate.setToRotation(α,y,moveBy)。
(4)鏡像變換:是以某坐標面為對稱面對實體進行對稱變換。
(5)由變換矩陣進行實體模型變換。
確定圖形變換矩陣后,即可對類AcDb3dSolid的成員函數(shù)創(chuàng)建的實體進行變換,再將實體添加到圖形數(shù)據(jù)庫的塊表中。實現(xiàn)立體變換的方法為:
transformBy(const AcGeMatrix3d&xform);
2.2復雜三維實體的布爾運算
由基本體函數(shù)或二維對象拉伸、掃掠、旋轉只能生成一些單個的簡單體,由簡單體形成復雜形體必須通過布爾運算才能實現(xiàn)。布爾運算有并(UNION)、交(SUBTRACT)、差(INTERSECTION)3種[12]。
在ObjectARX的編程中,對實體進行布爾運算使用AcDb3dSolid類的成員函數(shù):
booleanOper(AcDb::BooloperType operation,AcDb3dSolid*pSolid);
其中,布爾運算類型operation取值為AcDb::kBoomlUnite(并集)、AcDb::kBoolIntersect(交集)和AcDb::kBoolSubtract(差集);pSolid表示另一個參與布爾運算的實體的指針。
圖1(a)為縱梁和橫梁斷面圖,圖1(b)為拱形橋梁上部結構立體圖,拱形為鋼管拱,直徑φ800mm,由設計圖可獲取各部分結構的截面定形尺寸參數(shù),拱橋的三維建模方法如下。
圖1 拱橋梁部立體和部分截面尺寸
(1)拱形立體建模
拱形結構用掃掠方法進行建模。方法如下:
①掃掠對象定義:拱截面為圓,則掃掠對象定義為:AcDbCircle*pCirc=new AcDbCircle(center,normal,800);
②由封閉邊界生成面域:封閉邊界是圓,形成面域的方法見1.2.1。
③生成掃掠路徑:拱形建模時,圓截面的掃掠路徑為拱軸線,采用AcGePoint3dArray類定義三維坐標數(shù)組pt3d,存儲拱軸線各頂點的坐標,并用setLogicalLength(n)成員函數(shù)定義數(shù)組長度,然后對數(shù)組賦值,用AcDb3dPolyline類成員函數(shù)AcDb3dPolyline()創(chuàng)建空間掃掠路徑。
④創(chuàng)建三維實體。先創(chuàng)建實體的容器和接口,再通過類的成員函數(shù)extrudeAlongPath()生成三維實體,然后將實體添加到圖形數(shù)據(jù)庫中,最后用delete刪除面域指針pRegion。
(2)梁體結構建模
梁體包括縱梁、端橫梁、中間橫梁及橋面板等結構,梁體拉伸方法如下:
①如圖1(a)所示,分別創(chuàng)建縱梁與橫梁二維多段線封閉圖形。
②將梁體截面圖形生成面域,沿Z軸方向拉伸立體長度。
③采用旋轉、平移等變換將立體放在指定位置。
④用布爾運算的并集形成橋梁整體,如圖1(b)所示。
另外,若梁截面沿長度方向為非線性變化的變截面連續(xù)梁時,可采用放樣的方法形成梁體模型。
計算機技術和幾何造型理論的發(fā)展,推動了設計領域由二維向三維的轉變,為三維可視化和信息化提供了立體模型和數(shù)據(jù)信息。研究構造實體幾何造型理論和方法,運用Visual C++語言和ObjectARX開發(fā)工具包,在AutoCAD環(huán)境下探討參數(shù)化自動建模方法,可為工程物快速建模提供便捷途徑。工程物三維模型的建立、設計參數(shù)和屬性信息的存儲,為工程技術人員提供了直觀研究設計方案、工程結構的平臺,也為工程物三維可視化信息系統(tǒng)的建立奠定了基礎。本文的立體建模和ObjectARX三維開發(fā)技術可給相關研究人員提供建模新思路。
參考文獻
[1]王汝傳,黃海平,林巧明.計算機圖形學教程(第2版)[M].北京:高等教育出版社,2009.
[2]張志華,程耀東,張新秀.基于OpenGL和MFC的三維建模教學實踐與改革[J].微型機與應用,2014,33(3):88-90.
[3]馬林,程耀東,朱宗喜,等.基于OpenGL的TIN構建方法研究[J].微型機與應用,2014,33(14):42-44.
[4]扈春霞,王子茹.基于OpenGL的參數(shù)化斜拉橋三維可視化的研究[J].江漢大學學報(自然科學版),2008,36(2):47-49.
[5]馬林,李興田.三維可視化方法研究與應用[J].蘭州交通大學學報,2013,32(6):110-113.
[6]劉榕,劉海波,龍海濱.山店江大橋高墩連續(xù)剛構橋設計與關鍵技術[J].公路工程,2013,38(2):125-128,136.
[7]陸鐵堅,蔣友良,余志武.橋梁三維造型及其視景仿真[J].中南大學學報(自然科學版),2005,36(3):501-505.
[8]畢碩本,張國建,侯榮濤,等.三維建模技術及實現(xiàn)方法對比研究[J].武漢理工大學學報,2010,32(16):26-30,32.
[9]李世國.AutoCAD高級開發(fā)技術-ARX編程及應用[M].北京:機械工業(yè)出版社,1999.
[10]程耀東,趙建昌,徐軍.圖形數(shù)據(jù)庫應用技術研究[J].工程圖學學報,2006,27(1):143-148.
[11]程耀東,徐斐,董明才.基于ObjectARX 2007的地質斷面自動填充方法[J].物探與化探,2010,34(5):681-685.
[12]程耀東,張麗萍,韓進,等.計算機繪圖與二次開發(fā)方法[M].蘭州:甘肅科學技術出版社,2009.
ROHM開發(fā)出非常適合Freescale“i.MX 6SoloLite”處理器的高效電源管理IC
全球知名半導體制造商ROHM開發(fā)出非常適合FreescaleTMSemiconductor(以下簡稱“Freescale公司”)的應用處理器系列-“i.MX 6SoloLite”的高效電源管理IC(以下簡稱“PMIC”)“BD71805MWV”。
“i.MX 6SoloLite”處理器作為電池供電、注重功耗的應用平臺,不僅在電子書籍、可穿戴式設備領域,還在工業(yè)設備用手持終端和平板電腦等應用領域中取得驕人業(yè)績。
本產(chǎn)品利用ROHM一直以來積累的移動應用領域電源技術,面向i.MX 6SoloLite優(yōu)化電路結構,大幅降低待機狀態(tài)/工作狀態(tài)的功耗,為延長電池供電時間做出了巨大貢獻。
本產(chǎn)品已于2015年3月份開始出售樣品(600日元/個,不含稅),并已于2015年4月份建立起了完備的量產(chǎn)體制。前期工序的生產(chǎn)基地為ROHM濱松株式會社(濱松市),后期工序的生產(chǎn)基地為ROHM Electronics Philippines,Inc.。
(ROHM供稿)
The technology and application of solid modeling based on ObjectARX
Wang Bo1,2,Cheng Yaodong3,Zhu Yibei3,Yang Jun4
(1.Faculty of Geomatics,Lanzhou Jiaotong University,Lanzhou 730070,China;2.Gansu Provincial Engineering Laboratory for National Geographic State Monitoring,Lanzhou 730070,China;3.Key Laboratory of Road Bridge and Underground Engineering in Gansu Province,Lanzhou Jiaotong University,Lanzhou 730070,China;4.School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)
Three-dimensional entity model is foundation for the building of 3D visualization information system.Through the research on the basic theory and method about geometric modeling and graphic processing,the paper discusses three-dimensional graphics interface and solid modeling method in ObjectARX tool which are based on the theory of constructive solid geometry.It realizes the three-dimensional solid automatic modeling,graphics transformations and Boolean operations with Visual C++ and ObjectARX tool for secondary development.Bridge structure is taken as an example of parametric modeling.It is the basis of the construction of bridge Information platform.
computer application;solid modeling;ObjectARX development kit;graphic transformation;Boolean operations
P282
A
1674-7720(2015)10-0096-03
0引言
2015-01-25)
王博(1989-),男,碩士研究生,主要研究方向:GIS及可視化。
程耀東(1963-),通信作者,男,教授,碩士,主要研究方向:工程CAD及可視化。E-mail:zydzcx@163.com。
國家自然科學基金項目(61462059);甘肅省教學團隊基金(101004)
幾何造型的基本理論和方法自20世紀70年代開始創(chuàng)立,經(jīng)過幾十年的發(fā)展和研究,現(xiàn)已廣泛地應用在土木建筑、動畫制作、人體造型等領域的三維設計和立體圖形顯示。它是計算機及其圖形工具描述物體形狀、設計幾何形體、模擬物體動態(tài)處理過程的一門綜合技術。幾何造型主要包括曲面造型、實體造型、特征造型等[1]。