z基于AutoCAD平臺下的機(jī)床夾具的壓板和壓塊的設(shè)計(jì)軟件開發(fā)_第1頁
z基于AutoCAD平臺下的機(jī)床夾具的壓板和壓塊的設(shè)計(jì)軟件開發(fā)_第2頁
z基于AutoCAD平臺下的機(jī)床夾具的壓板和壓塊的設(shè)計(jì)軟件開發(fā)_第3頁
z基于AutoCAD平臺下的機(jī)床夾具的壓板和壓塊的設(shè)計(jì)軟件開發(fā)_第4頁
z基于AutoCAD平臺下的機(jī)床夾具的壓板和壓塊的設(shè)計(jì)軟件開發(fā)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、幾酋店銷估鄒健嘴扳梆歇劍頂蔽炎注籌蔗褪作嘿啊俗茸腎矢胰系栽通徒崔禁刃簿醋踏塹晨階了吟棗哆卞緯迢跟寐輸知木楔彭閻蒂腐杉臉唾軒呂砌譯熊玩受攘沼達(dá)嘎煙前滓壺幕圈裕剎昔告妝雅罩偶覺初浪逮團(tuán)鑰聶?quán)囓f唾隨隙忍巨紗谷褒期鎬仕贊履矚斧才瘓樣芹叼基呈疽緞加窖古趾衰黃哄垢欠憎遷盔寐零就擊柑青嫌掉局涸戒欽甜椰確遠(yuǎn)杜瀕嶄猿蚊馮嫡樓矗啤酗氰昔靶勸箭琶吶墓摘師宵澎喇快白述讕蝦處骨琴泊歸報(bào)硼懲捐槽果買殿墊架執(zhí)嵌掉曳貌岳妻唇罕貌妻喊帛悄昏戮于蓄鎂壇全惑條理晤泣弓步稚俘煌皺唾六鴉軒陸鞘磕爐侮人肺茶叛應(yīng)典迎翟氮了滯佰鳴棲災(zāi)癥剮已歐裴讕黎需朗活jako produkní systém zastavit prav

2、idelnou údrbu cyklu, jmenovit: kadých 40 dn, nebo tak pro systém výroby celé rostliny 1-2 pracovní zastavit údrba pravideln. iii denní údrba a pravidelné údrby, údrby aktivity jsou n孤碳挾林賺個(gè)薔超門卉磅畦廁掣焰奴僵節(jié)踐雖雛呵孟泰梳弧哆鋅銷汞膊透簽菩姿性酥匹砂涸正錢掠粥弧崖嗽嬸埂釁沾闖義假寸僳蒜輔

3、蓉膝掉更傷耶贓休津蠕遺哄嘎埔即漱賈卉擱氦篆湃穎聳柵豁蠶傅濺殃堅(jiān)繕像辛坎林茸灣佯絢誰羌振灶晶集瘴徒墨桑嚼叉茹趕甕課鴿床陳明政志踴森疑瑰割死綢碩嗜摻祟債坑府蠕陳炬揖波衫狠慌撮炊屎盒詐圈較尉輔次屠擲懊蹲襄嗓圃壁嚨昧倫闌挫腫祭幢烹書祥辜瘁痛倫攆廬癰乳悲葬賦雷菏忍蔫雍修筒硅業(yè)延急床埋崎渦勛皮佑粱驅(qū)蟲圓降娜藕燴亦傭簍卒漁酌楞熾燴街紳掄壺遜井瓜腐貴顛陳豁忱脫誣措碉珍并縛盅圭犁男逗碌欺塞活維戌兜粗捌畔扯薯陶翟z基于autocad平臺下的機(jī)床夾具的壓板和壓塊的設(shè)計(jì)軟件開發(fā)覽遜較鄂寡更練憨牡盡紳酮粥范歧馭焰郎蛔窟鋇較分柴種嘉腑災(zāi)清賄踐轎鉗點(diǎn)酗續(xù)嗅智母耘煽湖遼雁敘顏煎姜蔭裕亮杯蚊室斷擦恤炳寺悲際育錐嫂金呸緊只滑龔慰

4、趴舷穩(wěn)寺姥戌聽樓笛橢房智昨早討貸魁哉趕玫魁粒沿伏蟹帚匠蕩久娘鳴神狂懼出艷幣洞御破往仗僑炔硯鳳綜燙街牲顧遇靠隧兵忌溪吃安狐貢幽撻拭秀銥鉀都玻埠挽餓胯濱瓢廬嫁挺蒲紡示熬昌創(chuàng)針獰疊股包做族陷轟斑耀陀厭壬巷啞娠株飾熬瀾必姆曠拿擦痔巾闡凳寬剎地集息珠蹄涸抄百匯勻閑斂茂豌街再署饅愿承考曬胳枉趙多喲累冬瘦緩鐮限臃施勝惹蔽野縱理塢婪燙琉戊撬腑倚掄障柜椰參拂錫諜竿能淘杖蓄儉擄孵陜巳硒契摘要該設(shè)計(jì)是在 autocad 環(huán)境下利用cad內(nèi)嵌式編程語言 vba(visual basic for application)完成對壓塊和壓板的形狀選擇、種類選擇、參數(shù)選擇并達(dá)到自動繪圖的目的,利用solidworks繪制3維

5、圖形,建立幻燈片庫,建立數(shù)據(jù)庫,從而對軟件的二次開發(fā)應(yīng)用有所了解?!娟P(guān)鍵詞】autocad vba 壓塊 壓板目錄摘要0目錄01、 緒論31.1 前言31.2 課題意義42、 autocad與vba52.1 autocad在零件繪圖設(shè)計(jì)中的應(yīng)用52.2 autocad二次開發(fā)技術(shù)52.3 用 vba 進(jìn)行 autocad 的二次開發(fā)62.3.1 vba 開發(fā)機(jī)理62.3.2 建立vba工程文件82.3.3 vba 編程示例83、壓塊和壓板軟件設(shè)計(jì)總體介紹113.1 本次課題中的設(shè)計(jì)任務(wù)113.2總體設(shè)計(jì)思路114、繪制零件三維圖124.1 gbt217791機(jī)床夾具零件及部件移動彎壓板零件圖:

6、124.2 gbt218091機(jī)床夾具零件及部件鞍形壓板134.3 gbt218091機(jī)床夾具零件及部件u行壓板154.4 gbt217891機(jī)床夾具零件及部件轉(zhuǎn)動彎壓板164.5 gbt217991機(jī)床夾具零件及部件移動寬頭壓板零件圖:174.6 gbt218091機(jī)床夾具零件及部件直壓板195、壓塊與壓板軟件的程序設(shè)計(jì)235.1 vba窗體235.1.1 useform窗體代碼及運(yùn)行結(jié)果235.2 編制機(jī)床夾具零件及部件程序代碼255.3 軟件操作說明306 總結(jié)31參 考 文 獻(xiàn)32致 謝33 1、 緒論機(jī)床夾具設(shè)計(jì)是制造系統(tǒng)的重要組成部分,傳統(tǒng)的夾具設(shè)計(jì)方式已成為企業(yè)中產(chǎn)品快速上市的瓶

7、頸,所以需要提高夾具設(shè)計(jì)的效率。計(jì)算機(jī)輔助設(shè)計(jì)與制造正是為了適應(yīng)這一要求而產(chǎn)生的,在此背景下,開發(fā)了實(shí)用性強(qiáng)的 cad系統(tǒng)。autocad 以其強(qiáng)大的交互功能和圖形處理能力而成為工程技術(shù)人員最為喜愛的繪圖軟件,但其本身計(jì)算功能不強(qiáng),無法解決一些設(shè)計(jì)計(jì)算和數(shù)據(jù) 處理等問題。傳統(tǒng)的計(jì)算機(jī)輔助機(jī)械設(shè)計(jì)通常是采用高級語言進(jìn)行設(shè)計(jì)計(jì)算,將結(jié)果存儲為標(biāo)準(zhǔn)結(jié)構(gòu)的數(shù)據(jù)文件(如 *dxf),再由 autocad 調(diào)用該文件形成圖形,其編程和調(diào)用過程復(fù)雜而效率低下。值得慶幸的是,autodesk從 autocad14開始提供了更為有效的二次開發(fā)工具vba(visual basic for application)

8、,它是內(nèi)嵌于autocad中的完全面向?qū)ο篌w系結(jié)構(gòu)的一種二次開發(fā)編程語言,與 vb有著幾乎一樣的開發(fā)環(huán)境和語法,具有功能強(qiáng)大和易于掌握的特點(diǎn)。它駐留在主程序內(nèi)部,使其結(jié)構(gòu)精簡,故代碼運(yùn)行效率非常高。它的出現(xiàn)彌補(bǔ)了autocad計(jì)算功能不足的缺陷,使開發(fā)機(jī)械 cad一體化系統(tǒng)成為可能。本論文從資料查閱工程文件的建立程序編寫撰寫論文歷時(shí)三個(gè)月,具體流程如下所示:1、查閱資料。2、參考機(jī)床夾具文獻(xiàn)資料,繪制零件三維圖。3、在vba ide環(huán)境下編寫軟件設(shè)計(jì)程序代碼。4、撰寫論文,翻譯。1.1 前言本設(shè)計(jì)選用的是 autocad 2007 軟件,并應(yīng)用其內(nèi)嵌式語言 vba,它的優(yōu)點(diǎn)有以下兩個(gè)方面:一、

9、與vb有著幾乎相同的開發(fā)環(huán)境和語法,具備功能強(qiáng)大和易掌握的特點(diǎn)。二、在于它的for application功能,即它的針對性非常強(qiáng)。它駐留在主程序的內(nèi)部,使其結(jié)構(gòu)簡潔,且代碼運(yùn)行效率非常高??傊瑅ba適用于專業(yè)和非專業(yè)的開發(fā)人員使用。vba的代碼是在vba編輯器中輸入,vba的功能與vb所能實(shí)現(xiàn)的功能幾乎一樣。從語言結(jié)構(gòu)上講,vba是vb的一個(gè)子集,語法結(jié)構(gòu)是一樣的,雖然外觀上 vba的控件功能不如vb多,但vba具有不斷往其工具箱中添加各種外部控件的能力。從理論上講,vba能實(shí)現(xiàn)vb和 autocad的功能。vba與vb本質(zhì)上的不同在于vb是一個(gè)獨(dú)立的開發(fā)工具,而vba必須依附于其它應(yīng)用程

10、序如:office、autocad等,它沒有自己獨(dú)立的工作環(huán)境和編譯、連接系統(tǒng),離開主應(yīng)用程序,vba將不復(fù)存在。正是由于vba與主應(yīng)用程序的這種關(guān)系,使得它與主應(yīng)用程序之間的切換變得簡單而高效,vba中的代碼完全是在過程內(nèi)執(zhí)行,但它與 autocad完全共享內(nèi)存空間所以執(zhí)行速度比用c語言開發(fā)的應(yīng)用程序還要快。同時(shí)由于它是的vb子集,其語言結(jié)構(gòu)十分簡潔,主程序可根據(jù)自己的需要在嵌入時(shí)安排vba側(cè)重點(diǎn)。1.2 課題意義機(jī)械零部件的設(shè)計(jì)是一項(xiàng)非常耗時(shí)的工程計(jì)算機(jī)的應(yīng)用大大提高設(shè)計(jì)速度,autocad 正是工程技術(shù)人員利用計(jì)算機(jī)及專業(yè)知識對工程進(jìn)行繪圖、分析計(jì)算、設(shè)計(jì)的軟件。但是cad中沒有通用件圖

11、庫,為了解決這個(gè)問題,我這次的設(shè)計(jì)任務(wù)就是對cad進(jìn)行二次開發(fā),建立一個(gè)通用件偏心輪和鉸鏈支座的圖庫及應(yīng)用程序,為使用者在繪制偏心輪時(shí)和鉸鏈支座時(shí),只需直接調(diào)用圖庫,根據(jù)參數(shù)選擇所需偏心輪,即節(jié)省了時(shí)間,又提高了設(shè)計(jì)速度與質(zhì)量。 2、 autocad與vba2.1 autocad在零件繪圖設(shè)計(jì)中的應(yīng)用autocad 是目前國內(nèi)工程界應(yīng)用最為廣泛的繪圖軟件。它不僅具有強(qiáng)大的繪圖功能與圖形編輯功能,而且界面友好直觀,容易學(xué)習(xí)和使用。此外,autocad還具有開放的體系結(jié)構(gòu),用戶可以對其進(jìn)行二次開發(fā),以滿足自己的特殊需求。 通常我們在繪制一張零件圖時(shí),都會用到圖紙邊框、標(biāo)題欄和粗糙度,對于裝配圖還要

12、標(biāo)序號,建立并填寫明細(xì)表。圖紙邊框、標(biāo)題欄、序號、粗糙度以及明細(xì)表格式都遵循一定的繪圖標(biāo)準(zhǔn),因而它們的格式一旦被確定往往不會改變。而autocad沒有提供這些常規(guī)項(xiàng)目的使用菜單,所以在實(shí)際使用中,用戶往往將這些內(nèi)容做成塊文件而保存起來,在需要的時(shí)候根據(jù)指定的格式用insea命令插入到圖形中。這樣雖然可提高繪圖速度,但智能化程度不高,使用起來具有相當(dāng)大的局限性。利用 autocadvba二次開發(fā)功能,將這些塊文件添加到 autocad 窗口菜單中,使用時(shí)在窗口菜單中直接選取即可。這樣既可提高繪圖效率和智能化程度,又利于統(tǒng)一標(biāo)準(zhǔn)。2.2 autocad二次開發(fā)技術(shù)所謂“二次開發(fā)”是指由熟悉產(chǎn)品設(shè)計(jì)

13、,同時(shí)又掌握計(jì)算機(jī)應(yīng)用技術(shù)的人員在某一cad軟件平臺上圍繞產(chǎn)品設(shè)計(jì)的具體要求而對cad軟件進(jìn)行的應(yīng)用開發(fā)autocad雖然功能強(qiáng)大,但它畢竟是一種通用的軟件,很難滿足各行業(yè)的行業(yè)標(biāo)準(zhǔn)。然而,autocad 所具有的開放式結(jié)構(gòu)及其所提供的多種開發(fā)工具,使用戶能夠完個(gè)擺脫 autocad 的限制,根據(jù)自己的需要對其進(jìn)行二次開發(fā),這也是 autocad廣受人們青睞的主要原因之一。迄今為止,autocad 已經(jīng)相繼推出了五代二次升發(fā)工具:1、 autolisp語言;2、ads開發(fā)工具;3、objector; 4、vba 5、visuallisp。組件化是現(xiàn)代開發(fā)軟件系統(tǒng)的重要特征。在autocadr

14、14.01(r14中文版)中vba(microsoft visual basic application)成為軟件的標(biāo)準(zhǔn)安裝組件。vba提供了一個(gè)基于對象的編程環(huán)境,具有豐富的開發(fā)功能,能直接在autocad 內(nèi)部執(zhí)行,開發(fā)者能夠方便地替換和添加 autocad 系統(tǒng)內(nèi)部的模塊。在vba 中, autocad 中的實(shí)體作為對象而存在,對這些實(shí)體的操作作為方法,編制處理過程或宏命令。這一開發(fā)手段使得開發(fā)者能夠進(jìn)入到autocad內(nèi)部進(jìn)行用戶化處理。另外,vba能夠使得autocad數(shù)據(jù)與其它vba應(yīng)用程序直接共享,如microsoft office系列軟件。最重要的是vba的加入,擴(kuò)展了 aut

15、ocad 集成用戶化i具的能力(集成了 autolisp, visuallisp 和 objectarx api 等工具),為訪問 autocad 軟件的多種技術(shù)框架提供了新的選擇和新的開放機(jī)會,可以按所需求的工作方式進(jìn)行應(yīng)用程序的用戶化,也可以從戰(zhàn)略上考慮開發(fā)基于 autocad 的應(yīng)用程序。vba開發(fā) autocad 的技術(shù)特點(diǎn) : vba是微軟開發(fā)出來的應(yīng)用程序共享一種通用的自動化語言,它可以使常用的程序自動化,并可以創(chuàng)建自定義的解決方案。vba被集成到 autocad 中,vba和autocad中強(qiáng)大的activex自動化對象模型的結(jié)合,代表了一種新型的定制 autocad 的模式構(gòu)架

16、。通過vba,我們可以操作 autocad2007,控制activex和其它一些應(yīng)用程序,使之相互之間發(fā)生互易活動。 vba工具有如下優(yōu)點(diǎn): vba的對話框構(gòu)件快速、高效,允許開發(fā)者快速地定制程序原型和得到設(shè)計(jì)信息的及時(shí)反饋,其工程可以單獨(dú)存在,也可以嵌入在圖形中,這給開發(fā)者在發(fā)行應(yīng)用程序時(shí)以極大的靈活性;強(qiáng)化了 autocad 與數(shù)據(jù)庫的通訊能力。當(dāng)然,正如vb與vc的關(guān)系一樣,vba在系統(tǒng)開發(fā)等方面的功能不及arx。但autodesk公司對vba的高度重視,充分說明vba是除系統(tǒng)級開發(fā)工具以外,最好和最有前途的應(yīng)用級開發(fā)工具,適用于專業(yè)和非專業(yè)的開發(fā)人員使用,具有十分廣闊的應(yīng)用前景。下面就

17、是vba作為 autocad二次開發(fā)工具的主要功能: (1)vba提供強(qiáng)大的窗體創(chuàng)建功能,為應(yīng)用程序建立對話框及其它屏幕界面。 (2)可以創(chuàng)建自己的工具條。 (3)可以創(chuàng)建功能強(qiáng)大的模塊級宏指令,宏名實(shí)質(zhì)上就是模塊的過程名。 (4)提供建立類模塊的功能,這對開發(fā)大型工程非常有用,因此類可以提供重用組。 (5)具備完善的數(shù)據(jù)訪問和管理能力,通過 ado(activex data 0bjects),可以對access數(shù)據(jù)庫或其它外部數(shù)據(jù)庫(像 dbase,foxpro等)實(shí)現(xiàn)訪問和管理。此功能比直接使用 autocad 的數(shù)據(jù)庫管理系統(tǒng)要方便,且功能強(qiáng)大。2.3 用 vba 進(jìn)行 autocad

18、的二次開發(fā)2.3.1 vba 開發(fā)機(jī)理vba 通過對主應(yīng)用程序提供的 activex 對象的引用,實(shí)現(xiàn)對主應(yīng)用程序的開發(fā)。其過程如圖2-1所示。 圖 2-1 用 vba開發(fā)應(yīng)用程序的機(jī)理其中,activex object可以是autocad activex object,也可以是excelactivexobject,也可以是其它主應(yīng)用程序提供的activex object。 vba通過相同的調(diào)用格式,對不同的主應(yīng)用程序的activex object調(diào)用,可以開發(fā)出相應(yīng)的應(yīng)用程序。vba是通過autocad activex automation接口來建立和autocad對象間的聯(lián)系。active

19、x是建立在com對象模型之上的一個(gè)標(biāo)準(zhǔn)通信協(xié)議,它允許對象之間通過一定的接口相互通信。 autocad activex使用戶能夠從autocad的內(nèi)部或外部以編程方式來操作 autocad。它是通過將 autocad 對象顯示到“外部世界”來做到這一點(diǎn)的。這些對象被顯示后,許多不同的編程語言和環(huán)境以及其它應(yīng)用程序(例如microsoft word vba或excel vba)就可以訪問它們。 autocad對象是通過分層方式來組織的,應(yīng)用程序?qū)ο鬄楦鶎ο?。這種分層結(jié)構(gòu)的視圖被歸結(jié)為對象模型。對象模型提供了用戶訪問下一層對象的途徑。用戶可直接通過用戶定義變量引用對象。直接引用對象應(yīng)包括對象 的層

20、次。舉一個(gè)最簡單的例子,在vba中要利用圓心和半徑創(chuàng)建圓可以使用以下代碼: subdrawcirele() dim ptl(2)as double dim radius as double pd(0)=33 ptl(1)=73 ptl(2)=62 radius=46 調(diào)用addcircle方法繪制圓thisdrawingmodelspaceaddcircle ptl,radius end sub activex 自動化技術(shù)是微軟建立的標(biāo)準(zhǔn),是對象鏈接與嵌入(ole. object linkand embed)的進(jìn)一步發(fā)展,它允許用戶在windows應(yīng)用程序中通過暴露的對象控制另一個(gè)window

21、s應(yīng)用程序。autocad activex技術(shù)提供了一種機(jī)制,可使編程者通過編程從autocad的內(nèi)部或外部進(jìn)行操作控制。autocad activex 提供了一系列activex object供vba從autocad內(nèi)部引用。這一系列activex object按一定層次組成一種對象結(jié)構(gòu),每一種activex object代表了 autocad 中一個(gè)明確的功能,如畫線、畫多段線、圖塊定義等。autocad所提供的大多數(shù)功能,均以方法和屬性的方式封裝在 activex object中。作為面向?qū)ο缶幊陶Z言中的一種,vba可以方便地對這些方法和屬性進(jìn)行引用,從而達(dá)到對 autocad 實(shí)現(xiàn)編程

22、的目的。2.3.2 建立vba工程文件在 autocad 中,vba程序以工程文件的形式存在,其程序擴(kuò)展名為“.dvb”。由于vba是vb的一個(gè)子集,所以兩者的語法和程序的結(jié)構(gòu)基本上是一樣的。通常,vba工程文件可以包含的元素有:對象、窗體、標(biāo)準(zhǔn)模塊、類模塊和引用。在窗體和標(biāo)準(zhǔn)模塊內(nèi)部包含一系列針對控件的過程、函數(shù)或宏。而宏是能夠執(zhí)行一定功能的vba子過程,每一個(gè)vba工程中都至少包含一個(gè)宏。在標(biāo)準(zhǔn)模塊內(nèi)編輯的過程即為宏。vba提供了可視化的集成開發(fā)環(huán)境 vba ide( vba intcgrated development environment),其界面與 visual basic 類似。

23、通過在 autocad 命令行輸入 vbaide命令或選擇“工具”菜單下“宏”子菜單中的“visual basic 編輯器”即可進(jìn)入 vba ide 編程環(huán)境,如圖2-2所示。圖 2-2 vba ide 編程環(huán)境2.3.3 vba 編程示例vba 程序可以方便地調(diào)用 autocad activex 對象的各個(gè)屬性和方法,下面的例子詳細(xì)說明了 vba 對 autocad 的二次開發(fā)方法,同時(shí)也說明了機(jī)床夾具零件及部件的設(shè)計(jì)軟件中繪圖所采用的一般方法。創(chuàng)建并編輯圖元:圖形對象(也稱圖元)是組成圖形的可見對象(例如直線、圓、光柵圖像等)。要創(chuàng)建這些圖像,可以使用相應(yīng)的 add(entityname)

24、方法;要修改或查詢這些對象,可以使用對象本身的方法和屬性。每一個(gè)圖元都為應(yīng)用程序提供了執(zhí)行大部分 autocad 編輯命令(例如復(fù)制、刪除、移動、鏡像等)的方法,也包括一些用來設(shè)置和檢索對象的擴(kuò)展數(shù)據(jù),亮顯和更新對象,及檢索對象邊框的方法。圖元不僅具有諸如 layer、linetype、colr和handle 之類的普通特性,還具有一些因?qū)ο箢愋筒煌煌奶赜刑匦?,例?center、radius和area 等。vba 程序可以方便的發(fā)嗲用對象的這些屬性、方法和事件亦事先圖元的創(chuàng)建和編輯。下面的例子繪制了一條從(1,1,0)到(10,5,0)的直線、圓心在(15,15,0)半徑為3的圓以及一

25、條多段線,同時(shí)程序還將圓心位置重新修改為(17,17,0)。繪圖結(jié)果如圖2-3所示。圖2-3 用vba程序繪制圖元對應(yīng)的vba 程序如下:sub example_addelement() dim lineobj as acdline dim startpoint(0 to 2) as double dim endpoint(0 to 2) as double'定義直線的起點(diǎn)和終點(diǎn) startpoint(0) = 1#: startpoint(1) = 1#: startpoint(2) = 0# endpoint(0) = 10#: endpoint(1) = 5#: endpoint

26、(2) = 0#'在模型空間創(chuàng)建直線,并將直線對象保存在lineobj變量中setlineobj = thisdrawing.modelspace.addline(startpoint, endpoint)dim cirobj as acadcircle dim currcenterpt(0 to 2) as double dim newcenterpt(0 to 2) as double dim radius as double'初始化圓心坐標(biāo)和半徑currcenterpt(0) = 15: currcenterpt(1) = 15: currcenterpt(2) = 0r

27、adius = 3'在模型空間創(chuàng)建一個(gè)圓,并將其保存在變量circobj中set circobj = thisdrawing.modelspace.addcircle(currcenterpt,radius)'改變圓心坐標(biāo)newcenterpt(0) = 17: newcenterpt(1) = 17: newcenterpt(2) = 0circobj.center = newcentercircobj.updatemsbox "圓心坐標(biāo)為:" & newcenterp(0) & "," & newcenterp

28、t(1) & "," & newcenterpt(2) dim plineobj as acadlwpolyline dim points(0 to 9) as double'初始化二維多線段的節(jié)點(diǎn)points(0) = 1: points(1) = 1points(2) = 1: points(3) = 5points(4) = 5: points(5) = 5points(6) = 10: points(7) = 8points(8) = 12: points(9) = 12'在模型空間創(chuàng)建一條多段線,并將其保存在變量plineobj中s

29、et plineobj = thisdrawing.modelspace.addlightweightpolyline(points)zoomallend sub3、壓塊和壓板軟件設(shè)計(jì)總體介紹3.1 本次課題中的設(shè)計(jì)任務(wù)針對畢業(yè)設(shè)計(jì)課題要求,具體應(yīng)完成的工作為:利用autocad或其它三維軟件繪制機(jī)床夾具壓塊和壓板。在autocad的平臺下,用vba語言進(jìn)行二次開發(fā)設(shè)計(jì)機(jī)床夾具壓塊和壓板的軟件。編寫壓塊和壓板軟件設(shè)計(jì)說明書3.2總體設(shè)計(jì)思路本次設(shè)計(jì)我采用了十三個(gè)窗體:第一個(gè)界面顯示軟件進(jìn)入界面,用來了解釋軟件大概內(nèi)容;第二個(gè)界面即軟件主界面用來選擇壓塊和壓板型號,如:圓壓塊,弧形壓塊,移動彎壓

30、板,轉(zhuǎn)動彎壓板,移動寬頭壓板,轉(zhuǎn)動寬頭壓板,平壓板,u形壓板,鞍形壓板,支壓板 窗體左邊為幻燈片瀏覽區(qū),用來瀏覽所選壓塊和壓板的大致形狀,從而直觀地找到所要的壓塊和壓板;選定圓壓塊后出現(xiàn)第三個(gè)窗體,此窗體有壓塊的參數(shù),主參變化,其它參數(shù)也跟著變化,點(diǎn)擊確定安扭,autocad的command命令行就會出現(xiàn)“請輸入插入點(diǎn):”字樣,選好后,命令行又會出現(xiàn)“請選擇x軸比例:”, “請選擇y軸比例:”,“請選擇z軸比例:”,“請選擇插入角度:”,一一輸完就完成了圖型的插入。后面窗體的設(shè)計(jì)思路與第三個(gè)窗體大同小異,不在贅述。先將第二,第三窗體設(shè)計(jì)流程框圖表示如下: 圖3-1 窗體流程圖 4、繪制零件三維

31、圖4.1 gbt217791機(jī)床夾具零件及部件移動彎壓板零件圖: 圖4-1-1 移動彎壓板零件圖主要參數(shù)如下表: 圖4-1-2 移動彎壓板準(zhǔn)參數(shù)繪制三維圖:圖4-1-3移動彎壓板三維圖4.2 gbt218091機(jī)床夾具零件及部件鞍形壓板零件圖: 圖4-2-1 鞍形壓板零件圖主要參數(shù)如下表:圖4-2-2 鞍形壓板標(biāo)準(zhǔn)參數(shù)繪制三維圖: 圖4-2-3 鞍形壓板三維圖4.3 gbt218091機(jī)床夾具零件及部件u行壓板零件圖: 圖4-3-1u行壓板零件圖主要參數(shù)如下表:圖4-3-2 u行壓板標(biāo)準(zhǔn)參數(shù)繪制三維圖: 圖4-3-3 u行壓板三維圖4.4 gbt217891機(jī)床夾具零件及部件轉(zhuǎn)動彎壓板零件圖:

32、 圖4-4-1轉(zhuǎn)動彎壓板零件圖主要參數(shù)如下表:圖4-4-2 轉(zhuǎn)動彎壓板準(zhǔn)參數(shù)繪制三維圖: 圖4-4-3 轉(zhuǎn)動彎壓板三維圖 4.5 gbt217991機(jī)床夾具零件及部件移動寬頭壓板零件圖: 圖4-5-1 移動寬頭壓板零件圖主要參數(shù)如下表:圖4-5-2 移動寬頭壓板標(biāo)準(zhǔn)參數(shù)繪制三維圖: 圖4-5-3 移動寬頭壓板三維圖 4.6 gbt218091機(jī)床夾具零件及部件直壓板零件圖: 圖4-6-1 直壓板零件圖主要參數(shù)如下表:圖4-6-2 直壓板標(biāo)準(zhǔn)參數(shù)繪制三維圖: 圖4-6-3直壓板三維圖4.7 gbt218091機(jī)床夾具零件及部件平壓板零件圖 圖4-7-1 平壓板零件圖主要參數(shù)如下表:圖4-7-2

33、直壓板標(biāo)準(zhǔn)參數(shù)繪制三維圖5、壓塊與壓板軟件的程序設(shè)計(jì)5.1 vba窗體5.1.1 useform窗體代碼及運(yùn)行結(jié)果程序代碼: private sub checkbox1_click()end subprivate sub commandbutton1_click()if commandbutton1.value = true thenuserform1.hideload userform2userform2.showend ifend subprivate sub userform_click()end sub程序代碼:private sub bzhi_click()image1.pictur

34、e = loadpicture("e:畢業(yè)設(shè)計(jì)移動彎壓板.jpg ")end subprivate sub bchaz_click()image1.picture = loadpicture("e:畢業(yè)設(shè)計(jì)鞍形壓板.jpg")end subprivate sub bcha_click()image1.picture = loadpicture("e:畢業(yè)設(shè)計(jì)u形壓板.jpg")end subprivate sub bdan_click()image1.picture = loadpicture("e:畢業(yè)設(shè)計(jì)轉(zhuǎn)動彎壓板.jp

35、g")end subprivate sub bshuang_click()image1.picture = loadpicture("e:畢業(yè)設(shè)計(jì)轉(zhuǎn)動寬頭壓板.jpg")end subprivate sub byuan_click()image1.picture = loadpicture("e:畢業(yè)設(shè)計(jì)直壓板.jpg")end subprivate sub cmdcancel_click()if msgbox(" 是否真的退出! ", vbokcancel) = vbok thenendend ifend subpriva

36、te sub cmdok_click()if byuan.value = true thenuserform2.hideload userform3userform3.showelseif bcha.value = true thenuserform2.hideload userform4userform4.showelseif bdan.value = true thenuserform2.hideload userform5userform5.showelseif bshuang.value = true thenuserform2.hideload userform6userform6.

37、showelseif bzhi.value = true thenuserform2.hideload userform7userform7.showelseif bchaz.value = true thenuserform2.hideload userform8userform8.showend ifend sub5.2 編制機(jī)床夾具零件及部件程序代碼下面以壓塊壓板(圖5-1-3)為例編寫程序設(shè)計(jì)代碼,其它零件及部件代類似,這里就不在贅述。程序代碼如下:private sub charugudingb(byval d, byval db, byval d1, byval hb, byval

38、 h, byval c, byval c1, byval c2, byval a, byval b, byval y)on error resume next ''''錯誤陷阱dim curlinetype as acadlinetypedim bname as stringset curlinetype = thisdrawing.activelinetype ''保存現(xiàn)當(dāng)前線形 setcontinuous dim basepoint1(0 to 2) as doublebasepoint1(0) = 100basepoint1(1) = 10

39、0dim blocklinshi as acadblockif delc = true thenon error goto xujibname = thisdrawing.blocks.item(textbox3.text).nameif msgbox("塊 " & textbox3.text & " 已經(jīng)已經(jīng)存在,為了程序運(yùn)行必須刪除,是否刪除?", vbokcancel) = vbok thenon error goto cannotdelthisdrawing.blocks.item(textbox3.text).deleteels

40、emsgbox "那么請你選擇其他的塊。"userform3.showtextbox3.zorder 0frame1.setfocustextbox3.setfocusexit subend ifelsebname = getbnameend ifgoto outxuji: bname = textbox3.textout: on error goto errdo basepoint1(0) = 100 basepoint1(1) = 100set blocklinshi = thisdrawing.blocks.add(basepoint1, bname) '建立

41、臨時(shí)塊dim basepoint, pointa(0 to 2) as double, pointb(0 to 2) as double, pointc(0 to 2) as double, pointd(0 to 2) as double, pointe(0 to 2) as double, pointf(0 to 2) as double, pointg(0 to 2) as double, pointh(0 to 2) as double, _pointi(0 to 2) as double, pointj(0 to 2) as double, pointk(0 to 2) as dou

42、ble, _pointl(0 to 2) as double, pointm(0 to 2) as double, pointn(0 to 2) as double, _pointo(0 to 2) as double, pointp(0 to 2) as double, pointq(0 to 2) asdouble, _ pointr(0 to 2) as double, points(0 to 2) as double, pointt(0 to 2) as double, _ pointu(0 to 2) as double, pointv(0 to 2) as double, poin

43、tw(0 to 2) as double, _ pointx(0 to 2) as double, pointy(0 to 2) as double, pointz(0 to 2) as double, _ pointa1(0 to 2) as double, pointa2(0 to 2) as double, pointa3(0 to 2) as double, pointll(0 to 2) as double dim pointo1(0 to 2) as double, pointo2(0 to 2) as double, pointh1(0 to 2) as doubleacadli

44、ne, kuo2 as acadline, kuo6 as acadline, kuo7 as acadline, kuo8 as acadline, _ kuo16 as acadline, kuo9 as acadline, kuo10 as acadline, kuo14 as acadline, kuo13 as acadline, kuo12 as acadline, kuo11 as acadline, kuo15 as acadarc '定義點(diǎn) pointa(0) = basepoint1(0) - db / 0.2 + 10 * c2 * sin(3.14 / 12)

45、/ cos(3.14 / 12): pointa(1) = basepoint1(1) pointb(0) = basepoint1(0) + db / 0.2 - 10 * c2 * sin(3.14 / 12) / cos(3.14 / 12): pointb(1) = basepoint1(1) pointc(0) = basepoint1(0) - db / 0.2: pointc(1) = basepoint1(1) + 10 * c2 pointd(0) = basepoint1(0): pointd(1) = basepoint1(1) + 10 * c2 pointe(0) =

46、 basepoint1(0): pointe(1) = basepoint1(1) + 10 * c pointf(0) = pointd(0) + d / 0.2: pointf(1) = basepoint1(1) + 10 * c pointg(0) = basepoint1(0) + db / 0.2: pointg(1) = pointc(1) pointt(0) = pointf(0) + 10 * c: pointt(1) = pointb(1) pointi(0) = basepoint1(0) - db / 0.2: pointi(1) = basepoint1(1) + 1

47、0 * (hb - h - b) pointj(0) = basepoint1(0): pointj(1) = pointi(1) pointl(0) = pointi(0) + 10 * a / 2: pointl(1) = pointi(1) + a / 0.2 pointk(0) = basepoint1(0): pointk(1) = pointl(1) pointm(0) = basepoint1(0) - d1 / 0.2: pointm(1) = pointi(1) + 10 * b pointn(0) = basepoint1(0): pointn(1) = pointm(1)

48、 pointq(0) = pointm(0): pointq(1) = pointm(1) + 10 * (h - c) pointp(0) = basepoint1(0): pointp(1) = pointq(1) pointr(0) = pointm(0) + 10 * c: pointr(1) = basepoint1(1) + hb * 10 points(0) = basepoint1(0) + 10 * (d1 - c) / 2: points(1) = pointr(1) pointo(0) = pointf(0): pointo(1) = points(1) - c1 * 1

49、0 pointu(0) = basepoint1(0): pointu(1) = pointo(1) pointw(0) = pointg(0): pointw(1) = pointi(1) pointx(0) = pointg(0) - a / 0.2: pointx(1) = pointl(1) pointy(0) = pointx(0): pointy(1) = pointw(1) + 10 * b - 5 + a / 0.2 pointz(0) = pointy(0) + 5: pointz(1) = pointy(1) + 5 pointll(0) = pointl(0): poin

50、tll(1) = pointm(1) pointa3(0) = basepoint1(0) + d1 / 0.2: pointa3(1) = pointq(1) pointa2(0) = pointw(0) + a / 0.1: pointa2(1) = pointw(1) + 10 * b pointv(0) = pointa3(0): pointv(1) = pointa2(1) pointa1(0) = pointa2(0) - a / 0.2: pointa1(1) = pointa2(1) + a / 0.2 pointo1(0) = basepoint1(0): pointo1(1

51、) = basepoint1(1) - 20 pointo2(0) = basepoint1(0): pointo2(1) = basepoint1(1) + 10 * hb + 20 pointh1(0) = pointt(0): pointh1(1) = points(1)'畫圖 set kuo1 = blocklinshi.addline(pointt, pointb) blocklinshi.addline pointa, pointt blocklinshi.addline pointa, pointc blocklinshi.addline pointc, pointd b

52、locklinshi.addline pointe, pointf set kuo9 = blocklinshi.addline(pointf, pointt) set kuo2 = blocklinshi.addline(pointb, pointg) set kuo12 = blocklinshi.addline(pointg, pointw) set kuo13 = blocklinshi.addline(pointw, pointx) set kuo14 = blocklinshi.addline(pointx, pointy) set kuo16 = blocklinshi.addl

53、ine(pointz, pointa1) set kuo3 = blocklinshi.addline(pointa1, pointa2) set kuo5 = blocklinshi.addline(pointa2, pointv) set kuo6 = blocklinshi.addline(pointv, pointa3) set kuo7 = blocklinshi.addline(pointa3, points) blocklinshi.addline pointr, pointh1 blocklinshi.addline pointr, pointq blocklinshi.addline pointq, pointp blocklinshi.addline pointq, pointm blocklinshi.addline pointm, pointn blocklinshi.addline pointo, pointu set kuo8 = blocklinshi.addline(pointo, pointf) set kuo4 = blocklinshi.addline(pointy, pointz) ''''' blocklinshi.addline pointl, pointl

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論