基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法
【專利摘要】本發(fā)明公開了一種基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法,涉及三維模型轉(zhuǎn)換【技術(shù)領(lǐng)域】。該方法通過(guò)分析建模軟件的SDK文件,將模型中的外觀和結(jié)構(gòu)信息進(jìn)行提取,同時(shí)去掉不對(duì)模型外觀結(jié)構(gòu)做影響的構(gòu)圖信息、模型裝配信息、分組信息;再將模型中提取的外觀和結(jié)構(gòu)信息進(jìn)行重新構(gòu)圖,用一個(gè)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)組成起來(lái),將其換成VIS格式形成最終的VIS文件包,VIS格式能夠支持SolidWorks、Pro/E、UG、3DMAX、MAYA建模軟件的模型。優(yōu)點(diǎn):在不改變模型外觀的前提下,大幅提高模型打開速度,并將模型數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為一種統(tǒng)一格式,使模型不需要原建模軟件既能打開查看。
【專利說(shuō)明】基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及三維模型轉(zhuǎn)換【技術(shù)領(lǐng)域】,具體是一種基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法。
【背景技術(shù)】
[0002]三維建模按性質(zhì)劃分目前可以分為兩種:實(shí)體建模和面結(jié)構(gòu)建模。
[0003]實(shí)體建模是定義一些基本體素,通過(guò)基本體素的集合運(yùn)算或變形操作生成復(fù)雜形體的一種建模技術(shù),其特點(diǎn)在于三維立體的表面與其實(shí)體同時(shí)生成。由于實(shí)體建模能夠定義三維物體的內(nèi)部結(jié)構(gòu)形狀,因此能完整地描述物體的所有幾何信息和拓?fù)湫畔ⅲㄎ矬w的體、面、邊和頂點(diǎn)的信息。實(shí)體建模優(yōu)點(diǎn)在于可以提供實(shí)體完整的信息,常用于工業(yè)設(shè)計(jì)方面,但因?yàn)閷?shí)體建模是由基本幾何體組成的,在處理一些外觀比較復(fù)雜的不規(guī)則物體上,設(shè)計(jì)比較繁瑣不便。
[0004]面結(jié)構(gòu)建模是以曲面為單位,面上的點(diǎn)為元素進(jìn)行建模,模型沒有厚度,只有面的正反。特點(diǎn)在于曲面上的頂點(diǎn)都能夠進(jìn)行編輯,在制作復(fù)雜不規(guī)則物體上時(shí),非常自由和靈活。但不適合制作對(duì)精度要求非常高的工業(yè)設(shè)計(jì)。
[0005]電力行業(yè)在國(guó)家現(xiàn)代建設(shè)中起著舉足輕重的作用,是國(guó)名經(jīng)濟(jì)發(fā)展的動(dòng)脈。培養(yǎng)高精尖的技術(shù)人才,是電力行業(yè)建設(shè)的重要部分。傳統(tǒng)的實(shí)物設(shè)備因場(chǎng)地限制,設(shè)備限制無(wú)法滿足教學(xué)目的,開發(fā)三維仿真模擬教學(xué)系統(tǒng)能夠提高學(xué)員學(xué)習(xí)效率又能夠減少教學(xué)成本。
[0006]目前市面上三維建模軟件種類繁多,比較主流的有SolidWorks、Pro/E、UG、3DMAX、MAYA。每種建模軟件擅長(zhǎng)的領(lǐng)域又各不相同,比如SolidWorks擅長(zhǎng)鈑金設(shè)計(jì),機(jī)械設(shè)計(jì);Pro/E擅長(zhǎng)模具設(shè)計(jì);3DMAX和MAYA擅長(zhǎng)動(dòng)畫設(shè)計(jì)和影視設(shè)計(jì)。每種軟件都有自己專用的模型格式,模型不能互相打開,轉(zhuǎn)換起來(lái)費(fèi)時(shí)費(fèi)力,為了查看不同設(shè)計(jì)軟件開發(fā)的模型,往往需要安裝不同的建模軟件。開發(fā)一種通用格式,使模型能夠快速查看,已經(jīng)成為未來(lái)電力行業(yè)教學(xué)虛擬仿真化的必要基礎(chǔ)。
【發(fā)明內(nèi)容】
[0007]為了解決目前市面上模型格式繁多,而各個(gè)建模軟件之間模型互不能打開的問(wèn)題,本發(fā)明提供一種基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法,能夠?qū)olidWorks建模、Pro/E模型、UG模型、3DMAX模型、MAYA模型,轉(zhuǎn)化成統(tǒng)一的VIS格式,使模型不需要原建模軟件既能打開查看。
[0008]本發(fā)明是以如下技術(shù)方案實(shí)現(xiàn)的:基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法,通過(guò)分析建模軟件的SDK文件,將模型中的外觀和結(jié)構(gòu)信息進(jìn)行提取,同時(shí)去掉不對(duì)模型外觀結(jié)構(gòu)做影響的構(gòu)圖信息、模型裝配信息、分組信息;再將模型中提取的外觀和結(jié)構(gòu)信息進(jìn)行重新構(gòu)圖,用一個(gè)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)組成起來(lái),將其換成VIS格式形成最終的VIS文件包,VIS格式能夠支持SolidWorks、Pro/E、UG、3DMAX、MAYA建模軟件的模型。[0009]本發(fā)明的有益效果是:在不改變模型外觀的前提下,大幅提高模型打開速度,并將模型數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為一種統(tǒng)一格式,使模型不需要原建模軟件既能打開查看。
【專利附圖】
【附圖說(shuō)明】
[0010]圖1是本發(fā)明原理框圖。
【具體實(shí)施方式】
[0011]如圖1所示,基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法通過(guò)分析各個(gè)建模軟件的SDK接口,對(duì)三維模型的點(diǎn)和面信息進(jìn)行提取,保留模型外觀信息,去掉其他不需要的冗余信息(如配合關(guān)系、分組信息、構(gòu)圖信息),使SolidWorks、Pro/E、UG、3DMAX、MAYA建模軟件能夠直接導(dǎo)出VIS格式。在保證模型結(jié)構(gòu)和外觀不變的情況下,又去掉模型建模時(shí)的附加信息,減小模型數(shù)據(jù)體積,加快模型查看速度。
[0012]該方法要求支持的模型格式:Prt、sldprt、x_t、x_b、IGS、stp、sta、u3d、wrl、3ds、3dx ;轉(zhuǎn)換后的格式為:VIS。
[0013]下面以3DMAX軟件為例對(duì)本發(fā)明作詳細(xì)介紹。
[0014]模型信息提取代碼:3dmax里面一個(gè)重要的概念就是INode,3dmax的場(chǎng)景模型都是由一個(gè)個(gè)的INode組成,這些INode構(gòu)成一棵體系樹,而各個(gè)真實(shí)的模型都是附著到一個(gè)INode上面的,3dmax的sdk提供了怎樣獲取INode指針,獲取了 INode信息,就能對(duì)模型外觀和結(jié)構(gòu)信息進(jìn)行提取。
[0015]使用GetModifier函數(shù)--遍歷每個(gè)INode,然后調(diào)用GetInterface獲得INode
的指針,通過(guò)這個(gè)指針調(diào)用GetContextInterface獲取INodeContextData指針,將指針中的數(shù)據(jù)信息提取出來(lái),并按 照OpenGL標(biāo)準(zhǔn)進(jìn)行重新構(gòu)建組成,即可得到VIS格式模型。
【權(quán)利要求】
1.一種基于openGL圖形標(biāo)準(zhǔn)的三維模型轉(zhuǎn)換方法,其特征在于:通過(guò)分析建模軟件的SDK文件,將模型中的外觀和結(jié)構(gòu)信息進(jìn)行提取,同時(shí)去掉不對(duì)模型外觀結(jié)構(gòu)做影響的構(gòu)圖信息、模型裝配信息、分組信息;再將模型中提取的外觀和結(jié)構(gòu)信息進(jìn)行重新構(gòu)圖,用一個(gè)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)組成起來(lái),將其換成VIS格式形成最終的VIS文件包,VIS格式能夠支持Solidfforks, Pro/E、UG、3DMAX、MAYA 建模軟件的模型。
【文檔編號(hào)】G06F17/50GK103473385SQ201310231309
【公開日】2013年12月25日 申請(qǐng)日期:2013年6月9日 優(yōu)先權(quán)日:2013年6月9日
【發(fā)明者】陳錚, 朱金花, 趙凱峰, 陳向光 申請(qǐng)人:國(guó)家電網(wǎng)公司, 江蘇省電力公司徐州供電公司, 江蘇省電力公司