【摘 要】減速器是原動(dòng)機(jī)和工作機(jī)之間的獨(dú)立的傳動(dòng)裝置。基于Flash9.0的Action Script3.0編程環(huán)境,可以生成用于直齒輪一級(jí)減速器參數(shù)化設(shè)計(jì)的軟件,提高設(shè)計(jì)效率。本文簡(jiǎn)單介紹了Flash9.0 Action Script3.0的基本概念、編程方法和常見(jiàn)交互方式的實(shí)現(xiàn)方法,并敘述了基于Action Script3.0的直齒輪一級(jí)減速器的設(shè)計(jì)思路并將典型設(shè)計(jì)過(guò)程的程序代碼列出并注釋,最后演示了程序的運(yùn)行結(jié)果。通過(guò)本文設(shè)計(jì)實(shí)現(xiàn)了直齒圓柱齒輪一級(jí)減速器的網(wǎng)絡(luò)設(shè)計(jì),提高了減速器設(shè)計(jì)速度及精度,具有一定的理論意義和參考價(jià)值。
【關(guān)鍵詞】減速器;Action Script3.0;交互方式
一、設(shè)計(jì)思想概述
減速器是原動(dòng)機(jī)和工作機(jī)之間獨(dú)立的閉式傳動(dòng)裝置,用來(lái)降低轉(zhuǎn)速和增大轉(zhuǎn)矩以滿足工作需要。當(dāng)前的減速器設(shè)計(jì)體系已經(jīng)相當(dāng)成熟與完善,所以我們應(yīng)該在機(jī)械設(shè)計(jì)實(shí)現(xiàn)過(guò)程的多樣性上做出創(chuàng)新。即提高設(shè)計(jì)的效率,有效縮短設(shè)計(jì)時(shí)間,設(shè)計(jì)過(guò)程具有交互性,可視性,以及多媒體功能等。對(duì)減速器的參數(shù)設(shè)計(jì)傳統(tǒng)方法是通過(guò)查閱機(jī)械手冊(cè)來(lái)進(jìn)行設(shè)計(jì),而對(duì)于當(dāng)今這個(gè)信息高度網(wǎng)絡(luò)集約化的社會(huì),通過(guò)網(wǎng)絡(luò)的發(fā)布來(lái)實(shí)現(xiàn)機(jī)械的設(shè)計(jì)是一個(gè)不錯(cuò)的思路,甚至可以通過(guò)與數(shù)據(jù)庫(kù)的聯(lián)通實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)更新與共享,最終實(shí)現(xiàn)效率的提升是毋庸置疑的。對(duì)于目前網(wǎng)頁(yè)設(shè)計(jì)軟件而言,F(xiàn)lash特別適用于創(chuàng)建通過(guò)Internet提供的內(nèi)容,所以通過(guò)flash來(lái)開(kāi)發(fā)設(shè)計(jì)基于網(wǎng)頁(yè)形式的機(jī)械類應(yīng)用軟件是很好的一個(gè)方向。本題目基于Flash9.0的Action Script3.0編程環(huán)境,生成用于直齒輪一級(jí)減速器參數(shù)化設(shè)計(jì)的軟件,提高設(shè)計(jì)效率。
二、Flash cs ActionScript3.0概述
ActionScript是針對(duì)Flash Player的編程語(yǔ)言,它在flash內(nèi)容和應(yīng)用程序中實(shí)現(xiàn)了交互性、數(shù)據(jù)管理以及其它許多功能。在flash創(chuàng)作環(huán)境中,我們的程序?qū)懺凇皠?dòng)作”面板中,而動(dòng)作面板,又是與舞臺(tái)上可以添加動(dòng)作的對(duì)象相關(guān)聯(lián)的。Action
Script3.0中可以添加動(dòng)作的對(duì)象有關(guān)鍵幀、影片剪輯元件等。ActionScript內(nèi)部的詞匯在編程環(huán)境中都會(huì)以藍(lán)色表示。動(dòng)作面板的左半部分將所有的指令列出,可以分門(mén)別類地去找到相關(guān)指令,如影片剪輯控制、時(shí)間軸控制、常用語(yǔ)句等。在flash8.0中單擊 → ,打開(kāi)組件選擇窗口,選擇自己需要的組件,拖動(dòng)到舞臺(tái)上即可。因?yàn)槭褂玫降腢I組件屬于Flash的內(nèi)建類,所以在使用以前需要導(dǎo)入,代碼為://///導(dǎo)入內(nèi)建類import fl.controls.Button;import fl.controls.List;import fl.controls.
DataGrid;import fl.controls.ProgressBar;import fl.controls.Radio
ButtonGroup;import fl.controls.SliderDirection;import fl.data.DataProvider;import fl.events.ListEvent;import fl.events.Slider
Event;import fl.events.ComponentEvent;import fl.containers.
ScrollPane。
三、減速器設(shè)計(jì)流程
1.編程前工作。(1)對(duì)于機(jī)械設(shè)計(jì)來(lái)說(shuō),需要考慮數(shù)值的精度問(wèn)題,由于Flash本身只提供整型,和雙浮點(diǎn)精度兩大類,那么在運(yùn)算數(shù)值最后輸出顯示的時(shí)候要考慮其數(shù)值精度的實(shí)用性,那么就要借助其他方法,在場(chǎng)景ddj的第一幀中加入代碼://///四舍五入保留兩位小數(shù)/////// function shu(abc:Number){return (Math.round(abc×100))/100;} /////創(chuàng)建一個(gè)函數(shù),名字為shu,abc為變量名,使用Math的round方法將abc四舍五入為整數(shù),除以100,最后用return將值返回給其本身。(2)線性插值:所謂線性,即,當(dāng)設(shè)計(jì)計(jì)算時(shí),所查表格中無(wú)對(duì)應(yīng)數(shù)據(jù)時(shí),有時(shí)需要線性插值求出,編程思路為讀入多維數(shù)組相鄰的兩組對(duì)應(yīng)數(shù)據(jù),求得“k”,然后計(jì)算出“y”(本程序中包角修正系數(shù),單根普通V帶基本額定功率P0的確定使用線性插值)。
2.電動(dòng)機(jī)選擇。(1)設(shè)計(jì)思路。設(shè)計(jì)步驟:按照傳統(tǒng)設(shè)計(jì)方法,即設(shè)計(jì)思路簡(jiǎn)單來(lái)說(shuō)為:確定原始數(shù)據(jù)→確定電動(dòng)機(jī)容量(功率)→確定電動(dòng)機(jī)轉(zhuǎn)速→選擇電動(dòng)機(jī)型號(hào)→確定出總傳動(dòng)比→分配傳動(dòng)比→傳動(dòng)裝置的運(yùn)動(dòng)和動(dòng)力設(shè)計(jì)。轉(zhuǎn)換為編程思路:輸入原始數(shù)據(jù)(單擊 查閱資料)→單擊
→確定電動(dòng)機(jī)容量(功率),轉(zhuǎn)速,以及可供選擇的電動(dòng)機(jī)型號(hào)→選擇電動(dòng)機(jī)型號(hào)→顯示總傳動(dòng)比→輸入帶傳動(dòng)部分傳動(dòng)比→分配出減速器部分的傳動(dòng)比并顯示傳動(dòng)裝置的運(yùn)動(dòng)和動(dòng)力設(shè)計(jì)的數(shù)據(jù)表格。最終設(shè)計(jì)完成如圖1所示:
(2)部分代碼注釋。//////原始數(shù)據(jù)部分:life_btn.addEvent
Listener(Event.CHANGE,selectlife);function selectlife(e:Event){ life=life_btn.value;} hour_btn.addEventListener(Event.CHANGE,selecthour);function selecthour(e:Event){ hour=hour_btn.value;} //////確定電動(dòng)機(jī)容量(功率)、電動(dòng)機(jī)轉(zhuǎn)速部分:ddjjs_btn.addEventListener(MouseEvent.CLICK,zfAdd);function zfAdd(event:MouseEvent):void{var myArrays:Array=new Array();//////變量定義var i:int=0;//////傳動(dòng)比;var f
:Number=Number(f_txt.text);//////f為運(yùn)輸帶拉力F;var v:Number=Number(v_txt.text);//////v為運(yùn)輸帶速度V;var d:Number=Number(d_txt.text);//////d為卷筒直徑D。if((n1<750)(n2>750)){/////////判斷750r/min的轉(zhuǎn)速是否在允許范圍內(nèi)for (i=0;i<=12;i++){var gonglv750:Number;gonglv750=
Number(ddj750[i][2]);//////////循環(huán)讀取ddj750數(shù)組的數(shù)據(jù)并賦予變量gonglv750//////////if(gonglv750>=p){。myArrays.push({“電動(dòng)機(jī)型號(hào)”:ddj750[i][0],“同步轉(zhuǎn)速\n(r/min)”:ddj750[i][1],“額定功率\n(kW)”:ddj750[i][2],“滿載轉(zhuǎn)速\n(r/min)”:ddj750[i][3],“堵轉(zhuǎn)轉(zhuǎn)矩\n(額定)”:ddj750[i][4],“最大轉(zhuǎn)矩\n(額定)”:ddj750[i][5]});……。///////////////////////傳動(dòng)比分配部分//////////////////////// i0_txt.addEventListener(Event.CHANGE,chhd);function chhd(e:Event){var i00:Number=Number(i0_txt.text);……。(3)其他部分。使用類似的設(shè)計(jì)思路與編程方法,分別設(shè)計(jì)其余部分參數(shù)化設(shè)計(jì),不再贅述。
參 考 文 獻(xiàn)
[1]濮良貴.機(jī)械設(shè)計(jì)(第八版)[M].北京:高等教育出版社,2006(5)
[2]陸玉.機(jī)械設(shè)計(jì)課程設(shè)計(jì)指導(dǎo)書(shū)[M].北京:機(jī)械工業(yè)出版社,2005(10)
[3]朱治國(guó),繆亮.FlashActionScript3.0編程技術(shù)[M].北京:清華大學(xué)出版社,2008(5)
[4]Adobe公司.Flash9.0 Action Script3.0官方教程.2008(6)