基于AutoCAD平臺(tái)三維場(chǎng)景建??梢暬椒跋到y(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于三維城市建模及展示的計(jì)算機(jī)相關(guān)應(yīng)用技術(shù)領(lǐng)域,涉及三維場(chǎng)景建模、展示及操作管理方法,具體涉及一種完全基于AutoCAD平臺(tái)的場(chǎng)景三維建模及可視化方法。
【背景技術(shù)】
[0002]在工業(yè)設(shè)計(jì)中,AutoCAD平臺(tái)是設(shè)計(jì)人員常常使用的工具平臺(tái),但是該平臺(tái)為二維平臺(tái),不能進(jìn)行三維渲染,給日常的設(shè)計(jì)施工工作帶來(lái)了極大的不便。
[0003]專(zhuān)利號(hào)為201110091740.7的發(fā)明專(zhuān)利,是把數(shù)據(jù)讀取之后,導(dǎo)入到另外一個(gè)平臺(tái)軟件3dmax建立的三維模型,也就是說(shuō)它的三維模型是在3dmax顯示和生成。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題是在AutoCAD平臺(tái)上進(jìn)行三維場(chǎng)景建模及可視化方法。
[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明采用以下技術(shù)方案:
一種完全基于AutoCAD平臺(tái)的場(chǎng)景三維建??梢暬椒ǎ唧w按照以下步驟實(shí)施:步驟1:在AutoCAD軟件環(huán)境中創(chuàng)建一個(gè)窗口,與AutoCAD自身文檔、視圖統(tǒng)一由AutoCAD 一體化管理,此窗口以下稱(chēng)為AutoCAD三維窗口 ;
步驟2:從指定的外部DWG文件或某一已經(jīng)打開(kāi)的文件中,提取場(chǎng)景模型數(shù)據(jù);
步驟3:根據(jù)步驟2得到的場(chǎng)景模型數(shù)據(jù)進(jìn)行三維建模,得到場(chǎng)景三維模型,將場(chǎng)景三維模型動(dòng)態(tài)顯示到步驟I中生成的AutoCAD三維窗口中;
步驟4:在步驟3中動(dòng)態(tài)顯示的三維模型中,完成各種三維視圖和實(shí)體的輸入、輸出交互操作。
[0006]所述步驟I中的實(shí)現(xiàn)與AutoCAD自身文檔、視圖的統(tǒng)一化管理,具體按照以下步驟實(shí)施:
首先,基于AutoCAD 二次開(kāi)發(fā)技術(shù)在AutoCAD軟件運(yùn)行環(huán)境中由程序創(chuàng)建一個(gè)窗口 ;其次,根據(jù)AutoCAD應(yīng)用程序的多文檔框架原理,把上述窗口嵌入到AutoCAD主框架中、或模擬成AutoCAD主框架的一個(gè)視圖或文檔,以此生成一個(gè)“與AutoCAD自身文檔、視圖統(tǒng)一由AutoCAD —體化管理”的窗口,此窗口即為AutoCAD三維窗口 ;
再次,基于AutoCAD程序主框架、視圖和文檔的構(gòu)建原理,也使得AutoCAD三維窗口隨時(shí)脫離AutoCAD環(huán)境,也可支持多顯示屏幕的聯(lián)動(dòng)操作;
最終,形成一個(gè)完全嵌入到AutoCAD中、可支持多屏操作、也可由開(kāi)發(fā)者自由擴(kuò)充的獨(dú)立AutoCAD三維窗口,此AutoCAD三維窗口作為后續(xù)三維顯示和交互的平臺(tái)窗口。
[0007]所述的步驟2中的提取場(chǎng)景模型數(shù)據(jù),具體按照以下步驟實(shí)施: a:指定提取數(shù)據(jù)來(lái)源;
b:確定提取方式;
c:或者按照提取方式重新交互賦值; d:提取三維場(chǎng)景建模必須的屬性數(shù)據(jù); e:生成支撐三維建模的數(shù)據(jù)結(jié)構(gòu)。
[0008]所述的步驟a中的指定提取數(shù)據(jù)來(lái)源,具體按照以下步驟實(shí)施:顯式或隱式指定從外部Dwg文件或者當(dāng)前打開(kāi)的一個(gè)AutoCAD視圖中,提取場(chǎng)景三維模型所需數(shù)據(jù)。
[0009]所述步驟b中的確定提取方式,具體按照以下步驟實(shí)施:首先,確定提取依據(jù),主要可分為:按照AutoCAD圖層特性提取、或者按照AutoCAD實(shí)體屬性提取、或者按照AutoCAD形體規(guī)則提??;然后,針對(duì)場(chǎng)景中各種實(shí)體確定對(duì)應(yīng)的一種或者多種提取方式。
[0010]所述的步驟c中的按照規(guī)則重新交互賦值,具體按照以下步驟實(shí)施:針對(duì)某些已知數(shù)據(jù)中無(wú)法提取或表達(dá)出的場(chǎng)景數(shù)據(jù),采用人為交互方式賦予三維建模所需的數(shù)據(jù)信肩、O
[0011]所述的步驟3中的將場(chǎng)景三維模型動(dòng)態(tài)顯示到步驟I中生成的AutoCAD窗口中,具體按照以下步驟實(shí)施:首先,建立步驟I生成的AutoCAD三維窗口與底層三維開(kāi)發(fā)接口關(guān)聯(lián);其次,根據(jù)步驟2中生成的支撐三維建模的數(shù)據(jù)結(jié)構(gòu),采用三維可視化表達(dá)方式輸出到AutoCAD三維窗口中。
[0012]所述的步驟4中的支持各種三維視圖和實(shí)體的輸入、輸出交互操作,具體按照以下步驟實(shí)施:首先,基于步驟I生成的AutoCAD三維窗口擴(kuò)充其各種三維功能,包括工具條、菜單、快捷鍵支持;其次,針對(duì)三維視圖支持三維漫游、放大、縮小、移屏各種視圖交互操作;再次,針對(duì)已經(jīng)顯示的三維模型,支持交互選擇、移動(dòng)、旋轉(zhuǎn)、放大、縮小實(shí)體操作;再次,基于AutoCAD實(shí)體反應(yīng)器原理,實(shí)現(xiàn)實(shí)體操作與對(duì)應(yīng)標(biāo)準(zhǔn)AutoCAD實(shí)體的聯(lián)動(dòng);最后,支持三維模型和三維場(chǎng)景的標(biāo)準(zhǔn)化輸入、輸出數(shù)據(jù)互操作。
[0013]一種完全基于AutoCAD平臺(tái)的場(chǎng)景三維建??梢暬到y(tǒng),它包括:
窗口生成模塊,它在AutoCAD軟件環(huán)境中創(chuàng)建一個(gè)窗口 ;
窗體轉(zhuǎn)換控制模塊,它將AutoCAD自身文檔、視圖統(tǒng)一由AutoCAD —體化管理;
所述的窗口生成模塊和窗體轉(zhuǎn)換控制模塊均與AutoCAD主控制平臺(tái)相連接;
AutoCAD主控制平臺(tái)的輸出端連接三維模型表達(dá)模塊,所述的三維模型表達(dá)模塊從指定的外部DWG文件或某一已經(jīng)打開(kāi)的文件中,提取場(chǎng)景模型數(shù)據(jù);
三維模型場(chǎng)景及視圖生成渲染控制模塊,根據(jù)得到的場(chǎng)景模型數(shù)據(jù)進(jìn)行三維建模,得到場(chǎng)景三維模型,將場(chǎng)景三維模型動(dòng)態(tài)顯示到生成的AutoCAD三維窗口中;
三維模型場(chǎng)景及視圖操作控制模塊,在動(dòng)態(tài)顯示的三維模型中,完成各種三維視圖和實(shí)體的輸入、輸出交互操作。
[0014]采用上述技術(shù)方案的本發(fā)明,全部過(guò)程在Autocad平臺(tái)下一體化完成,包括數(shù)據(jù)讀取、三維建模、三維顯示、三維交互等操作全部?jī)?nèi)嵌到Autocad之中,具有以下優(yōu)點(diǎn):
1、二維提取三維信息:可以靈活配置數(shù)據(jù)讀取標(biāo)準(zhǔn)或參照(比如按照?qǐng)D層、線型、顏色、關(guān)聯(lián)數(shù)據(jù)等),此方法可以智能提取三維建模必須的相關(guān)信息,從而內(nèi)存中自動(dòng)構(gòu)建三維模型;
2、三維建模的過(guò)程:不需要更換圖形平臺(tái),不需要數(shù)據(jù)格式的手工轉(zhuǎn)換,不需要更改用戶的操作習(xí)慣;
3、三維模型的顯示:與獨(dú)立平臺(tái)顯示效果無(wú)差異,也可以理解為功能上可擴(kuò)展、可延伸,顯示效果及粒度上可宏觀、可微觀、可外表、可內(nèi)部。此外,三維視窗一旦打開(kāi),窗口既可以欺入到AutoCAD中,也可以獨(dú)立出AutoCAD,并且支持多屏眷并列顯不;
4、三維交互方法:完全遵循其他三維獨(dú)立平臺(tái)的交互操作習(xí)慣。
【附圖說(shuō)明】
[0015]圖1為本發(fā)明的流程圖。
[0016]圖2為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0017]如圖1所示,一種完全基于AutoCAD平臺(tái)的場(chǎng)景三維建模及可視化方法,具體按照以下步驟實(shí)施:
步驟1:在AutoCAD軟件環(huán)境中創(chuàng)建一個(gè)窗口,與AutoCAD自身文檔、視圖統(tǒng)一由AutoCAD 一體化管理,此“窗口 ”稱(chēng)為“AutoCAD三維窗口 ” ;
步驟2:從指定的外部DWG文件或某一已經(jīng)打開(kāi)的文件中,提取場(chǎng)景模型數(shù)據(jù);
步驟3:根據(jù)步驟2得到的場(chǎng)景模型數(shù)據(jù)進(jìn)行三維建模,將場(chǎng)景三維模型動(dòng)態(tài)顯示到步驟I中生成的“AutoCAD三維窗口”中;
步驟4:在步驟3中顯示的三維模型支持各種三維視圖和實(shí)體的輸入、輸出交互操作。
[0018]步驟I中的實(shí)現(xiàn)與AutoCAD其他窗口的統(tǒng)一化管理,具體按照以下步驟實(shí)施:首先,基于AutoCAD 二次開(kāi)發(fā)技術(shù)在AutoCAD軟件運(yùn)行環(huán)境中由程序創(chuàng)建一個(gè)窗口 ;其次,根據(jù)AutoCAD應(yīng)用程序的多文檔框架(MainFrame)原理,把上述窗口嵌入到AutoCAD主框架中、或模擬成AutoCAD主框架的一個(gè)視圖或文檔,以此生成一個(gè)“與AutoCAD自身文檔、視圖統(tǒng)一由AutoCAD —體化管理”的獨(dú)立“窗口”,此“窗口”即為“AutoCAD三維窗口” ;再次,基于AutoCAD程序主框架、視圖和文檔的構(gòu)建原理,也使得“AutoCAD三維窗口 ”隨時(shí)脫離AutoCAD環(huán)境,也可支持多顯示屏幕的聯(lián)動(dòng)操作;最終,形成一個(gè)完全嵌入到AutoCAD中、即可支持多屏操作、也可由開(kāi)發(fā)者自由擴(kuò)充的獨(dú)立“AutoCAD三維窗口 ”,此“AutoCAD三維窗口 ”作為后續(xù)三維顯示和交互的平臺(tái)窗口。
[0019]步驟2中的提取場(chǎng)景模型數(shù)據(jù),具體按照以下步驟實(shí)施: a:指定提取數(shù)據(jù)來(lái)源;
b:確定提取方式;
c:或者按照提取方式重新交互賦值; d:提取三維必須的屬性數(shù)據(jù); e:生成支撐三維建模的數(shù)據(jù)結(jié)構(gòu)。
[0020]步驟a中的指定提取數(shù)據(jù)來(lái)源,具體按照以下步驟實(shí)施:顯式或隱式指定從外部Dwg文件或者當(dāng)前打開(kāi)的一個(gè)AutoCAD視圖中,提取場(chǎng)景三維模型所需數(shù)據(jù)。
[0021]步驟