


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、(1)選擇右視面作為繪制草圖的平面;(2)根據(jù)蝸殼圓弧面截面幾何尺 寸,繪制可容納其截面圓形;(3)禾I用拉伸凸臺(tái)/基體命令,根據(jù)蝸殼的厚度把 草圖拉伸;(4)選擇前視面作為繪制草圖的平面;(5)根據(jù)蝸殼出料截面的幾 何尺寸,繪制草圖;(6)禾I用旋轉(zhuǎn)凸臺(tái)/基體命令,把草圖旋轉(zhuǎn)3 6 0。生成出料口。外殼造型設(shè)計(jì)外殼造型由外端面掃描切除生成,主要步驟如下:(1)選擇前視面作為繪制 草圖的平面。(2)根據(jù)蝸殼木模輪廓的幾何尺寸,繪制掃描引導(dǎo)線。(3)選擇右視面作 為繪制草圖的平面。(4)根據(jù)蝸殼截面的幾何尺寸,繪制外端面。(5)利用切 除-掃描命令,生成外殼。內(nèi)腔造型設(shè)計(jì)(1)I-W端面內(nèi)腔造型
2、由內(nèi)端面掃描切除生成,主要步驟: 選擇前視面作為繪制草圖的平面; 根據(jù)蝸殼木模輪廓的幾何尺寸,繪制掃描引導(dǎo)線;選擇右視面作為繪制草 圖的平面; 根據(jù)蝸殼木模截面的幾何尺寸,繪制內(nèi)端面;利用切除-掃描命令,生成 I-W端面內(nèi)腔。(2)W-X端面內(nèi)腔造型由內(nèi)端面放樣切除生成主要步驟: 選擇前視面作為繪制草圖的平面; 根據(jù)蝸殼木模輪廓的幾何尺寸,繪制掃描引導(dǎo)線;選擇端面作為繪制草 圖的平面; 根據(jù)蝸殼木模端面截面的幾何尺寸,繪制內(nèi)端面; 選擇上視面作為繪制草圖的平面; 根據(jù)蝸殼木模毗端面截面的幾何尺寸,繪制內(nèi)端面;利用切除-放樣命令,生成 毗端面內(nèi)腔;同理,利用切除一放樣命令可生成毗一X端面內(nèi)腔。
3、其模型,如圖4所示。圖4內(nèi)腔模型4結(jié)語(yǔ)Solidworks軟件為渣漿泵的三維建模帶來(lái)了極大的方便,同 時(shí),可以把所建立的實(shí)體轉(zhuǎn)化為iges等格式,可直接用于有限元強(qiáng)度分析,為進(jìn)一步展開(kāi)對(duì)渣漿泵的研究工作提供了可靠保證。參考文獻(xiàn)1關(guān)醒凡現(xiàn)代泵技術(shù)手冊(cè)M 北京:宇航出版社,1 9 9 52劉長(zhǎng)征譯.精通Solidworks2003 M .北京:清華大學(xué)出 版社,2 0 0 4VC和F ORTRAN混合編程及其在微機(jī)電系統(tǒng)中的應(yīng)用 蔡占軍翁海珊俞必強(qiáng)(北京科技大學(xué)機(jī)械工程學(xué)院,北京1 0 0 0 8 3 )VCandFORTRANmixedlanguageprogrammingandltsappli
4、cationtoMEMSCAIZhan-jun,WENGHai-shan,YUBi-qian(MechanicalEngineeringSchool,Unive rsityofScienceandTechnologyBeijing,B eijingl00083,China)!【摘要】對(duì)VC和FORTRAN混合編程中的函數(shù)傳遞問(wèn)題,進(jìn)行了深入的 研究,研究出了一種從VC程序到FORTRAN程序的函數(shù)傳遞技術(shù)。運(yùn)用這一 技術(shù)實(shí)現(xiàn)了從VC程序向F ORTRAN優(yōu)化設(shè)計(jì)程序傳遞優(yōu)化模型,進(jìn)行優(yōu)化計(jì)算,為FORTRAN優(yōu)化程序的可視化提供 了一種解決途徑。實(shí)例說(shuō)明技術(shù)的應(yīng)用價(jià)值。關(guān)鍵詞:混合編程;函數(shù)傳
5、遞;優(yōu)化設(shè)計(jì)可視化;微機(jī)電系統(tǒng)Abstractlltrmakesasearchforpassin goffunctioninVC & F ORTRANmixedlanguage programming.Ithasbeensolvedthatpassingofoptimalm odelfromVCtoFORTRANprogram.Awayofvis ualizationaboutFORTRANprograminoptim aldesignhasbeenfound.AnexampleaboutMEMSshowstheusingvalueofthetechnology-Keywords:Mixedl
6、anguageprogramming;Passingoffunction;Visualizationinopt imaldesign;MEMS中圖分類號(hào):TH112文獻(xiàn)標(biāo)識(shí)碼:A*來(lái)稿日期:2007 07 29文章編號(hào):10 01 3997 (2008) 04 0047 03在VC編制界面調(diào)用F ORTRAN程序在后臺(tái)進(jìn)行運(yùn)算中,計(jì)算所需的數(shù)據(jù) 可以從界面?zhèn)鬟f到程序中,這些方法在很多中文獻(xiàn)中都有詳細(xì)的介紹。但是,迭代 計(jì)算、優(yōu)化計(jì)算等由于其需要ff ff ff ff ff ff ff ff If If ff ff ff ff ff ff ff ff ff ff ff ff ff ff If I
7、f ff ff ff ff ff ff ff ff ff ff ff ff ff ff If ff If ff ff ff ff ff ff ff ff If If ff ff ff ff ff7f T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf T7ff Tf T7ff Tf T7ff Tf Tf第4期2 0 0 8年4月47 MachineryDesign &Manufacture機(jī)械設(shè)
8、計(jì)與制造$%$%$%計(jì)算機(jī)應(yīng)用計(jì)算的函數(shù)經(jīng)常發(fā)生變化,這就需要將函數(shù)從界面?zhèn)鬟f到F ORTRAN程 序。而函數(shù)的傳遞和上述數(shù)據(jù)的傳遞方法有很大的區(qū)別,未見(jiàn)有成熟方法。為此,本文給出了一種解決函數(shù)傳遞問(wèn)題的方法。1VC與F ORTRAN語(yǔ)言編程的實(shí)現(xiàn)方法混合語(yǔ)言編程是采用兩種或兩種以上的編程語(yǔ)言組合編程,彼此相互調(diào)用,進(jìn) 行參數(shù)傳遞,共享數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)信息,從而形成一種程序?qū)嶓w的過(guò)程。VC與F ORTRAN混合語(yǔ)言編程的實(shí)現(xiàn)方法主要有三種。第一種方法是目 標(biāo)文件調(diào)用,它把FORTRAN目標(biāo)模塊和VC + +程序直接連接在一起。第二 種方法是執(zhí)行文件調(diào)用,是由VC直接調(diào)用F ORTRAN的可執(zhí)行文
9、件。第三種方法是動(dòng)態(tài)鏈接庫(kù)(DLL,dynamiclinklibrar y)調(diào)用,先將FORTRAN程序創(chuàng)建為動(dòng)態(tài)鏈接庫(kù),再由VC將其定義為外部函數(shù)來(lái)調(diào)用。目標(biāo)文件調(diào)用法,需要把所有的FORTRAN程序先編譯成目標(biāo)文件,事先 添加到VC程序中,適合數(shù)量較少的FORTRAN程序的調(diào)用。調(diào)用可執(zhí)行文件 的方法比較簡(jiǎn)單,只要把FORTRAN程序編譯成EXE類型的可執(zhí)行文件,就可以由VC的調(diào)用函數(shù)直接調(diào)用,應(yīng) 用范圍很廣。調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)的方法,是把FORTRAN程序由CompaqVisualFortran軟件編譯成 DLL動(dòng)態(tài)鏈接庫(kù)文件,由VC的專用函數(shù)調(diào)用,具有效率高、占用內(nèi)存低的優(yōu)點(diǎn)。但是,
10、由于DLL文件把FRTRAN程序封裝到一起 了,只有傳遞數(shù)組和數(shù)據(jù)的接口,但是函數(shù)的傳遞很難實(shí)現(xiàn)。由于要進(jìn)行函數(shù)的傳遞,通過(guò)反復(fù)比較以上方法,采用第二種方法來(lái)實(shí)現(xiàn)這兩 種語(yǔ)言的編程。2函數(shù)傳遞的實(shí)現(xiàn)2.1可執(zhí)行文件調(diào)用調(diào)用可執(zhí)行文件的方法應(yīng)用十分方便,由于原來(lái)的F ORTRAN程序不用作 太大的改動(dòng),所以工作量也較少。在調(diào)用中需要解決兩個(gè)問(wèn)題:一是由F ORTRAN程序是在DOS操作系統(tǒng) 下運(yùn)行的,所以在調(diào)用時(shí)出現(xiàn)黑屏現(xiàn)象,影響程序界面的美觀。二是程序的不同步 問(wèn)題。在調(diào)用FORTRAN程序時(shí),當(dāng)它還沒(méi)有運(yùn)行完的時(shí)候,VC程序就開(kāi)始 順序執(zhí)行下邊的程序,造成輸出結(jié)果的錯(cuò)誤。只有讓VC程序等待F
11、ORTRAN 程序結(jié)束,再往下運(yùn)行才能解決這個(gè)問(wèn)題。解決的方法是,在利用ShellExecuteEx(&ShExecIn fo)函數(shù)調(diào)用FORTRAN程序時(shí),將ShExe cln fo的nShow屬性設(shè)置成H ide(隱藏),就不會(huì)出現(xiàn)DOS界面了,也就不會(huì)出現(xiàn)黑屏了。利用WaitF orSingleObject(ShExecInfo.hProcess,I NFINITE )這一函數(shù),可以實(shí)現(xiàn)對(duì)F ORTRAN程序的等待,從而保證程序調(diào)用時(shí)的同步。2.2函數(shù)傳遞的實(shí)現(xiàn)過(guò)程函數(shù)是一種表達(dá)式,它的傳遞與數(shù)組和數(shù)據(jù)的傳遞有很大的區(qū)別,后者的傳遞 只要遵守兩種語(yǔ)言的約定就可以實(shí)現(xiàn)。而表達(dá)式的傳遞則不然
12、,因?yàn)?,表面上看?來(lái),表達(dá)式只是一些字符和運(yùn)算符號(hào)的排列,而實(shí)際上,這些字符和符號(hào)是需要編譯器在堆棧中進(jìn)行識(shí) 別和運(yùn)算的。不能采用傳遞數(shù)組和數(shù)據(jù)的方法傳遞表達(dá)式的,因?yàn)榧词箓鬟f過(guò)去, FORTRAN程序也只把它們當(dāng)作普通的字符看待,而不會(huì)對(duì)它們進(jìn)行運(yùn)算操 作。當(dāng)然,也可以制作一個(gè)編譯器進(jìn)行解析,但是這樣會(huì)大大降低程序的運(yùn)行效 率,并且,制作一個(gè)良好的編譯器是很困難的。FORTRAN源程序在編譯時(shí),先生成目標(biāo)文件,然后再將目標(biāo)文件連接,生成可執(zhí)行文件。生成的目標(biāo)文件和可執(zhí)行文件可以接口進(jìn)行數(shù) 據(jù)傳遞。但是,要想進(jìn)行函數(shù)的傳遞已經(jīng)很困難了。因此,考慮在編譯前,將函數(shù) 傳遞過(guò)去。為了函數(shù)傳遞的方便
13、起見(jiàn),應(yīng)將FORTRAN源程序中需要接收函數(shù) 的部分,單獨(dú)寫成函數(shù)子程序,供主程序調(diào)用,在函數(shù)傳遞過(guò)程中,只向函數(shù)子程 序?qū)懭牒瘮?shù),主程序就不受影響了。函數(shù)從界面寫入到FORTRAN函數(shù)子程序 后,由VC程序啟動(dòng)批處理文件對(duì)函數(shù)子程序和主程序進(jìn)行編譯、連接,生成可執(zhí) 行文件VC程序再調(diào)用該可執(zhí)行文件,這樣就完成了函數(shù)的傳遞和程序的運(yùn)行。 下面對(duì)這一過(guò)程進(jìn)行詳細(xì)說(shuō)明,如圖1所示。圖1函數(shù)傳遞的實(shí)現(xiàn)過(guò)程Fig.lPassingoffunctionprocess從界面上輸入函數(shù)表達(dá)式,界面如圖2所示。在輸入函數(shù)表達(dá)式的時(shí)候,字符 和運(yùn)算符按F ORTRAN語(yǔ)言的標(biāo)準(zhǔn)進(jìn)行輸入,具體的標(biāo)準(zhǔn)可查閱F OR
14、TRA N語(yǔ)言手冊(cè)。需要說(shuō)明的是,F(xiàn)ORTRAN語(yǔ)言對(duì)每行輸入的字符數(shù)限制是7 2個(gè),本程序在開(kāi)發(fā)的時(shí)候,考慮了這一問(wèn)題。編寫了專門的StanardFunc()函數(shù) 對(duì)其進(jìn)行了格式化處理,以保證按FORTRAN語(yǔ)言要求寫入函數(shù),因此,輸入 函數(shù)時(shí)可整行輸入,不必考慮字符的個(gè)數(shù)。圖2函數(shù)的輸入界面Fig.2Interfacetofunctioninputting傳遞給FORTRAN函數(shù)子程序。點(diǎn)擊添加按鈕,通過(guò)調(diào)用VC語(yǔ)言編寫的 WriFunc()函數(shù),讀取輸入的函數(shù),經(jīng)StanardFunc()函數(shù)格式化后寫 入F ORTRAN程序的函數(shù)子程序中。調(diào)用DOS批處理文件。建立DOS操作系統(tǒng)下的批
15、處理文件Calcu.b ak,它的功能是啟動(dòng)FORTRAN編譯器將FORTRAN程序編譯、連接成 可執(zhí)行文件。在VC語(yǔ)言編寫的程序中,調(diào)用Calcu.bak批處理文件,對(duì)FORTRAN主程序和函數(shù)子程序進(jìn)行編譯、連接,生成可執(zhí)行文件F unction.exe。調(diào)用批處理文件的 方法和調(diào)用可執(zhí)行文件是一樣的。在VC程序中通過(guò)VC語(yǔ)言的內(nèi)部函數(shù)ShellExecuteEx程序結(jié)束調(diào)用F ORTRAN程序運(yùn)行編譯F ORTRAN程序?yàn)榭蓤?zhí)行文件VC調(diào)用DOS批處理文件傳遞給 F ORTRAN函數(shù)子程序VC界面輸入函數(shù)48第4期蔡占軍等:VC和F ORTRAN混合編程及其在微機(jī)電系統(tǒng)中的應(yīng)用(& Sh
16、ExecIn fo)調(diào)用可執(zhí)行文件F unction.exe,運(yùn) 行F ORTRAN程序得到計(jì)算結(jié)果。F ORTRAN程序需要的輸入數(shù)據(jù)直接由 界面輸入,然后傳遞過(guò)去,數(shù)據(jù)的傳遞可參考參考文獻(xiàn)1一2。計(jì)算的結(jié)果回 傳給VC程序,顯示在界面上,并且可輸出保存為結(jié)果文件。還可以在VC程序中 編寫后處理模塊,對(duì)結(jié)果進(jìn)行分析和圖形化處理,實(shí)現(xiàn)最終結(jié)果的可視化處理。通過(guò)以上過(guò)程,完成了從VC程序向FORTRAN程序的函數(shù)傳遞,實(shí)現(xiàn)了 兩種編程語(yǔ)言混合編程的函數(shù)傳遞。2.3優(yōu)化設(shè)計(jì)程序中的函數(shù)傳遞在F ORTRAN優(yōu)化設(shè)計(jì)程序中,包括目標(biāo)函數(shù)和約束函數(shù)在內(nèi)的優(yōu)化模型 由于具體問(wèn)題的不同,經(jīng)常需要改變。這就
17、需要在每次模型改變的時(shí)候,重新打開(kāi)FORTRAN源程序,找到需要修改的模型進(jìn)行修改,十分不方便。對(duì)于多目 標(biāo)、多學(xué)科的優(yōu)化,由于其模型規(guī)模很大,修改起來(lái)更是不易。因此,利用界面輸入優(yōu)化模型進(jìn)行優(yōu)化計(jì)算,可以給人們帶來(lái)很大的便利。由 于F ORTRAN自身編制圖形界面的能力十分有限,而VC語(yǔ)言具有良好的圖形 界面和系統(tǒng)管理能力,所以采用VC語(yǔ)言編制界面,調(diào)用FORTRAN優(yōu)化程 序,可以解決這一問(wèn)題。將上述函數(shù)傳遞的方法應(yīng)用到優(yōu)化模型的傳遞中,可以很 方便地實(shí)現(xiàn)優(yōu)化模型的輸入和修改。3應(yīng)用實(shí)例微機(jī)電系統(tǒng)(MEMS)中的硅微壓力傳感器,有著廣泛的應(yīng)用。下面對(duì)它的 主要部件-圓形振動(dòng)膜進(jìn)行優(yōu)化設(shè)計(jì),
18、如圖3所示。圓形振動(dòng)膜的選擇單晶硅為材料,其中楊氏模量E= 1 9 0 0 0 0 MPa,泊 松比v = 0.25,最大徑向應(yīng)力(! rr)max=7 000MPa。圓形振動(dòng)膜的半徑為a,取值范圍(15 03 0 0 ) m;厚度為h,允許變化范圍是(618) m。圓形膜受到均布載荷P發(fā)生彎曲。要求在滿足最大徑向應(yīng)力 c的條件下計(jì)算圓形膜所能承受的 最大均布載荷P。圖3硅微壓力傳感器振動(dòng)膜Fig.3VibrationfilmofMicrosiliconpr essuresensor以膜可承載的壓力載荷,即壓力傳感器可測(cè)的最大壓力建立目標(biāo)函數(shù),以膜半 徑a,厚度h為設(shè)計(jì)變量,建立優(yōu)化的數(shù)學(xué)模型。最大徑向應(yīng)力位于圓的邊緣,(! rr)max = 3W(1)其中,W=( !a2)p最大撓度發(fā)生在中間wmax=3W(m2 l) a2(2 )式中:E 楊氏模量m=l/v v為泊松比。建立如下優(yōu)化模型:設(shè)計(jì)變量xl,x2 = a,h目標(biāo)函數(shù) minf(x)=min|l|=1.19X10 10xl22約束函數(shù) st.g1 (X)=x1 300! 0g2(X)=x1 + 150! 0g3(X)=x1 18 ! 0g4(X)=x1 + 6 ! 0g5 (X)=1.850329 X1 0 5 x 1 4 30x23 ! 0g6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動(dòng)合同范本002
- 中標(biāo)人支付合同范本
- 割草合同范例
- 印章保管合同范本律師
- 發(fā)電機(jī)保養(yǎng)合同范本
- 合資做房子合同范例
- 到期不住合同范本
- 醫(yī)院工程材料采購(gòu)合同范本
- 廠房阻力合同范本
- 人贅婿合同范本
- 個(gè)人應(yīng)聘簡(jiǎn)歷電工
- 2025年上半年河南省高校畢業(yè)生“三支一扶”招募1100人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 高血壓的用藥指導(dǎo)任務(wù)三高血壓的藥物治療講解
- 《馬云創(chuàng)業(yè)經(jīng)歷》課件
- 云南省大理白族自治州2024-2025學(xué)年八年級(jí)上學(xué)期1月期末考試英語(yǔ)試卷(無(wú)答案)
- 無(wú)人機(jī)行業(yè)市場(chǎng)分析指南
- 踇外翻病人護(hù)理查房
- 廣西河池市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版專題練習(xí)(上學(xué)期)試卷及答案
- 施工安全管理培訓(xùn)資料
- 2024中考物理真題匯編:電與磁(含解析)
- 中建10t龍門吊安拆安全專項(xiàng)施工方案
評(píng)論
0/150
提交評(píng)論