模具設(shè)計可視化信息查詢系統(tǒng)設(shè)計
東南大學(xué)機(jī)械系 (江蘇南京 210096) 汪列隆
可視化查詢模塊是模具設(shè)計CAD信息集成系統(tǒng)的主要組成模塊之一,是實現(xiàn)模具協(xié)同開發(fā)設(shè)計的基礎(chǔ)。
利用可視化信息查詢系統(tǒng),一方面,可以使設(shè)計人員在新模具開發(fā)時查看原型模具相關(guān)部件的尺寸參數(shù)和性能,以便確定一致合理的模型特性,提高開發(fā)效率;另一方面,可以讓用戶通過觀察模具零件圖的方式來查詢所需產(chǎn)品信息,方便用戶的查詢工作。本文建立了基于VRML的三層構(gòu)架的信息查詢模型,并采用了基于觸摸傳感器技術(shù)實現(xiàn)信息查詢。
1.可視化查詢模塊結(jié)構(gòu)
模具開發(fā)可視化查詢模塊包括兩個子模塊,即顯示模塊和查詢模塊。其結(jié)構(gòu)如圖1所示。
顯示模塊是查詢模塊與用戶間的接口,它包括顯示模具零件爆炸圖、熱區(qū)定義與管理和用戶事件響應(yīng)等三個部分。其中顯示模具零件爆炸圖是通過定義的URL地址從網(wǎng)絡(luò)中把定義的模具零件爆炸圖下載至用戶瀏覽器中并顯示在用戶界面上;?熱區(qū)定義與管理是把用戶定義好的熱點區(qū)域坐標(biāo)與模具零件爆炸圖之間對應(yīng)起來,?并對用戶在這些熱點區(qū)域中的一些事件作出響應(yīng);用戶事件響應(yīng)是對用戶在圖中熱點區(qū)域按下鼠標(biāo)左鍵后根據(jù)預(yù)先定義的響應(yīng)過程發(fā)出消息到查詢模塊或顯示相關(guān)的子圖。
查詢模塊包括消息接收、數(shù)據(jù)查詢和查詢結(jié)果顯示三個部分。消息接收是用于接收由顯示模塊發(fā)出的查詢消息并根據(jù)此消息調(diào)用數(shù)據(jù)查詢模塊。數(shù)據(jù)查詢是根據(jù)消息接收模塊傳過來的各類查詢指令對存儲在數(shù)據(jù)庫中的信息進(jìn)行查詢,并把查詢結(jié)果傳送給查詢結(jié)果顯示模塊。查詢結(jié)果顯示是用來顯示查詢數(shù)據(jù)庫后得到的各類結(jié)果并通過網(wǎng)絡(luò)傳送各類數(shù)據(jù)。
2.軟件環(huán)境
(1)數(shù)據(jù)庫的連接方式的選擇
模具開發(fā)的數(shù)據(jù)信息都存儲在數(shù)據(jù)庫中,將WEB與數(shù)據(jù)庫系統(tǒng)結(jié)合起來,形成集數(shù)據(jù)管理、分布式網(wǎng)絡(luò)功能和支持超文本、超媒體于一體的,具有實時性和交互性的分布式信息系統(tǒng),是信息查詢系統(tǒng)的核心。通過比較各種數(shù)據(jù)庫集成方式,本查詢系統(tǒng)選用JDBC方式的連接技術(shù)。
(2)數(shù)據(jù)庫管理系統(tǒng)選擇
目前,商品化的數(shù)據(jù)庫管理系統(tǒng)以關(guān)系型數(shù)據(jù)庫為主導(dǎo)產(chǎn)品,技術(shù)比較成熟。面向?qū)ο蟮臄?shù)據(jù)庫管理系統(tǒng)雖然技術(shù)先進(jìn),易于開發(fā)、維護(hù),但尚未有成熟的產(chǎn)品。國際上主導(dǎo)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)有ORACLE、DB2、SYBASE、INFORMIX和SQL SERVER等。這些數(shù)據(jù)庫管理系統(tǒng)在對大型數(shù)據(jù)庫以及分布式應(yīng)用和并行計算等方面都提供了強(qiáng)有力
的支持。在本系統(tǒng)開發(fā)中,采用0RACLE8i(8.1.5版)作為本系統(tǒng)的數(shù)據(jù)庫管理系統(tǒng),因為它具有:高可靠性、完善的備份和恢復(fù)機(jī)制、支持所有WEB數(shù)據(jù)類型、可為內(nèi)部實例通信提供了新的機(jī)制。
3.三維可視化信息查詢系統(tǒng)模型
(1)VRML與APPLET的通信機(jī)制
對于原先的嵌入到IE瀏覽器的Java Applet,它在與瀏覽器聯(lián)系時是通過JVM(Java?Virtual?Machine)機(jī)制來進(jìn)行通信,即網(wǎng)頁通過APPLET標(biāo)設(shè)引人APPLET程序,網(wǎng)頁運行時,APPLET代碼自動下載,在JVM中通過字節(jié)碼檢驗器檢驗執(zhí)行。而可視化虛擬環(huán)境是在VRML瀏覽器中才可以運行的,簡單的三維場景不能集成利用原來的PDM系統(tǒng)功能,而且無法滿足協(xié)同設(shè)計系統(tǒng)的功能要求,如模型的精確控制和響應(yīng)。因此,實現(xiàn)APPLET與VRML環(huán)境的交互通信建立的通信機(jī)制?如圖2所示。
在VRML場景中的信息響應(yīng)由VRML瀏覽器來感應(yīng),VRML瀏覽器集成在WEB頁面中。因為WEB瀏覽器的解析中包含了VRML類庫,所以WEB瀏覽器可以響應(yīng)VRML產(chǎn)生的消息,而WEB瀏覽器本身插入了JVM,使得VRML場景和APPLET在WEB頁面下可實現(xiàn)通信。
(2)可視化查詢模型的體系結(jié)構(gòu)基于接觸傳感器(TouchSensor)技術(shù)建立的可視化信息查詢系統(tǒng)體系結(jié)構(gòu)如圖3所示。
在信息查詢體系中,把三維場景需查詢的部件都定義了接觸傳感器節(jié)點,當(dāng)接觸傳感器感知實體被觸發(fā),它將產(chǎn)生一個事件,通過WEB頁面通知服務(wù)器進(jìn)行查詢,服務(wù)方以JDBC方式查詢底層數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)搜尋到所需信息通過服務(wù)器將信息返回并顯示到客戶的APPLET界面上。
(3)可視化查詢模型的軟件實現(xiàn)?系統(tǒng)是建立在HTTP協(xié)議和VSCP(Virtual?Society?Communication?Protol虛擬社會協(xié)議)基礎(chǔ)上的。VSCP規(guī)定了作為整個場景數(shù)據(jù)的傳送方式,為正確地在分布環(huán)境里顯示三維場景提供了可能;VSCP對虛擬社會中替身的大小也作出了規(guī)定,以便在不同大小的場合作出正確的替身選擇;VSCP還對如何描述實體外形與行為的方式進(jìn)行了具體的規(guī)定,以便用戶可以正確定義所要的實體。
在虛擬空間中,如果要實現(xiàn)交互性,必須給每個部件附帶一個傳感器,該傳感器使用一個定點設(shè)備(如鼠標(biāo))來感知觀察者的動作,當(dāng)觀察者點擊到一個附帶有傳感器的部件時,傳感器就將輸出一個事件,這個事件被路由到其他的節(jié)點來開始下一個動作。在VRML中有很多傳感器,由于本查詢系統(tǒng)要實現(xiàn)的是部件的信息查詢,所以把要查詢的部件都定義了TouchSensor。
TouchSensor創(chuàng)建了一個檢測觀察者動作和轉(zhuǎn)換它們?yōu)檫m當(dāng)輸出以觸發(fā)動畫的傳感器。Touchsensor可以是任何組節(jié)點的子節(jié)點,并且它感知觀察者對這個組及它的子節(jié)點中部件的動作。當(dāng)定點設(shè)備的移動在可感知部件上時,將產(chǎn)生一個輸出。對于觀察者來說,可感知部件好像是一個三維用戶界面上的按鍵。接觸這個按鍵,部件就可以產(chǎn)生一個輸出來驅(qū)動一個動作。
TouchSensor中有很多可見域,在信息查詢功能中常用的是enabled、isOver和isActive域。
可見域enabled用來指定傳感器是否打開。如果域值是true,那么傳感器打開并且產(chǎn)生輸出。如果域值是false,傳感器是關(guān)閉的,并且沒有輸出產(chǎn)生。除非它們產(chǎn)生對改變可見域的響應(yīng)。域值默認(rèn)值是true。
當(dāng)觀察者用TouchSensor節(jié)點在一個可感知部件上移動光標(biāo)時,傳感器節(jié)點就通過isOver eventOUT輸出true值。當(dāng)觀察者將光標(biāo)離開可感知部件時,就用is0ver?eventOut輸出一個false值。當(dāng)光標(biāo)在一個可感知部件上,觀察者按下定點設(shè)備的按鍵,傳感器節(jié)點使用isActive eventOut事件輸出ture,觀察者放開定點設(shè)備的按鍵,傳感器節(jié)點使用isActive的eventOut事件輸出false。當(dāng)定點設(shè)備的按鍵按在一個可感知部件上時,isActive eventOut事件輸出true,傳感器獲得對定點設(shè)備的轉(zhuǎn)有使用,直到觀察者放開對定點設(shè)備,isActive?eventOut事件輸出Flase,在這個使用過程中,虛擬空間中其他定點設(shè)備傳感器不能被激活。
4.結(jié)論
實現(xiàn)模具開發(fā)三維動態(tài)可視化查詢,可以大大提高網(wǎng)絡(luò)化模具快速響應(yīng)設(shè)計的效率,特別在那些要求高級模具三維圖形能力的地方。利用VRML語言,發(fā)揮它易于動態(tài)三維多視場網(wǎng)上傳輸?shù)膬?yōu)勢,實現(xiàn)大范圍和跨平臺的異地協(xié)同網(wǎng)絡(luò)可視化虛擬模具開發(fā)和設(shè)計。
|