基于VC++金屬切削機(jī)床主傳動(dòng)系統(tǒng)優(yōu)化設(shè)計(jì)(有VC++工程)
基于VC++金屬切削機(jī)床主傳動(dòng)系統(tǒng)優(yōu)化設(shè)計(jì)(有VC++工程),基于,vc,金屬,切削,機(jī)床,傳動(dòng)系統(tǒng),優(yōu)化,設(shè)計(jì),工程
支承和定位原理
目的
完成本單元的學(xué)習(xí),學(xué)生應(yīng)具有如下能力:
●識(shí)別應(yīng)用于夾具的定位和支承的類型
●說明定位和支承的用法
●分析簡單零件以及為其選擇最適宜的定位,支承設(shè)備
基準(zhǔn)
為確保機(jī)加工中的精度,工件必須根據(jù)夾具準(zhǔn)確定位,這稱為基準(zhǔn)。要達(dá)到圖紙要求的精度,夾具設(shè)計(jì)人員必須確保工件的準(zhǔn)確定位和嚴(yán)格支承。定位元件除準(zhǔn)確定位工件外,還應(yīng)確保夾具易于裝載和拆卸。同時(shí)定位元件還應(yīng)使夾具安全可靠。如果安裝或拆卸工件需很長時(shí)間,或者不能準(zhǔn)確裝入夾具,那么這樣的夾具就毫無意義。
設(shè)計(jì)人員必須為工件提供嚴(yán)格的支承。如果定位元件設(shè)計(jì)合適,它們既是支承元件又是定位元件。
定位的基本規(guī)則
限制工件的運(yùn)動(dòng)和使其準(zhǔn)確定位需要技巧和規(guī)劃,定位元件的安裝絕非想當(dāng)然,它們必須規(guī)劃到夾具設(shè)計(jì)中。在夾具的設(shè)計(jì)過程中,設(shè)計(jì)人員必須記住以下幾點(diǎn):
定位元件的布置
可能的話,定位元件應(yīng)盡可能以工件的以加工表面定位,這確保了工件在夾具中的確切位置和夾具的可再現(xiàn)性。再現(xiàn)性是夾具的一個(gè)特征,它總是允許不同工件在其公差范圍內(nèi)進(jìn)行機(jī)加工。
定位元件應(yīng)布置得盡可能遠(yuǎn),這既可減少定位元件,有可確保定位表面的完全接觸。切削或外界物質(zhì)可能影響到的地方,布置定位元件時(shí)應(yīng)盡量避免這種干擾。如果不行的話,如圖3-1,減少定位面的接觸。
公差
設(shè)計(jì)夾具時(shí),設(shè)計(jì)人員應(yīng)記住工件的公差,總體規(guī)則是夾具的公差應(yīng)當(dāng)介于工件公差的20%~50%之間。例如,如果某工件上一個(gè)孔必須定位在±0.1mm內(nèi),那么夾具上孔的公差必須介于±0.02mm~±0.05mm之間,見圖3-2,這對(duì)保證工件圖上所需精度是必需的。特別說明的是,當(dāng)夾具公差靠近20%時(shí),僅僅增加了夾具的制造成本,而對(duì)工件的加工質(zhì)量起不了多大作用。同理,公差大于50%便不能保證所需精度。工件加工的準(zhǔn)確性是決定設(shè)計(jì)的單一因素。
定位元件應(yīng)當(dāng)適于零件極限尺寸中的任意尺寸,P24,圖3-3,如果以零件的最小尺寸做,其直徑為29.8mm。如果以其最大極限尺寸做,其直徑為30.2mm。介于這兩個(gè)尺寸間任何零件都是正確的。如果夾具以設(shè)計(jì)尺寸30mm做時(shí),介于30mm~30.2mm間的零件雖然正確卻裝不進(jìn)夾具。為了防止這種情況發(fā)生,夾具必須以零件的最大或最小極限尺寸制造。這種極限尺寸取決于工件如何定位。
自鎖裝置
自鎖裝置是夾具設(shè)計(jì)人員用于確保零件以正確位置裝入夾具的一種方法。圖3-4A中的工件在尖梢處加工,因此設(shè)計(jì)人員用一銷釘防止工件的非法安裝。這一銷釘在夾具中起自鎖作用。圖3-4B中工件參照凸緣上一小孔鉆孔,只要在其中的一個(gè)孔中置一銷釘,便能確保工件準(zhǔn)確裝入夾具。
其他的自鎖裝置也是如此的簡單,如果自鎖裝置較復(fù)雜,那么會(huì)使其簡單操作復(fù)雜化。
冗余定位(過定位)元件
冗余定位元件的使用總是應(yīng)當(dāng)避免的。圖3-5中的定位元件就是冗余定位元件的例子。過定位不僅成本更高,而且易產(chǎn)生誤差。
例如:圖3-5A中凸緣同時(shí)由凸緣底面和輪轂底定位。因?yàn)樗鼈兪瞧叫斜砻妫云渲幸粋€(gè)是必需的,另一個(gè)應(yīng)當(dāng)消除。如果基準(zhǔn)面是凸緣底面,如圖3-5B,就不需要輪轂底定位元件。同理,如果輪轂底面為定位基準(zhǔn)面,如圖3-5C,那么凸緣定位就不必了。為了糾正這一矛盾,設(shè)計(jì)人員必須首先要確定哪一個(gè)表面是基準(zhǔn),只有那樣定位元件才能確定。
定位的不準(zhǔn)確產(chǎn)生于定位位置的不同和夾具于工件間的定位誤差。圖3-6從零件的外邊緣和孔定位產(chǎn)生了如下問題:首先,夾具中的定位銷釘被固定,不能改變其位置以適應(yīng)每一個(gè)零件。其次,零件上孔的定位在其極限范圍中是可變動(dòng)的。當(dāng)一工件裝入夾具時(shí),這一夾具以零件的極限尺寸存在,工件可能與夾具不配合。為了減少這種可能性的發(fā)生,孔定位元件可以做得足夠小以致去配合這種變化。如果這樣做,孔定位元件的影響力最小化,這樣的定位元件不實(shí)用。為了避免這一問題,設(shè)計(jì)人員必須指定工件定位依據(jù)的是孔還是外緣,而不能是兩者兼而有之。
運(yùn)動(dòng)軸
沒被限制的物體可以在12個(gè)方向中的任何方向自由運(yùn)動(dòng)。圖3-7中的工件,給其標(biāo)上空間坐標(biāo),其每種運(yùn)動(dòng)都有可能發(fā)生。它可以繞軸轉(zhuǎn)動(dòng),也可以沿軸向移動(dòng)。為了便于分析,將軸分別標(biāo)以“X-X”,“Y-Y”和“Z-Z”。運(yùn)動(dòng)從1~12加以標(biāo)記。
為了準(zhǔn)確定位夾具中的工件,這些運(yùn)動(dòng)必須限制,這有定位元件和加緊元件完成。
圖3-8中零件的特征說明了限制自由度的原理。將工件置于3支承釘?shù)臋C(jī)座上,5個(gè)方位的運(yùn)動(dòng)便限制了(#2,#5,#1,#4,#12),見圖3-9。支承釘定位元件通過減少接觸面積和使零件高于切屑,減少了誤差的發(fā)生。平面定位元件通過安裝加以運(yùn)用而不是直接加工成形。因?yàn)榘惭b定位元件時(shí)耗時(shí)少,且可替換,所以平面元件成本較低,它定位相當(dāng)于3支承釘定位。
為了限制繞Z-Z軸轉(zhuǎn)動(dòng)以及平動(dòng)#8,見圖3-10,另外多加兩個(gè)支承釘定位,為了限制平動(dòng)#7,見3-11另用一支承釘。剩下的方位#9,#10,11#由夾具限制。這種3-2-1定位即6點(diǎn)定位原理廣泛運(yùn)用于矩形工件。
定位工件
工件可能呈各種形狀和尺寸。然而不管其形狀和尺寸如何,準(zhǔn)確定位每一個(gè)工件。要達(dá)到這一目的,設(shè)計(jì)人員必須了解各種類型的定位元件,以最少的定位元件定位工件。
平面定位
常見的平面定位有三種:固定支承,可調(diào)支承和浮動(dòng)支承。這些定位元件垂直于工件,支承工件,在機(jī)加工過程中,阻止工件變形。
固定支承運(yùn)用起來最簡單。它們?cè)趭A具體中要么機(jī)加工,要么通過安裝完成,圖3-12。這類支承通常作為一個(gè)定位點(diǎn),運(yùn)用于以加工表面。
可調(diào)支承運(yùn)用于粗糙表面,比如毛胚表面??烧{(diào)支承分為多種類型,常見類型有螺紋式圖3-13A,彈簧式圖3-13B,助推式圖3-13C。螺紋式最簡單、最經(jīng)濟(jì),同時(shí)相對(duì)其它類型有更寬的調(diào)節(jié)范圍??烧{(diào)支承通常配合一個(gè)或多個(gè)固定支承元件使工件保持水平。
浮動(dòng)支承也是可調(diào)支承中的一種,圖3-14,他們通過相互連接的兩接點(diǎn)均衡支承。當(dāng)其中一個(gè)支撐點(diǎn)被壓,另一支承點(diǎn)上升并且始終與工件相接觸,這一特征在粗糙的毛胚表面完全有必要。
當(dāng)討論運(yùn)用于工件的設(shè)配時(shí),定位元件和支承元件的術(shù)語通常是相互混淆的,定位設(shè)配通常是指工件側(cè)面,稱為定位件。
選擇支承前,夾具設(shè)計(jì)人員必須考慮到工件的形狀和表面,以及將要用到的夾緊設(shè)備。選擇的支承元件強(qiáng)度必須足夠,以致能抵抗夾緊力和切削力。夾緊元件產(chǎn)生的夾緊力必須落在支承件上,避免工件扭曲或彎曲變形。
內(nèi)孔定位
孔定位是工件準(zhǔn)確定位的一種有效方法。一個(gè)銷釘限制9個(gè)方位的運(yùn)動(dòng),兩個(gè)銷釘限制了11個(gè)方位的運(yùn)動(dòng)。可能的話,用孔定位作為主要的定位方式倒是合理的。
孔定位有多種類型,圖3-15列出了幾種大孔定位方式。當(dāng)大孔定位工件時(shí),用螺釘和銷釘緊固內(nèi)孔。一般情況下,兩銷釘、螺釘用于夾持工件。當(dāng)外力較大時(shí),最好用直徑較大的銷釘和螺釘而不是增加它們的數(shù)量。
軸型定位元件比起螺紋元件的準(zhǔn)確性,他能承擔(dān)一定的壓力,螺紋式元件在夾具體中不允許被拔出時(shí)運(yùn)用較多。
釘型定位元件運(yùn)用于小孔和夾具的元件對(duì)中補(bǔ)償,圖3-16。當(dāng)銷釘運(yùn)用于對(duì)中時(shí),也應(yīng)該用到襯套,以致于當(dāng)它們磨損后可替換。用于工件定位的銷釘末端呈錐形或圓形,圖3-17,這種形狀易于工件的安裝和拆卸。
銷釘用于定位還是對(duì)中,其主要的區(qū)別在于承載表面的量。對(duì)中銷釘通常有很長一段接觸面積,定位銷釘與工件的接觸長度通常為工件厚度的1/8~1/2。多于這將會(huì)使安裝和拆卸操作更加困難。
用于夾具的銷釘還有一種即削邊銷。這種銷通常配合一圓銷來減少工件安裝和拆卸的時(shí)間,此時(shí)定位要比兩圓銷定位容易的多。定位時(shí)圓柱銷用于固定工件,削邊銷限制工件繞圓柱銷的轉(zhuǎn)動(dòng),圖3-18。注意到工件繞圓柱銷的轉(zhuǎn)動(dòng),由于裝了削邊銷,從而受到了限制。
為了定位的有效性,必須正確布置削邊銷,以限制自由度。圖3-19指明了兩削邊銷是如何定位工件的。注意其中一個(gè)是如何限制另一個(gè)沒有限制的運(yùn)動(dòng)。
夾具設(shè)計(jì)人員在為工件設(shè)計(jì)定位元件時(shí),必須認(rèn)真考慮它們。因?yàn)槎ㄎ辉O(shè)計(jì)所依據(jù)的精確性和速度兩者都很重要。如圖3-20,一些定位元件比起其他的元件,通常能減少摩擦和夾緊力。
外輪廓定位
在早期的機(jī)加工過程中,外輪廓定位是最常見的工件定位方式。外輪廓定位與工件的外輪廓有關(guān),比如軸。下面是最常見的外輪廓定位方法的例子。
座定位元件通過將工件包在一個(gè)與其有相同形狀的凹座來定位工件。座是外部輪廓定位中定位最精確的一種定位方法。因?yàn)樽仨氁罁?jù)工件的形狀,所以復(fù)雜形狀工件所需要的制造成本非常昂貴。最常見的座是用于圓柱體外輪廓的環(huán)座,圖3-21。完全包含工件外輪廓的全座,圖3-22。局部座僅僅包含工件外輪廓的一部分,它是全座的一部分,圖3-23。
V型定位元件主要用于圓形工件,它們能定位末端為圓弧形的工件,而且還能定位圓盤形工件,圖3-24。V形塊常常用于定位軸或帶有圓柱部分的工件,圖3-25相對(duì)其他定位元件,V形定位件的一個(gè)優(yōu)點(diǎn)便是其對(duì)中性特征。使用V形塊時(shí),確保定位件允許定位不同尺寸大小的工件,圖3-26。
固定檔銷用于不能將工件放入座夾具或V形夾具的情況下,如圖3-27。固定檔銷可直接機(jī)加工成夾具或通過安裝。
由于機(jī)加工定位元件耗時(shí),所以安裝定位元件使用起來顯得更經(jīng)濟(jì)。同時(shí)我們知道當(dāng)定位元件磨損時(shí),安裝定位元件可以替換,而不必去制造整個(gè)夾具體。
固定檔銷最常見的類型為定位銷,定位銷也可以配合其它的定位設(shè)備,如圖3-29中的定位塊。
為了降低成本,開口銷可以代替定位銷。如圖3-30,開口銷也能像定位銷一樣定位。它們不需要絞孔,因此精確度不高。若誤差允許,為了降低時(shí)間和成本,也可以用這些定位銷的。
調(diào)整檔銷也可以用于將成本降到最低,圖3-31,因?yàn)檫@類檔塊是可調(diào)整的,因此它們?cè)趭A具體上的位置不必嚴(yán)格加以限制。
定位工件的一種常見方法是同時(shí)應(yīng)用固定檔銷和調(diào)整檔銷。圖3-32中的夾具說明了當(dāng)可調(diào)定位元件定位工件雙邊時(shí),固定檔銷是怎樣運(yùn)用于工件末端的。應(yīng)用于這個(gè)夾具的可調(diào)支承能夠使工件正確定位。由于磨損,調(diào)整是必要的,而且操作起來也相當(dāng)容易。
調(diào)整型定位元件的另一個(gè)優(yōu)點(diǎn)是可以通過用滾花螺釘代替調(diào)整螺釘作為夾緊件,圖3-33。
瞄準(zhǔn)定位元件大致使夾具中的零件對(duì)中以便加工,圖3-34。瞄準(zhǔn)定位有兩種方法:夾具上刻線圖3-34A和開狹槽圖3-34B。這兩種情況下,工件都與標(biāo)記對(duì)齊,然后夾緊和加工。
拆卸器
拆卸器用于將工件從夾具中移出,通常這類夾具如全座或環(huán)座。拆卸器加速了工件從夾具中的拆卸。這減少了拆卸時(shí)間,提高了生產(chǎn)效率,圖3-35中的拆卸器是用于夾具常見的兩種類型。
5
目錄
摘要……………………………………………………………………………… Ⅰ
文獻(xiàn)綜述…………………………………………………………………………… 1
一、從傳統(tǒng)設(shè)計(jì)到優(yōu)化設(shè)計(jì)………………………………………………… 1
二、機(jī)械優(yōu)化設(shè)計(jì)發(fā)展概況………………………………………………… 2
第一章 主傳動(dòng)系統(tǒng)設(shè)計(jì)論……………………………………………………… 3
1、主傳動(dòng)系統(tǒng)簡介……………………………………………………………3
2、轉(zhuǎn)速數(shù)列地設(shè)計(jì)……………………………………………………………3
3、轉(zhuǎn)速圖介紹…………………………………………………………………4
4、結(jié)構(gòu)網(wǎng)和結(jié)構(gòu)式介紹………………………………………………………5
5、轉(zhuǎn)速圖的擬定………………………………………………………………6
6、齒輪齒數(shù)的確定……………………………………………………………8
7、機(jī)械傳動(dòng)的計(jì)算轉(zhuǎn)速………………………………………………………9
8、主軸轉(zhuǎn)速的誤差控制………………………………………………………9
第二章 VC++相關(guān)理論與設(shè)置軟件界面……………………………………… 10
1、Visual C++可視化集成開發(fā)環(huán)境……………………………………… 10
2、對(duì)話框和控件的基本概念……………………………………………… 15
3、對(duì)話框模板的設(shè)計(jì)……………………………………………………… 16
4、對(duì)話框類的設(shè)計(jì)………………………………………………………… 24
5、 繪制轉(zhuǎn)速圖………………………………………………………………29
第三章 典型優(yōu)化設(shè)計(jì)過程…………………………………………………… 31
第一節(jié) 目標(biāo)函數(shù)和約束條件的確定……………………………………… 31
一、設(shè)計(jì)變量的確定………………………………………………… 31
二、目標(biāo)函數(shù)………………………………………………………… 32
三、約束條件………………………………………………………… 32
第二節(jié) 優(yōu)化過程……………………………………………………………37
一、內(nèi)點(diǎn)懲罰函數(shù)法計(jì)算步驟……………………………………… 37
二、鮑威爾方法步驟………………………………………………… 39
三、用外推法確定搜索區(qū)間………………………………………… 42
四、黃金分割法的搜索過程………………………………………… 43
第三節(jié) 界面與轉(zhuǎn)速圖………………………………………………………45
總結(jié)…………………………………………………………………………………46
致謝…………………………………………………………………………………47
參考文獻(xiàn)……………………………………………………………………………48
摘要
優(yōu)化設(shè)計(jì)是在一定條件(各種設(shè)計(jì)因素)下所得到的最佳設(shè)計(jì)值,其內(nèi)容為將設(shè)計(jì)問題的實(shí)際物理模型抽象為數(shù)學(xué)模型,并利用有關(guān)計(jì)算機(jī)軟件對(duì)數(shù)學(xué)模型進(jìn)行求解,從而得到最優(yōu)解的過程。最優(yōu)化技術(shù)是工程設(shè)計(jì)的基礎(chǔ)。由于計(jì)算機(jī)技術(shù)的普及應(yīng)用和運(yùn)算能力的提高,使得基于計(jì)算機(jī)的優(yōu)化設(shè)計(jì)在求解復(fù)雜系統(tǒng)的最優(yōu)解方面具有明顯的優(yōu)勢,從而推動(dòng)了優(yōu)化設(shè)計(jì)在工程設(shè)計(jì)上的廣泛應(yīng)用。優(yōu)化設(shè)計(jì)的一般步驟為:1.建立系統(tǒng)的數(shù)學(xué)模型,一般來說,模型由基本的平衡方程、工程設(shè)計(jì)關(guān)系式以及描述系統(tǒng)內(nèi)物理現(xiàn)象的物理特性方程式所組成。該模型描繪了各變量間的相互關(guān)系和設(shè)計(jì)變量對(duì)系統(tǒng)性能標(biāo)準(zhǔn)的影響,確定模型的目標(biāo)函數(shù);2.找出系統(tǒng)的約束條件,即上述方程的一些補(bǔ)充不等式,用以來確定允許范圍、最大最小性能要求、或確定系統(tǒng)的邊界條件;3.求出最優(yōu)解。本文通過最低傳動(dòng)比、模數(shù)、齒數(shù)建立約束條件,最后利用鮑威爾方法得出最佳結(jié)果。
關(guān)鍵詞 主傳動(dòng)系統(tǒng) 優(yōu)化設(shè)計(jì)
Abstract
optimization design is the optimum design value received under certain terms (various kinds of design factors), whose content is designing from actual physical model of question to a mathematics model, and utilizing relevant computer softwares to solving the mathematics model, and get the optimum course that solves . It is a foundation of engineering design to optimize technology most. Because of the popularization and application of the technology of the computer and improvement of operation ability, optimization design based on computer make the solving in complicated system optimum has obvious advantages, and promoting the wide application in engineering design of optimization design. The general steps of optimization design are following: 1.Setting up systematic mathematics model, generally speaking, the model makes up by the the equation of balance, engineering design relational expression and equation of the physical phenomenon in the system describing the physical characteristic. The model describes the interreaction among every variable and designing the impact on systematic function standard of the variable, confirming the goal function of the model; 2.Finding out the systematic restraint condition , namely some of above-mentioned equations supplements the inequality, with since confirm by range of allowing, not most performance not minimum not heavy ; 3.Working out the most optimum design value. It is through being minimum in this text drive than, modulus, tooth count and setting up terms of restraining, utilizing Powell's method to draw the best result finally.
Keyword: Main transmission Optimization design
文獻(xiàn)綜述
優(yōu)化設(shè)計(jì)是60年代初發(fā)展起來的一門新學(xué)科,它是將最優(yōu)化原理和計(jì)算技術(shù)運(yùn)用于設(shè)計(jì)領(lǐng)域,為工程設(shè)計(jì)提供一種重要的科學(xué)設(shè)計(jì)方法。利用這種新的設(shè)計(jì)方法,人們就可以從眾多的設(shè)計(jì)方案中尋找出最佳設(shè)計(jì)方案,從而大大提高設(shè)計(jì)效率和質(zhì)量。因此優(yōu)化設(shè)計(jì)是現(xiàn)代設(shè)計(jì)理論和方法的一個(gè)重要領(lǐng)域,它已廣泛應(yīng)用與各個(gè)工業(yè)部門。
一、 從傳統(tǒng)設(shè)計(jì)到優(yōu)化設(shè)計(jì)
一項(xiàng)機(jī)械產(chǎn)品的設(shè)計(jì),一般需要經(jīng)過調(diào)查分析、方案擬定、技術(shù)設(shè)計(jì)、零件工作圖繪制等環(huán)節(jié)。傳統(tǒng)設(shè)計(jì)方法通常在調(diào)查分析的基礎(chǔ)上,參照同類產(chǎn)品通過估算、經(jīng)驗(yàn)類比或試驗(yàn)來確定初始設(shè)計(jì)方案。然而,根據(jù)初始設(shè)計(jì)方案的設(shè)計(jì)參數(shù)進(jìn)行強(qiáng)度、剛度、穩(wěn)定性等性能分析計(jì)算,檢查各性能是否滿足設(shè)計(jì)指標(biāo)要求。如果不滿足性能指標(biāo)要求,設(shè)計(jì)人員將憑借經(jīng)驗(yàn)或直觀判斷對(duì)參數(shù)進(jìn)行修改。這樣反復(fù)進(jìn)行分析計(jì)算——性能檢驗(yàn)——參數(shù)修改,直到性能完全滿足設(shè)計(jì)指標(biāo)的要求為止。整個(gè)設(shè)計(jì)過程就是人工試湊和定性分析比較的過程,主要的工作是性能的重復(fù)分析,至于每次參數(shù)的修改,僅僅憑借經(jīng)驗(yàn)或直觀判斷,并不是根據(jù)某種理論精確計(jì)算出來的。實(shí)踐證明,按照傳統(tǒng)方法設(shè)計(jì)出來的設(shè)計(jì)方案,大部分都有改進(jìn)提高的余地,而不是最佳設(shè)計(jì)方案。
傳統(tǒng)設(shè)計(jì)方法只是被動(dòng)地重復(fù)分析產(chǎn)品的性能,而不是主動(dòng)的設(shè)計(jì)產(chǎn)品的參數(shù)。從這個(gè)意義上講它沒有真正體現(xiàn)“設(shè)計(jì)”的含義。其實(shí)“設(shè)計(jì)”一詞本身就包含優(yōu)化的概念。作為一項(xiàng)設(shè)計(jì)不僅要求方案可行、合理,而且應(yīng)該是某些指標(biāo)達(dá)到最優(yōu)的理想方案。設(shè)計(jì)中的優(yōu)化思想在古代就有所體現(xiàn)。例如,我國宋代建筑著作《營造發(fā)式》一書中曾指出:圓木做成矩形截面梁的高度比為3:2。根據(jù)梁的彎矩理論,最佳截面尺寸應(yīng)使梁截面抗彎系數(shù)W最大。設(shè)截面寬為b、高為h,則要求W=。若圓木直徑為d,有d2=b2+h2,W=,。當(dāng)b=時(shí),W取極大值(),而h=,則有h/b=。這與h/b=3/2=1.5很接近。像這樣簡單的優(yōu)化問題用古典的微分方法很容易求解,但對(duì)于一般工程化問題的求解,需要采用數(shù)學(xué)規(guī)劃理論并借助于電子計(jì)算機(jī)才能完成?;谶@一原因,“設(shè)計(jì)”中優(yōu)化的概念一直未能的一很好的體現(xiàn)。直到60年代,計(jì)算機(jī)和計(jì)算技術(shù)迅速發(fā)展,優(yōu)化設(shè)計(jì)才有條件日益發(fā)展起來。
近20年來,隨著計(jì)算機(jī)的應(yīng)用,在機(jī)械設(shè)計(jì)領(lǐng)域內(nèi),已經(jīng)可以用現(xiàn)代化的設(shè)計(jì)方法和手段進(jìn)行設(shè)計(jì),來滿足對(duì)機(jī)械產(chǎn)品提出的要求。
現(xiàn)代化的設(shè)計(jì)工作已不再是過去那種憑借經(jīng)驗(yàn)或直觀判斷來確定結(jié)構(gòu)方案,也不是像過去“安全壽命可行設(shè)計(jì)”方法那樣:在滿足所提出的要求的前提下,先確定結(jié)構(gòu)方案,再安全壽命等準(zhǔn)則,對(duì)該方案進(jìn)行強(qiáng)度、剛度等的分析、校核,然后進(jìn)行修改,以確定結(jié)構(gòu)尺寸。而是借助計(jì)算機(jī),應(yīng)用一些精度較高的力學(xué)的數(shù)值分析方法(如有限元等)進(jìn)行分析計(jì)算,并從大量的可行設(shè)計(jì)方案中尋找出一種最優(yōu)的設(shè)計(jì)方案,從而實(shí)現(xiàn)用理論設(shè)計(jì)代替經(jīng)驗(yàn)設(shè)計(jì),用精確計(jì)算代替近似計(jì)算,用優(yōu)化設(shè)計(jì)代替一般的安全壽命的可行性設(shè)計(jì)。
優(yōu)化方法在機(jī)械中的應(yīng)用,既可以使方案在規(guī)定的設(shè)計(jì)要求下達(dá)到某些優(yōu)化的結(jié)果,又不必耗費(fèi)過多的計(jì)算工作量。因此,產(chǎn)品結(jié)構(gòu)、生產(chǎn)工藝等的優(yōu)化已經(jīng)成為市場競爭的一種手段。例如,據(jù)資料介紹,利用一個(gè)化工優(yōu)化系統(tǒng)(CHEOPS)的計(jì)算機(jī)手段,對(duì)一個(gè)化工廠進(jìn)行設(shè)計(jì)。根據(jù)所給數(shù)據(jù),在16h內(nèi),進(jìn)行16000個(gè)可行性設(shè)計(jì)的選擇,從中選擇一個(gè)成本最低、產(chǎn)量最大的方案,并給出必需的精確數(shù)據(jù)。而在這之前,求解這個(gè)問題,曾用一組工程師工作了一年,但僅做了三個(gè)方案,而它們的效率卻沒有一個(gè)可以和上述優(yōu)化方案相比。又例如,美國貝爾(Bell)飛機(jī)公司采用優(yōu)化方法解決450個(gè)設(shè)計(jì)變量的大型結(jié)構(gòu)優(yōu)化問題。在對(duì)一個(gè)機(jī)翼進(jìn)行質(zhì)量計(jì)算中,減輕質(zhì)量35%。
二、 機(jī)械優(yōu)化設(shè)計(jì)發(fā)展概況
最優(yōu)化技術(shù)成功應(yīng)用于機(jī)械設(shè)計(jì)開始于60年代,短短幾十年來,機(jī)械優(yōu)化設(shè)計(jì)發(fā)展迅速,尤其在機(jī)構(gòu)綜合、機(jī)械零部件設(shè)計(jì)、專用機(jī)械設(shè)計(jì)和工藝設(shè)計(jì)方面都成果顯著。
機(jī)構(gòu)運(yùn)動(dòng)參數(shù)的優(yōu)化設(shè)計(jì)是機(jī)械優(yōu)化設(shè)計(jì)中發(fā)展較早的領(lǐng)域,不僅研究了連桿機(jī)構(gòu)、凸輪機(jī)構(gòu)等再現(xiàn)函數(shù)和軌跡的優(yōu)化設(shè)計(jì)問題 ,而且還提出一些標(biāo)準(zhǔn)化程序。機(jī)械零部件設(shè)計(jì)主要是研究各種減速器的優(yōu)化設(shè)計(jì)、液壓軸承和滾動(dòng)軸承的優(yōu)化設(shè)計(jì)以及軸、彈簧、制動(dòng)器等的結(jié)構(gòu)參數(shù)優(yōu)化。除此以外,在機(jī)床、鍛壓設(shè)備、壓延設(shè)備、起重運(yùn)輸設(shè)備、汽車等的基本參數(shù)、基本工作機(jī)構(gòu)和主體結(jié)構(gòu)方面也進(jìn)行了優(yōu)化設(shè)計(jì)。
雖然機(jī)械優(yōu)化設(shè)計(jì)的運(yùn)用越來越廣,但還面臨著許多問題需要解決。例如,機(jī)械產(chǎn)品設(shè)計(jì)中零、部件通用化、系列化和標(biāo)準(zhǔn)化,整機(jī)優(yōu)化設(shè)計(jì)方法模型及方法研究,機(jī)械優(yōu)化設(shè)計(jì)中離散變量優(yōu)化方法的研究,更為有效的優(yōu)化設(shè)計(jì)方法的發(fā)掘等一系列問題,都需要做較大努力才能適應(yīng)機(jī)械工業(yè)發(fā)展的需要。
計(jì)算機(jī)輔助設(shè)計(jì)(CAD)引入優(yōu)化設(shè)計(jì)方法后,使得在設(shè)計(jì)過程中既能夠不斷選擇設(shè)計(jì)參數(shù)并評(píng)選出最優(yōu)設(shè)計(jì)方案,又可以加快設(shè)計(jì)速度,縮短設(shè)計(jì)周期。
第一章 主傳動(dòng)系統(tǒng)設(shè)計(jì)理論
1、主傳動(dòng)系統(tǒng)簡介
主傳動(dòng)系統(tǒng)設(shè)計(jì)主要是運(yùn)用轉(zhuǎn)速圖的基本原理,擬定滿足轉(zhuǎn)速數(shù)列的經(jīng)濟(jì),合理的傳動(dòng)方案,確定主要傳動(dòng)部件的空間布置。其主要內(nèi)容包括選擇變速數(shù)組及其傳動(dòng)副數(shù),確定各個(gè)變速組中的傳動(dòng)比,計(jì)算齒輪數(shù)目和皮帶輪直徑,及其設(shè)計(jì)主要傳動(dòng)件的空間布置,軸向定位及其結(jié)構(gòu)尺寸。
主傳動(dòng)系統(tǒng)一般由動(dòng)力源,變速裝置及其執(zhí)行件,以及開停,換向和制動(dòng)等部分組成。動(dòng)力源進(jìn)給執(zhí)行件提供動(dòng)力,變速裝置傳遞動(dòng)力以及變換運(yùn)動(dòng)速度;執(zhí)行件執(zhí)行所需要的運(yùn)動(dòng),完成旋轉(zhuǎn)或直線運(yùn)動(dòng)。
主傳動(dòng)應(yīng)該滿足的基本要求:
①滿足機(jī)電裝備使用性能要求,首先要滿足機(jī)電裝備的運(yùn)動(dòng)特性。
②滿足機(jī)電裝備傳遞動(dòng)力要求。
③具有足夠的精度和剛度,傳動(dòng)平穩(wěn)。
④具有足夠的抗振性和熱穩(wěn)定性,噪音低。
⑤滿足產(chǎn)品設(shè)計(jì)經(jīng)濟(jì)性的要求。
⑥調(diào)整維修方便,結(jié)構(gòu)簡單,合理,工藝性好,防護(hù)性好。
分級(jí)變速傳動(dòng)系統(tǒng)常采用變速齒輪傳動(dòng)或變速帶傳動(dòng),在一定的變速范圍內(nèi),其輸出軸只能得到有限級(jí)數(shù)的轉(zhuǎn)速。在設(shè)計(jì)分級(jí)變速傳動(dòng)系統(tǒng)時(shí),常用到轉(zhuǎn)速圖。使用轉(zhuǎn)速圖可以直觀地表達(dá)出傳動(dòng)系統(tǒng)中各軸轉(zhuǎn)速的變化規(guī)律和傳動(dòng)副的速比關(guān)系。
有級(jí)變速主傳動(dòng)系統(tǒng)設(shè)計(jì):
有級(jí)變速主傳動(dòng)系統(tǒng)設(shè)計(jì)就是根據(jù)已經(jīng)確定的主運(yùn)動(dòng)參數(shù),合理地排列轉(zhuǎn)速數(shù)列,擬定結(jié)構(gòu)式,轉(zhuǎn)速圖,分配各變速組中傳動(dòng)副地傳動(dòng)比,確定齒輪齒數(shù)和帶輪直徑等,繪制主傳動(dòng)系統(tǒng)圖
在采用轉(zhuǎn)速圖進(jìn)行傳動(dòng)系統(tǒng)的設(shè)計(jì)時(shí)一般可按照下列步驟進(jìn)行:
①確定傳動(dòng)順序;
②確定變速順序;
③確定各變速組的傳動(dòng)比。
2、轉(zhuǎn)速數(shù)列地設(shè)計(jì)
轉(zhuǎn)速數(shù)列地合理排列方式:
確定了主軸地最低地轉(zhuǎn)速和最高轉(zhuǎn)速之后,該變速范圍若采用有級(jí)變速,就應(yīng)該確定中間各級(jí)轉(zhuǎn)速。目前大多數(shù)地機(jī)床都采用地主軸轉(zhuǎn)速是等級(jí)數(shù)排列地。
主軸轉(zhuǎn)速按等比級(jí)數(shù)排列的方式有如下幾點(diǎn):
1> 轉(zhuǎn)速范圍內(nèi)地轉(zhuǎn)速誤差相對(duì)損失均勻。
2> 簡化變速傳動(dòng)系統(tǒng)地設(shè)計(jì)。
(1)公比地標(biāo)準(zhǔn)值和標(biāo)準(zhǔn)轉(zhuǎn)速數(shù)列
1> 由于轉(zhuǎn)速有nmin到nmax遞增,故公比應(yīng)該大于1。為了限制最大轉(zhuǎn)速地相對(duì)損失率不超過50%,則相應(yīng)地公比不大于2。
2> 對(duì)便于采用雙速或多速電機(jī)驅(qū)動(dòng),簡化機(jī)床地變速機(jī)構(gòu),Φ應(yīng)該滿足。(E1為正整數(shù))。
3> 為了便于設(shè)計(jì)和使用機(jī)床,希望轉(zhuǎn)速數(shù)列是十進(jìn)位地(注:我國機(jī)床專業(yè)規(guī)定了七個(gè)標(biāo)準(zhǔn)公比。1.06,1.12,1.26,1.41,1.58,1.78,2)。
(2)公比的選擇
Φ的值小則相對(duì)轉(zhuǎn)速損失小,但是當(dāng)變速范圍一定時(shí)變速級(jí)數(shù)將增多,結(jié)構(gòu)復(fù)雜。通常,對(duì)于,通用機(jī)床,為使轉(zhuǎn)速損失不大,機(jī)床結(jié)構(gòu)又不過于復(fù)雜,一般區(qū)Φ=1.26或Φ=1.41;對(duì)于大批,大量生產(chǎn)用的專所用機(jī)床, Φ=1.12或1.26,而非自動(dòng)化小型機(jī)床,加工中切削時(shí)間遠(yuǎn)小于輔助時(shí)間,轉(zhuǎn)速損失大些影響不大,故取Φ=1.58或1.78或2。
3、轉(zhuǎn)速圖介紹
在轉(zhuǎn)速圖上有以下特點(diǎn)
①距離相等的一組豎線代表傳動(dòng)系統(tǒng)的各軸,軸號(hào)寫在上面。堅(jiān)線間的距離不代表中心距。
②距離相等的一組水平線代表各級(jí)轉(zhuǎn)速,與各豎線的相交點(diǎn)的小圓代表各軸的轉(zhuǎn)速。于轉(zhuǎn)速的分級(jí)是按等比級(jí)數(shù)排列的,故采用對(duì)數(shù)坐標(biāo)表示。相鄰兩水平線之間的間隔為igP。通常習(xí)慣在轉(zhuǎn)速圖上直接寫出轉(zhuǎn)速的數(shù)值。
③相鄰兩軸各小圓之間的連線代表相應(yīng)傳動(dòng)副的傳動(dòng)比。傳動(dòng)比的大小以連線的傾斜方向和傾斜度表示,從左向下斜表示降速傳動(dòng),向上斜表式升速傳動(dòng),而水平連線則表示等速傳動(dòng)。
根據(jù)上述分析,可以看出:
④傳動(dòng)系統(tǒng)的變速級(jí)數(shù)是各變速組傳動(dòng)副數(shù)的乘積。如上述傳動(dòng)系統(tǒng),其變速級(jí)數(shù)為
3X2X2=12
在結(jié)構(gòu)上,變速組按照從電機(jī)到主軸傳動(dòng)的先后排列順序稱為傳動(dòng)順序。
⑤變速組傳動(dòng)比之間有如下關(guān)系:
在第一變速組的三個(gè)傳動(dòng)比之間
變速組內(nèi)相鄰傳動(dòng)比之間的比值稱為級(jí)比,級(jí)比指數(shù)x0成為變速組的級(jí)比指數(shù)。級(jí)比指數(shù)在轉(zhuǎn)速圖中表現(xiàn)為相鄰傳動(dòng)比間隔的格數(shù)。
為了獲得連續(xù)的等比數(shù)列的轉(zhuǎn)速,必須使幾個(gè)變速組串連而成的傳動(dòng)系統(tǒng)符合級(jí)比規(guī)律,否則會(huì)出現(xiàn)轉(zhuǎn)速重復(fù)或空缺的現(xiàn)象。
⑥ 各變速組的變速范圍是該變速組內(nèi)傳動(dòng)副的最大傳動(dòng)比和最小傳動(dòng)比的比值。在設(shè)計(jì)傳動(dòng)系統(tǒng)時(shí),一般均應(yīng)遵守上述規(guī)律。這樣,傳動(dòng)系統(tǒng)所得到的轉(zhuǎn)速數(shù)列是連續(xù)的等比數(shù)列,這種傳動(dòng)系統(tǒng)成為正常傳動(dòng)系統(tǒng)。
4、結(jié)構(gòu)網(wǎng)和結(jié)構(gòu)式介紹
在設(shè)計(jì)傳動(dòng)系統(tǒng)時(shí),往往首先比較和選擇各傳動(dòng)比的相對(duì)關(guān)系。只表示傳動(dòng)比的相對(duì)關(guān)系而不表示轉(zhuǎn)速數(shù)值的線圖稱為結(jié)構(gòu)網(wǎng)。結(jié)構(gòu)網(wǎng)也可看成是轉(zhuǎn)速圖的對(duì)稱形式,因結(jié)構(gòu)網(wǎng)只表示傳動(dòng)關(guān)系,而不表示轉(zhuǎn)速數(shù)值,故可畫成對(duì)稱形式。但結(jié)構(gòu)網(wǎng)和轉(zhuǎn)速圖有一致的變速特性,一個(gè)轉(zhuǎn)速圖將對(duì)應(yīng)一個(gè)結(jié)構(gòu)網(wǎng),如圖所示為12級(jí)傳動(dòng)系統(tǒng)的結(jié)構(gòu)網(wǎng)。 結(jié)構(gòu)網(wǎng)表示出了各變速組的傳動(dòng)副數(shù)和各變速組的級(jí)比指數(shù),還表示出其傳動(dòng)順序和擴(kuò)大順序。結(jié)構(gòu)網(wǎng)又可以簡化為結(jié)構(gòu)式,如圖所示的結(jié)構(gòu)網(wǎng)可用下面的結(jié)構(gòu)式表示:12=31*23*26。其中 12代表轉(zhuǎn)速級(jí)數(shù),3、2、2表示變速組的傳動(dòng)副數(shù)和傳動(dòng)順序,下標(biāo) 1、3、6表示各對(duì)應(yīng)變速組的級(jí)比指數(shù)。結(jié)構(gòu)網(wǎng)和結(jié)構(gòu)式表達(dá)的內(nèi)容是相同的,但結(jié)構(gòu)網(wǎng)更加直觀
5、轉(zhuǎn)速圖的擬定:
通過對(duì)轉(zhuǎn)速圖的擬定和分析可找出最佳的傳動(dòng)系統(tǒng)方案,它是傳動(dòng)系統(tǒng)設(shè)計(jì)中不可缺少
的重要環(huán)節(jié)。
(1).變速組及其傳動(dòng)副數(shù)的確定:
一定變速級(jí)數(shù)的傳動(dòng)系統(tǒng)可由不同數(shù)目的變速組組成。減少變速組的數(shù)目可以縮短傳動(dòng)鏈,但在總變速級(jí)數(shù)一定的情況下,勢必會(huì)增加各變速組內(nèi)傳動(dòng)副數(shù)目,并且降速過快,因而導(dǎo)致齒輪的徑向尺寸增大。現(xiàn)以 18級(jí)轉(zhuǎn)速的傳動(dòng)系統(tǒng)為例,其組成方案有下列三種:①18=9*2 ②18=6*3 ③18=3*3*2
為使傳動(dòng)系統(tǒng)中齒輪總個(gè)數(shù)為最少,每個(gè)變速組的傳動(dòng)副數(shù)最好取2或3,并采用雙聯(lián)或三聯(lián)齒輪進(jìn)行變速。而上方案中,方案①需9+2=11對(duì)齒輪,方案②需6十3=9對(duì)齒輪,方案③只需3+3+2=8對(duì)齒輪,雖然增加了一個(gè)變速組,且相應(yīng)多了一根軸,但總的結(jié)構(gòu)尺寸卻可以減小,并且結(jié)構(gòu)也比較合理。
(2).傳動(dòng)順序確定:
傳動(dòng)順序是指從動(dòng)力機(jī)到執(zhí)行機(jī)構(gòu)各變速組傳動(dòng)副數(shù)的排列順序。在傳動(dòng)系統(tǒng)中,如果
對(duì)各變速組的順序進(jìn)行不同的排列,則可以得到若干不同的傳動(dòng)方案。例如上述18級(jí)轉(zhuǎn)速的傳動(dòng)系統(tǒng),按傳動(dòng)順序排列可得:
18=3X3X2
18=3X2X3
18=2X3X3
為了能從這些方案中確定出最佳方案,一般應(yīng)遵循“前多后少”的原則,即傳動(dòng)副數(shù)較多的變速組安排在傳動(dòng)順序前面,傳動(dòng)副數(shù)較少的變速組安排在后面。這是由于傳動(dòng)系統(tǒng)一般為降速傳動(dòng),如果把傳動(dòng)副數(shù)較多的變速組安排在前面,可使其轉(zhuǎn)速較高,從而扭矩較小,因此可減小傳動(dòng)件的尺寸,并可以節(jié)省材料,減少傳動(dòng)系統(tǒng)的轉(zhuǎn)動(dòng)慣量。因此應(yīng)選結(jié)構(gòu)式 18—3X3X2的方案為好。
(3)變速順序確定:
變速順序是指基本組和擴(kuò)大組的排列順序。
在確定變速順序時(shí),一般應(yīng)采用基本組在前,擴(kuò)大組在后的方案。這時(shí)各變速組的變速范圍逐漸增大,在轉(zhuǎn)速圖上表現(xiàn)為前面變速組的傳動(dòng)比連線分布較緊密,而后面變速組的傳動(dòng)比連線分布疏松,即“前密后疏” 的原則。它的優(yōu)點(diǎn)是可使前面的各軸轉(zhuǎn)速范圍較小,使最低轉(zhuǎn)速較高并降低最高轉(zhuǎn)速,因此可以減小傳動(dòng)件的尺寸,并降低噪聲和振動(dòng)。 如12級(jí)傳動(dòng)系統(tǒng),在12=3X2X2中,按基本組和擴(kuò)大組排列順序的不同可有以下六種方案,其結(jié)構(gòu)網(wǎng)和結(jié)構(gòu)式見圖 所示。圖所示方案a的擴(kuò)大順序與傳動(dòng)順序一致,其中間軸的變速范圍較小,最低轉(zhuǎn)速較高,傳遞的扭矩較小,a方案最佳。插圖見
確定各變速組的傳動(dòng)比
對(duì)應(yīng)于一個(gè)結(jié)構(gòu)式可以有多個(gè)轉(zhuǎn)速圖方案,因?yàn)榻Y(jié)構(gòu)式只能表示傳動(dòng)順序和變速順序,而 并不能確定各個(gè)變速組傳動(dòng)比的具體數(shù)值。如圖4-18所示兩個(gè)轉(zhuǎn)速圖中,基本組的三個(gè)傳動(dòng)比都相鄰一格,擴(kuò)大組的兩個(gè)傳動(dòng)比都相鄰三格,這兩個(gè)轉(zhuǎn)速圖的結(jié)構(gòu)式相同,但各變速組傳動(dòng)比的數(shù)值不同。在確定傳動(dòng)比時(shí)應(yīng)考慮以下幾點(diǎn):<1>各傳動(dòng)副的傳動(dòng)比不應(yīng)超出極限傳動(dòng)比。<2>盡量提高中間軸的最低轉(zhuǎn)速。<3>分配傳動(dòng)比時(shí)也應(yīng)避免較大的升速傳動(dòng),因?yàn)樯賯鲃?dòng)使傳動(dòng)誤差擴(kuò)大,并引起較大的嚙合沖擊和噪聲
6、齒輪齒數(shù)的確定
轉(zhuǎn)速圖確定后,可以根據(jù)各對(duì)傳動(dòng)副的傳動(dòng)比計(jì)算齒輪的齒數(shù)或帶輪的直徑。在確定齒數(shù)時(shí)應(yīng)注意以下幾點(diǎn):
①齒輪副的齒數(shù)和中心距S。不能太大,以免齒輪尺寸過大。一般推薦齒數(shù)和Sz<=80-120,常選用在100以內(nèi)。
②同一變速中的各對(duì)齒輪,其中心距必須保證相等。
③最小齒輪的齒數(shù)應(yīng)保證不產(chǎn)生根切。
④應(yīng)保證最小齒輪裝到軸上或套上應(yīng)具有足夠的強(qiáng)度
7、機(jī)械傳動(dòng)的計(jì)算轉(zhuǎn)速
主變速系統(tǒng)傳動(dòng)系統(tǒng)中各個(gè)傳動(dòng)件究竟按多大的扭距進(jìn)行計(jì)算,導(dǎo)出了計(jì)算轉(zhuǎn)速的概念。主軸或各個(gè)傳動(dòng)件傳動(dòng)全部功率的最低轉(zhuǎn)速為他們的計(jì)算轉(zhuǎn)速nj,如圖所示:
主軸的功率扭矩特性圖
主軸從最高轉(zhuǎn)速nmax到某一轉(zhuǎn)速nj,這個(gè)區(qū)域內(nèi),主軸的最大輸出扭距應(yīng)隨著轉(zhuǎn)速的降低而加大,成為恒功率區(qū);從nj以下直到最低轉(zhuǎn)速nmin這個(gè)區(qū)域內(nèi)的各級(jí)轉(zhuǎn)速并不需要傳遞全部功率。主軸的輸出扭矩不再隨轉(zhuǎn)速的降低而增大,而是保持nj時(shí)的扭距不變。所能傳遞的功率,則隨轉(zhuǎn)速的降低而降低。nj時(shí)主軸能傳遞全功率的最低轉(zhuǎn)速,成為主軸的計(jì)算轉(zhuǎn)速。機(jī)床主軸在整個(gè)轉(zhuǎn)速范圍內(nèi),以計(jì)算轉(zhuǎn)速為界,分為兩個(gè)區(qū)域:計(jì)算轉(zhuǎn)速nj及以上,知道nmax,為恒功率區(qū)域;計(jì)算轉(zhuǎn)速以下,知道nmin為恒扭矩區(qū)域。傳動(dòng)鏈中其余傳動(dòng)件的計(jì)算轉(zhuǎn)速,可根據(jù)主軸的計(jì)算轉(zhuǎn)速以及轉(zhuǎn)速圖決定。傳遞全功率的最低轉(zhuǎn)速,就是該零件的計(jì)算轉(zhuǎn)速。
8、主軸轉(zhuǎn)速的誤差控制
確定齒輪齒數(shù)時(shí),應(yīng)該保證實(shí)際傳動(dòng)比(齒輪齒數(shù)之比)與理論傳 動(dòng)比(轉(zhuǎn)速圖上要求的傳動(dòng)比)之間誤差不要過大,分配齒數(shù)所造成轉(zhuǎn)速誤差,一般不超過
第二章 VC++相關(guān)理論與設(shè)置軟件界面
1、Visual C++可視化集成開發(fā)環(huán)境
???? Visual C++提供了一個(gè)支持可視化編程的集成開發(fā)環(huán)境:Visual Studio(又名Developer Studio)。Developer Studio是一個(gè)通用的應(yīng)用程序集成開發(fā)環(huán)境,它不僅支持Visual C++,還支持Visual Basic,Visual J++,Visual InterDev等Microsoft系列開發(fā)工具。Developer Studio包含了一個(gè)文本編輯器、資源編輯器、工程編譯工具、一個(gè)增量連接器、源代碼瀏覽器、集成調(diào)試工具,以及一套聯(lián)機(jī)文檔。使用Developer Studio,可以完成創(chuàng)建、調(diào)試、修改應(yīng)用程序等的各種操作。
???? Developer Studio采用標(biāo)準(zhǔn)的多窗口Windows用戶界面,并增加了一些新特性,使得開發(fā)環(huán)境更易于使用,用戶很容易學(xué)會(huì)它的使用方法。一個(gè)典型的Developer Studio用戶界面如圖2.1所示。
圖2.1Developer Studio用戶界面
???? 由于Developer Studio是一個(gè)可視化的開發(fā)工具,在介紹Developer Studio的各個(gè)組成部分之前,首先了解一下可視化編程的概念??梢暬夹g(shù)是當(dāng)前發(fā)展迅速并引人注目的技術(shù)之一,它的特點(diǎn)是把原來抽象的數(shù)字、表格、功能邏輯等用直觀的圖形、圖象的形式表現(xiàn)出來??梢暬幊淌撬闹匾獞?yīng)用之一。所謂可視化編程,就是指:在軟件開發(fā)過程中,用直觀的具有一定含義的圖標(biāo)按鈕、圖形化的對(duì)象取代原來手工的抽象的編輯、運(yùn)行、瀏覽操作,軟件開發(fā)過程表現(xiàn)為鼠標(biāo)點(diǎn)擊按鈕和拖放圖形化的對(duì)象以及指定對(duì)象的屬性、行為的過程。這種可視化的編程方法易學(xué)易用,而且大大提高了工作效率。
???? Visual C++的集成開發(fā)環(huán)境Developer Studio提供了大量的實(shí)用工具以支持可視化編程特性,它們包括:項(xiàng)目工作區(qū)、ClassWizard、AppWizard、WizardBar、Component Gallery等。
項(xiàng)目工作區(qū)
???? 項(xiàng)目工作區(qū)是Developer Studio的一個(gè)最重要的組成部分,程序員的大部分工作都在Developer Studio中完成。Developer Studio使用項(xiàng)目工作區(qū)來組織項(xiàng)目、元素以及項(xiàng)目信息在屏幕上出現(xiàn)的方式。在一個(gè)項(xiàng)目工作區(qū)中,可以處理:
一個(gè)工程和它所包含的文件
一個(gè)工程的子工程
多個(gè)相互獨(dú)立的工程
多個(gè)相互依賴的工程
???? 一個(gè)項(xiàng)目工作區(qū)可包含由不同的開發(fā)工具包生成的工程,如Visual C++和Visual J++。在桌面上,項(xiàng)目工作區(qū)以窗口方式組織項(xiàng)目、文件和項(xiàng)目設(shè)置。項(xiàng)目工作區(qū)窗口一般位于屏幕左側(cè),如圖2.2所示。項(xiàng)目工作區(qū)窗口底部有一組標(biāo)簽,用于從不同的角度(視圖)察看項(xiàng)目中包含的工程和聯(lián)機(jī)文檔。
圖2.2項(xiàng)目工作區(qū)窗口
?? ??每個(gè)項(xiàng)目視圖都有一個(gè)相應(yīng)的文件夾,包含了關(guān)于該項(xiàng)目的各種元素。展開該文件夾可以顯示該視圖方式下工作區(qū)的詳細(xì)信息。項(xiàng)目工作區(qū)包含四種視圖:
???? FileView(文件視圖):顯示所創(chuàng)建的工程。展開文件夾可以察看工程中所包含的文件。
???? ClassView(類視圖):顯示項(xiàng)目中定義的C++類,展開文件夾顯示工程中所定義的所有類,展開類可察看類的數(shù)據(jù)成員和成員函數(shù)以及全局變量、函數(shù)和類型定義。
???? ResourceView(資源視圖):顯示項(xiàng)目中所包含的資源文件。展開文件夾可顯示所有的資源類型。
??? ?InfoView(文檔視圖):顯示聯(lián)機(jī)文檔目錄表。展開目錄表可以顯示所有的幫助主題,雙擊主題將彈出InfoViewer Topic窗口,顯示關(guān)于該主題的詳細(xì)信息。要顯示關(guān)于源程序窗口的關(guān)鍵字的相關(guān)信息,可以將光標(biāo)移動(dòng)到該關(guān)鍵字上,然后按下F1鍵。還可以使用InfoViewer顯示來自Internet WWW(萬維網(wǎng))的頁面。
???? 單擊項(xiàng)目工作區(qū)底部的標(biāo)簽可以從一個(gè)視圖切換到另一個(gè)視圖。每個(gè)視圖都是按層次方式組織的??梢哉归_文件夾和其中的項(xiàng)察看其內(nèi)容,或折疊起來察看其組織結(jié)構(gòu)。在項(xiàng)目視圖中,如果一項(xiàng)不可以再展開,那么它是可編輯的。雙擊這一項(xiàng)便可以打開相應(yīng)的文檔編輯器進(jìn)行編輯:對(duì)類和源程序文件來說,是打開文本編輯器,對(duì)于對(duì)話框來說是打開對(duì)話框編輯器等。每個(gè)視圖還支持右鍵快捷菜單。
ClassWizard(類向?qū)?
???? ClassWizard是一個(gè)交互式工具,用來建立新的類,定制類,把消息映射成類成員函數(shù),或者把控制框映射為類變量成員。在開發(fā)程序時(shí),可用ClassWizard建立程序所需要的類,包括消息處理和消息映射例程(用于定位處理消息的代碼)。
???? 使用ClassWizard,可以將成員函數(shù)或變量加入到一個(gè)類中,或修改已經(jīng)存在的函數(shù)和變量。Wizard使函數(shù)或變量放在何處,如何稱呼它們以及其他一些細(xì)節(jié)問題大大簡化。
??? ?ClassWizard所能識(shí)別的類必須在ClassView數(shù)據(jù)庫文件(.CLW)中登記。使用ClassWizard可以:
創(chuàng)建新類:從許多框架基類中派生出新類
映射消息到函數(shù)
新建、刪除消息處理函數(shù)
察看已被處理的消息并跳到消息處理代碼處
定義成員變量:這些變量會(huì)被自動(dòng)初始化,釋放,執(zhí)行對(duì)話框數(shù)據(jù)檢驗(yàn)等
創(chuàng)建新類時(shí),自動(dòng)加入方法和屬性
處理現(xiàn)有的類和類庫
WizardBar(向?qū)Чぞ邨l)
???? WizardBar是一個(gè)可停泊的工具條,用于快速訪問一些Developer Studio最實(shí)用的功能,比如ClassWizard或ClassView的一些功能。WizardBar會(huì)自動(dòng)跟蹤用戶程序的上下文——比如,當(dāng)文本編輯器中的光標(biāo)從一個(gè)函數(shù)移動(dòng)到另一個(gè)函數(shù)時(shí),Wizard的顯示會(huì)自動(dòng)更新。
???? WizardBar工具條包含了三個(gè)相關(guān)的下拉列表框:類(Class)、過濾器(Filter)和成員(Member),如圖2.3所示。類列表框包含了應(yīng)用程序定義的所有類。當(dāng)前所選擇的類決定可用的過濾器;所選的過濾器決定Member列表中顯示的內(nèi)容。選擇Member中的一項(xiàng),可以跳到相應(yīng)的成員定義。WizardBar最右邊是一個(gè)Action Control,單擊Action Control 的向下箭頭符號(hào)會(huì)彈出一個(gè)菜單,用于執(zhí)行跳到函數(shù)定義、增加消息處理函數(shù)等操作。
圖2.3WizardBar
???? WizardBar使得處理類、成員和資源更加方便。使用WizardBar,可以:
增加一個(gè)新類
建立一個(gè)新的函數(shù)或方法
跳到一個(gè)已存在的函數(shù)或方法
Componet Gallery(組件畫廊)
???? Componet Gallery是一個(gè)組件庫,它保存著以后可以共享和重用的代碼。這些代碼包括由Visual C++自帶的組件和從用戶工程中增加到Gallery中去的用戶自定義組件。
???? 可以使用Gallery提供的組件增強(qiáng)用戶編寫的應(yīng)用程序的功能。Visual C++提供了一組應(yīng)用程序的常用組件,分為兩類:Developer Studio Components和Register ActiveX Controls。其中Developer Studio Components包含了我們經(jīng)常使用的一些標(biāo)準(zhǔn)的Windows應(yīng)用程序特性,比如:彈出菜單,剪貼板,對(duì)話條,啟動(dòng)畫面(Splash Window),定制狀態(tài)條(帶時(shí)間顯示),日積月累對(duì)話框等。Register ActiveX controls則用于往程序里添加ActiveX控件。
Developer Studio的一些快捷特性
???? 為了使開發(fā)環(huán)境更易于使用,Developer Studio還提供了一些快捷特性,包括:右鍵菜單、快速訪問常用對(duì)話框、屬性對(duì)話框、鍵盤快捷鍵等。
右鍵菜單(快捷菜單):在Developer Studio的許多窗口中,可以在一個(gè)選中的對(duì)象或窗口背景上單擊鼠標(biāo)右鍵彈出快捷菜單??旖莶藛伟伺c當(dāng)前區(qū)域或所選項(xiàng)相關(guān)的一組常用命令。大多數(shù)命令都可以從菜單條上訪問,但用快捷菜單更加方便。
快速訪問常用對(duì)話框:在列表出現(xiàn)的窗口中,通??梢酝ㄟ^雙擊列表中的一項(xiàng)顯示與該項(xiàng)相關(guān)的常用對(duì)話框。比如,要編輯字符串列表中的一項(xiàng),可以雙擊它,彈出字符串編輯對(duì)話框,用于編輯雙擊的那一項(xiàng)。
屬性對(duì)話框:選擇一個(gè)項(xiàng),單擊右鍵,從快捷菜單上選擇Properties,就顯示出關(guān)于該對(duì)象的屬性對(duì)話框。屬性對(duì)話框顯示在一個(gè)屬性頁中,可能包含許多標(biāo)簽。彈出屬性對(duì)話框的快捷鍵是Alt+Enter。點(diǎn)一下對(duì)話框左上角的圖釘按鈕,可以把該屬性對(duì)話框固定在所有窗口前面。如果有可編輯的屬性,就可以在屬性頁中直接修改。下圖是修改某個(gè)編輯框?qū)傩缘囊粋€(gè)例子。
圖2.4屬性對(duì)話框
鍵盤快捷鍵:?鍵盤快捷鍵為那些喜歡鍵盤而不喜歡用鼠標(biāo)的用戶提供了執(zhí)行某一功能的替代方式。Developer Studio為一些常用的命令分配了缺省得快捷鍵。用戶可以自定義快捷鍵。
???? 為了高效的使用Developer Studio,建議讀者記住以下一些常用的快捷鍵:
??? ?打開文件 File Open CTRL+O 打開一個(gè)已有的文件
???? 保存文件 File Save CTRL+S 保存活動(dòng)文檔
???? 編輯復(fù)制 Edit Copy CTRL+C
???? 編輯剪切 Edit Cut CTRL+T
???? 編輯粘貼 Edit Paste CTRL+V
???? 編輯查找 Edit Find CTRL+F
???? 編輯取消 Edit Undo CTRL+Z
???? 下一條錯(cuò)誤 F4
???? 上一條錯(cuò)誤 SHIFT+F4
??? ?下一個(gè)窗口 CTRL+F6
???? 對(duì)象屬性 ALT+ENTER
???? 建立可執(zhí)行文件 Build F7
???? 運(yùn)行 Execute CTRL+F5
???? 建議為View-Full Screen,Help-Search增加自定義的快捷鍵。要自定義快捷鍵,可以選擇Tools-Customize菜單來實(shí)現(xiàn)。
2、對(duì)話框和控件的基本概念
對(duì)話框的基本概念:對(duì)話框(Dialog)實(shí)際上是一個(gè)窗口.在MFC中,對(duì)話框的功能被封裝在了CDialog類中,CDialog類是CWnd類的派生類.
對(duì)話框分為模態(tài)對(duì)話框和非模態(tài)對(duì)話框兩種.大部分讀者都會(huì)有這樣的經(jīng)歷,當(dāng)你通過File-Open命令打開一個(gè)文件對(duì)話框后,再用鼠標(biāo)去選擇菜單將只會(huì)發(fā)出嘟嘟聲,這是因?yàn)槲募?duì)話框是一個(gè)模態(tài)對(duì)話框.模態(tài)對(duì)話框壟斷了用戶的輸入,當(dāng)一個(gè)模態(tài)對(duì)話框打開時(shí),用戶只能與該對(duì)話框進(jìn)行交互,而其它用戶界面對(duì)象收不到輸入信息.我們平時(shí)所遇到的大部分對(duì)話框都是模態(tài)對(duì)話框。非模態(tài)對(duì)話框的典型例子是Windows95提供的寫字板程序中的搜索對(duì)話框,搜索對(duì)話框不壟斷用戶的輸入,打開搜索對(duì)話框后,仍可與其它用戶界面對(duì)象進(jìn)行交互,用戶可以一邊搜索,一邊修改文章,這樣就大大方便了使用.
本節(jié)主要介紹模態(tài)對(duì)話框,在第四節(jié)將介紹非模態(tài)對(duì)話框.
從MFC編程的角度來看,一個(gè)對(duì)話框由兩部分組成:
對(duì)話框模板資源.對(duì)話框模板用于指定對(duì)話框的控件及其分布,Windows根據(jù)對(duì)話框模板來創(chuàng)建并顯示對(duì)話框.
對(duì)話框類.對(duì)話框類用來實(shí)現(xiàn)對(duì)話框的功能,由于對(duì)話框行使的功能各不相同,因此一般需要從CDialog類派生一個(gè)新類,以完成特定的功能.
相應(yīng)地,對(duì)話框的設(shè)計(jì)包括對(duì)話框模板的設(shè)計(jì)和對(duì)話框類的設(shè)計(jì)兩個(gè)主要方面.
???? 與對(duì)話框有關(guān)的消息主要包括WM_INITDIALOG消息和控件通知消息。在對(duì)話框創(chuàng)建時(shí),會(huì)收到WM_INITDIALOG消息,對(duì)話框?qū)υ撓⒌奶幚砗瘮?shù)是OnInitDialog 。
???? OnInitDialog的主要用處是初始化對(duì)話框。對(duì)話框的控件會(huì)向?qū)υ捒虬l(fā)送控件通知消息,以表明控件的狀態(tài)發(fā)生了變化。
控件的基本概念:
組框 靜態(tài)文本 組合框 按鈕 編輯框
圖2.5對(duì)話框中的控件
控件(Control)是獨(dú)立的小部件,在對(duì)話框與用戶的交互過程中,控件擔(dān)任著主要角色.控件的種類較多,圖2.5中顯示了對(duì)話框中的一些基本的控件.MFC的控件類封裝了控件的功能。
控件實(shí)際上都是窗口,所有的控件類都是CWnd類的派生類.控件通常是作為對(duì)話框的子窗口而創(chuàng)建的,控件也可以出現(xiàn)在視窗口,工具條和狀態(tài)條中.
3、對(duì)話框模板的設(shè)計(jì)
利用Developer Studio提供的可視化設(shè)計(jì)工具,用戶可以方便地設(shè)計(jì)對(duì)話框模板.利用AppWizard建立一個(gè)名為“金屬切削機(jī)床主傳動(dòng)系統(tǒng)”的MFC應(yīng)用程序,并在進(jìn)入MFC AppWizard對(duì)話框后按下面幾步操作:
在第1步中選中D基于對(duì)話框以建立一個(gè)對(duì)話框應(yīng)用程序.然后按完成按鈕,于是就建立了一個(gè)對(duì)話框應(yīng)用程序?!?
切換至資源視圖,系統(tǒng)默認(rèn)選擇Resource視圖,我們看到在資源視圖中出現(xiàn)一個(gè)名為IDD_MY_DIALOG的對(duì)話框模板資源。雙擊IDD_MY_DIALOG,則會(huì)打開該對(duì)話框模板的編輯窗口,如圖2.6所示。缺省的對(duì)話框模板有OK和Cancel兩個(gè)按鈕,在窗口的旁邊有一個(gè)控件面板,在控件面板上用鼠標(biāo)選擇一個(gè)控件,然后在對(duì)話框中點(diǎn)擊,則相應(yīng)的控件就被放置到了對(duì)話框模板中。圖2.7顯示了控件面板上的按鈕所代表的控件。我們不用記憶圖2.7的內(nèi)容,如果不能確定控件的類型,可將鼠標(biāo)在某個(gè)控件按鈕上停留片刻,則會(huì)顯示一個(gè)工具提示,指出該按鈕所代表控件的名稱?!?
圖2.6缺省的對(duì)話框模板
圖2.7控件面板
提示:若我們看不到控件面板,請(qǐng)?jiān)贒eveloper Studio的工具條的空白處單擊鼠標(biāo)右鍵,并在隨之彈出的菜單中選中Controls。
當(dāng)用鼠標(biāo)選擇對(duì)話框或控件時(shí),會(huì)出現(xiàn)一個(gè)圍繞它的虛框,拖動(dòng)虛框的邊界可以改變對(duì)話框或控件的大小,在Developer Studio的狀態(tài)條中會(huì)顯示出所選對(duì)象的坐標(biāo)和尺寸??丶梢员煌蟿?dòng),也可以按箭頭鍵來移動(dòng)選中的控件。在拖動(dòng)控件時(shí)若按住Ctrl鍵,則控件會(huì)被復(fù)制。
用戶可以一次選擇多個(gè)控件,選擇的方法有兩個(gè):1. 在對(duì)話框的空白處拖動(dòng)鼠標(biāo),則拖動(dòng)出來的虛線框內(nèi)的控件將被選中。2.在選擇控件時(shí)按住Ctrl鍵,則可以多重選擇。
選中控件或?qū)υ捒蚝蟀椿剀囨I,則會(huì)彈出一個(gè)屬性對(duì)話框,屬性對(duì)話框用來設(shè)置控件或?qū)υ捒虻母鞣N屬性。屬性對(duì)話框是標(biāo)簽式對(duì)話框,第一頁是常規(guī)屬性(General)。一個(gè)典型的控件屬性對(duì)話框如圖2.8所示.如果對(duì)屬性對(duì)話框中的選項(xiàng)的意思不明白,可以按F1鍵獲得幫助.
圖2.8 控件屬性對(duì)話框
在控件屬性對(duì)話框的常規(guī)屬性中,有一些控件共同的屬性:
ID屬性:用于指定控件的標(biāo)識(shí)符,Windows依靠ID來區(qū)分不同的控件?!?
Caption(標(biāo)題)屬性:靜態(tài)正文、組框、按鈕、檢查框、單選按鈕等控件可以顯示標(biāo)題,用來對(duì)控件進(jìn)行文字說明。控件標(biāo)題中的字符&使緊跟其后的字符有下劃線,按Alt+下劃線將啟動(dòng)該控件。若控件是一個(gè)單選按鈕,則Alt+下劃線字符將選擇該按鈕;若是檢查框,則相當(dāng)于對(duì)該檢查框按空格鍵;若是按鈕,則將激活按鈕命令;若控件是一個(gè)靜態(tài)正文,則將激活按tab順序緊隨其后的下一個(gè)控件?!?
Visible屬性:用來指定控件是否是可見的?!?
Disable屬性:使控件允許或禁止,一個(gè)禁止的控件呈灰色顯示,不能接收任何輸入?!?
Tabstop屬性:用戶可以按Tab鍵移動(dòng)到具有Tabstop屬性的控件上。Tab移動(dòng)的順序可以由用戶指定。按Ctrl+D則Tab順序會(huì)顯示出來,如圖2.9,用戶可以用鼠標(biāo)來重新指定Tab順序。缺省的Tab順序是控件的創(chuàng)建次序?!?
Group屬性:用來指定一組控件,用戶可以用箭頭鍵在該組控件內(nèi)移動(dòng)。在同一組內(nèi)的單選按鈕具有互斥的特性,即在這些單選按鈕中只能有一個(gè)是選中的。如果一個(gè)控件具有Group屬性,則這個(gè)控件以及按Tab順序緊隨其后的所有控件都屬于一組的,直到遇到另一個(gè)有Group屬性的控件為止?!?
現(xiàn)在就開始進(jìn)行對(duì)話框模板的設(shè)計(jì)。首先,用鼠標(biāo)選中對(duì)話框,按回車鍵,在彈出的屬性對(duì)話框中將對(duì)話框的標(biāo)題改為“金屬切削機(jī)床主傳動(dòng)系統(tǒng)”。需要注意的是,由于要在對(duì)話框中顯示漢字,因此必須設(shè)定正確的語種和字體。請(qǐng)讀者在工作區(qū)資源視圖的Dialog類型中單擊鼠標(biāo)選中IDD_MY_DIALOG項(xiàng),然后按Alt+Enter鍵,并在彈出的屬性對(duì)話框中的Language欄中選擇Chinese(P.R.C.)。接著,打開模板的屬性對(duì)話框,單擊Font...按鈕,并選擇“宋體”?!?
為了容納所有需要的控件,需將對(duì)話框的尺寸擴(kuò)大到422×373。然后,請(qǐng)讀者按圖2.5和表2.6來設(shè)計(jì)對(duì)話框模板?!?
提示:對(duì)話框的尺寸單位不是象素,而是與字體的大小有關(guān)。X方向上一個(gè)單位等于字符平均寬度的1/4,Y方向上一個(gè)單位等于字符平均高度的1/8。這樣,隨著字體的改變,對(duì)話框單位也會(huì)改變,對(duì)話框本身的總體比例保持不變?!?
表2.1
控件類型
ID
標(biāo)題(Caption)
其它屬性
按鈕(優(yōu)化運(yùn)算)
OK
優(yōu)化運(yùn)算
Extended Style:
Model frame
按鈕(優(yōu)化評(píng)估)
缺省
優(yōu)化評(píng)估
Extended Style:
Model frame
按鈕(退出)
IDCANCEL
退出
Extended Style:
Model frame
組框(原始數(shù)據(jù))
缺省
原始數(shù)據(jù)
缺省
靜態(tài)正文(電機(jī)功率)
缺省
電機(jī)功率
缺省
組合框(電機(jī)功率)
缺省
Drop List、不排序(不選中Sort風(fēng)格)、初始化列表項(xiàng)
靜態(tài)正文
(主軸最低轉(zhuǎn)速)
缺省
主軸最低轉(zhuǎn)速
缺省
編輯框
(主軸最低轉(zhuǎn)速)
缺省
缺省
靜態(tài)正文(級(jí)數(shù)Z)
缺省
級(jí)數(shù)Z
缺省
組合框(級(jí)數(shù)Z)
缺省
Drop List、不排序
靜態(tài)正文(公比ψ)
缺省
公比ψ
缺省
組合框(公比ψ)
缺省
Drop List、不排序
靜態(tài)正文
(主軸最高轉(zhuǎn)速)
缺省
主軸最高轉(zhuǎn)速
缺省
編輯框
(主軸最高轉(zhuǎn)速)
缺省
缺省
組框(優(yōu)化方案)
缺省
原始數(shù)據(jù)
缺省
靜態(tài)正文
(總中心距)
缺省
總中心距
缺省
編輯框
(總中心距)
缺省
缺省
靜態(tài)正文(最低傳動(dòng)比)
缺省
最低傳動(dòng)比
缺省
組合(最低傳動(dòng)比)
缺省
Drop List、不排序
靜態(tài)正文(模數(shù))
缺省
模數(shù)
缺省
組合框(模數(shù))
缺省
Drop List、不排序
靜態(tài)正文(齒數(shù))
缺省
齒數(shù)
缺省
組合框(齒數(shù))
缺省
Drop List、不排序
按鈕(轉(zhuǎn)速圖)
缺省
轉(zhuǎn)速圖
Extended Style:
Model frame
組框(合理方案Ⅰ)
缺省
原始數(shù)據(jù)
缺省
靜態(tài)正文(總中心距)
缺省
總中心距
缺省
編輯框(總中心距)
缺省
缺省
靜態(tài)正文(最低傳動(dòng)比)
缺省
最低傳動(dòng)比
缺省
組合(最低傳動(dòng)比)
缺省
Drop List、不排序
靜態(tài)正文(模數(shù))
缺省
模數(shù)
缺省
組合框(模數(shù))
缺省
Drop List、不排序
靜態(tài)正文(齒數(shù))
缺省
齒數(shù)
缺省
組合框(齒數(shù))
缺省
Drop List、不排序
按鈕(轉(zhuǎn)速圖)
缺省
轉(zhuǎn)速圖
Extended Style:
Model frame
組框(合理方案Ⅱ)
缺省
原始數(shù)據(jù)
缺省
靜態(tài)正文(總中心距)
缺省
總中心距
缺省
編輯框(總中心距)
缺省
缺省
靜態(tài)正文(最低傳動(dòng)比)
缺省
最低傳動(dòng)比
缺省
組合(最低傳動(dòng)比)
缺省
Drop List、不排序
靜態(tài)正文(模數(shù))
缺省
模數(shù)
缺省
組合框(模數(shù))
缺省
Drop List、不排序
靜態(tài)正文(齒數(shù))
缺省
齒數(shù)
缺省
組合框(齒數(shù))
缺省
Drop List、不排序
按鈕(轉(zhuǎn)速圖)
缺省
轉(zhuǎn)速圖
Extended Style:
Model frame
請(qǐng)注意組合框IDC_COMBO1的Drop List屬性,Drop List屬性是在屬性對(duì)話框的Styles(風(fēng)格)頁的Type欄中選擇的,這使得IDC_COMBO1成為一個(gè)下拉列表式組合框。組合框有簡易式(Simple)、下拉式(Dropdown)和下拉列表式(Drop List)三種。簡易式組合框包含一個(gè)編輯框和一個(gè)總是顯示的列表框。下拉式組合框同簡易式組合框的區(qū)別在于僅當(dāng)單擊下滾箭頭時(shí)才出現(xiàn)列表框。下拉列表式組合框也有一個(gè)下拉的列表框,但它的編輯框是只讀的,不能輸入字符。組合框IDC_COMBO1不要自動(dòng)排序,因此需在Styles頁中使Sort項(xiàng)不被選中?!?
組合框的列表項(xiàng)可以在設(shè)計(jì)模板時(shí)初始化,而列表框的初始化只能在程序中進(jìn)行。組合框IDC_COMBO1的屬性對(duì)話框的General頁中輸入以下幾個(gè)列表項(xiàng),以作為單位性質(zhì)的選項(xiàng)。輸入時(shí)要注意,換行時(shí)不要按回車鍵,而應(yīng)按Ctrl+回車鍵?!?
0.75
1.1
1.5
2.2
3
4
5.5
7.5
11
15
組合框控件的一個(gè)與眾不同之處是它有兩個(gè)尺寸,一個(gè)是下拉前的尺寸,一個(gè)是下拉后的尺寸。當(dāng)用鼠標(biāo)點(diǎn)擊組合框上的箭頭后,可設(shè)定下拉后的尺寸?!?
控件最好都放在對(duì)話框模板的藍(lán)色虛框內(nèi),控件之間的距離不要太近,否則有可能造成不正確的顯示。
安置好控件之后,下一步的任務(wù)是指定Tab順序。按Ctrl+D鍵后,會(huì)顯示當(dāng)前的Tab順序,通過用鼠標(biāo)點(diǎn)擊控件可以設(shè)定新的Tab順序,如果想放棄本次修改,在對(duì)話框的空白處點(diǎn)擊一下即可。Tab順序安排如圖2.9所示?!?
圖2.9 對(duì)話框的Tab順序
最后,需要測試一下對(duì)話框。按Ctrl+T,則會(huì)彈出一個(gè)當(dāng)前模板的測試對(duì)話框,這個(gè)對(duì)話框的外觀和基本行為與程序中將要彈出的對(duì)話框一樣。這樣,我們不用編譯運(yùn)行程序,通過測試對(duì)話框就可以評(píng)估對(duì)話框是否合乎要求。如果發(fā)現(xiàn)了錯(cuò)誤或不滿意的地方,可按ESC鍵退出測試對(duì)話框并重新修改對(duì)話框模板。
4、對(duì)話框類的設(shè)計(jì)
完成對(duì)話框模板的設(shè)計(jì)后,就需要設(shè)計(jì)一個(gè)對(duì)話框類以實(shí)現(xiàn)對(duì)話框的功能。設(shè)計(jì)對(duì)話框類主要包括下面幾步:
①創(chuàng)建對(duì)話框類。該類應(yīng)從CDialog類派生?!?
②為對(duì)話框類加入與控件相對(duì)應(yīng)的成員變量?!?
③為對(duì)話框進(jìn)行初始化工作?!?
④增加對(duì)控件通知消息的處理。
4.1對(duì)話框類的創(chuàng)建
利用ClassWizard,可以十分方便的創(chuàng)建MFC窗口類的派生類,對(duì)話框類也不例外。按以下幾步操作完成:
①打開IDD_MY_DIALOG對(duì)話框模板,然后按Ctrl+W進(jìn)入ClassWizard?!?
②進(jìn)入ClassWizard后,ClassWizard發(fā)現(xiàn)IDD_MY_DIALOG是一個(gè)新的對(duì)話框模板,于是它會(huì)詢問是否要為IDD_MY_DIALOG創(chuàng)建一個(gè)對(duì)話框類。按OK鍵確認(rèn)?!?
如圖2.10在Create New Class對(duì)話框中,在Name欄中輸入C MyDlg,在Base class欄中選擇CDialog,在Dialog ID欄中選擇IDD_MY_DIALOG。按Create按鈕后,對(duì)話框類C MyDlg即被創(chuàng)建?!?
圖2.10Create New Class對(duì)話框
ClassWizard自動(dòng)使類C MyDlg與IDD_MY_DIALOG模板聯(lián)系起來?!?
提示:只要想創(chuàng)建的類是某一MFC窗口類的派生類,一般都可以利用ClassWizard來自動(dòng)完成創(chuàng)建。創(chuàng)建的一般方法是:打開ClassWizard,選擇Add Class->New,然后在Create New Class對(duì)話框中輸入新類的類名,選擇其MFC基類,如果是對(duì)話框類,則還要選擇對(duì)話框的ID?!?
4.2為對(duì)話框類加入成員變量
?????對(duì)話框的主要功能是輸出和輸入數(shù)據(jù),金屬切削機(jī)床主傳動(dòng)系統(tǒng)對(duì)話框的任務(wù)就是輸入數(shù)據(jù)和輸入數(shù)據(jù)。對(duì)話框需要有一組成員變量來存儲(chǔ)數(shù)據(jù)。在對(duì)話框中,控件用來表示或輸入數(shù)據(jù),因此,存儲(chǔ)數(shù)據(jù)的成員變量應(yīng)該與控件相對(duì)應(yīng)。
收藏
編號(hào):2328770
類型:共享資源
大?。?span id="6b1i6zw" class="font-tahoma">1.39MB
格式:ZIP
上傳時(shí)間:2019-11-20
15
積分
- 關(guān) 鍵 詞:
-
基于
vc
金屬
切削
機(jī)床
傳動(dòng)系統(tǒng)
優(yōu)化
設(shè)計(jì)
工程
- 資源描述:
-
基于VC++金屬切削機(jī)床主傳動(dòng)系統(tǒng)優(yōu)化設(shè)計(jì)(有VC++工程),基于,vc,金屬,切削,機(jī)床,傳動(dòng)系統(tǒng),優(yōu)化,設(shè)計(jì),工程
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。