国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

原子滑車零部件參數(shù)化設(shè)計(jì)*

2013-06-28 09:59鐘建琳王紅軍
機(jī)械研究與應(yīng)用 2013年3期
關(guān)鍵詞:輪軸滑車對(duì)話框

鐘建琳,常 城,王紅軍

(北京信息科技大學(xué),北京 100192)

1 前言

原子滑車(又名過山車)作為游樂設(shè)備在我國已有很多游樂場(chǎng)所使用,盡管原子滑車在國內(nèi)的研究、制造不過十余年,但目前國內(nèi)已有一些單位如北京實(shí)寶來游樂設(shè)備制造有限公司、華北礦山冶金機(jī)械廠和上海煤炭機(jī)械研究所等具有生產(chǎn)原子滑車的能力。為縮短設(shè)計(jì)開發(fā)周期,提高設(shè)計(jì)效率,利用Pro/E軟件開發(fā)原子滑車相關(guān)零部件庫,這樣在設(shè)計(jì)某個(gè)零件或部件時(shí),只需要輸入相關(guān)的參數(shù),系統(tǒng)能夠自動(dòng)生成該零件或部件的三維模型,因此,可以減少重復(fù)勞動(dòng),提高設(shè)計(jì)效率。參數(shù)化是建庫的基礎(chǔ),美國PTC公司開發(fā)的CAD/CAM軟件Pro/E功能強(qiáng)大,在國內(nèi)外機(jī)械、汽車、家電、航空航天等領(lǐng)域得到廣泛應(yīng)用。該軟件近年來在我國的各企業(yè)正逐步地得到廣泛應(yīng)用,以尺寸驅(qū)動(dòng)、基于特征、單一全關(guān)聯(lián)的數(shù)據(jù)庫等優(yōu)點(diǎn)深受廣大設(shè)計(jì)人員的推崇和喜愛。

原子滑車設(shè)備主要由主體滑行結(jié)構(gòu)、提升機(jī)、滑車、站臺(tái)、制動(dòng)系統(tǒng)、氣動(dòng)系統(tǒng)、電控系統(tǒng)、設(shè)備基礎(chǔ)組成[1]。原子滑車一般共有6節(jié)車廂,可坐24人,車輛間由連接軸聯(lián)接,車廂內(nèi)為每位乘客設(shè)有壓肩安全杠和二次安全帶,另外兩車中間還裝有2條φ12.5的鋼絲繩做安全保護(hù)?;囋O(shè)有承重輪、側(cè)導(dǎo)向輪、底輪和防倒裝置。從站臺(tái)上發(fā)車,經(jīng)過提升機(jī),使滑車提升到一定高度,在勢(shì)能作用下,依靠慣性沿軌道滑行。滑車運(yùn)行過程中產(chǎn)生的加速度、離心力及失重感使游客在驚險(xiǎn)刺激的感覺中體現(xiàn)極限的樂趣。游樂設(shè)施原子滑車的設(shè)計(jì)屬于單件,為了提高設(shè)計(jì)和制造效率,迫切需要產(chǎn)品實(shí)現(xiàn)參數(shù)化設(shè)計(jì)。下面以滑車中的輪軸為例加以介紹。

根據(jù)原子滑車所要實(shí)現(xiàn)的運(yùn)動(dòng)情況將輪軸設(shè)計(jì)為三種,分別是承重輪軸、側(cè)導(dǎo)輪軸和側(cè)掛輪軸。承重輪軸是起承重的作用,并帶動(dòng)車體在軌道上行駛,一般由大滑輪、支撐大滑輪的軸、滑輪與軸之間連接所用軸承、防塵圈、端蓋和罩等組成。側(cè)導(dǎo)輪軸是導(dǎo)向和承受轉(zhuǎn)彎時(shí)的離心力作用,側(cè)導(dǎo)輪軸一般包括大滑輪、支撐大滑輪的軸、小滑輪、支撐小滑輪的軸、軸承、防塵圈、端蓋和罩等。側(cè)掛輪軸是一個(gè)類似安全輪的作用,在小車翻越圓環(huán)時(shí)由于離心力的大小不同,軌道對(duì)小車施加的支持力的方向就不同,當(dāng)離心力比小車重力小時(shí),小車會(huì)在重力作用下下落,這時(shí)側(cè)掛輪軸就起作用了。側(cè)掛輪軸的零部件與側(cè)導(dǎo)輪軸類似。

2 總體方案規(guī)劃

Pro/E下的二次開發(fā)有多種不同的方法:JLink、Pro/Toolkit、Pro/Program、族表、用戶自定義特征等等。其中,J-Link是PTC公司提供的二次開發(fā)工具,它是基于Java語言的,用戶可以通過Java編程從而實(shí)現(xiàn)在Pro/E中添加所需要的功能。Pro/Toolkit是PTC公司提供的基于Pro/E的開發(fā)工具包,支持在Windows操作系統(tǒng)中使用C和C++語言設(shè)計(jì)程序。它為用戶或第三方軟件商提供了龐大的C語言函數(shù)庫,用戶借助該庫可以通過C或C++程序代碼擴(kuò)充Pro/E系統(tǒng)的功能,開發(fā)用戶自己的應(yīng)用程序模塊,可訪問Pro/E數(shù)據(jù)、實(shí)現(xiàn)與Pro/E的無縫集成,并滿足用戶的特殊要求。Pro/Program是Pro/E中由類似Basic的語言構(gòu)成的,Pro/E中的每個(gè)模型都有相應(yīng)的Pro/Program程序,用戶可修改該程序,系統(tǒng)運(yùn)行修改過的程序后,可以通過人機(jī)交互來控制系統(tǒng)的參數(shù)、特征尺寸及是否顯示特征等。族表在Pro/E中是通過電子表格來管理的,是由表格驅(qū)動(dòng)的,先將通用零件建立為父零件,然后在父零件的基礎(chǔ)上控制各參數(shù)來生成派生零件。由此可見族表主要用于管理具有相同或相近結(jié)構(gòu)的零件,特別是管理標(biāo)準(zhǔn)件。用戶自定義特征可用來建立特定產(chǎn)品中的特定結(jié)構(gòu),用戶可以根據(jù)產(chǎn)品特征來快速生成幾何模型。

原子滑車相關(guān)零部件的參數(shù)化設(shè)計(jì)綜合利用了Pro/E中的族表、Pro/Program功能和用戶自定義特征來建立零部件庫,然后通過數(shù)據(jù)庫管理相關(guān)數(shù)據(jù),采用VC++語言運(yùn)用Pro/Toolkit工具包進(jìn)行二次開發(fā),采用動(dòng)態(tài)鏈接庫(DLL)方式來實(shí)現(xiàn)Pro/E系統(tǒng)、Pro/Toolkit應(yīng)用程序與VC++應(yīng)用程序三者之間的通信。這種方法程序運(yùn)行速度快并且兼容性好。

3 原子滑車參數(shù)化設(shè)計(jì)關(guān)鍵技術(shù)

原子滑車相關(guān)零部件的參數(shù)化設(shè)計(jì)過程可分為三個(gè)主要步驟:運(yùn)用Pro/E建立原子滑車零部件的基本模型,系統(tǒng)整體界面設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)。

3.1 建立原子滑車相關(guān)零部件的基本模型

原子滑車中的相關(guān)零部件可以分為標(biāo)準(zhǔn)件和非標(biāo)準(zhǔn)件。標(biāo)準(zhǔn)件是指采用國家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)的零件。非標(biāo)準(zhǔn)件主要有底盤、車體、輪架、連接器、承重輪、底輪、側(cè)導(dǎo)向輪、壓肩安全杠和防倒裝置等。對(duì)于標(biāo)準(zhǔn)件及重復(fù)性高、相似性大的零部件,可以使用原始樣本零件(Generic part)及族表來簡化建模工作。

在建立原子滑車相關(guān)零部件三維模型的時(shí)候,可以利用樣本零件和族表來代表同一類型或相似類型的零件。需要該零件的時(shí)候只要調(diào)出族表內(nèi)其名稱,便可以自動(dòng)生成一個(gè)按照族表所示尺寸比例的零件。Pro/E中的族表是相似零件、組件或特征的集合,集合中的元素在大小或詳細(xì)特征等一兩個(gè)方面略有不同。使用族表可以從零件文件中生成各種相似的零件,而沒必要去重新建模,節(jié)省時(shí)間又節(jié)省保存文件所需的硬盤空間[2]。

族表本質(zhì)上是電子數(shù)據(jù)表,由行和列組成??梢詣?chuàng)建和修改族表。族表包含:基本對(duì)象,族的所有成員都建立在它的基礎(chǔ)上;尺寸和參數(shù),特征數(shù),自定義特征名,組件成員名都被選作是表驅(qū)動(dòng)的(以后稱之為項(xiàng)目);由表產(chǎn)生的所有族成員(即實(shí)例)的名稱和每一個(gè)表驅(qū)動(dòng)項(xiàng)目的相應(yīng)值。

行包含實(shí)例及其相應(yīng)的值;列用于項(xiàng)目。列標(biāo)題包括實(shí)例名和表所選擇的所有尺寸、參數(shù)、特征名、成員和組的名稱。尺寸用名稱列出,相關(guān)的符號(hào)名(如果有的話)列在它下面的線上。參數(shù)也用其名稱列出。特征按特征編號(hào)列出,其下面的行顯示相關(guān)的特征類型或特征名稱。

原始樣本模型位于表的第一行。原始樣本模型只能通過修改真實(shí)零件,隱藏或恢復(fù)特征來改變;不能通過編輯族表來改變?cè)紭颖灸P汀?/p>

對(duì)于每一個(gè)實(shí)例,可以定義是否在實(shí)例中應(yīng)用特征、參數(shù)、或組件名。其方法是通過指出它是否出現(xiàn)在實(shí)例中(Y或N),或提供一個(gè)數(shù)值(如果是尺寸的話)來實(shí)現(xiàn)。所有尺寸單元必須有一個(gè)相對(duì)應(yīng)的值,可以是一個(gè)數(shù)或星號(hào)(*),星號(hào)(*)則表示使用原始樣本模型的值。對(duì)于每一個(gè)實(shí)例來說,沒有包含在族表中的所有原始樣本模型特性都自動(dòng)生成。

3.2 菜單的設(shè)計(jì)

運(yùn)用Pro/Toolkit二次開發(fā)技術(shù)在Pro/E中添加菜單有兩種不同的方法。方法之一是向Pro/E的菜單欄中添加菜單條;另一方法則是向菜單管理器中添加模式菜單[3]。此處采取第一種方法向Pro/E的菜單欄中添加菜單條。

創(chuàng)建菜單條的方法是直接調(diào)用ProMenubarAdd()函數(shù)向Pro/E添加所需的菜單,同時(shí)建立新建菜單的信息文件。信息文件屬于ASCII碼文件,其中包含有菜單項(xiàng)以及菜單項(xiàng)提示等信息,可以用字處理軟件或VC++集成開發(fā)環(huán)境來建立,要求以純文本格式保存。該信息文件每四行為一組,第一行是Pro/E系統(tǒng)可識(shí)別的關(guān)鍵字,關(guān)鍵字必須與使用該信息文件函數(shù)中的相關(guān)字符串相同;第二行是在菜單項(xiàng)或菜單項(xiàng)提示上顯示的文字;第三行是另一語言的譯文,可以空著;第四行是當(dāng)前的Pro/E版本,也可以空著不填。例如:在user_initialize()初始化函數(shù)中添加以下代碼:

ProError status=PRO_TK_NO_ERROR;

ProFileName MsgFile;

ProStringToWstring(MsgFile,"TKMessage.txt"

);

uiCmdCmdId LocPinPushButton_cmd_id,LocKey-PushButton_cmd_id,

VBlockPushButton_cmd_id,HandLocPushButton_cmd_id;

ProMenubarMenuAdd("StdPartLibMenuBar","MainMenu","Utilities",PRO_B_TRUE,MsgFile);

之后,在信息文件中加入以下菜單項(xiàng)信息:

MainMenu

StdPartLib

零部件庫

#

便在Pro/E菜單欄“工具”菜單右側(cè)添加了一個(gè)菜單項(xiàng)——“零部件庫”。同理可以用ProMenubarmenuMenuAdd()函數(shù)向“零部件庫”菜單項(xiàng)下面添加下拉式子菜單。之后可以調(diào)用Pro/Toolkit下的ProMenubarmenuPushbuttonAdd()函數(shù)來設(shè)置菜單的相應(yīng)動(dòng)作。然后制作Makefile工程文件,該文件包含了生成的可執(zhí)行文件或動(dòng)態(tài)鏈接庫的名稱,如果采用多進(jìn)程工作模式,則需要將源文件編譯生成可執(zhí)行文件,如果采用動(dòng)態(tài)鏈接庫工作模式,則要將源文件生成動(dòng)態(tài)鏈接庫。此處采用動(dòng)態(tài)鏈接庫模式,在VC++環(huán)境下編譯調(diào)試該動(dòng)態(tài)鏈接庫后即生成Pro/Toolkit應(yīng)用程序。該應(yīng)用程序在Pro/E中運(yùn)行前要進(jìn)行注冊(cè)。注冊(cè)文件用來向Pro/E系統(tǒng)傳遞應(yīng)用程序的信息,格式如下:

name<應(yīng)用程序名稱>

startup<工作模式Spawn或dll>

exec_file<生成的可執(zhí)行文件或動(dòng)態(tài)鏈接庫的位置>

text_dir<菜單文件和窗口信息文件位置>

revision<所使用的Pro/E版本號(hào)>

end<結(jié)束>

應(yīng)用程序可以手工注冊(cè)也可以自動(dòng)注冊(cè)。手工注冊(cè)要在啟動(dòng)Pro/E之后在“工具”菜單下選擇“輔助應(yīng)用程序”子菜單,之后在彈出的對(duì)話框中單擊“注冊(cè)”按鈕注冊(cè)即可。自動(dòng)注冊(cè)要將該注冊(cè)文件以protk.dat保存并放在Pro/E的啟動(dòng)目錄下,運(yùn)行Pro/E后,注冊(cè)文件中的Pro/Toolkit應(yīng)用程序就可以自動(dòng)注冊(cè)。注冊(cè)成功之后單擊“啟動(dòng)”按鈕便可以運(yùn)行用戶的應(yīng)用程序。

3.3 對(duì)話框的設(shè)計(jì)

對(duì)話框是應(yīng)用軟件不可缺少的用戶界面之一。Pro/E中有兩種完全不同的對(duì)話框設(shè)計(jì)方法:一種方法是利用Pro/Toolkit提供的用戶接口對(duì)話框技術(shù),可以設(shè)計(jì)出與Pro/E系統(tǒng)具有相同風(fēng)格的對(duì)話框。該方法可以充分利用Pro/Toolkit提供的用戶對(duì)話框操作函數(shù)和Pro/E資源設(shè)計(jì)出與Pro/E界面風(fēng)格一致的對(duì)話框。但是該技術(shù)是用文本文件的形式來定義對(duì)話框的,不能直觀地反映界面的布局,設(shè)計(jì)、修改和調(diào)試都非常困難。另一種方法是在VC++環(huán)境中采用微軟基礎(chǔ)類庫(MFC:Microsoft Foundation Class)技術(shù)來設(shè)計(jì)對(duì)話框,該方法“所見即所得”,非常直觀。VC++中使用MFC可視化技術(shù)創(chuàng)建對(duì)話框過程如下:先使用應(yīng)用程序向?qū)ppWizard創(chuàng)建Pro/Toolkit應(yīng)用程序基本框架,之后在AppWizard創(chuàng)建的并與工程文件同名的CPP文件中添加user_initializ()和user_terminate()函數(shù),最后在VC集成開發(fā)環(huán)境選擇“insert”菜單中“Resourse”菜單項(xiàng)的“insertResourse”對(duì)話框來創(chuàng)建對(duì)話框。圖1所示為利用MFC技術(shù)設(shè)計(jì)的對(duì)話框。

圖1 用MFC技術(shù)設(shè)計(jì)的對(duì)話框

3.4 數(shù)據(jù)庫訪問技術(shù)

在建立原子滑車常用零部件庫的過程中,各個(gè)零部件的參數(shù)值各不一樣,需要有一個(gè)統(tǒng)一管理的模塊對(duì)參數(shù)值進(jìn)行管理。因此,要為每一個(gè)零部件建立一張參數(shù)表,然后在數(shù)據(jù)庫中集中管理。該數(shù)據(jù)庫較為簡單,可以采用Microsoft Access。訪問數(shù)據(jù)庫的方式如下:

ODBC(Open Database Connectivity),開放數(shù)據(jù)庫互連。ODBC是上個(gè)世紀(jì)八十年代末九十年代初出現(xiàn)的技術(shù),它為編寫關(guān)系數(shù)據(jù)庫的客戶軟件提供了一種統(tǒng)一的接口。ODBC提供一個(gè)單一的API,可用于處理不同數(shù)據(jù)庫的客戶應(yīng)用程序。使用ODBC API的應(yīng)用程序可以與任何具有ODBC驅(qū)動(dòng)程序的關(guān)系數(shù)據(jù)庫進(jìn)行通信。

DAO(Data Access Object),數(shù)據(jù)訪問對(duì)象。DAO就是一組Microsoft Access/Jet數(shù)據(jù)庫引擎的COM自動(dòng)化接口。DAO不像ODBC那樣是面向C/C++程序員的,它是微軟提供給Visual Basic開發(fā)人員的一種簡單的數(shù)據(jù)訪問方法,用于操縱Access數(shù)據(jù)庫。

RDO(Remote Data Object),遠(yuǎn)程數(shù)據(jù)對(duì)象。由于RDO直接調(diào)用ODBC API,而不是像DAO那樣通過Jet引擎,所以可以為使用關(guān)系數(shù)據(jù)庫的應(yīng)用程序提供更好的性能。

OLE DB,對(duì)象鏈接與嵌入數(shù)據(jù)庫。OLE DB在兩個(gè)方面對(duì)ODBC進(jìn)行了擴(kuò)展:①OLE DB提供了一個(gè)數(shù)據(jù)庫編程的COM接口;②OLE DB提供了一個(gè)可用于關(guān)系型和非關(guān)系型數(shù)據(jù)源的接口。OLE DB的兩個(gè)基本結(jié)構(gòu)是OLE DB提供程序(Provider)和OLE DB用戶程序(Consumer)。

ADO(ActiveX Data Object),ActiveX數(shù)據(jù)對(duì)象,它建立在OLE DB之上。ADO是一個(gè)OLE DB用戶程序。使用ADO的應(yīng)用程序都要間接地使用OLE DB。ADO簡化了OLE DB,提供了對(duì)自動(dòng)化的支持,使得像VBScript這樣的腳本語言也能夠使用ADO訪問數(shù)據(jù)庫。

由于ADO具有面向?qū)ο蟮奶攸c(diǎn),利用ADO技術(shù)來訪問訪問數(shù)據(jù)庫,其實(shí)就是利用ADO的對(duì)象來操縱數(shù)據(jù)庫,此處用到的ADO的三個(gè)核心對(duì)象。其一是Connection對(duì)象,它表示了到數(shù)據(jù)庫的連接,管理應(yīng)用程序和數(shù)據(jù)庫之間的通信。Recordset和Command對(duì)象都有一個(gè)ActiveConnection屬性,該屬性用來引用Connection對(duì)象。另一個(gè)是Command對(duì)象,它被用來處理重復(fù)執(zhí)行的查詢,或處理需要檢查在存儲(chǔ)過程調(diào)用中的輸出或返回參數(shù)的值的查詢。第三個(gè)就是Recordset對(duì)象,它被用來獲取數(shù)據(jù)。Recordset對(duì)象存放查詢的結(jié)果,這些結(jié)果由數(shù)據(jù)的行(稱為記錄)和列(稱為字段)組成。每一列都存放在Recordset的Fields集合中的一個(gè)Field對(duì)象中。如此便實(shí)現(xiàn)了用戶應(yīng)用程序與數(shù)據(jù)庫之間的數(shù)據(jù)通信,即VC++與Microsoft Access數(shù)據(jù)庫之間的數(shù)據(jù)通信。

4 結(jié)論

原子滑車的結(jié)構(gòu)相當(dāng)復(fù)雜,設(shè)計(jì)過程中如果要制造實(shí)物樣機(jī)需要好幾個(gè)月的時(shí)間,在Pro/E下通過二次開發(fā)技術(shù),設(shè)計(jì)人員可以直接選擇所需的零部件(如圖2所示為自動(dòng)生成的側(cè)導(dǎo)輪軸),能夠快速實(shí)現(xiàn)原子滑車相關(guān)零部件的設(shè)計(jì)更新以及裝配干涉檢查等,從而減少設(shè)計(jì)人員的工作量,縮短設(shè)計(jì)周期,降低企業(yè)開發(fā)成本。該方法同樣適用于其他游樂設(shè)施的快速數(shù)字化設(shè)計(jì)。

圖2 自動(dòng)生成的部件圖

[1] Shih Zen-Chung.Proceedings-Virtual Reality Annual International Symposium[J].Virtual roller coaster,2000(3):225-232.

[2] 鐘建琳.Pro/Engineer典型機(jī)械設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2002.

[3] 李世國.Pro/TOOLKIT程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003.

猜你喜歡
輪軸滑車對(duì)話框
超聲用于腱鞘滑車系統(tǒng)研究進(jìn)展
滑車大賽
正?;謴?fù)虛擬機(jī)
煤礦運(yùn)輸設(shè)備鏈輪軸組成套檢修設(shè)備的設(shè)計(jì)及應(yīng)用
Bootlace Worms’Secret etc.
防拉傷遛狗繩
What Is Beauty?
兒童版“速度與激情” 盡在PB1兒童滑車嘉年華
50 0kV王店-嘉善增容改造大轉(zhuǎn)角塔放線施工
淺談VB的通用對(duì)話框《CommonDialog》控件的使用