精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁通信論文

核心通信期刊發(fā)表論文格式范文

發(fā)布時(shí)間: 1

  Quest3D與VB的通信,主要是通過Quest3D中的“ActiveXData”通道和“ActiveXEvent”通道以及VB中的“Quest3DCtrl4”控件來實(shí)現(xiàn)的。

  摘要:VB是一種功能豐富、語法靈活的程序語言,已經(jīng)在建模仿真領(lǐng)域得到了十分廣泛的應(yīng)用。但隨著計(jì)算機(jī)仿真技術(shù)的發(fā)展,VB僅僅能做二維仿真的這一缺點(diǎn)已經(jīng)不能適應(yīng)市場(chǎng)的需求。Quest3D是一種功能強(qiáng)大的虛擬仿真軟件,它融合了當(dāng)今先進(jìn)的數(shù)字圖像處理、計(jì)算機(jī)圖形學(xué)、自動(dòng)控制及各類傳感器技術(shù)等多個(gè)分支領(lǐng)域的信息技術(shù)來模擬一個(gè)虛擬的三維空間,可以使用戶無限制地感受三維空間內(nèi)的事物。這篇文章通過制作一個(gè)簡單的例子,詳細(xì)地介紹了一種通過ActiveX控件把Quest3D4.3與VB6.0這兩個(gè)軟件之間建立起通信的方法,以便于我們充分利用這兩個(gè)軟件的長處,制作出更加令人滿意的效果。

  關(guān)鍵詞:Quest3D4.3,VB6.0,ActiveX控件,數(shù)據(jù)通信

  1相關(guān)通道和控件介紹

  “ActiveXData”通道:如果要實(shí)現(xiàn)Quest3D項(xiàng)目文件與其他程序(例如InternetExplorer,VisualBasic或者其他能夠加載ActiveX控件的程序)的通信,就需要用“ActiveXData”通道為Quest3D項(xiàng)目文件預(yù)留出一個(gè)接口。也就是說當(dāng)我們要在VB中調(diào)用某個(gè)已經(jīng)發(fā)布出來的Quest3D項(xiàng)目文件并要對(duì)其進(jìn)行某一操作時(shí),在制作Quest3D項(xiàng)目文件時(shí)候,就需要把要被操作的通道(一般為表示數(shù)值或文本的通道)連接到“ActiveXData”通道上去。

  “ActiveXEvent”通道:“ActiveXEvent”通道是一個(gè)事件觸發(fā)通道,通過此通道,可以在調(diào)用Quest3D項(xiàng)目文件的其他程序中觸發(fā)一個(gè)事件,這樣Quest3D項(xiàng)目文件與其他程序的通信才能夠開始執(zhí)行下去。

  “Quest3DCtrl4”控件:VB6.0中本身并不含有“Quest3DCtrl4”控件,我們需要進(jìn)行一些操作來為VB添加“Quest3DCtrl4”控件。通過此控件我們可以在VB中調(diào)用Ques3D項(xiàng)目文件,“Quest3DCtrl4”控件包含了一些可以調(diào)用的方法用來對(duì)Quest3D項(xiàng)目執(zhí)行相應(yīng)的操作,包括:

  “SetChannelValue”:用來設(shè)置Quest3D項(xiàng)目文件中某一特定通道的數(shù)值;

  “SetChannelText”:用來設(shè)置Quest3D項(xiàng)目文件中某一特定通道的文本內(nèi)容;

  “ChannelValue”:用來獲取Quest3D項(xiàng)目文件中某一特定通道的數(shù)值大;

  “ChannelText”:用來獲取Quest3D項(xiàng)目文件中某一特定通道的文本內(nèi)容。

  2添加VB6.0“Quest3DCtrl4”控件

  添加VB6.0“Quest3DCtrl4”控件的方法如下:

  2.1安裝“Quest3DWebViewers”插件

  1)在桌面或者開始菜單中找到Quest3D4.3程序的圖標(biāo)并右擊,在彈出的快捷列表中選擇“屬性”,打開其屬性對(duì)話框,點(diǎn)擊“查找目標(biāo)”,打開Quest3D4.3軟件的安裝文件夾;

  2)在Quest3D4.3軟件的安裝文件夾中找到名字為“WebInstallerExe”的文件夾并打開,里面包含了一個(gè)文本文件和一個(gè)exe格式的文件,此exe格式的文件即為“Quest3DWebViewers”插件的安裝文件;

  3)雙擊exe格式的文件,即可進(jìn)行“Quest3DWebViewers”插件的安裝。

  2.2對(duì)Quest3DactiveX控件進(jìn)行注冊(cè)

  1)打開Quest3D4.3軟件的安裝文件夾(方法同上),找到一個(gè)名字為“Quest3DActiveX4.dll”的應(yīng)用程序擴(kuò)展文件;

  2)在“開始”菜單中選擇“運(yùn)行”,輸入“regsvr32”,用鼠標(biāo)點(diǎn)擊“Quest3DActiveX4.dll”文件并將其拖動(dòng)到“運(yùn)行”窗口的輸入框內(nèi),如圖1所示,點(diǎn)擊確定,系統(tǒng)就會(huì)出現(xiàn)已成功注冊(cè)了Quest3DactiveX控件的提示。

  通過以上兩個(gè)步驟,我們就成功地為VB6.0軟件添加了一個(gè)名為“Quest3DCtrl4”控件,下面我們就可以制作Quest3D項(xiàng)目文件,然后在VB中利用“Quest3DCtrl4”控件來調(diào)用Quest3D項(xiàng)目文件并進(jìn)行編輯。

  3制作Quest3D場(chǎng)景文件

  1)打開Quest3D4.3,在Templates>Scene列表中拖動(dòng)一個(gè)“SimpleScene”模板到通道編輯界面中,并把“Start3Dscene”通道作為程序開始執(zhí)行的首通道。運(yùn)行程序,切換到項(xiàng)目攝像機(jī)視圖,可以發(fā)現(xiàn)場(chǎng)景中包含了一個(gè)簡單的平面物體和一個(gè)三維的文本物體,此文本物體的字樣為“3DText!”。當(dāng)此項(xiàng)目在運(yùn)行過程中,文本物體的位置是沒有辦法改變的,我們通過下面的操作,最終可以實(shí)現(xiàn)在VB中任意改變文本物體在X軸方向上的位置。

  打開Quest3D4.3,在切換到通道編輯界面中,從Templates>System>Viewers>ActiveX列表中拖動(dòng)一個(gè)“ActiveXData”通道到通道編輯界面中,把其連接到“Start3Dscene”通道的下面。從Templates>Variables>Value列表中拖動(dòng)一個(gè)“Value”通道,替換掉表示文本物體X軸坐標(biāo)值的通道,更改其通道名稱為“Xvalue”,對(duì)其創(chuàng)建一個(gè)快捷方式,并連接到“ActiveXData”通道的下面。2)從Templates>System>Viewers>ActiveX列表中拖動(dòng)一個(gè)“ActiveXEvent”通道到通道編輯界面中,并把其連接到Start3Dscene通道的下面(如圖2所示)。

  3)更改項(xiàng)目通道組的名稱為“test”,把項(xiàng)目文件命名為“test”后保存為一份.cgr格式的文件,最后再把項(xiàng)目發(fā)布為Quest3Dviewer格式(也就是q3d格式)的文件,此文件的名稱也命名為“test”。

  4VB與Quest3D的通信

  4.1給VB工具箱添加“Quest3DCtrl4”控件

  VB中一共有3類控件,即標(biāo)準(zhǔn)控件、ActiveX控件和可插入對(duì)象。其中標(biāo)準(zhǔn)控件是在啟動(dòng)VB后就會(huì)顯示在工具箱中可以直接使用的。ActiveX控件在使用之前是需要添加到工具箱中去的,否則不能在窗體中使用,“Quest3DCtrl4”控件就屬于這類控件。

  打開VB6.0,彈出其工作界面,在工具箱窗口的空白處右擊,然后在彈出的快捷列表中選擇“部件”選項(xiàng),彈出“部件”對(duì)話框,選擇“部件”對(duì)話框中的“控件”選項(xiàng),則會(huì)出現(xiàn)一個(gè)包含了各種ActiveX控件的列表,在此處,勾選“Quest3DactiveX41.5TypeLibrary”選項(xiàng),單擊確定按鈕,就為VB的工具箱添加一個(gè)可用于調(diào)用q3d文件的“Quest3DCtrl4”控件。

  4.2創(chuàng)建VB工程文件

  1)打開VB6.0,建立一個(gè)標(biāo)準(zhǔn)的EXE工程文件,此工程包含一個(gè)默認(rèn)的窗體Form1。給窗體Form1添加一個(gè)標(biāo)簽控件、一個(gè)文本框控件、一個(gè)命令按鈕以及一個(gè)“Quest3DCtrl4”控件。

  2)設(shè)置各個(gè)控件的屬性值如下:

  “Quest3DCtrl4”控件屬性中的名稱項(xiàng)設(shè)為:“Quest3D”。

  標(biāo)簽控件屬性中的Caption項(xiàng)設(shè)為:“文本物體的X軸坐標(biāo)值為:”。

  文本框控件屬性中的名稱項(xiàng)設(shè)為:“Text”,屬性中的Text項(xiàng)為空白。

  命令按鈕控件屬性中的Caption項(xiàng)設(shè)為“確定”。

  合理調(diào)整各控件的大小及位置。最后新建一個(gè)文件夾,把創(chuàng)建好的VB工程文件保存到此文件夾中,并把之前做好的Quest3D場(chǎng)景文件(即cgr格式文件和q3d格式文件)也放置到此文件夾中。

  4.3代碼編輯

  接下來我們需要編寫代碼,使得“Quest3DCtrl4”控件能夠調(diào)用已經(jīng)做好的Quest3D場(chǎng)景文件并為“確定”按鈕添加一個(gè)事件過程,這樣Quest3D場(chǎng)景文件就可以通過“Quest3DCtrl4”控件在VB中顯示出來并且場(chǎng)景文件中文本物體的X軸坐標(biāo)值與文本框控件中所輸入的數(shù)值相關(guān)聯(lián)起來。

  雙擊窗體Form1,彈出其代碼窗口,在Form_Load()函數(shù)內(nèi)輸入代碼:

  此代碼的意義為使得“Quest3DCtrl4”控件能夠獲取Quest3D場(chǎng)景文件的地址并進(jìn)行調(diào)用。

  雙擊“確定”按鈕,彈出命令按鈕的代碼窗口,對(duì)命令按鈕添加事件響應(yīng)的程序代碼為:

  上述代碼中Quest3D是所創(chuàng)建的Quest3DCtrl4控件的名稱;SetChannelValue是為Quest3DCtrl4控件所添加的一個(gè)方法,通過這個(gè)方法可以對(duì)Quest3D程序里面的特定通道改變數(shù)值大小;“test”是之前所創(chuàng)建的Quest3D場(chǎng)景程序的通道組名稱;“Xvalue”即是表示三維文本物體X軸坐標(biāo)值的通道的名稱,也就是Quest3D項(xiàng)目文件中需要被操作通道的名稱;Val()是VB中的函數(shù),作用是把輸入到Text文本框控件內(nèi)的字符串類型變量轉(zhuǎn)換為數(shù)值類型變量;Text.Text中前一個(gè)“Text”是我們創(chuàng)建的文本框控件的名稱,后面一個(gè)“Text”表示的是文本框控件的屬性,使用Text.Text可以來獲取文本框控件內(nèi)所輸入的字符串信息。

  至此,這個(gè)簡單的場(chǎng)景程序就制作好了。下面運(yùn)行程序,就會(huì)出現(xiàn)如圖3所示的效果。在文本框內(nèi)輸入一個(gè)數(shù)值,點(diǎn)擊確定,就會(huì)發(fā)現(xiàn)三維文本物體的位置在X軸上做出了相應(yīng)的改變。

  當(dāng)然,物體位置的改變只限于我們所設(shè)置的X軸方向上,要使物體在其他兩個(gè)軸向上做出改變,只需在Quest3D中添加兩個(gè)ActiveXData通道,并把表示物體Y軸和Z軸坐標(biāo)值的通道創(chuàng)建快捷方式,連接在上述的兩個(gè)ActiveXData通道中,最后在VB編程中添加相應(yīng)的控件和事件過程即可。

  參考文獻(xiàn)

  [1]路朝龍.Quest3D從入門到精通[M].北京:中國鐵道出版社,2012.

  [2]尼春雨,舒雄.VisualBasic基礎(chǔ)與案例開發(fā)詳解[M].北京:清華大學(xué)出版社,2009.

  [3]楊忠寶,康順哲.VB語言程序設(shè)計(jì)教程[M].北京:人民郵電出版社,2009.


轉(zhuǎn)載請(qǐng)注明來自:http://www.jinnzone.com/tongxinlw/28942.html