版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
專用繪圖工具開發(fā)設(shè)計PAGE44PAGE43第一章AutoCAD二次開發(fā)概述AutoCAD是一個通用的CAD平臺,它不僅具有強大的繪圖、編輯功能,而且具有開放的體系結(jié)構(gòu),允許用戶對其進行二次開發(fā),以滿足繪圖過程中的特殊要求。AutoCAD榮登全球繪圖軟件的龍頭寶座,主要是因為它具有開放的體系結(jié)構(gòu)。它允許用戶和開發(fā)者采用高級編程語言對其進行擴充和修改,即二次開發(fā),能最大限度地滿足用戶的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,目前最新版本是AutoCAD2007。1.1AutoCAD簡介AutoCAD是美國AUTODESK公司1982年在微機上開發(fā)的繪圖軟件包,AutoCAD的版本不斷更新,更新的版本功能逐步增加,現(xiàn)已成為強有力繪圖工具,在國際上廣為流傳。AutoCAD廣泛應(yīng)用于建筑、機械、電子、藝術(shù)造型及工程管理等領(lǐng)域,是微機上最為流行的繪圖軟件之一。使用AutoCAD對用戶的計算機和英語不作要求,現(xiàn)在已有了中文版的AutoCAD軟件,可應(yīng)用中文直接與軟件對話,使用相當方便。掌握好AutoCAD的關(guān)鍵就是實踐,通過實踐掌握各種命令的應(yīng)用技巧,以提高繪圖的速度。其主要功能有:一繪圖功能AutoCAD提供了豐富的基本繪圖實體,具有完善的圖形繪制功能,繪制的圖形是由預(yù)先定義好的圖形元素即實體(Entity)所組成,實體通過命令調(diào)用和光標定位即可輸入。如:點、直線、多邊形、圓弧、橢圓、文本、剖面線、尺寸等等。二編輯功能AutoCAD提供了各種修改手段,具有強大的圖形編輯功能,AutoCAD可以對圖形進行擦除、修改、拷貝、移動、鏡像、斷開、修剪、旋轉(zhuǎn)等多種編輯操作。三繪圖工具AutoCAD為用戶提供了大量的繪圖工具,如捕捉、刪格、正交、動態(tài)坐標、目標捕捉、縮放、點過濾、用戶坐標等等輔助繪圖工具。四三維功能AutoCAD可直接繪制三維圖形,它提供了一個實體造型模塊(AME),可生成典型三維實心體、拉伸體、回轉(zhuǎn)體,對這些實心體進行并差交等布爾運算就可以構(gòu)成組合體,進而可獲得剖切圖輪廓圖著色圖等。第一章AutoCAD概述五開發(fā)環(huán)境AutoCAD內(nèi)含AutoLISP語言和ADS開發(fā)系統(tǒng),便于用戶進行二次開發(fā)。用戶可以利用AutoLISP編制各種程序,從而為AutoCAD增加新的命令,也可以編制圖形數(shù)據(jù)庫。ADS是以C語言為基礎(chǔ)的開發(fā)系統(tǒng),它具有AutoLISP的大部分功能,并可使用標準C函數(shù),是開發(fā)AutoCAD的另一有效工具。另外AutoCAD還有制作幻燈、文件管理等其它功能1.2AutoCAD二次開發(fā)語言及工具簡介1.2.1AutoLISPAutoLISP的全名是ListProcessingLanguage,她出現(xiàn)于1985年推出的AutoCADR2.18中,是一種嵌入在AutoCAD內(nèi)部的編程語言,AutoLISP語言是AutoCAD“變量和表達式”功能的擴充,是通常的LISP語言的一個子集,它定義了112種函數(shù),具有與AutoCAD命令的接口、文件的I/O七種數(shù)據(jù)形式以及多種邏輯功能。以它圖形編輯性能強,可增設(shè)內(nèi)部命令的特點。一直是低版本AutoCAD的首選編程語言。AutoLISP是一種表處理語言,是被解釋執(zhí)行的,任何一個語句鍵入后就能馬上執(zhí)行,它對于交互式的程序開發(fā)非常方便。其缺點是繼承了LISP語言的編程規(guī)則而導致繁多的括號。1.2.2ADSADS的全名是AutoCADDevelopmentSystem,它是AutoCAD的C語言開發(fā)系統(tǒng),ADS本質(zhì)上是一組可以用C語言編寫AutoCAD應(yīng)用程序的頭文件和目標庫,它直接利用用戶熟悉的各種流行的C語言編譯器,將應(yīng)用程序編譯成可執(zhí)行的文件在AutoCAD環(huán)境下運行,這種可以在AutoCAD環(huán)境中直接運行的可執(zhí)行文件叫做ADS應(yīng)用程序。ADS由于其速度快,又采用結(jié)構(gòu)化的編程體系,因而很適合于高強度的數(shù)據(jù)處理,如二次開發(fā)的機械設(shè)計CAD、工程分析CAD、建筑結(jié)構(gòu)CAD、土木工程CAD、化學工程CAD、電氣工程CAD等。1.2.3ObjectARX
ObjectARX是一種嶄新的開發(fā)AutoCAD應(yīng)用程序的工具,她以C++為編程語言,采用先進的面向?qū)ο蟮木幊淘?,提供可與AutoCAD直接交互的開發(fā)環(huán)境,能使用戶方便快捷地開發(fā)出高效簡潔的AutoCAD應(yīng)用程序。ObjectARX并沒有包含在AutoCAD中,可在AutoDESK公司網(wǎng)站中去下載。它能夠?qū)utoCAD的所有事務(wù)進行完整的、先進的、面向?qū)ο蟮脑O(shè)計與開發(fā),并且開發(fā)的應(yīng)用程序速度更快、集成度更高、穩(wěn)定性更強。ObjectARX從本質(zhì)上講,是一種特定的C++編程環(huán)境,它包括一組動態(tài)鏈接庫(DLL),這些庫與AutoCAD在同一地址空間運行并能直接利用AutoCAD核心數(shù)據(jù)結(jié)構(gòu)和代碼,庫中包含一組通用工具,使得二次開發(fā)者可以充分利用AutoCAD的開放結(jié)構(gòu),直接訪問AutoCAD數(shù)據(jù)庫結(jié)構(gòu)、圖形系統(tǒng)以及CAD幾何造型核心,以便能在運行期間實時擴展AutoCAD的功能,創(chuàng)建能全面享受AutoCAD固有命令的新命令。使用ObjectARX進行應(yīng)用開發(fā)還可以在同一水平上與Windows系統(tǒng)集成,并與其它Windows應(yīng)用程序?qū)崿F(xiàn)交互操作。1.2.4VisualLISP
VisualLISP已經(jīng)被完整地集成到AutoCAD2000中,她為開發(fā)者提供了嶄新的、增強的集成開發(fā)環(huán)境,一改過去在AutoCAD中內(nèi)嵌AtuoLISP運行引擎的機制,這樣開發(fā)者可以直接使用AutoCAD中的對象和反應(yīng)器,進行更底層的開發(fā)。其特點為自身是AutoCAD2000中默認的代碼編輯工具;用它開發(fā)AutoLISP程序的時間被大大地縮短,原始代碼能被保密,以防盜版和被更改;能幫助用戶使用ActiveX對象及其事件;使用了流行的有色代碼編輯器和完善的調(diào)試工具,讓用戶很容易創(chuàng)建和分析LISP程序的運行情況。在VisualLISP中新增了一些函數(shù):如基于AutoLISP的ActiveX/COM自動化操作接口;用于執(zhí)行基于AutoCAD內(nèi)部事件的LISP程序的對象反應(yīng)器;新增了能夠?qū)Σ僮飨到y(tǒng)文件進行操作的函數(shù)。VisualLISP為AutoLISP應(yīng)用程序提供三種文件格式選項:LSP文件(.lsp)-一種包含AutoLISP程序代碼的ASCII文本文件。FAS文件(.fas)-一個LSP程序文件的二進制編譯版本。VLX文件(.vlx)-一個或多個LSP文件和/或?qū)υ捒蚩刂普Z言(DCL)文件的編譯集合。1.2.5VBA
VBA即Mcrosoftoffice中的VisualBasicforApplications,它被集成到AutoCAD2000中。VBA為開發(fā)者提供了一種新的選擇,也為用戶訪問AutoCAD2000中豐富的技術(shù)框架打開一條新的通道。VBA和AutoCAD2000中強大的ActiveX自動化對象模型的結(jié)合,代表了一種新型的定制AutoCAD的模式構(gòu)架。通過VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應(yīng)用程序,使之相互之間發(fā)生互易活動。1.2.6
Java是最早由Sun公司創(chuàng)建的一種頗具魅力的程序設(shè)計語言,她是針對嵌入系統(tǒng)而設(shè)計的。像許多開發(fā)語言一樣,Java是一組實時庫的集合,可為軟件開發(fā)者提供多種工具來創(chuàng)建軟件,管理用戶接口,進行網(wǎng)絡(luò)通訊、發(fā)布應(yīng)用程序等。對AutoCAD用戶和開發(fā)者而言,Java代表著新一代的編程語言,它主要用于開發(fā)出全新的優(yōu)秀產(chǎn)品。AutoCAD為我們提供了完整的、高性能的、面向?qū)ο蟮腃AD程序開發(fā)環(huán)境,為用戶和開發(fā)者提供了多種新的選擇,使得對AutoCAD二次開發(fā)和定制變得輕松而容易。1.3AutoLISP語言與DCL簡介1.3.1AAutoCAD為用戶提供了眾多的高級編程環(huán)境,主要有嵌套在AutoCAD之中的AutoLISP和VBA,面向?qū)ο筇卣鞯腃++編程環(huán)境ARX,以及其它通過動態(tài)數(shù)據(jù)交換(DDE)完成與AutoCAD之間通信的高級語言應(yīng)用程序等。LISP(ListProcessing,表處理解釋語言)誕生于20世紀50年代末期,是人工智能學科領(lǐng)域廣泛應(yīng)用的程序設(shè)計語言。AutoLISP語言是Autodesk公司為用戶提供的在AutoCAD平臺上進行二次開發(fā)的早期語言。AutoLISP程序源于人工智能語言LISP,是一種對AutoCAD進行定制、二次開發(fā)的非結(jié)構(gòu)化程序設(shè)計語言,它嵌套于AutoCAD內(nèi)部,是LISP語言與AutoCAD有機結(jié)合的產(chǎn)物。AutoLISP不僅具備一般高級基本結(jié)構(gòu)與功能,而且還具有強大的圖形處理功能。由于AutoLISP語法簡單易于掌握,函數(shù)功能強大,因此,是AutoCAD用戶使用較為廣泛的編程語言之一。就目前而言,與VBA和ARX相比,采用AutoLISP對AutoCAD進行工程專業(yè)領(lǐng)域的應(yīng)用程序或CAD系統(tǒng)的開發(fā)有許多明顯的優(yōu)勢,比如在功能上與ARX已相差無幾,而學習utoLISP所需計算機專業(yè)知識遠遠低于C++。VBA雖然在對話框設(shè)計能力上比AutoLISP強許多,但由于它使用ActiveX與AutoCAD交互,運行效率不如AutoLISP,且代碼保密性差。另外,從AutoCAD版本不斷升級中可看出,Autodesk公司仍在繼續(xù)擴充AutoLISP的功能。1996年底推出VisualLISP,對AutoLISP是一次重大改進,增強了AutoCAD的二次開發(fā)能力。VisualLISP(簡稱VLISP)是一個用AutoLISP語言進行程序開發(fā)的軟件工具,它提供的集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)提供有眾多工具,功能十分強大,可使用戶方便地用AutoLISP語言進行程序開發(fā)中的編寫程序代碼、調(diào)試程序等操作。1.3.2DCL對話框簡介DCL對話框具有操作直觀、方便、易于輸入和修改數(shù)據(jù)等特點,是現(xiàn)代軟件設(shè)計中必不可少的風格。對話框是一個彈出式窗口,它與用戶進行信息通信,一般被用于特定的與輸入有關(guān)的任務(wù)。AutoCAD從12版本起提供了對話框語言,用戶基于AutoCAD開發(fā)自己的應(yīng)用程序時,可以利用AutoCAD所提供的可編程對話框PDB(ProgrammableDialogBox)功能創(chuàng)建新的對話框,也可以修改一個已經(jīng)存在的對話框。AutoCAD對話框新穎直觀,在一定程度上簡化了用戶交互操作,極大地提高了軟件的使用效率。對話框是用對話框控制語言DCL(DialogControlLanguage)編寫的ASCII文件定義的。DCL語言將定義對話框以什么方式出現(xiàn)以及它包含的內(nèi)容,例如按鈕,列表,文本等。對話框的設(shè)計以約束條件為基礎(chǔ),框的尺寸及其部件的布局均應(yīng)遵循統(tǒng)一規(guī)則,用戶不需要指出每一部分的尺寸大小及定位關(guān)系,系統(tǒng)自動進行布置。AutoCAD為用戶提供的可編程對話框技術(shù)是由專用的對話框描述語言(DCL)和AutoLISP驅(qū)動函數(shù)兩部分內(nèi)容組成的。對話框的部件只定義了其行為方式,如按鈕只意味著按壓,列表只顯示相關(guān)的內(nèi)容以便用戶做出選擇等,一個對話框的使用方式實際上完全由它的應(yīng)用程序(利用AutoLISP/VLISP或ADS所編寫的程序)所決定。1.3.2.1設(shè)計對話框的最終目的,就是要產(chǎn)生一個描述對話框外觀的DCL程序文件。目前有兩種方法,即手工編碼方法和利用現(xiàn)成的設(shè)計工具PROTOBOX。為一個應(yīng)用程序設(shè)計對話框,一般需要經(jīng)歷圖1-1所示。1分析問題,弄清應(yīng)用程序所要解決的問題,確定輸入?yún)?shù)和輸出形式。對于復雜的應(yīng)用程序還需要進行模塊化,確定模塊之間的調(diào)用關(guān)系和數(shù)據(jù)聯(lián)系。2根據(jù)應(yīng)用程序所需的數(shù)據(jù)類型選擇合適的構(gòu)件,對構(gòu)件進行分類,確定對話框構(gòu)件的布局。3確定對話框及其構(gòu)件和組件的屬性。例如,確定構(gòu)件的名字,標識文字,尺寸,對齊方式等。4手工繪制對話框的草圖。5根據(jù)繪制的草圖,利用DCL語言對對話框進行編碼,生成描述對話框外觀的DCL程序文件。6對DCL進行錯誤檢查。開始開始分析問題分析問題選擇構(gòu)件選擇構(gòu)件確定布局確定屬性確定屬性繪制草圖繪制草圖編碼編碼裝載DCL文件顯示對話框修改DCL文件裝載DCL文件顯示對話框修改DCL文件正確?N正確?Y結(jié)束結(jié)束圖1-1對話框手工設(shè)計過程1.3.2.2對話框驅(qū)動程序具有相對固定的結(jié)構(gòu)框架和嚴格的函數(shù)調(diào)用順序。其一般順序如下:1用LOAD_DIALOG函數(shù)把對話框定義文件裝入內(nèi)存,這樣,對話框定義文件中定義的所有對話框才是有定義的,程序中才能利用函數(shù)返回的文件表識號彈出其中的對話框,并在所有操作結(jié)束后卸載DCL文件,從內(nèi)存中清除該文件中的對話框。2利用NEW_DIALOG函數(shù)顯示出已裝入的DCL文件中定義的特定對話框,使之成為當前對話框。檢查NEW_DIALOG函數(shù)的返回值是非常重要的,如果返回值為nil,則應(yīng)中斷程序執(zhí)行。如果仍強行執(zhí)行START_DIALOG函數(shù),則會產(chǎn)生意想不到的后果。3對話框構(gòu)件的初始化在成功的彈出了對話框后,即進入了對話框激活期。此后。AutoLISP與圖形屏幕操作有關(guān)的函數(shù)無法使用,而AutoLISP新提供的對話框處理也才能使用。對話框構(gòu)件初始化大致包括兩個方面的內(nèi)容:①構(gòu)件處值的設(shè)置對話框構(gòu)件的初值可以在DCL文件中通過value屬性設(shè)置,也可以利用專門的函數(shù)在驅(qū)動程序中設(shè)置。一般采用后者,因為要使初值設(shè)置合理,取決于AutoCAD的當前狀態(tài)。例如,應(yīng)把顏色設(shè)置為系統(tǒng)當前色,則需要用GETVAR得到系統(tǒng)變量“CECOLOR”的當前值;層控制對話框中當前層名和列表框中的層名,需要用程序搜索層表在能得到。這些在建立DCL文件時都無法知道的。②動作構(gòu)件動作表達式的設(shè)定動作構(gòu)件是用來俘獲事件的,或者說它們是靠事件驅(qū)動的。但是,某一事件(例如锨擊了按鈕或選擇了列表框的選項)發(fā)生后,需要做些什么事情卻是程序設(shè)計者的責任。動作構(gòu)件的動作設(shè)定是用ACTION_TILE函數(shù)實現(xiàn)的。不設(shè)定動作的構(gòu)件是不會有預(yù)期動作的。4對話框的激活當初始化工作完成以后,還需要START_DIALOG函數(shù)激活對話框,把控制權(quán)交給對話框,監(jiān)視和俘獲用戶的輸入和選擇,并且構(gòu)件的動作表達式來處理用戶的操作,用變量或表保存必要數(shù)據(jù)。當用戶按下對話框的退出按鈕后,將由系統(tǒng)內(nèi)置的或用戶設(shè)置的DONE_DIALOG函數(shù)隱去對話框,終止START_DIALOG函數(shù)的執(zhí)行。5后處理與DCL文件的卸載只有START_DIALOG函數(shù)執(zhí)行結(jié)束后,主對話框才把控制權(quán)交回AutoCAD。此時可根據(jù)START_DIALOG函數(shù)返回值來判知用戶退出對話框的原因,然后分情況進行處理。最后,調(diào)用UNLOAD_DIALOG函數(shù)卸載DCL文件。驅(qū)動程序的基本流程如圖1-2。開始開始裝載DCL文件 裝載DCL文件 裝載成功?顯示對話框Y裝載成功?顯示對話框顯示成功?NY顯示成功?Y控件初始化控件初始化顯示錯誤消息顯示錯誤消息N顯示錯誤消息顯示錯誤消息激活對話框激活對話框卸載DCL文件卸載DCL文件結(jié)束結(jié)束圖1-2驅(qū)動程序的基本流程只有START_DIALOG函數(shù)執(zhí)行結(jié)束后,主對話框才把控制權(quán)交回AutoCAD。此時可根據(jù)START_DIALOG函數(shù)返回值來判知用戶退出對話框的原因,然后分情況進行處理。最后,調(diào)用UNLOAD_DIALOG函數(shù)卸載DCL文件。驅(qū)動程序的基本流程如圖1-2。1.4參數(shù)化繪圖系統(tǒng)簡介1.4.1概述AutoCAD參數(shù)化程序從用戶取得參數(shù)或外部文件,然后在AutoCAD圖形中生成圖像。這些參數(shù)可以是基于AutoCAD,AutoLisp或ADS的。一個參數(shù)程序可以畫一個公共零件的許多不同尺寸,不同形狀的圖。通過參數(shù)化,可以畫出一系列復雜的物體,他們共享公共的參數(shù)關(guān)系。如果只改變比例,塊是最好的解決方法。但如果這種變動需要大規(guī)模的相似塊的庫時,采用參數(shù)化可以提高柔性,減少錯誤,并產(chǎn)生巨大的效益。1.4.2理解參數(shù)化設(shè)計 參數(shù)化繪圖在現(xiàn)代機械CAD中的應(yīng)用很廣,特別是對于定型的機械產(chǎn)品設(shè)計,需要形成系列,以便針對用戶的生產(chǎn)特點提供不同大小、功率、規(guī)格的產(chǎn)品。這就要求該產(chǎn)品的CAD系統(tǒng)具有參數(shù)化的設(shè)計功能,使得產(chǎn)品的設(shè)計圖可以方便地隨著某些結(jié)構(gòu)尺寸的修改而修改并自動地重新繪出所要求的圖樣,實現(xiàn)尺寸驅(qū)動圖形的自動變化。 在當今流行CAD軟件中,每一個簡單的命令調(diào)用就是一個參數(shù)化繪圖的應(yīng)用。這就像C語言或其他高級語言中的函數(shù)的調(diào)用一樣,輸入?yún)?shù)后執(zhí)行特定的操作。對一個復雜的機械圖進行參數(shù)化設(shè)計,其實就是一些簡單的命令按照一定的拓撲關(guān)系的中和。參數(shù)化設(shè)計對象的結(jié)構(gòu)形狀一般比較定型,其尺寸關(guān)系可以用一組參數(shù)來確定。這樣參數(shù)化系統(tǒng)的繪圖功能就很明確的得以實現(xiàn)。 1.4.3 一個較復雜的參數(shù)化部件系統(tǒng)的各個部分是隨系統(tǒng)的設(shè)計而變化,但他們大致上都包括下列元素:非CAD的外部文件,包括不見數(shù)據(jù)和設(shè)計特征。一個進行提示和通信的用戶界面函數(shù)。一個讀數(shù)據(jù)文件的AutoLisp子程序。計算和繪圖函數(shù)。程序和函數(shù)的菜單界面。零件表列的屏幕幫助。材料幫助 。設(shè)計一個整體系統(tǒng)實際上就是設(shè)計其各個功能的模塊,即通常說的:模塊化設(shè)計。這樣,以后的公共模塊就可以通用,這就大大的提高了設(shè)計效率!1.4.4參數(shù)化設(shè)計的一般步驟一般的參數(shù)化設(shè)計,可以遵循以下的步驟:進行數(shù)據(jù)分析,得出設(shè)計計算以及繪圖所需數(shù)據(jù)查找相關(guān)設(shè)計手冊,得出零件圖(或其他)的參數(shù)表繪制零件圖所需的參數(shù)列出由零件參數(shù)表數(shù)據(jù)到繪圖需要使用的參數(shù)數(shù)據(jù)轉(zhuǎn)換公式根據(jù)上面的數(shù)據(jù)項設(shè)計人機交互界面(對話框)進行編程工作設(shè)計對話框驅(qū)動函數(shù)設(shè)計相關(guān)的幫助文件標注程序調(diào)試程序檢驗
第二章專用繪圖工具開發(fā)2.1鈑金展開放樣概述在國民經(jīng)濟各個部門的建設(shè)和檢修中,都少不了用金屬板制做各種構(gòu)件。正確地展開放樣是制作這些構(gòu)件的第一道工序,它的正確與否對構(gòu)件精確程度和質(zhì)量起著重要作用。所謂展開放樣是在不改變這些構(gòu)件表面積的情況下,將它們依次攤開在一個平面上,也稱作構(gòu)件的表面展開。展開可分為可展曲面的表面展開和不可展曲面的近似展開兩種。可展曲面是指直紋面中的柱面、錐面和切面曲線等,這些曲面上的相鄰接的兩條素線或平行、或相交。因此兩素線越鄰近,則兩線所夾的小曲面越趨近于小平面。這些小平面能依次連接地畫在同一平面上。曲紋面和不可展的直紋面從理論上說都是不可展的,但是可以將它們分割成很多小塊,采用近似的展開法。構(gòu)件表面展開的方法一般有以下幾種。作圖法首先對需要展開構(gòu)件的形狀特點進行分析,把它分成若干個基本件;再把每一個基本的表面分割出一組供構(gòu)件展開的表面實形;然后根據(jù)基本件的視圖,用投影變換的方法求出這組表面實形的所有鄰邊線段的實長,可以畫出每一個表面實形,并把這組表面實形依次地畫在一個平面上。計算法此法同樣要對需要展開構(gòu)件的形狀特點進行分析,歸納出一套求表面實形所有鄰邊線段實長的公式,由具體構(gòu)件的已知條件求出這些鄰邊線段的實踐長,并且這些實長來畫展開圖。這種方法隨著下料工藝的改進個袖珍計算機的普及,日益被人們重視和應(yīng)用。但是有些構(gòu)件的計算公式很復雜,而且一個構(gòu)件要重復計算很多次,仍是很麻煩的工作,計算精度也較低,錯誤率也很高。系數(shù)法此法是在計算法的基礎(chǔ)上產(chǎn)生的。它是把計算公式中某些常數(shù)項合并在一起,總結(jié)出一組系數(shù)。求實出時,只要將這些系數(shù)乘以已知條件即可。由于它的計算較為簡單,很合工人師傅的心意。目前有些書籍已經(jīng)介紹這方面的系數(shù)表。但是可能限于計算工具,系數(shù)的精確位數(shù)不高。本書作者編著的,由機械工業(yè)出版社出版的《快速鈑金展開放樣》一書,向讀者介紹一部分由計算機程序產(chǎn)生的精確度為五位小數(shù)的系數(shù)表,可供讀者使用。程序法某一類構(gòu)件需要展開時,它們分解的基本件可以是一定的,而歸納出計算表面實形的各鄰邊線段實長的公式也被固定了。這類重復計第二章專業(yè)繪圖工具開發(fā)算的任務(wù),可用計算機語言事先編寫好一個程序,然后運行這個程序,計算出各線段的實長,供畫展開圖時使用。用這種方法既快速正確,又有較高的精度,是在DOS系統(tǒng)下的一個好方法。計算機輔助繪圖法(ComputerAidedDrafting)這是以計算幾何為理論基礎(chǔ),以計算機CAD軟件為平臺,進行幾何圖形的表達、分析、編輯和保存的一種技術(shù)方法。利用CAD軟件提供的各種畫圖命令功能來得到展開線的真實長度。計算機輔助設(shè)計法(ComputerAidedDesign)這是計算機輔助幾何圖解法和程序法相結(jié)合的產(chǎn)物。某一類構(gòu)件需要展開前,預(yù)先歸納出計算表面實形的各鄰邊線段實長的公式和它們之間的關(guān)系,用計算機語言事先編寫好一個程序,然后運行這個程序,計算出各線段的實長,并且在程序中調(diào)用有關(guān)畫圖命令,自動將展開圖1:1地畫在屏幕上。用這種方法既快速正確,又具有較高的精度,是一個值得提倡的方法。而本程序設(shè)計所用的就是方法(7)計算機輔助設(shè)計法(ComputerAidedDesign),本程序?qū)⒗眠@個方法編寫一個鈑金展開的程序來完成設(shè)計要求。傳統(tǒng)的作圖法和計算法已經(jīng)漸漸不再適應(yīng)當今科學進步的時代,計算機輔助設(shè)計法的研制是改變目前國內(nèi)鈑金技術(shù)落后的措施之一。但是這需要有一個認識的過程,人們必須克服惰性和習慣去探索這一方法,因為它的確十分快速正確,同時又有較高的精度,是一個值得提倡的方法。例如我的程序運行了,就可以根據(jù)對話框里的相應(yīng)數(shù)字相填寫數(shù)據(jù),達到計算展開要求。2.2鈑金展開放樣的質(zhì)量控制無論采用上述那種方法,鈑金展開放樣這道工序的質(zhì)量控制尤為重要,它的幾何尺寸和形狀準確對控制鈑金構(gòu)件的精確度和質(zhì)量起著保證作用。采用上述幾種方法時,影響鈑金零件幾何尺寸和形狀準確度的因素,除方法本身的誤差外,主要有以下幾個方面需要考慮。注意單位的統(tǒng)一,如長度單位、角度單位等等。材料本身厚度的影響及材料在成形中厚度的增厚或減薄。上述幾種方法一般結(jié)果均為展開凈值,沒有考慮咬口、翻邊、焊接收縮等余量??梢圆扇∫韵麓胧﹣砜朔鲜鲆蛩卦阝k金構(gòu)件制造過程中對尺寸和形狀精確的影響。利用調(diào)整毛料尺寸和形狀來彌補咬口、翻邊、焊接收縮等余量。在規(guī)定允許的情況下,通過加熱成形改善材料的成形性能。在成形過程中,通過采用剛性限制以減小構(gòu)件型面的畸變。制定正確的焊接工藝,減少和防止焊接變形。采用合理的模具間歇及良好的潤滑狀況。以控制零件的正確外形及厚度變化。增加過渡成形工序,合理分配工序中的材料變形量。采用綜合成形的方法提高零件成形準確度,避免材料過度減薄。采取有效措施減小熱處理中的構(gòu)件變形。采取正確度和精度較高的構(gòu)件表面展開的方法。2.3鈑金展開放樣的設(shè)計概述2.3.1本程序主要是實現(xiàn)一些鈑金的展開,其中主要是涉及到展開后的尺寸問題,而且展開后大多都是有規(guī)則的曲線,所以程序在實現(xiàn)展開的時候主要應(yīng)用的是程序循環(huán)來實現(xiàn)展開功能。2.3.21)設(shè)計需要鈑金展開放樣的基本繪圖程序和Dcl對話框設(shè)計。2)Autocad與鈑金展開放樣程序的連接。3)根據(jù)用戶所輸入的尺寸來繪制圖形并標注尺寸。2.3.3總體設(shè)計步驟主要包括圖框、主視圖的繪制、展開圖的繪制、標注尺寸和標題欄的繪制及填寫。其基本結(jié)構(gòu)如下圖2-1的總體程序設(shè)計框圖所示:2.4設(shè)置繪圖環(huán)境計算機輔助設(shè)計(CAD)技術(shù)具有快速設(shè)計和自動繪圖的功能,是幫助企業(yè)適應(yīng)飛速變化的技術(shù)要求和市場要求的產(chǎn)物。其中,AutoCAD是一種通用圖形處理軟件,功能強大,具有良好的開放性,是機械行業(yè)“甩圖板”的好幫手,在企業(yè)中使用越來越來普遍。但要繪制出符合我國機械制圖標準的工程圖,需要設(shè)置好繪圖環(huán)境才能達到事半功倍的目的,而且每畫一張新圖都要重新創(chuàng)建。在企業(yè)之間甚至企業(yè)內(nèi)部,由于不同用戶設(shè)置的繪圖環(huán)境不同給用戶的技術(shù)文件交流造成混亂與障礙的現(xiàn)象時有發(fā)生。為此可利用AutoCAD提供的模板功能將設(shè)置好的繪圖環(huán)境保存為模板文件,另一個較好的方法是對此進行二次開發(fā)。從而可大大提高繪圖效率及軟件開發(fā)效率,同時還可為技術(shù)文件的交流帶來方便。繪制主視俯視圖繪制主視俯視圖繪制圖框開始繪制標題攔填寫技術(shù)要求繪制展開圖圖2-1繪圖程序的流程2.4在設(shè)計中應(yīng)根據(jù)我國最新的機械制圖國標的規(guī)定,在開發(fā)過程中主要采用的國標有:GB10609.1-89《技術(shù)制圖標題欄》;GB/T14689-93《技術(shù)制圖圖紙幅面和格式》;GB/T14691-93《技術(shù)制圖字體》;GB/T17450-1998《機械制圖圖線》;GB/T16675.2-1996《機械制圖尺寸注法》;GB/T14665-93《計算機制圖用計算機信息交換制圖規(guī)則》。2.在AutoCAD軟件中,圖形對象的組織和管理是用圖層來實現(xiàn)的。每個圖形對象都有其特性,包括對象的圖層、顏色、線型、線寬等。由于該項設(shè)置與輸出圖效果有較大的聯(lián)系,因此在繪圖環(huán)境中的設(shè)置恰當與否至關(guān)重要。根據(jù)繪圖經(jīng)驗,在此設(shè)置好后直接按繪制樣式輸出,效果較理想,而且也可預(yù)見的。選擇計算機繪圖線寬的第4組,即粗實線0.7mm,其余為0.25mm。圖層的名字最好取為漢字,且與圖層的用途一致以便分層作圖時圖層的轉(zhuǎn)換。根據(jù)使用效果粗實線線寬改為0.4,其余改為0。最后設(shè)置的圖層效果見下圖圖2—2圖層設(shè)置顯示程序如下:(defunxianxing_banjin()(setqchklay(tblsearch"layer""粗實線"))(if(=chklaynil)(command"layer""n""粗實線""c"7"粗實線""lw""0.35""粗實線"""));if(setqchklay(tblsearch"layer""細實線"))(if(=chklaynil)(command"layer""n""細實線""c"9"細實線""lw""0.25""細實線"""));if(setqchklay(tblsearch"layer""文字"))(if(=chklaynil)(command"layer""n""文字""c"3"文字""lw""0.25""文字"""));if(setqchklay(tblsearch"layer""標注"))(if(=chklaynil)(command"layer""n""標注""c"4"標注""lw""0.25""標注"""));if(setqchklay(tblsearch"layer""中心線"))(if(=chklaynil)(command"layer""n""中心線""c"1"中心線""lt""center""中心線""lw""0.25""中心線"""));if(setqchklay(tblsearch"layer""虛線"))(if(=chklaynil)(command"layer""n""虛線""c"6"虛線""lt""dashed""虛線""lw""0.25""虛線"""));if(setqchklay(tblsearch"style""china"))(if(=stylenil)(command"style""文字""txt,chineset"""""""""""""));if(setqchklay(tblsearch"style""標注"))(if(=chklaynil)(command"-style""標注""romans.shx"2.50.715""""""));if(command"-style""hz3.5""仿宋_GB2312"3.50.70"""")(command"-style""hz5""仿宋_GB2312"50.70""""));defunxianxing_banjin2.4設(shè)置漢字字體、羅馬字體及字高。為方便使用,設(shè)置了多種字高的文字樣式。參照國家標準,根據(jù)經(jīng)驗,字體應(yīng)設(shè)為兩種樣式:TEXT字體樣式選用Romans.shx,寬度比例選0.67,傾斜角度選15°,該字體專用于標注英文字母和阿拉伯數(shù)字。HZ字體樣式選仿宋GB_2312,文字寬度系數(shù)選0.67,該字體專用于漢字內(nèi)容的書寫。2.4尺寸標注樣式的設(shè)置是二維工程制圖繪圖環(huán)境設(shè)置的重要內(nèi)容。圖樣的標注能否符合國標的關(guān)鍵在于尺寸標注樣式的設(shè)置。在軟件開發(fā)過程中只能通過尺寸標注變量的設(shè)置來完成,設(shè)置的具體內(nèi)容見下面程序說明。在實際使用中,需要設(shè)置多個尺寸標注樣式。設(shè)計的樣式見下圖。本程序只需要在運行程序的時候調(diào)用就可以了用了。圖2-3標注樣式圖(defunszhthj()(command"-style""text0""romans"00.715"""""")(command"-style""text3.5""romans"3.50.715"""""")(command"-style""text5""romans"50.715"""""")(command"-style""text7""romans"70.715"""""")(command"-style""text10""romans"100.715"""""")(command"-style""text14""romans"140.715"""""")(command"-style""text20""romans"200.715"""""")(command"-style""hz0""仿宋_GB2312"00.70"""")(command"-style""hz3.5""仿宋_GB2312"3.50.70"""")(command"-style""hz5""仿宋_GB2312"50.70"""")(command"-style""hz7""仿宋_GB2312"70.70"""")(command"-style""hz10""仿宋_GB2312"100.70"""")(command"-style""hz14""仿宋_GB2312"140.70"""")(command"-style""jzfh_style""romand"010"""""");;;設(shè)置尺寸標注式(command"dimclrd"0"dimdli"5"dimclre"256"dimexe"3"dimgap"0.5"dimasz"2.5"dimclrt"256"dimtxsty""text3.5""dimtxt"3.5"dimtad"1"dimjust"0"dimgap"1"dimtih"0"dimatfit"2"dimlunit"2"dimdec"2"dimdsep"".""dimatftt"2"dimexo"0"dimse1"1"dimse2"1"dimstyle""save""標注樣式4");command(command"dimclrd"0"dimdli"5"dimclre"256"dimexe"3"dimgap"0.5"dimasz"2.5"dimclrt"256"dimtxsty""hz3.5""dimtxt"3.5"dimtad"1"dimjust"0"dimgap"1"dimtih"0"dimatfit"2"dimlunit"2"dimdec"2"dimdsep"".""dimatftt"2"dimexo"0"dimtoh"1"dimse1"0"dimse2"0"dimstyle""save""標注樣式3")(command"dimclrd"0"dimdli"5"dimclre"256"dimexe"3"dimgap"0.5"dimasz"2.5"dimclrt"256"dimtxsty""text3.5""dimtxt"3.5"dimtad"1"dimjust"0"dimgap"1"dimtih"0"dimatfit"2"dimlunit"2"dimdec"2"dimdsep"".""dimatftt"2"dimexo"0"dimtoh"1"dimse1"0"dimse2"0"dimstyle""save""標注樣式2")(command"dimclrd"0"dimdli"5"dimclre"256"dimexe"3"dimgap"0.5"dimasz"2.5"dimclrt"256"dimtxsty""text3.5""dimtxt"3.5"dimtad"1"dimjust"0"dimgap"1"dimtih"0"dimatfit"2"dimlunit"2"dimdec"2"dimdsep"".""dimatftt"2"dimexo"0"dimtoh"0"dimse1"0"dimse2"0"dimstyle""save""標注樣式1"));defun根據(jù)國標GB10609.1-89《技術(shù)制圖標題欄》的規(guī)定,標題欄的內(nèi)容和大小相對固定,為便于對其內(nèi)容進行修改,按照國標規(guī)定用不同寬度的粗細實線繪制出輪廓,然后繪制標題欄,然后填寫標題欄的內(nèi)容即可。由于標題欄的文字內(nèi)容都相對固定,所以直接有程序輸入,用戶不用操心。繪制出來的圖見圖3-4示。程序見(“btl.lsp”)。圖2-4標題欄填寫圖2.4.5為簡化操作,設(shè)計思想是設(shè)計日期自動提取系統(tǒng)當前日期,同時也允許用戶在對話框中對系統(tǒng)當前日期進行改變,以滿足行用戶使用要求。由于允許用戶改變,所以該控件只能設(shè)計成編輯框控件。程序自動提取系統(tǒng)當前日期的實現(xiàn)方法是:利用AutoCAD系統(tǒng)變量CDATE取得計算機系統(tǒng)當前日期與時間,然后再組合成新的字符數(shù)據(jù)作為初值傳到標簽為“設(shè)計日期”編輯框控件。自動提取系統(tǒng)當前日期的程序段如下:(setqsjrq1(rtos(getvar"cdate")20);利用CDATE取得計算機系統(tǒng)當前日期與時間,并將實型數(shù)轉(zhuǎn)化為字符型sjrq(strcat(substrsjrq114)"-"(substrsjrq152)"-"(substrsjrq172)));setq;用strcat函數(shù)構(gòu)成新的“年-月-日”格式字符,既系統(tǒng)當前日期程序說明:(substrsjrq114)從字符數(shù)據(jù)sjrq1中取前4位為年份;(substrsjrq152)從字符數(shù)據(jù)sjrq1中取第5、6位為月份;(substrsjrq172)從字符數(shù)據(jù)sjrq1中取第7、8位為日期。2.4.6由于同類零部件具有基本相同的技術(shù)要求,因而對同類零部件的技術(shù)要求條款進行收整理是十分必要的。由于設(shè)計者的知識和能力有限,所以如果需要修改的話,請用戶在“banjin.lsp”中的修改技術(shù)要求,或者直接用CAD進行修改,如給用戶帶來的不便,還請用戶見諒。其技術(shù)要求原程序如下:(defundo_tx_jsyq(/ptpt1pt2)(setqpt00'(13235)pt1(polar(polarpt00(-0(/pi2))10)pi20))(command"text""s""hz5""j""m"pt000"技術(shù)要求""text""s""hz3.5"pt10"1.本鈑金展開件的左邊是三視圖,右邊是展開圖;""text"(polarpt1(-0(/pi2))5)0"2.展開圖的左右兩邊都留5MM的余量已便于加工。"""))圖2—5技術(shù)要求的填寫2.4.7圖框是幾乎每幅圖都必須繪制的基本模塊之一,具有極強的通用性,如果能用一個LISP程序來代替這樣的手工繪制,可以節(jié)省大量時間和精力,提高勞動效率,是省時省事的好方法。于是構(gòu)思設(shè)計一個關(guān)于圖框繪制的LISP程序。繪制技術(shù)圖樣時優(yōu)先選用代號為A0,A1,A2,A3,A4,自定義,六種基本幅面(提供選擇),自定義圖框的尺寸由用戶輸入。幅面代號A0A1A2A3A4自定義尺寸B*L841*1189594*841420*594297*420210*297xxx*xxx1圖框格式圖框格式有兩種:一種是保留裝訂邊的圖框,用于需要裝訂的圖樣。另一種是不留裝訂邊的圖框格式,用于不需要裝訂的圖樣。如圖2-3、2-4所示為兩種圖框的基本樣式,由于繪制圖框時,繪制某一幅面總有對應(yīng)的一組B和L,所以不需要給出其他的變量,繪制圖框的基準點定為坐標原點(0,0),只需帶入相應(yīng)的B和L,即可繪制出所需要的圖框。本次開發(fā)給定圖框為A3保留裝訂邊的圖紙,圖示如2-8,繪圖程序如下:(defundo_tk3()(setqp00'(0.00.0)b297l420a25c5)(command"layer""s""細實線""")(command"line"p00(polarp000l)(polar(polarp000l)(/pi2)b)(polarp00(/pi2)b)"c")(command"layer""s""粗實線""")(command"pline"(setqpp0(polar(polarp000a)(/pi2)c))(polarpp00(-lac))(polar(polarpp00(-lac))(/pi2)(-bcc))(polarpp0(/pi2)(-bcc))"c")(command"zoom""all"))圖2-6帶裝訂邊圖框圖2-7不帶裝訂邊圖框第三章鈑金展開放樣的繪圖第三章鈑金零件展開圖的參數(shù)化繪圖設(shè)計3.1方錐管鈑金件展開程序設(shè)計3.1.1參數(shù)的確定由空心的正四棱錐截得的棱臺稱方錐管,它由四個相等的梯形組成。梯形的上下兩底與水平面平行,它們在水平面的投影顯示實長。方錐的高與水平面平行,它們在水平面的投影顯示實長。梯形的腰為它在水平面的投影和方錐的高組成的直角三角形的斜邊。所以本例的展開只要求得梯形腰的實長,就可以畫展開圖了。在繪制圖形時因為是用的A3的圖紙,所以涉及到比例縮放的問題,設(shè)計時給參數(shù)給定一個初始值,然后根據(jù)用戶輸入的參數(shù)值與已知的數(shù)的比值,然后取比例最小的一個反回給比例編輯框。繪圖的時候根據(jù)這個比例來畫。以后的幾個鈑金的圖的繪制都是根據(jù)這個方法的到比例的,以后的就不在重復。圖3-1方錐主視圖俯視圖方錐的上底為a1,下底寬為a2,高為h.展開的腰的實長為l,展開只要繪出一個展開的梯形圖便可通過鏡像功能完成。計算的公式如下(3-1)3.1.2點位圖的確定在繪制點位圖的時候以pt點為繪圖基點其余的點都由pt計算得到,其主視圖俯視圖點位圖如3-8所示,繪制時以p9為基點繪制。展開土的繪制是以pt為基點繪制的,先繪制一個梯形,然后通過鏡相功能繪制另一個梯形,再繪制5mm的余邊,然后選擇前面的三個圖圓以p7和p8分別為鏡相第一點和鏡相第二點繪出展開圖。如3-2所示。圖3-2方錐管點位圖3.1.3對話框界面的設(shè)計在對話框的設(shè)計中,對話框的左邊為基本繪圖參數(shù)的輸入,右邊為幻燈片的顯示窗口,由確定取消按紐控制其最終的效果。在基本參數(shù)輸入的時候,其圖的比例根據(jù)參數(shù)的變化而調(diào)整比例,使圖能夠在A3的圖紙中比較合理的放置。方錐管的對話框設(shè)計如下圖3-3所示:程序如下:fz1:dialog{label="方錐管鈑金件";:row{:column{:boxed_row{label="結(jié)構(gòu)參數(shù)";:column{:edit_box{label="頂寬a1(mm):";key="dk_a1";edit_width=8;}:edit_box{label="底寬a2(mm):";key="dik_a2";edit_width=8;}:edit_box{label="方錐管高h(mm):";key="zg_h";edit_width=8;}:edit_box{label="繪圖比例:";key="bl";edit_width=8;}}//:column}:row{:boxed_column{label="是否需要展開?";ok_cancel;}//boxedcolumn}//row}/*第一列結(jié)束*/:column{:image{key="fz_image";width=30;height=10;color=0;}}/*圖象控件結(jié)束*/}//row}圖3-3方錐管鈑金件對話框示意圖3.1.4方錐管對話框驅(qū)動程序的設(shè)計 方錐管對話框驅(qū)動程序的設(shè)計對話框加載成功后的效果圖如下3-4:圖3-4方錐管對話框加載后示意圖3.2斜截圓柱鈑金件展開程序設(shè)計圓柱面構(gòu)件的展開下料是鈑金工作者在施工中常遇到的。此類構(gòu)件在制造中一般可分為鋼板卷制和成品鋼管兩種。因為鋼管有皮厚存在,所以在施工中有中、內(nèi)、外經(jīng)的分別。就是在展中要一個直徑去放樣和展開,也可能用一個直徑去展開而用另一個去放樣和求素線實長,這要根據(jù)構(gòu)件的施工圖樣和施工要求來決定中的。3.2.1參數(shù)的確定被平面斜截圓柱管的展開通用公式:(3-2)式中-—角度值對應(yīng)素線實長值;——截面和圓柱管軸線的垂面間的夾角;L——截面和圓柱管軸線的餓垂面的交線到圓柱管之間的距離;R——圓柱管放樣圖半徑;n——圓柱管半圓周等分數(shù);——圓心角等分變量(0–360°)。平面斜截圓柱管的展開示意圖及點位圖如下3-5:3.2.2點位圖的確定斜截圓柱鈑金件的展開程序用循環(huán),因為在展開時要分等分,鈑金的尺寸過大則等分數(shù)越多越精確,具體程序祥見附錄xjyzz.lsp。被平面斜截后的平面是平面橢圓。圖3-5斜截圓柱點位圖圖3-6斜截圓柱展開圖部分標柱圖3.2.3對話框界面的設(shè)計對話框界面的設(shè)計如下3-7,具體程序見附錄xjyz1.dcl。圖3-7斜截圓柱鈑金件對話框示意圖3.2.4斜截圓柱對話框驅(qū)動程序的設(shè)計對話框加載成功后的效果圖如下3-8,具體驅(qū)動程序及其繪圖程序見附錄xjyzz.lsp圖3-8斜截圓柱加載后對話框示意圖3.3正圓臺鈑金件展開程序設(shè)計3.3.1正圓臺管鈑金件的計算公式及其符號示意圖及展開圖。d2——大端直徑;d1——小端直徑;h2——錐臺兩端中心線間垂直距離;整圓錐展開半徑(3-3)上部圓錐展開半徑(3-4)展開料夾角(3-5)展開大端弦長(3-6)展開小端弦長(3-7)3.3.2點位圖的確定圓臺主視圖俯視圖的繪制以p5為基點。其具體點位圖如圖3-9,其展開圖的繪制以pt為基點進行繪制,其點位圖如圖3-10所示。圖3-9圓臺主視圖俯視圖點位圖圖3-10圓臺鈑金件展開圖點位圖3.3.3對話框界面的設(shè)計對話框界面的設(shè)計如下3-11具體程序見附錄yt1.dcl。圖3-11圓臺鈑金件對話框示意圖3.3.4圓臺管對話框驅(qū)動程序的設(shè)計對話框加載成功后的效果圖如下3-12具體驅(qū)動程序及其繪圖程序見附錄ytt.lsp圖3-12圓臺鈑金件對話框加載后示意圖3.4Y型等徑三通管鈑金件展開程序設(shè)計3.4.1這種管道的是任意角度等徑三通管的一種特殊的情況,即是主支管的交角相等,所以這種情況的時候就只需要簡單的計算展開其中的一支管道就可以了,其參數(shù)與任意角度等徑三通管的參數(shù)基本一樣,其中的角度就全是120°了,具體的見圖3-13。所以就直接利用等夾角三通管的公式就可以了進行計算。由投影圖可知只要展開一個管的1/4圓管就可以得到全部的展開圖。此鈑金件的展開與斜截圓柱鈑金件的展開類似,展開是用循環(huán),可以做到比較精確。展開計算公式(3-8)將已知的數(shù)據(jù)代入公式進行編程計算,的范圍在0°–90°內(nèi)取值做變量得到和的對應(yīng)值,展開與斜截圓柱管鈑金件類似,都是通過循環(huán)得到繪圖曲線的。3-13等徑三通管投影圖圖3-14等經(jīng)三通管鈑金件主視圖俯視圖點位圖3.4.2點位圖等經(jīng)三通管鈑金件展開圖的點位圖如下3-15所示主視圖俯視圖點位圖如3-14所示,以pt點位繪土基點展開,通過投影圖分析可知,只要求出其1/4圓管的展開就可得到全部的展開圖3-15等經(jīng)三通管展開圖點位圖3.4.3對話框界面的設(shè)計如下3-16具體程序見附錄st1.dcl。圖3-16等經(jīng)三通管鈑金件對話框3.4.4 對話框加載成功后的效果圖如下3-17具體驅(qū)動程序及其繪圖程序見附錄stt.lsp圖3-17等徑三通管鈑金件對話框加載后示意圖3.5總體設(shè)計3.5.1標題欄對話框的編寫標題欄的DCL效果圖如圖3-18,加載后的對話框圖如3-19所示。圖3-18標題欄DCL效果圖圖3-19標題欄對話框圖如圖3-18所示在完成了鈑金件的所有的展開后,需要一個可以選擇的對話框,然后就要用到對話框的嵌套,所以就要對每個的對話框進行設(shè)計,制作一個下拉列表對其進行選擇,如過沒有可供選擇的鈑金件展開圖,則彈出如圖3-19所示的對話框,具體計程序如下;圖3-20對話框顯示信息btl:dialog{label="標題欄繪制與填寫國標:GB10609.1-89";:paragraph{:row{:boxed_column{label="零件信息";:popup_list{key="ljxh";label="鈑金件名稱";edit_width=15;}:edit_box{label="材料";key="ljcl";edit_width=15;}:edit_box{label="圖樣代號";key="tydh";edit_width=15;}}:column{:boxed_column{label="設(shè)計信息";:popup_list{label="設(shè)計者";key="sjz";}:edit_box{label="設(shè)計日期";key="sjrq";width=8;}}}}}:row{:text{label="版權(quán):四川理工學院2007年4月";}}:row{:text{label="";}:ok_button{label="確定";key="accept";alignment=centered;}:cancel_button{label="取消";key="cancel";alignment=centered;}:help_button{label="幫助";key="help";alignment=centered;}:text{label="";}}}圖框繪制圖框繪制開始繪齒輪主視圖繪剖視圖繪制填寫參數(shù)表調(diào)用對話框,setqdcl_id開始確定幻燈片顯示參數(shù)初始化所有數(shù)據(jù)下拉列表賦值和顯示控制start_dialog幻燈片動態(tài)顯示控制基本參數(shù)函數(shù)求解執(zhí)行各繪圖程序結(jié)束是圖3-20標題欄對話框驅(qū)動流程3.6總體設(shè)計當對完成上面這些步驟以后,我們就可以將四個鈑金件的展開放樣綜合在一起進行連接了,首先,我們將寫一調(diào)用程序,即“banjin.lsp”,它的作用是就是調(diào)用鈑金展開的四個子程序程序,并對其進行加載,完成圖形的繪制。(defunc:banjin()(command"erase""all""""");刪完窗口中的所有圖形(setvar"cmdecho"0)(command"osmode"0)(if(not(tblsearch"style""text0"))(progn(alert"繪圖環(huán)境未設(shè)定,軟件將自動設(shè)置!") (load"鈑金/qdcx/szhthj.lsp")(szhthj) (alert"繪圖環(huán)境設(shè)置成功,點確定繼續(xù)!"));proge);if(xianxing_banjin)(do_tk3)(do_tx_jsyq)(load"鈑金/qdcx/btl.lsp")(btl'(4155)"DLVSX1.1""20"0);"20"(if(=asy0)(progn(load"鈑金/qdcx/fzz.lsp")(fzz)))(if(=asy1)(progn(load"鈑金/qdcx/xjyzz.lsp")(xjyzz)))(if(=asy2)(progn(load"鈑金/qdcx/ytt.lsp")(ytt)))(if(=asy3)(progn(load"鈑金/qdcx/stt.lsp")(stt)))(if(=asy4)(alert"暫時還沒有您需要的鈑金件展開圖!"))(if(=do_what0)(exit))(command"zoom""all"));defun 3.7最后的效果圖圖3-21方錐管展開效果圖圖3-21斜截圓柱鈑金效果圖圖3-22等經(jīng)三通管鈑金件效果圖3-23圓臺鈑金件效果圖結(jié)論本程序經(jīng)過多次運行還比較理想。生成的展開圖形符合國家的標準,有較好的實用性,及應(yīng)用性。它包含有四個鈑金構(gòu)件的展開放樣圖分別為:圓臺鈑金件、方錐管鈑金件、斜截圓柱管鈑金件、Y型等徑三通管鈑金件。它可以根據(jù)用戶輸入的鈑金件的參數(shù)有效的快速生成鈑金件的展開的圖形,并且對展開圖進行標注,方便落料。對于有效控制鈑金件的精度及質(zhì)量起著保證作用,減輕鈑金展開放樣中繁雜計算和作圖的工作量。隨著計算機的普及,這種方法被人們?nèi)找婧蛻?yīng)用重視。參考文獻[1]符純?nèi)A,計算機輔助設(shè)計,四川理工學院,2005。[2]符純?nèi)A、石艷,計算機輔助設(shè)計上機實驗指導書2005。[3]李學志,VisualLISP程序設(shè)計,清華大學出版社,2006.5[4]汪琪美、霍新明,對話框與驅(qū)動程序設(shè)計,海洋出版社,1998。[5]吳勇進、林美櫻,AutoLISP&DCL基礎(chǔ)篇,中國鐵道出版社,2003。[6]袁筱麟,CAD鈑金展開防樣,機械工業(yè)出版社,2005。[7]楊玉杰,鈑金展開200例,機械工業(yè)出版社,2005。致謝辭附錄附錄A:btl.lisp程序;===================================================;;程序功能:繪制國標:GB10609.1-89標題欄。;參數(shù)說明:ppt繪圖基點,標題欄右下角點坐標。;tydh圖樣代號,字符型。;ljxh鈑金名稱,字符型。;ljcl材料名稱,字符型。;;updatex裝彈出列表(defunupdata1()(start_list"sjz")(mapcar'add_listsjz_list)(end_list))(defunupdata2()(start_list"ljxh")(mapcar'add_listljxh_list)(end_list))(defunbtl(ppttydhljclasx/dcl_idljxh)(setq sjz_list(list"關(guān)風琴""符純?nèi)A""唐松""杜開富");姓名彈出列表 ljxh_list(list"方錐管鈑金件""斜截圓柱鈑金件""圓臺鈑金件""等經(jīng)三通管鈑金件""無");圖樣名稱 ast0 asy0 sjz"關(guān)風琴" );初始參置(setqsjrq1(rtos(getvar"cdate")20)sjrq(strcat(substrsjrq114) "-" (substrsjrq152) "-" (substrsjrq172)) );取系統(tǒng)日期構(gòu)成如2003-07-31的格式(setqdcl_id(load_dialog"鈑金\\dhk\\btl.dcl"))(if(not(new_dialog"btl"dcl_id))(exit))(updata1)(updata2)(mode_tile"ljxh"2)(action_tile"sjz""(do_sjz)")(action_tile"sjrq""(setqsjrq(get_tile\"sjrq\"))")(action_tile"tydh""(setqtydh(get_tile\"tydh\"))")(action_tile"ljxh""(do_ljxh)")(action_tile"ljcl""(setqljcl(get_tile\"ljcl\"))")(set_tile"sjrq"sjrq)(set_tile"sjz"(rtosast))(set_tile"ljxh"(rtosasy))(set_tile"tydh"tydh)(set_tile"ljcl"ljcl)(setqdo_what(start_dialog))(if(=do_what1)(btl11))(start_dialog)(unload_dialogdcl_id))(defundo_sjz(/index);取設(shè)計者姓名(setqindex(atoi(get_tile"sjz")) sjz(nthindexsjz_list) astindex ))(defundo_ljxh(/index);取零件序號(setqindex(atoi(get_tile"ljxh")) ljxh(nthindexljxh_list) asyindex ));===================================================;程序功能:繪制標題欄與填寫標題欄函數(shù)(defunbtl1(bl)(command"layer""m""btl""on""btl""c"9"btl""")(print"ok")(command"pline" ppt "w" 0.5 "" (polarppt(/pi2)56) (polar(polarppt(/pi2)56)pi180) (polarpptpi180) "c" "line" (setqppt1(polarpptpi50)) (polarppt1(/pi2)56) """line" (setqppt1(polarpptpi100)) (polarppt1(/pi2)56) "" "line" (setqppt1(polarpptpi116)) (polarppt1(/pi2)28) "" "line" (setqppt1(polarpptpi128)) (polarppt1(/pi2)28) "" "line" (setqppt1(polarpptpi140))
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2.1新民主主義革命的勝利 課件 統(tǒng)編版高中政治必修一中國特色社會主義
- 教師課堂互評考核制度建設(shè)
- 醫(yī)院病歷書寫與管理規(guī)范制度
- 醫(yī)院醫(yī)院感染控制與預(yù)防制度
- 醫(yī)院醫(yī)療廢物處置設(shè)施環(huán)保要求制度
- 醫(yī)院醫(yī)護人員進修學習制度制度
- 古代經(jīng)濟制度考察試題及真題
- 知識圖譜可視化疼痛管理策略-1
- 知情同意審查效率提升的策略分析
- 眼科微創(chuàng)手術(shù)并發(fā)癥的司法認定規(guī)則
- 浙江金華市軌道交通控股集團運營有限公司招聘筆試題庫2025
- 2025《義務(wù)教育體育與健康課程標準(2022年版)》測試題庫及答案
- 土方工程施工安全管理規(guī)范
- 《心臟瓣膜病診療指南》
- 五年級上冊道法期末模擬試卷及答案
- 財務(wù)信息化與財務(wù)共享服務(wù)模式2025年可行性分析報告
- 煙花爆竹經(jīng)營零售申請書
- 提升施工企業(yè)安全管理水平的關(guān)鍵措施與路徑探索
- 自動扶梯應(yīng)急預(yù)案演練計劃(3篇)
- GB/T 16271-2025鋼絲繩吊索插編索扣
- 暴盲的中醫(yī)護理方案
評論
0/150
提交評論