《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > 基于ObjectARX的實體建模技術與應用
基于ObjectARX的實體建模技術與應用
2015年微型機與應用第10期
王 博1,2,程耀東3,朱奕蓓3,楊 軍4
(1.蘭州交通大學 測繪與地理信息學院,甘肅 蘭州 730070; 2.甘肅省地理國情監測工程實驗室,甘肅 蘭州 730070; 3.蘭州交通大學 甘肅省道路橋梁與地下工程重點實驗室,甘肅 蘭州 730070; 4.蘭州交通大學 電子與信息工程學院,甘肅 蘭州 730070)
摘要: 三維實體模型是建立三維可視化信息系統的基礎,通過對幾何造型及圖形處理基本理論和方法的研究,基于構造實體幾何法的理論,對ObjectARX工具中三維圖形接口和實體造型方法進行了探討,用Visual C++ 和ObjectARX工具進行二次開發,實現了三維實體自動建模、圖形變換和布爾運算等操作方法,并以橋梁結構為例進行了的參數化建模,為橋梁信息化平臺的建設提供素材。
Abstract:
Key words :

摘  要: 三維實體模型是建立三維可視化信息系統的基礎,通過對幾何造型及圖形處理基本理論和方法的研究,基于構造實體幾何法的理論,對ObjectARX工具中三維圖形接口和實體造型方法進行了探討,用Visual C++ 和ObjectARX工具進行二次開發,實現了三維實體自動建模、圖形變換和布爾運算等操作方法,并以橋梁結構為例進行了的參數化建模,為橋梁信息化平臺的建設提供素材。

關鍵詞計算機應用實體建模ObjectARX開發工具;圖形變換;布爾運算

0 引言

  幾何造型的基本理論和方法自20世紀70年代開始創立,經過幾十年的發展和研究,現已廣泛地應用在土木建筑、動畫制作、人體造型等領域的三維設計和立體圖形顯示。它是計算機及其圖形工具描述物體形狀、設計幾何形體、模擬物體動態處理過程的一門綜合技術。幾何造型主要包括曲面造型、實體造型、特征造型等[1]。

  參考文獻[2-4]對OpenGL建模技術進行了研究,參考文獻[5-8]對三維建模技術、橋梁設計及可視化進行了研究。本文通過對實體模型構造方法的研究,探討工程物的參數化建模、圖形變換、集合運算等方法,運用Visual C++2005語言和ObjectARX開發工具包,對AutoCAD進行二次開發,建立實體圖形數據庫接口,實現工程物的參數化自動建模,為三維可視化和信息化平臺的建立奠定圖形及數據基礎[9]。

1 基于ObjectARX的實體構造方法

  構造實體幾何法(Constructive Solid Geometry,CSG)是當前許多CAD/CAM系統采用的表示三維形體的一種方法[10]。CSG用系統定義的簡單幾何形體及正則集合運算,可構造出復雜實體。其基本思想是:一個較復雜三維形體可以通過一些基本形體的并、交、差集等集合運算來正確表示。

  1.1 基本體造型方法

  在ObjectARX中,三維實體屬于AcDb3dSolid類對象,對于一個幾何實體,AcDb3dSolid實體是一個容器和接口,通過AcDb3dSolid類的成員函數可以生成多種基本實體,通過布爾運算可生成復雜的組合體[11]。生成三維基本體的方法如下:

  (1)用AcDb3dSolid類創建一個容器對象:

  AcDb3dSolid p3dObj;

  AcDb3dSolid*p3dObj=new AcDb3dSolid;

  (2)建立基本體對象的一般形式:

  指向AcDb3dSolid類對象的指針->創建基本三維實體對象成員函數;

  如創建長方體的方法為:

  p3dObj->createBox(xLen,yLen,zLen);

  (3)將三維實體用AddEntityToDbs()數據庫接口寫入當前圖形數據庫中。

  1.2 由二維對象用推移表示法創建三維實體

  將物體A沿空間一條軌跡P推移時,A的軌跡定義了一個新的物體B,則物體B可以由物體A與軌跡P共同表示,這種方法稱為推移表示法。

  除了用AcDb3dSolid類的成員函數創建基本體外,也可在二維封閉圖形的基礎上,通過指定高度、路徑用推移法創建立體,或繞軸旋轉封閉區域生成三維實體。

  1.2.1 按指定的高度拉伸立體的方法

  若將一個平面區域沿著垂直于該平面的直線段推移得到一個柱體,稱為平移掃掠,也叫拉伸。這種方法可用于生成棱柱、圓柱等立體,如橋梁的墩臺基礎、樁柱及其他等截面結構。由平面區域拉伸生成三維立體的AcDb3dSolid類成員函數為:

  extrude(const AcDbRegion*pRegion,double height,double taper);

  其中,pRegion為面域;height為推移高度;當沿高度推移時,參數taper為0,則為柱體,非零時沿高度為呈線性遞減截面。

  1.2.2 按指定路徑掃掠形成立體

  如果平面區域沿任意曲線推移,則稱為掃掠。這種方法將二維平面區域沿軌跡形成等截面實體,可應用于形成等截面梁體、拱橋和鋼結構桿件等。注意,在路徑和實體創建后,要分別將對象添加到圖形數據庫中。

2 三維實體的圖形變換和布爾運算

  2.1 基于ObjectARX的三維實體圖形變換方法

  復雜工程物是由簡單體通過疊加、穿孔、截切等方式構成的,而由AcDb3dSolid類的成員函數形成簡單體的質心在WCS坐標的原點,所以,要用圖形變換方法,根據變換方式和順序形成變換矩陣,從而將立體變換到復雜體中確定的空間位置,然后用布爾運算形成復雜體。

  在ObjectARX中,圖形變換的主要方式和變換矩陣形成方法如下:

  (1)平移變換:mat_move.setCoordSystem(moveBy,x,y,z)。

  (2)比例變換:mat_scale.setToScaling(scale,moveBy)。

  (3)旋轉變換:mat_rotate.setToRotation(α,y,moveBy)。

  (4)鏡像變換:是以某坐標面為對稱面對實體進行對稱變換。

  (5)由變換矩陣進行實體模型變換。

  確定圖形變換矩陣后,即可對類AcDb3dSolid的成員函數創建的實體進行變換,再將實體添加到圖形數據庫的塊表中。實現立體變換的方法為:

  transformBy(const AcGeMatrix3d& xform);

  2.2 復雜三維實體的布爾運算

  由基本體函數或二維對象拉伸、掃掠、旋轉只能生成一些單個的簡單體,由簡單體形成復雜形體必須通過布爾運算才能實現。布爾運算有并(UNION)、交(SUBTRACT)、差(INTERSECTION)3種[12]。

  在ObjectARX的編程中,對實體進行布爾運算使用AcDb3dSolid類的成員函數:

  booleanOper(AcDb::BooloperType operation,AcDb3dSolid*pSolid);

  其中,布爾運算類型operation取值為AcDb::kBoomlUnite(并集)、AcDb::kBoolIntersect(交集)和AcDb::kBoolSubtract(差集);pSolid表示另一個參與布爾運算的實體的指針。

3 拱橋建模實例

001.jpg

  圖1(a)為縱梁和橫梁斷面圖,圖1(b)為拱形橋梁上部結構立體圖,拱形為鋼管拱,直徑800 mm,由設計圖可獲取各部分結構的截面定形尺寸參數,拱橋的三維建模方法如下。

  (1)拱形立體建模

  拱形結構用掃掠方法進行建模。方法如下:

  ①掃掠對象定義:拱截面為圓,則掃掠對象定義為:AcDbCircle*pCirc=new AcDbCircle(center,normal,800);

  ②由封閉邊界生成面域:封閉邊界是圓,形成面域的方法見1.2.1。

  ③生成掃掠路徑:拱形建模時,圓截面的掃掠路徑為拱軸線,采用AcGePoint3dArray類定義三維坐標數組pt3d,存儲拱軸線各頂點的坐標,并用setLogicalLength(n)成員函數定義數組長度,然后對數組賦值,用AcDb3dPolyline類成員函數AcDb3dPolyline()創建空間掃掠路徑。

  ④創建三維實體。先創建實體的容器和接口,再通過類的成員函數extrudeAlongPath()生成三維實體,然后將實體添加到圖形數據庫中,最后用delete刪除面域指針pRegion。

  (2)梁體結構建模

  梁體包括縱梁、端橫梁、中間橫梁及橋面板等結構,梁體拉伸方法如下:

  ①如圖1(a)所示,分別創建縱梁與橫梁二維多段線封閉圖形。

  ②將梁體截面圖形生成面域,沿Z軸方向拉伸立體長度。

  ③采用旋轉、平移等變換將立體放在指定位置。

  ④用布爾運算的并集形成橋梁整體,如圖1(b)所示。

  另外,若梁截面沿長度方向為非線性變化的變截面連續梁時,可采用放樣的方法形成梁體模型。

4 結論

  計算機技術和幾何造型理論的發展,推動了設計領域由二維向三維的轉變,為三維可視化和信息化提供了立體模型和數據信息。研究構造實體幾何造型理論和方法,運用Visual C++語言和ObjectARX開發工具包,在AutoCAD環境下探討參數化自動建模方法,可為工程物快速建模提供便捷途徑。工程物三維模型的建立、設計參數和屬性信息的存儲,為工程技術人員提供了直觀研究設計方案、工程結構的平臺,也為工程物三維可視化信息系統的建立奠定了基礎。本文的立體建模和ObjectARX三維開發技術可給相關研究人員提供建模新思路。

參考文獻

  [1] 王汝傳,黃海平,林巧明.計算機圖形學教程(第2版)[M].北京:高等教育出版社,2009.

  [2] 張志華,程耀東,張新秀.基于OpenGL和MFC的三維建模教學實踐與改革[J].微型機與應用,2014,33(3):88-90.

  [3] 馬林,程耀東,朱宗喜,等.基于OpenGL的TIN構建方法研究[J].微型機與應用,2014,33(14):42-44.

  [4] 扈春霞,王子茹.基于OpenGL的參數化斜拉橋三維可視化的研究[J].江漢大學學報(自然科學版),2008,36(2):47-49.

  [5] 馬林,李興田.三維可視化方法研究與應用[J].蘭州交通大學學報,2013,32(6):110-113.

  [6] 劉榕,劉海波,龍海濱.山店江大橋高墩連續剛構橋設計與關鍵技術[J].公路工程,2013,38(2):125-128,136.

  [7] 陸鐵堅,蔣友良,余志武.橋梁三維造型及其視景仿真[J].中南大學學報(自然科學版),2005,36(3):501-505.

  [8] 畢碩本,張國建,侯榮濤,等.三維建模技術及實現方法對比研究[J].武漢理工大學學報,2010,32(16):26-30,32.

  [9] 李世國.AutoCAD高級開發技術-ARX編程及應用[M].北京:機械工業出版社,1999.

  [10] 程耀東,趙建昌,徐軍.圖形數據庫應用技術研究[J].工程圖學學報,2006,27(1):143-148.

  [11] 程耀東,徐斐,董明才.基于ObjectARX 2007的地質斷面自動填充方法[J].物探與化探,2010,34(5):681-685.

  [12] 程耀東,張麗萍,韓進,等.計算機繪圖與二次開發方法[M].蘭州:甘肅科學技術出版社,2009.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
aa级大片欧美| 亚洲国产日韩在线| 狠狠色丁香婷婷综合久久片| 国产精品美女久久久久久久| 欧美日本一区| 欧美精品国产一区二区| 免费精品视频| 蜜桃久久av一区| 麻豆精品91| 欧美阿v一级看视频| 蜜臀久久99精品久久久画质超高清| 久久婷婷久久| 欧美1区视频| 欧美国产成人在线| 欧美日韩大片| 欧美性大战久久久久久久蜜臀| 欧美无砖砖区免费| 国产精品久久久久秋霞鲁丝| 国产精品视频男人的天堂| 国产伦精品一区二区三区免费| 国产精品影音先锋| 国产一区二区成人| 一区二区三区在线免费观看| 亚洲福利小视频| 亚洲精品日韩在线| 一本色道久久| 亚洲视频你懂的| 午夜精品久久久久久久久久久| 欧美一区二区视频在线| 久久精品视频va| 亚洲日韩中文字幕在线播放| 99在线热播精品免费99热| 亚洲欧美国产精品va在线观看| 欧美在线观看www| 久久亚洲综合网| 欧美精品一区二区三区在线播放 | 亚洲成色www久久网站| 亚洲国产日韩在线| 中文亚洲免费| 欧美一区在线视频| 亚洲乱码国产乱码精品精天堂| 亚洲视频999| 久久精品视频在线免费观看| 欧美大片在线看免费观看| 欧美日韩亚洲综合在线| 国产精一区二区三区| 在线看成人片| 一二三四社区欧美黄| 欧美一区二区三区的| 亚洲精品乱码久久久久久日本蜜臀| 亚洲四色影视在线观看| 欧美在线网址| 欧美精品在线免费| 国产婷婷色一区二区三区四区| 亚洲国产日日夜夜| 午夜精品久久久久久久99水蜜桃 | 亚洲国产精品黑人久久久| 在线亚洲伦理| 亚洲国产精品久久久| 亚洲小说春色综合另类电影| 久久婷婷久久| 国产精品一卡| 亚洲精品视频在线观看网站 | 欧美综合国产| 亚洲一区二区三区免费在线观看 | 欧美一级播放| 欧美福利视频网站| 国产精品一区二区三区成人| 亚洲激情成人在线| 午夜欧美大片免费观看| 99亚洲伊人久久精品影院红桃| 久久国产88| 欧美日韩在线综合| 尤物精品在线| 亚洲欧美视频在线观看| 一本色道久久综合亚洲精品小说| 久久久久久久尹人综合网亚洲| 欧美三区在线观看| 亚洲国产精品综合| 先锋影音久久| 亚洲视频一起| 欧美极品影院| 影音先锋另类| 午夜一区不卡| 午夜精品久久久久久久男人的天堂| 欧美电影电视剧在线观看| 国产一区日韩欧美| 亚洲尤物在线| 在线视频一区观看| 欧美国产91| 在线观看一区欧美| 欧美一区二区三区另类| 亚洲综合日韩在线| 欧美日韩一区二区免费在线观看 | 亚洲色图综合久久| 欧美大片网址| 在线精品福利| 亚洲第一色在线| 久久久www成人免费毛片麻豆| 国产精品一区二区在线观看网站| 9i看片成人免费高清| 99re66热这里只有精品3直播| 免费高清在线一区| 激情视频一区二区三区| 欧美在线国产| 久久国产精品久久国产精品| 国产精品私房写真福利视频 | 一本到12不卡视频在线dvd| 免费亚洲一区| 永久555www成人免费| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品福利av| 一区二区精品| 亚洲视频免费在线| 欧美日韩午夜剧场| 日韩西西人体444www| 亚洲素人一区二区| 欧美午夜精品久久久久久孕妇| 一区二区高清在线| 亚洲在线免费视频| 国产精品亚洲成人| 亚洲专区在线| 久久精品道一区二区三区| 国产亚洲欧洲| 亚洲国产精品久久| 欧美成人精品一区二区| 亚洲人成绝费网站色www| 亚洲精品一区久久久久久| 欧美另类久久久品| 一区二区三区|亚洲午夜| 亚洲一区在线看| 国产精品视频久久久| 日韩亚洲不卡在线| 一区二区三区黄色| 亚洲欧美日韩国产一区二区三区| 欧美日韩免费观看中文| 在线亚洲一区| 欧美专区18| 一区二区三区在线观看欧美| 亚洲美女啪啪| 欧美日韩视频在线一区二区观看视频 | 欧美系列电影免费观看| 亚洲欧美日韩国产中文在线| 久久久7777| 亚洲国产婷婷| 亚洲主播在线| 国产一区二区三区四区hd| 亚洲国产精品精华液2区45| 欧美激情精品久久久久久免费印度 | 国产老肥熟一区二区三区| 久久激情视频久久| 欧美噜噜久久久xxx| 亚洲深夜福利视频| 久久久久久黄| 亚洲人屁股眼子交8| 性欧美大战久久久久久久免费观看| 国产一区二区久久| 亚洲精品美女久久7777777| 国产精品v欧美精品∨日韩| 新67194成人永久网站| 欧美mv日韩mv国产网站| 中国女人久久久| 久久久亚洲国产天美传媒修理工| 最新日韩精品| 欧美一区二区三区在线视频| 一区二区三区亚洲| 亚洲在线观看视频网站| 韩国在线一区| 在线综合亚洲| 国语精品中文字幕| 一区二区av在线| 国产亚洲激情视频在线| 亚洲美女淫视频| 国产视频亚洲| 99在线视频精品| 国产欧美在线| 日韩一级欧洲| 国产亚洲一区二区三区在线观看| 日韩一级成人av| 黄色另类av| 亚洲欧美高清| 亚洲人成人99网站| 久久精品国产69国产精品亚洲| 最新亚洲电影| 久久午夜精品| 中文在线资源观看视频网站免费不卡| 久久男女视频| 亚洲一二三级电影| 欧美精品在线看| 亚洲国产黄色片| 国产欧美日韩亚洲精品| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲精品午夜| 噜噜噜91成人网| 亚洲宅男天堂在线观看无病毒| 欧美精品一区在线发布| 久久成人精品| 国产精品综合视频| 亚洲综合国产| 日韩一级在线|