船舶軸系CAD設(shè)計系統(tǒng).ppt
CAD,1,2020/7/22,基AutoCAD VBA的船舶軸系CAD設(shè)計,CAD,2,2020/7/22,船舶軸系CAD的發(fā)展,船舶軸系的設(shè)計研究工作自從有造船業(yè)開始就作為造船研究工作的重點。軸系設(shè)計的可靠性、安全性、耐用性等是現(xiàn)代軸系設(shè)計的主要追求目標。計算機時代的到來 ,使造船業(yè)發(fā)生了翻天覆地的變化。船舶CAD在繪圖方面還沒有得到充分發(fā)揮,因此本論文將就船舶CAD技術(shù)進行探討,尤其是在繪制軸系三維圖方面將作詳細研究。,CAD,3,2020/7/22,AutoCAD及開發(fā)語言簡介,1.AutoCAD的發(fā)展及功能概述 2.開發(fā)語言介紹,CAD,4,2020/7/22,1.AutoCAD的發(fā)展及功能概述,AutoCAD自1982年問世以來,已經(jīng)進行了十多次升級,從而使其功能逐漸強大,且日完善。如今,AutoCAD以廣泛應用于機械、建筑、電子、航天、造船、石油化工、土木工程、冶金、農(nóng)業(yè)氣象、紡織、輕工業(yè)等各個領(lǐng)域。在我國,AutoCAD已成為工程設(shè)計領(lǐng)域應用最廣泛的計算機輔助設(shè)計軟件之一。,CAD,5,2020/7/22,2.開發(fā)語言介紹,用VBA開發(fā)AutoCAD應用程序; 用VisualLISP開發(fā)AutoCAD應用程序; 用ObjectARX開發(fā)AutoCAD應用程序。,CAD,6,2020/7/22,用VBA開發(fā)AutoCAD應用程序,VBA的全稱是Visual Basic for Application,是VB的特殊形式,它將VB環(huán)境植入應用程序中,使二者緊密集成在一起。采用VB實現(xiàn)Windows平臺上諸應用程序的集成,可消除其間的結(jié)合空隙,從而將所有程序都集成在統(tǒng)一的操作環(huán)境中。它有兩大方面優(yōu)點:第一,與VB有著幾乎相同的開發(fā)環(huán)境和語法,具備功能強大和易于掌握的特點。第二,在于它的for Application功能,即它的針對性非常強。它駐留在主程序的內(nèi)部,使其結(jié)構(gòu)精簡,且代碼運行效率非常高。,CAD,7,2020/7/22,用VisualLISP開發(fā)AutoCAD應用程序,AutoLISP編程語言和or AutoLISP嵌套于AutoCAD內(nèi)部,它不僅具備一般高級編程語言的基本結(jié)構(gòu)和功能,而且還具有強大的圖形處理功能。由于AutoLISP具有易于掌握的特點,因此成為AutoCAD用戶中使用較為廣泛的編程語言之一。,CAD,8,2020/7/22,用ObjectARX開發(fā)AutoCAD應用程序,ARX(AutoCAD Runtime eXtension)是一種面向?qū)ο蟮腃語言環(huán)境。 ObjectARX包含一組動態(tài)連接庫(DLL),這些庫與AutoCAD在同一地址空間內(nèi)運行并能直接利用AutoCAD核心數(shù)據(jù)庫結(jié)構(gòu)和代碼。庫中包含一組通用工具,使得二次開發(fā)者可以充分利用AutoCAD開放結(jié)構(gòu),直接訪問AutoCAD數(shù)據(jù)庫結(jié)構(gòu)、圖形系統(tǒng)以及CAD幾何造型核心,以使能在運行期間實時擴展AutoCAD具有的類似其功能以及創(chuàng)建全面繼承AutoCAD固有命令之特權(quán)的新命令.,CAD,9,2020/7/22,結(jié)論:,鑒于以上語言的各自特點,所以本畢業(yè)設(shè)計采用VBA開發(fā)AutoCAD。,CAD,10,2020/7/22,船舶軸系設(shè)計規(guī)范選擇,1.剛質(zhì)海船入級與建造規(guī)范 2.長江水系鋼船建造規(guī)范 3.長江水系小型鋼船建造規(guī)范,CAD,11,2020/7/22,船舶軸系CAD設(shè)計系統(tǒng)結(jié)構(gòu),1、船舶軸系CAD系統(tǒng)簡介 2、系統(tǒng)流程圖及主要模塊,CAD,12,2020/7/22,1、船舶軸系簡介,船舶軸系CAD設(shè)計系統(tǒng)就是以船舶動力裝置為基礎(chǔ),并且參照了修造 船手則等書籍,編制本軟件。,CAD,13,2020/7/22,本論文根據(jù)船舶軸系的設(shè)計特點,建立船舶軸系CAD設(shè)計系統(tǒng)。其目的是實現(xiàn)船舶軸系的設(shè)計,借助支撐軟件AutoCAD的強大功能完成工程圖紙的繪制功能。整個過程通過人機對話的方式,可以完成用戶船舶軸系的設(shè)計。由于時間有限,本設(shè)計只對中間軸的進行了編程設(shè)計,對其他類型的軸系的設(shè)計工作等還未能完成,這是我今后進一步工作的方向。,CAD,14,2020/7/22,2、系統(tǒng)流程圖及主要模塊,1、設(shè)計流程圖 2、主要模塊,CAD,15,2020/7/22,1、軸系CAD系統(tǒng)流程圖,CAD,16,2020/7/22,2、軸系CAD的主要模塊,CAD,17,2020/7/22,1、軸系繪制模塊,軸系繪制模塊所需參數(shù)的數(shù)值傳遞,在本論文中,由于過程中的參數(shù)很多,并且在很多過程中都會用到相同的參數(shù),因此,通過在主程序中定義一系列的公共變量,從數(shù)值輸入對話框中獲得所需要的值,賦予公有變量,以此來解決本設(shè)計中的數(shù)值傳遞問題。,CAD,18,2020/7/22,例:,Public Dz As Double Public D1 As Double Public D2 As Double Public D3 As Double Public b As Double Public b1 As Double Public R As Double,CAD,19,2020/7/22,法蘭的繪制程序,主要運用圓柱體的布耳運算的差運算以及環(huán)形矩陣: CylObj1.Boolean acSubtraction, RetObject1(I) CylObj1.Boolean acSubtraction, RetObject2(I) RetObject1 = CylObj3.ArrayPolar(z + 1, angle, cent1),CAD,20,2020/7/22,中間軸的繪制程序,主要運用旋轉(zhuǎn)及鏡像的方法: sd1.Rotate3D axis1, axis2, pp Set Mirrsd1 = sd1.Mirror3D(MirrP1, MirrP2, MirrP3),CAD,21,2020/7/22,數(shù)據(jù)庫的建立與數(shù)據(jù)輸入,1。運用以Jet引擎為基礎(chǔ)的數(shù)據(jù)訪問對象(DAO)方式,該方式只要用于本地數(shù)據(jù)庫的創(chuàng)建與管理。列: mdbname = InputBox(“請輸入數(shù)據(jù)庫文件名:”) Set NewDb = NewWS.CreateDatabase(mdbname, dbLangGeneral) 2。數(shù)據(jù)的輸入,中間軸的尺寸要輸入建好的數(shù)據(jù)庫里以供查閱。,CAD,22,2020/7/22,數(shù)據(jù)庫例子,CAD,23,2020/7/22,附圖,CAD,24,2020/7/22,總結(jié),經(jīng)過幾個月的畢業(yè)設(shè)計,不僅鍛煉了自己的學習與解決問題的能力,也鍛煉了自己堅強意志的品質(zhì),設(shè)計過程有時雖然枯燥艱難但成功的喜悅更令人難忘,這將永遠激勵我不向困難低頭永往直前! 同時由于時間倉促,能力有限,錯誤在所難免,請老師和同學批評指正。 感謝各位老師和同學!祝大家一切順利!,