999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenCASCADE 內(nèi)核與OpenSceneGraph 渲染引擎的三維網(wǎng)格劃分平臺(tái)研究

2021-11-15 09:03:32譚鳳
魅力中國(guó) 2021年44期
關(guān)鍵詞:二次開(kāi)發(fā)可視化模型

譚鳳

(湖南科技職業(yè)學(xué)院,湖南 長(zhǎng)沙 410004)

一、前言

目前的主流 CAD 軟件都是建立在造型內(nèi)核的基礎(chǔ)上開(kāi)發(fā)的,例如AutoCAD、CATIA 采用的內(nèi)核是 ACIS,UG、SolidWorks、SolidEdge 和ANSYS 的內(nèi)核是 Parasolid,而國(guó)內(nèi)的 CAXA 系統(tǒng)對(duì)上述兩種內(nèi)核都有應(yīng)用[1]。OpenCASCADE(簡(jiǎn)稱OCC)也是一種造型內(nèi)核,其實(shí)際上就是一個(gè)類庫(kù),定義了圖形數(shù)據(jù)的存儲(chǔ)格式以及大量的圖形算法。OCC 是法國(guó)MDTV(Matra Datavision)公司開(kāi)發(fā)的開(kāi)源 3D 幾何造型引擎,是一個(gè)先進(jìn)的、三維的、邊界表示(B-Rep)為主的幾何造型工具包,是由 C++開(kāi)發(fā)設(shè)計(jì)基于OpenGL 的專用快速開(kāi)發(fā)的 CAD 類庫(kù)[2]。

OCC 主要用于開(kāi)發(fā)二維和三維幾何建模應(yīng)用程序,包括通用的或?qū)I(yè)的計(jì)算機(jī)輔助設(shè)計(jì)CAD 系統(tǒng)、制造或分析領(lǐng)域的應(yīng)用程序、仿真應(yīng)用程序或圖形演示工具。OCC 通過(guò)有機(jī)組織的C++庫(kù)文件提供了六個(gè)模塊,可視化模塊作為OCC 的核心部分,是可視化技術(shù)的具體體現(xiàn)。OCC 源代碼完全開(kāi)放,所以無(wú)版權(quán)問(wèn)題,適合課題研究使用,并且擁有持續(xù)的維護(hù)團(tuán)隊(duì),在應(yīng)用中具有較大的優(yōu)勢(shì)。OpenCASCADE 技術(shù)可以用于包括 CAD/CAM/CAE等方面的眾多三維應(yīng)用程序的開(kāi)發(fā)。從九十年代中期開(kāi)始,己經(jīng)被許多不同領(lǐng)域的商業(yè)公司用來(lái)開(kāi)發(fā)自己的軟件產(chǎn)品[3]。

OpenSceneGraph(簡(jiǎn)稱OSG)是一個(gè)開(kāi)源的高性能三維圖像渲染工具包,其完全是由標(biāo)準(zhǔn)C++程序和OpenGL 編寫,充分利用STL 和設(shè)計(jì)模式,發(fā)揮開(kāi)源開(kāi)發(fā)模型的優(yōu)勢(shì)來(lái)提供一個(gè)免費(fèi)的開(kāi)發(fā)庫(kù),并且重點(diǎn)集中在用戶的需求上,一般用于視覺(jué)仿真、游戲、虛擬現(xiàn)實(shí)、科學(xué)可視化和建模等領(lǐng)域[4]。隨著使用一個(gè)全特性的場(chǎng)景圖OSG的關(guān)鍵優(yōu)勢(shì)在于它的性能、可擴(kuò)展性、可移植性和快速開(kāi)發(fā),目前已經(jīng)有很多成功的基于OSG 的應(yīng)用,比如景區(qū)模擬系統(tǒng)[5]、衛(wèi)星可視化仿真系統(tǒng)[6]、林地可視化系統(tǒng)[7]、校園可視化系統(tǒng)[8]等,效果不亞于商業(yè)視景渲染軟件。

CAD/CAE 平臺(tái)在國(guó)內(nèi)更多的是基于二次開(kāi)發(fā),比如AutoCAD 二次開(kāi)發(fā),UG 二次開(kāi)發(fā),REVIT 二次開(kāi)發(fā)等,這些開(kāi)發(fā)都是依賴于特定的平臺(tái),受限很多。而且CAD/CAE 軟件售價(jià)高昂,成套的CAD/CAE 軟件動(dòng)輒就是百萬(wàn)價(jià)格,很多軟件使用者無(wú)力承擔(dān),如果能夠針對(duì)中小企業(yè)提供一個(gè)精簡(jiǎn)高效的CAD/CAE 軟件,并根據(jù)具體需求增加特定功能,這有利于節(jié)省成本,提高工作效率。

OCC 是一個(gè)開(kāi)源的幾何建模庫(kù),利用這個(gè)幾何建模庫(kù)不僅能建立復(fù)雜的幾何模型而且該庫(kù)還支持大多數(shù)的主流3D 文件格式,直接使用OCC 開(kāi)源內(nèi)核能快速的實(shí)現(xiàn)高效建模和模型文件的解析;而OSG 是一個(gè)開(kāi)源的三維渲染引擎,具備高性能、跨平臺(tái)、快速開(kāi)發(fā)等特點(diǎn),對(duì)于大規(guī)模渲染來(lái)說(shuō),OSG 有比較優(yōu)勢(shì);在三維網(wǎng)格劃分算法的選擇上,采用了Netgen 與Gmsh開(kāi)源網(wǎng)格算法,二者皆是在三角形和四面體劃分領(lǐng)域具備極高的價(jià)格,其網(wǎng)格質(zhì)量能夠達(dá)到商業(yè)水準(zhǔn),因此通過(guò)對(duì)Netgen 與Gmsh 增加部分接口能快速的實(shí)現(xiàn)網(wǎng)格劃分。

二、系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)流程

本系統(tǒng)主要分為四個(gè)大類:數(shù)據(jù)驅(qū)動(dòng)采用OCC,對(duì)讀取的模型文件數(shù)據(jù)用OCC 解析并保存;模型渲染與交互采用OSG,通過(guò)對(duì)OCC 數(shù)據(jù)進(jìn)行三角化轉(zhuǎn)換為OSG 幾何數(shù)據(jù),進(jìn)而在OSG 中可視化;系統(tǒng)界面使用QT5,通過(guò)將OSG 嵌入QT 中實(shí)現(xiàn)一個(gè)可視化、可交互的三維空間;網(wǎng)格采用Netgen 與Gmsh,通過(guò)將Netgen 與Gmsh 配合OCC 進(jìn)行重新編譯,并且新增以O(shè)CC 數(shù)據(jù)支持類型的接口,方便直接對(duì)模型進(jìn)行劃分。系統(tǒng)設(shè)計(jì)流程如下圖1 所示:

通過(guò)讀取STEP、IGS 文件,利用OCC 的OCAF 進(jìn)行解析,能獲得模型文件的裝配體結(jié)構(gòu),系統(tǒng)將這些數(shù)據(jù)進(jìn)行存儲(chǔ);利用OSG 對(duì)這些存儲(chǔ)的數(shù)據(jù)進(jìn)行三角化處理后,用OSG 進(jìn)行顯示;在網(wǎng)格劃分階段,通過(guò)交互方式選中一個(gè)或者多個(gè)模型零件后,設(shè)置網(wǎng)格參數(shù)后對(duì)這些零件進(jìn)行網(wǎng)格劃分,并用OSG 顯示結(jié)果。

三、系統(tǒng)詳細(xì)設(shè)計(jì)

(一)OCC 數(shù)據(jù)驅(qū)動(dòng)

本系統(tǒng)利用OCC 接口直接讀取STEP、IGS 文件后獲取模型數(shù)據(jù),這些數(shù)據(jù)主要包括:

表1 模型數(shù)據(jù)類型說(shuō)明

(二)OSG 顯示與交互

OSG 顯示模型主要是通過(guò)三角化操作實(shí)現(xiàn)的,然后獲取所有的三角形即可,因此OSG 接口數(shù)據(jù)主要有:

表2 接口數(shù)據(jù)類型說(shuō)明

(三)網(wǎng)格劃分與顯示

劃分網(wǎng)格采用Netgen 與Gmsh 開(kāi)源網(wǎng)格劃分算法,對(duì)其進(jìn)行集成時(shí)需要新增或者修改接口,例如在Netgen 就沒(méi)有直接以模型數(shù)據(jù)為接口參數(shù)的API,因此需要自行新增以模型數(shù)據(jù)為參數(shù)的接口設(shè)計(jì),Gmsh 也是類似的,本系統(tǒng)新增了2 個(gè)接口,通過(guò)將TopoDS_Shape 數(shù)據(jù)傳作為參數(shù)輸入,得到網(wǎng)格劃分結(jié)果,接口描述如下:

表3 接口函數(shù)說(shuō)明

Netgen 網(wǎng)格劃分參數(shù)設(shè)置如下:

表4 Netgen 網(wǎng)格劃分參數(shù)說(shuō)明

Gmsh 網(wǎng)格劃分參數(shù)設(shè)置如下:

表5 Gmsh 網(wǎng)格劃分參數(shù)說(shuō)明

四、系統(tǒng)實(shí)現(xiàn)效果

本系統(tǒng)命名為OCCAD,采用QT 多文檔的設(shè)計(jì)框架,初始化效果如下圖:

(一)讀取模型文件的效果如下:

讀取文件格式目前支持STEP、IGS 格式,模型顯示在OSG 場(chǎng)景中,左側(cè)的模型裝配體結(jié)構(gòu)利用OCC 的XCAF 框架解析,通過(guò)遍歷方式將零件按照樹形結(jié)構(gòu)存儲(chǔ),再利用qt 樹形控件顯示出來(lái)。

(二)模型裝配體樹顯示

利用OCC 的XCAF 實(shí)現(xiàn)對(duì)模型文件的裝配遍歷,并根據(jù)模型裝配直接的相互關(guān)系,構(gòu)建一顆樹,效果如下圖所示:

(三)視角切換與模式切換

具備基本的視角切換,支持六視圖操作與手勢(shì)操作,支持三種模型顯示模型切換:線框模式、實(shí)體模式、實(shí)體線框模式。效果如下圖:

(四)Netgen 網(wǎng)格劃分

編譯帶OCC 選項(xiàng)的Netgen C++動(dòng)態(tài)庫(kù),同時(shí)新增一個(gè)以模型為參數(shù)的接口Ng_OCC_Load_Shape(TopoDS_Shape &shape)實(shí)現(xiàn)針對(duì)交互選擇的特定子模型進(jìn)行網(wǎng)格劃分,通過(guò)設(shè)置參數(shù)實(shí)現(xiàn)自動(dòng)劃分,效果如下所示:

(五)Gmsh 網(wǎng)格劃分

編譯帶OCC 選項(xiàng)的Gmsh C++動(dòng)態(tài)庫(kù),新增一個(gè)以模型為參數(shù)的接口:import Shapes Native Pointer(Topo DS_Shape&shape,gmsh::vectorpair &out Dim Tags,const bool highest Dim Only=true)實(shí)現(xiàn)交互選擇子模型進(jìn)行網(wǎng)格劃分,效果如下圖所示:

五、結(jié)語(yǔ)

本文實(shí)現(xiàn)了一個(gè)基于QT 框架下,OCC 與OSG 相結(jié)合的三維網(wǎng)格劃分系統(tǒng),通過(guò)集成、修改Netgen 與Gmsh 網(wǎng)格接口實(shí)現(xiàn)了對(duì)STEP、IGS 模型能進(jìn)行高質(zhì)量的劃分并快速顯示,從底層內(nèi)核開(kāi)發(fā)系統(tǒng)的方式,改變了以往基于商業(yè)平臺(tái)進(jìn)行二次開(kāi)發(fā)的環(huán)境需求,利用開(kāi)源的內(nèi)核、顯示引擎與開(kāi)源算法集成,結(jié)合了OCC 與OSG 各自領(lǐng)域的優(yōu)勢(shì),以及Netgen 與Gmsh 在網(wǎng)格劃分領(lǐng)域內(nèi)的高質(zhì)量效果,通過(guò)集成的方式實(shí)現(xiàn)自主可控,為CAD/CAE 系統(tǒng)的自主研發(fā)提供了思路。

猜你喜歡
二次開(kāi)發(fā)可視化模型
一半模型
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
重要模型『一線三等角』
基于CGAL和OpenGL的海底地形三維可視化
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
淺談Mastercam后處理器的二次開(kāi)發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
主站蜘蛛池模板: 好吊色妇女免费视频免费| 九色视频最新网址| 亚洲性影院| 日韩精品无码免费专网站| 91无码人妻精品一区| 偷拍久久网| 在线观看91香蕉国产免费| 亚洲视频黄| 欧洲成人在线观看| 国产精品嫩草影院视频| 青青操视频在线| 天堂亚洲网| 97青草最新免费精品视频| 欧美国产视频| 国产一级小视频| 二级特黄绝大片免费视频大片| 亚洲制服丝袜第一页| 国产区福利小视频在线观看尤物| 日本91视频| 久久国产黑丝袜视频| 欧美一道本| 国产呦精品一区二区三区网站| 久久永久免费人妻精品| 国产精品久久久久久久久久98| 国产农村妇女精品一二区| 欧美人在线一区二区三区| 91成人在线免费视频| 67194亚洲无码| 午夜a视频| 在线免费a视频| 亚洲天堂色色人体| 九色视频一区| 在线国产欧美| 97超级碰碰碰碰精品| 第一区免费在线观看| 日韩高清中文字幕| 久久美女精品| 国产成人免费高清AⅤ| 无码专区国产精品第一页| 欧美专区在线观看| 一个色综合久久| 亚洲an第二区国产精品| 亚洲一区二区日韩欧美gif| 国产在线八区| 人人看人人鲁狠狠高清| 亚洲成人手机在线| 99热这里只有精品免费| 久久无码高潮喷水| 人妻无码AⅤ中文字| 天天操精品| 亚洲va精品中文字幕| 欧美成人手机在线视频| 国产美女丝袜高潮| 无码内射在线| 亚洲欧美日本国产综合在线| 中文字幕av一区二区三区欲色| 人妻精品久久无码区| 国产成人1024精品下载| 久久99国产视频| vvvv98国产成人综合青青| 中文字幕乱码二三区免费| 蜜芽国产尤物av尤物在线看| 99国产在线视频| 国产日韩欧美在线播放| 欧美亚洲中文精品三区| 啊嗯不日本网站| 国产99精品久久| 一级成人a毛片免费播放| 狠狠色丁香婷婷综合| 国产成人凹凸视频在线| 亚洲精品在线影院| 国产午夜小视频| 亚洲无码高清视频在线观看 | 97人人做人人爽香蕉精品| 日韩资源站| 园内精品自拍视频在线播放| 久久伊伊香蕉综合精品| 国产成人精品一区二区秒拍1o| 亚洲一区波多野结衣二区三区| 热久久综合这里只有精品电影| 天天综合网亚洲网站| 国产精品手机在线观看你懂的 |