畢業(yè)設計-基于catia二次開發(fā)下的車用彈簧建模設計_第1頁
已閱讀1頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  畢業(yè)設計說明書(論文)</p><p>  指導者: </p><p>  (姓 名) (專業(yè)技術職務)</p><p>  評閱者: </p><p>  (姓 名)

2、 (專業(yè)技術職務)</p><p> 系:機械工程系</p><p> 專 業(yè):車輛工程專業(yè)</p><p> 題 目:基于CATIA二次開發(fā)的</p><p> 車用彈簧建模設計</p><p>  畢業(yè)設計說明書(論文)中文摘要</p><p>  畢業(yè)設計說明書(論文)外文摘

3、要</p><p><b>  目 次</b></p><p>  1 緒論……………………………………………………………………… 1</p><p>  1.1 CAD的二次開發(fā)…………………………………………………………………………… 1</p><p>  1.2 國內外標準件庫現狀……………………………

4、…………………………………… 3</p><p>  1.3 課題的選題依據和主要研究任務……………………………………………… 5</p><p>  2 CATIA二次開發(fā)…………………………………………………………… 5</p><p>  2.1 CATIA二次開發(fā)的幾種方式…………………………………………………… 6</p><p&

5、gt;  2.2 Automation API二次開發(fā)……………………………………………………… 8</p><p>  3 軟件介紹……………………………………………………………………… 11</p><p>  3.1 CATIA介紹……………………………………………………………………… 11</p><p>  3.2 VB介紹………………………………

6、………………………………………… 14</p><p>  3.3 CBA和VBA的區(qū)別……………………………………………………………… 16</p><p>  4 車用彈簧的設計與計算………………………………………………………… 19</p><p>  4.1 幾何參數設計……………………………………………………………………19</p>

7、<p>  4.2 特性曲線………………………………………………………………………… 21</p><p>  4.3 圓柱螺旋壓縮(拉伸)彈簧受載時的應力及變形……………………………… 23</p><p>  4.4 承受靜載荷的圓柱螺旋壓縮(拉伸)彈簧的設計………………………………… 25</p><p>  4.5 承受變載荷的圓柱螺旋壓

8、縮(拉伸)彈簧的設計………………………………… 28</p><p>  5 二次開發(fā)下的車用彈簧建模設計實例………………………………… 31</p><p>  5.1 CATIA車用彈簧建模及宏的錄制………………………………… 31</p><p>  5.2 車用彈簧參數化設計…………………………………………………… 34</p><

9、p>  結論 ………………………………………………………………………………… 39</p><p>  致謝 ………………………………………………………………………………… 40</p><p>  參考文獻………………………………………………………………………………41</p><p><b>  緒論</b></p>&

10、lt;p>  改革開放以來,我國汽車尤其是轎車工業(yè)有了突飛猛進的發(fā)展,汽車工業(yè)已成為我國國民經濟的支柱產業(yè)之一。2006年我國汽車產量已超過300萬兩,從而超過日本成為繼美國和德國之后的第三大汽車生產大國。但我國整個機械制造業(yè)的生產方式還比較落后,加入WTO以后,與國際間的競爭更加激烈。所以,改造我們的制造業(yè),特別是將計算機熔入制造業(yè),這已成為大勢所趨。國內CAD/CAE/CAM技術不斷引入與發(fā)展,計算機在機械制造業(yè)的應用日益普及

11、和深化。</p><p>  目前,在我國汽車行業(yè)中應用CAD進行計算機輔助設計已經較為普遍,所使用的CAD軟件種類也比較多,較大的提高了汽車設計及生產的效率。一個企業(yè)的發(fā)展速度也越來越依賴于這種設計方法的運用程度。法國達索系統公司的CATIA是一款集CAD/CAE/CAM一體化的軟件,在世界CAD/CAE/CAM領域中處于領先地位,特別是在汽車設計領域更是占有主導優(yōu)勢,在國內的汽車企業(yè)中也被廣泛應用[1]。&l

12、t;/p><p>  但隨著信息技術的發(fā)展,世界市場的全球化、經濟的區(qū)域化、經營的跨國化已日趨明顯。主要表現在產品生命周期縮短、用戶需求多樣化、大市場和大競爭、縮短交貨期等已成為主要的競爭因素。在市場競爭日益激烈的環(huán)境下,能否以盡量短的時間、盡量低的成本向用戶提供質量滿意的產品已成為影響企業(yè)生存和發(fā)展的重要問題。</p><p>  傳統基于二維的產品設計與制造要耗費大量時間。不僅周期長,而且

13、工作量大。不能滿足現代制造系統靈活、快速的要求,同時用戶普遍感到沒有標準件庫,也沒有提供建立標準件庫的方法,給設計工作帶來很多的不便,嚴重影響到設計效率。為此在汽車設計過程中建立行業(yè)或公司的專業(yè)性“零件庫”成為縮短產品設計開發(fā)周期、提高產品質量、降低產品成本的重要手段。本論文正是利用CATIA的二次開發(fā)技術建立適應于企業(yè)需求的車用標準彈簧庫。從而為三維CAD設計環(huán)境建立了良好的基礎。</p><p>  1.1

14、 CAD的二次開發(fā)</p><p>  1.1.1 CAD二次開發(fā)的意義</p><p>  CAD技術推動了幾乎一切領域的設計和制造革命,其開發(fā)和應用水平已成為衡量一個國家現代化水平的重要標志。我國一貫重視CAD技術的引進、推廣和應用工作,但同時也非常重視CAD軟件的自主開發(fā)。目前,國內實際使用的CAD系統可分為兩大類:一類是國內主權版的CAD系統,另一類是國外商品化的CAD系統。由于

15、國外CAD系統發(fā)展早、技術先進、產品成熟、售后服務周到,仍占據著主要的市場份額。</p><p>  國際和國內的知名的CAD/CAM軟件如Pro/Engineer、UG、I-DEAS、CATIA、SolidWorks、以及華正CAXA系統等,都是商品化的通用平臺。這些通用軟件需要考慮各行業(yè)、各地區(qū)用戶的需要,而并非針對某一領域甚至某種產品的專用軟件,因此用它來完成某一具體產品的設計時往往不是很方便。因為不同企業(yè)

16、有不同的產品,其設計方法、產品結構也不盡相同,即使是面向某一類對象的專用商品化CAD軟件,也難以滿足形形色色的具體需要,所以不可能從軟件公司買到適合所有產品設計需要的軟件。因此,欲利用CAD技術取得積極效果,必須以通用CAD軟件為基礎,結合自身實際情況,進行不同程度的用戶化、本地化開發(fā),以建立應用繪圖系統和數據庫,形成具有自身特色的CAD系統,這也是CAD軟件均提供二次開發(fā)手段的原因。</p><p>  根據抽

17、樣調杳,國內已引進的CAD系統利用率高、效益好的單位大約只有20%。而據統計,工程設計中繪圖工作只占整個設計工作量的18%,設計者的大部分精力還要花在資料檢索及設計思考上[2]。如果能在引進的原始CAD系統基礎上,根據本企業(yè)或行業(yè)的常規(guī)性產品或工程設計的實際需要,將設計手冊、制造手冊中的各種數據、典型的結構、計算方法與公式及產品標準、技術要求、外構件、原材料的樣本、手冊,本企業(yè)或行業(yè)產品的典型結構、經驗數據、工裝情況等方而的資料、數據、

18、圖形等與現有CAD系統有機地融合起來,使設計人員從繁重的重復勞動中解放出來,做到數據共享;甚至更一步,將本企業(yè)或行業(yè)多年來的設計經驗總結出來,形成有特色的設計規(guī)范、設計方法、典型結構、標準、通用零部件、功能模塊,并相應地在CAD系統內建立起數據庫、圖形庫、方法庫、知識庫及其應用程序,從而真正發(fā)揮CAD系統的效用和優(yōu)越性。</p><p>  1.1.2 國內外研究現狀</p><p> 

19、 目前,國內CAD技術的應用已逐步進入高級階段,許多用戶都針對本行業(yè)的特點對CAD進行二次開發(fā),CAD二次開發(fā)技術幾乎在各個行業(yè)中都有一應用實例,并已有一些商品化軟件問世。但各行業(yè)CAD二次開發(fā)技術的發(fā)展水平存在較大差距,機械、電子、建筑、航空航天等最早應用二次開發(fā)技術,其二次開發(fā)程度也最高。開發(fā)出的CAD系統能夠集計算、參數化繪圖、數據管理為一體,并直接與計算機輔助制造(CAM)和計算機輔助工藝設計(CAPP)有機結合。目前國內已開發(fā)

20、成功一批符合工程需要的應用軟件,逐漸形成了一批具有一較高素質的研究開發(fā)隊伍。</p><p>  另外各高校和相關研究機構也在CAD二次開發(fā)方面作了很多成功的工作,如:在北京航空航天大學教授成傳賢、李天的指導下,其碩士研究生進行了UG系統二次開發(fā)的研究,以實現飛機復雜型面在UG中的提??;華南理工大學賴朝安博士、北京航空航天大學張景賽博士都曾進行過Pro/E二次開發(fā)關鍵技術研究,運用Pro/E提供的二次開發(fā)工具Pr

21、o/TOOLKIT實現由程序動態(tài)地、自動地進行特征建模的功能,所建模型能由程序自動加入較為豐富的非幾何特征,并存入模型統一的數據庫、特征庫中,該用戶定義特征的方法適用于所有的模型的程序自動建模,對其它所有的產品模型有很大的借鑒意義,其研究并開發(fā)的Pro/E與MFC的接口,突破了Pro/TOOLKIT的局限,克服了在Pro/E上進行二次開發(fā)的技術難題;遼寧工學院的李衛(wèi)民、劉淑芬以及淮安市廣播電視大學的張莉分別探討了“基于SolidWork

22、s平臺的二次開發(fā)技術”等[2]。</p><p>  其他行業(yè)的CAD二次開發(fā)技術則相對落后,有的僅僅是一小部分工程技術人員的個人行為,還沒有形成專門從事CAD二次開發(fā)的研究隊伍。雖然也出現了一些CAD應用軟件,但大多數僅僅針對某一類型的產品或產品的一部份而開發(fā)的小型應用系統,解決的問題也比較有一限。</p><p>  國外成功的CAD技術開發(fā)企業(yè)為了加快CAD技術開發(fā)步伐,都選擇了高起

23、點的CAD技術開發(fā)戰(zhàn)略,即利用已有的技術成果,在此基礎上二次開發(fā)自己的CAD技術,而不是將人力物力浪費在低水平的重復開發(fā)上,這樣既可以提高效率,又能保證自己的產品具有一較高的技術含量和水平。</p><p>  1.2 國內外標準件庫現狀</p><p>  對機械產品的零部件分析表明,標準零部件的數量約占到60%左右,30%左右的零部件是通過變型設計得到的通用件,而根據客戶特殊需求開發(fā)

24、的零部件只有10%左右。標準零部件不僅數量多,且在設計過程中需要頻繁查閱各種設計手冊。據統計,標準零部件的選用及繪制約占全部設計時間的70%[3]。所以,在產品設計中,標準零部件的設計是一項費時費力且?guī)в泻艽笾貜托缘墓ぷ?,這顯然與日趨激烈的市場競爭環(huán)境不相適應。因此,很有必要開發(fā)各種通用和專用的標準件庫來取代這一繁瑣、復雜的勞動。</p><p>  正是由于標準件庫的創(chuàng)建具有巨大商機和經濟效益,因此針對不同的C

25、AD平臺開發(fā)出適合用戶和企業(yè)要求的標準件庫,十分有必要。目前,己經有許多企業(yè)和科研機構正在做這方面的工作。下面是關于國內外的標準件庫的開發(fā)現狀。</p><p>  國產CAD軟件金銀花MDA2000V2集成的標準件庫主要分為標準件、非標準件、通用件、自定義件四大類,其中標準件又分為國家標準件和國家軍用標準件[4]。在國家標準件中收錄了大量的標準件,分為螺栓、螺釘、螺母墊片、鉚釘、軸承、檔圈等幾類。自定義零件庫可

26、以將用戶自己設計的一些常用零件收編成庫,如廠標零件、系列件等,以補充標準件的不足,便于重復使用。</p><p>  CSPLIB機械CAD標準件庫是一個運行于AutoCAD之上的機械標準件庫,是一套全新的CAD產品目錄零件管理信息系統,其數據描述符合GB10091-事物特性表和GB/T15049. 1-CAD標準件圖形文件編制總則。CAD標準件圖形文件編制總則規(guī)定以ASCII形式作為描述零件特性的文件格式。CS

27、PLIB完全遵循上述標準而設計,可顯示標準件幾何視圖變形,進行快速檢索,并將圖形插入到CAD系統[4]。</p><p>  白玉蘭CAD系統(BYLcadS. 1,含二、三維標準件庫及建庫工具)。二、三維標準件庫及建庫工具是一個基于ISO-13584國際標準、可與多種CAD系統共享、集成的標準零部件的通用建庫工具和庫管理系統[4]。</p><p>  由陜西金葉西工大軟件股份有限公司開

28、發(fā)的二維/三維標準件庫及其建庫工具是一套功能強大的、基于網絡版的二、三維標準件CAD軟件[4]。它覆蓋了國標、航標等標準,基于網絡運行保證了二維數據統一性,完整性,具有方便的擴充功能,它具有以下特點:高度的靈活性、方便性;全中文,基于世界上先進的CAD產品MDT。具有擴充功能:提供了自定義標準件功能;可以添加國標和航標中沒有的標準件。</p><p>  Autodesk公司的MDT帶有總共120萬個各種標準工具

29、庫,是世界上目前為止最全的機械工具標準集。因為有的用戶已經長期使用UG, CATIA等高端軟件,除了自行二次開發(fā)適合的機械工具庫外,也可以通過STEP技術作為接口,將MDT6. 0的工具集從它的環(huán)境中生成*. STP格式文件,從而被UG, CATIA等軟件接受,生成完整的線框模型,因而可以作為投影視圖的幾何圖形而被使用[4]。</p><p>  UG、 Pro/E、Ideas、CATIA是國外著名的高端CAD軟

30、件系統,功能十分強大,也都帶有自己的標準件庫系統,但都沒有很好地實現標準件庫的動態(tài)擴充,尚存在這樣或那樣的問題,有關CAD軟件標準件庫系統詳見表1-1[5]。針對不同行業(yè)要求而建立的不同種類的標準件庫,確實給企業(yè)帶來了高效率,縮短了設計、生產和制造的周期;但是,絕大多數的標準件庫不可能覆蓋用戶和企業(yè)所需要的所有標準件,因此在特定的情況下,用戶和企業(yè)不僅能夠自己來實現標準件的動態(tài)添加和調用,而且能夠保證離線編輯,才能體現出標準件庫的靈活性

31、和可擴充性。</p><p>  表 1-1 CAD軟件標準件庫</p><p>  1.3 課題的選題依據和主要的研究任務</p><p>  1.3.1 選題依據</p><p>  由上文可知計算機輔助設計和制造在制造業(yè),特別是汽車制造業(yè)的重要作用,而在使用CAD軟件繪圖設計的過程中如何減少重復勞動又是提高設計和制造效率的重要問題。

32、在CATIA軟件環(huán)境使用高級編程語言對汽車零部件建模的下進行二次開發(fā)或使用知識工程相關方法進行開發(fā)設計。使企業(yè)通過重用產品設計知識,將設計經驗融入到軟件中,能夠縮短開發(fā)周期,從而提高其市場競爭力有著非常重要的現實意義。因此選擇基于CATIA二次開發(fā)的車用彈簧建模設計作為本文的研究選題。</p><p>  1.3.2 研究任務</p><p>  1、掌握車用彈簧設計計算及工作原理;&l

33、t;/p><p>  2、掌握機械彈簧二維及三維參數化建模的方法;</p><p>  3、熟練使用VB語言對CATIA軟件對零件實體設計的語言描述;</p><p>  4、使用CATIA編程實現彈簧的實體建模和零件庫的程序編寫;</p><p>  5、使用CATIA編程實現零件三維轉換工程圖控件的程序編寫。</p><p

34、>  2 CATIA二次開發(fā)</p><p>  CATIA是一個通用的計算機輔助設計軟件系統,在某個專業(yè)的特定應用時,可能顯得繁瑣。如果能在CATIA軟件通用系統基礎上,針對行業(yè)標準規(guī)范和具體應用需求,進行二次開發(fā),并融合公司的經驗、標準將會顯著提高CATIA軟件的使用效率和工程設計人員的CATIA系統應用水平, 實現產品數字化設計的一致性和規(guī)范性。最初CATIA V5提供Macro工具來做二次開發(fā)。R

35、7及以前版本只支持用腳本語言(CATIA Script和Ⅶ Script)作為其開發(fā)語言,這些語言的最大缺陷是難以定制豐富的交互界面。從R8開始,CATIA V5融合了VBA 編輯器。正式提供對VBA的支持,使得二次開發(fā)變得有意義。之后推出的CAA(Component Application Architecture,組件應用架構)是Dassault Systemes產品擴展和客戶進行二次開發(fā)的又一強有力的工具。其實二次開發(fā)的底層運行實

36、質是調用CATIA V5 API。隨著CATIA軟件應用領域的日益普及和深入,用戶對軟件功能和性能的要求不斷提高,以及增加了對軟件個性化服務要求。CATIA V5開放了大部分接口,公開的類有474個,幾</p><p>  2.1 CATIA二次開發(fā)的幾種方式</p><p>  作為一種大型工程應用軟件,CATIA V5 先后具備了以下5個開放性能[1],從而使其用戶能夠方便地對CAT

37、IA進行定制開發(fā):</p><p>  (1)標準格式的輸入輸出:</p><p>  用于跨CAD 平臺、跨PDM、標準格式的輸入輸出,以便進行數據格式的轉化。</p><p>  (2) Automation API 使用自動化應用接口的宏:</p><p>  用于自動化(Automation)組件,日志(Journaling),Vis

38、ual Basic和JavaScript/Html的開發(fā),這是一種交互方式的定制。該定制方式允許用戶獲取CATIA的數據模型。通過提供交互的方式,讓用戶記錄操作過程,通過VB Script or Java Script 來錄制宏,從而自動生成代碼。Automation API具備了與任何OLE所兼容的平臺進行通訊的能力。</p><p>  (3) KnowledgeWare 智能構件:</p>&

39、lt;p>  一種反應式的,基于規(guī)則的,面向目標的客戶化方式。它是一種高效的規(guī)范重用,像應用公式一樣簡單的,實現團體的知識庫準則集,并且和V5緊密集成以提升處理能力。它能通過相關的穩(wěn)定不變的規(guī)范定義來實現交互的知識捕捉。智能構件是一套預定義的易用服務,它驅動的管理和重用是從函數、規(guī)范到組件和系統來一步一步實現的。它允許定制和外部代碼的集成。它用于三個方面:知識顧問、知識專家和產品工程優(yōu)化。知識顧問是用于參與設計定義的嵌入知識,包含

40、規(guī)則集、檢查、審查和預定義行為(Behavior)。知識專家則是基于規(guī)則的過程,可以實現規(guī)則集、檢查和報告。產品工程優(yōu)化是面向設計目標的,它包含優(yōu)化目標、準則和求解方案。</p><p>  (4) Interactive User Defined Feature 交互式的用戶定義特征:</p><p>  一種編制式的定制開發(fā)。通過聚合現存的特征來交互的定義新的數據類型。收集現存規(guī)范,指

41、定輸入,從而創(chuàng)建一個“IUDF”(用戶定義特征)?!癐UDF”可以通過引用一個目錄文件(Catalog)保存在.CATPart文檔中。它可以交互的被客戶使用。</p><p>  (5)CAA V5 的C++ 和Java 應用接口:</p><p>  這是基于組件的定制開發(fā)。CAA 是組件應用架構(Component Application Architecture)的縮寫,是 Dass

42、ault Systemes產品擴展和客戶進行定制開發(fā)的平臺,它使全球諸多開發(fā)商可參與Dassault Systemes 的研發(fā)。利用CAA 可以進行從簡單到復雜的二次開發(fā)工作,而且和原系統的結合非常緊密,如果沒有特別的說明,無法把客戶所研發(fā)的功能從原系統中區(qū)分出來,這非常有利于用戶的使用和集成。作為CATIA最強大的二次開發(fā)工具,在國外,無論是在法國還是日本等國,對CAA 的研究和應用相對比較早,也比較深入。而在國內,南京航空航天大學在

43、2004 年初才成為CAA 的第一個正式用戶。但國內的北京航空航天大學、西北工業(yè)大學、第一飛機設計院等許多大學和研究所,都在關注CAA的應用研究。</p><p>  對于需要捕捉用戶的一系列交互操作的應用,可以采用CATIA V5 的自動化應用接口和CAA V5 的C++、Java 應用接口。自動化應用接口可以調用“InputBox”和“MsgBox”函數獲取用戶輸入信息和進行輸出,而對于NT 用戶還可以應用V

44、isual Basic來定義更為復雜成熟的輸入輸出面板,還可以給宏關聯一個圖標,并置入CATIA 顯示框架。CAA V5 可以做精致的交互命令,這些命令可以分組歸入工作臺(workbench)并展示精美的面板,且能夠實現Undo/Redo。智能構件和CAA V5可以用來實現企業(yè)標準的約束檢查。</p><p>  用戶定義特征和CAA V5 都可以事后定義新的特征,而產生和其它DS特征平等的特征。要擴展已經存在對

45、象的行為,則要CAA V5 才能實現。和外部系統通訊可以通過格式輸入輸出實現。而CATIA 也是自動化的服務器,在NT 下,可以通過自動化接口進行與外部通訊。CAA V5 提供一個稱為Backbone 的通訊總線結構,該總線通過封裝底層的通訊技術實現高層異步通訊。</p><p>  對于用戶定義特征和智能構件,只需要用戶具備CATIA V5的知識就可以進行開發(fā);而對于自動化應用接口和CAA V5,還需要用戶分別

46、具備VB的開發(fā)能力、C++(或Java)的開發(fā)能力,同時還需具備COM 的基本知識。</p><p>  CATIA的幾種二次開發(fā)方式中主要用到的是后四種,它們對開發(fā)人員的要求層次大致如圖1-1[6]所示:</p><p>  圖1-1 CATIA不同二次開發(fā)方法</p><p>  2.2 Automation API二次開發(fā)</p><p&

47、gt;  可以用于自動化(Automation)組件,使用VBScript作為編輯工具,這是一種交互方式的定制??梢杂涗浻脩舻牟僮鬟^程,自動生成代碼。CATIA提供了Automation API用于VBScript對CATIA的二次開發(fā),Automation API具備了與任何OLE所兼容的平臺進行通訊能力。自動化應用接口可以調用“InputBox”和“MsgBox”函數獲取用戶輸入信息和進行輸出,而對于NT用戶則可以應用Visual

48、Basic來定義更為復雜的輸入輸出面板。運行的時候可以給宏關聯一個圖標,并置入CATIA顯示框架。這種方式的開發(fā)流程如圖1-1[5]中所示。</p><p>  圖 1-1 CATIA API方式開發(fā)流程</p><p>  Application主要對象:</p><p>  要對CATIA進行操作,首先是要連接它的com接口,一般是要用到GetObject,當然

49、這種方法必須是在CATIA已經運行的前提下,如果CATIA沒有運行,那么就要用到CreatObject啟動CATIA。為了避免發(fā)生問題通常將2種方法合用,即:</p><p>  Dim CATIA 'As Object</p><p>  On Error Resume Next</p><p>  Set CATIA = GetObject(,"

50、;CATIA.Application")</p><p>  If Err.Number <> 0 Then</p><p>  Set CATIA = CreateObject("CATIA.Application")</p><p>  CATIA.Visible = True</p><p>&

51、lt;b>  End If</b></p><p>  On Error GoTo 0</p><p>  Documents和Document對象:</p><p>  在CATIA中,文檔有很多的類型,包括零件(Part),產品(Product),工程圖(Drawing)等,這些不同的文檔格式基于Microsoft的多文檔標準。它去除了傳統的V

52、4會話,模型和EXP文件格式。一般可以通過Add的方法新增一個文檔,程序如下所示:</p><p>  Dim oPartDoc As Document</p><p>  Set opartDoc=CATIA.Document.Add(“Part”)</p><p>  其中Add的參數可以是Part ,Product,Drawing三種,分別對應的是零件文檔,產

53、品文檔和工程圖文檔。</p><p>  當然對于已經存在的文檔可以用open的方法打開,代碼程序如下:</p><p>  Dim OpartDoc As Document</p><p>  Set OpartDoc =CATIA.Documents.Open(FileName)</p><p>  而對于FileName參數必須加上完整

54、的路徑。</p><p>  采用ActiveDocument屬性來獲取當前活動的文檔,這時要加上一定的錯誤控制,因為CATIA不一定有當前打開的文件。下面是典型的代碼程序:</p><p>  On Error Rusume Next</p><p>  Set OpartDoc=CATIA。ActiveDocument</p><p> 

55、 If OpartDoc Is Nothing Then</p><p><b>  Err.clear</b></p><p>  Set OpartDoc=CATIA.Documents.Add(“Part”)</p><p><b>  End If </b></p><p>  On Err

56、 Go To 0</p><p>  在獲取Document對象后,就可以對它進行各種各樣的操作,比如保存,另存為,關閉。在保存文檔時,另存為不能把文檔保存為另一種格式。例如把當前的文檔以IGESDoc為名稱,在當前的目錄輸出為IGES格式:程序代碼 OpartDoc。ExportData(“IGESDoc”,“igs”)</p><p>  Cameras和Camera對象</p&

57、gt;<p>  主要是針對零件文檔和產品文檔來說的,對與工程圖沒有這個概念。Cameras和Camera對象的關系就像Documents和Document對象關系一樣,Cameras對象可以包含Camera2D和Camera3D兩種對象??梢杂肅ount屬性得知當前文檔中視點個數,這其中也包含自定意義視點。程序代碼:</p><p>  Dim myCam3d As Camera3D</p&

58、gt;<p>  MsgBox OpartDoc.Cameras.Count</p><p>  For i=1toOpartDoc.cameras.count</p><p>  Set myCam3d=OpartDoc.Camera.Item(i)</p><p>  MsgBox mycam3d.Name</p><p>

59、<b>  Next</b></p><p>  Windows和Window對象</p><p>  一個零件在CATIA中可以用很多個窗口打開,每個窗口的視角可以是不同的。Windows對象即指所有打開的窗口的集合,而對Window對象則指的是某一特定的窗口,這兩者之間的關系就如Documents和Document對象的關系一樣。代碼程序如下:</p>

60、<p>  Dim myWindow As Window</p><p>  Msgbox CATIA.Windows.count</p><p>  For Each myWindows In CATIA.Windows</p><p>  myWindow.Activate</p><p>  Msgbox myWindow

61、.Name</p><p><b>  Next</b></p><p>  這個代碼顯示當前打開窗口個數,然后逐個激活顯示名稱</p><p>  Viewers和Viewer對象</p><p>  Viewer對象一般只有一個,它是Windows對象的一個屬性。用Window。Active Viewer可以獲取,V

62、iewer對象中有很多有用的方法如下列程序代碼:</p><p>  Dim myViewer As Viewer3D</p><p>  Set my Viewer=CATIA.ActiveWindows.ActiveViewer</p><p>  myViewer.zoomIn </p><p>  myViewer.zoomOut

63、 </p><p>  myViewer.zoomReframe </p><p>  myViewer.Update </p><p>  它代表的意思是視圖的縮小,放大,視圖重組,視圖更新。</p><p>  CATIA API包含的函數數量眾多。在利用CATIA二次開發(fā)做汽車標準件庫的創(chuàng)建時主要涉及以下幾類中的函數:</p&

64、gt;<p>  1)Application類:該類對應運行著的CATIA程序,是開發(fā)語言調用其他API的入口(用關鍵字CATIA來獲得運行程序實例),要對CATIA進行操作,首先就要通過它的GetObject和CreateObject方法連接到它的COM接口上。特別是封裝的ActiveDocument()方法,該方法是獲得當前活動文檔的快捷、簡易方法。</p><p>  2)Document類:

65、該類對應CATIA程序一個文檔。文檔有很多種類型,包括零件(Part)、產品(Product)、工程圖(Drawing)等,而Documents對象是這種對象的一個集合。各種不同的文檔類型又包含不同的屬性和操作方法。</p><p>  3)HybridShapeFactory:該類封裝了在線框和曲面模塊(wireframe and surface design)中創(chuàng)建所有HybridShape (線框)對象的方

66、法,如:Point、Line、Surface、Corner(倒角)、Intersection (相交)、Circle、HybridSplit(割)、CurvePar(曲線的平行線)等。</p><p>  4)ShapeFactory:該類封裝了在零件設計模塊(part design)中所有創(chuàng)建shapes(實體)對象的方法,如:AddNewPad()(拉伸)、AddNewPocket、AddNewHole、Ad

67、dNewGroove、AddNewSlot等。</p><p><b>  3 軟件介紹</b></p><p>  3.1 CATIA介紹</p><p>  CATIA(Computer Aided Three & Two Dimensional Interaction Application System,計算機輔助三維/二維

68、交互式應用系統)是法國達索飛機公司開發(fā)的高檔CAD/CAM軟件。目前在中國由IBM公司代理銷售。CATIA軟件以其強大的曲面設計功能在飛機、汽車、輪船、機械制造、電子、電器、消費品行業(yè)被廣泛應用它的集成解決方案覆蓋所有的產品設計與制造領域,滿足了工業(yè)領域各類大、中、小型企業(yè)的需要。世界前20名的汽車企業(yè)有18家采用CATIA作為其核心設計軟件。世界上已有超過13 000個用戶選擇了CATIA,其中包括波音、克勞斯勒、寶馬、奔馳、本田、豐

69、田等著名企業(yè)。波音公司用CATIA完成整個波音777的零件設計和電子裝配,創(chuàng)造了業(yè)界的一個奇跡,從而業(yè)確定了CATIA在CAD/CAE/CAM行業(yè)的領先地位[1]。 </p><p>  CATIA軟件運行在工作站的版本系列為4版本,由于其許多造型工具能利用不同的方法實現類似的造型效果,使用戶必須在嚴格掌握各種工具的細微差別的基礎上才能正確的選擇。所以對于工作站版本,往往需要專業(yè)的培訓才能掌握。達索公司也通過推出

70、一些更專業(yè)的軟件包方便用戶使用。</p><p>  如今達索公司又推出了CATIA V5版本,該版本能夠運行于多種平臺,特別是微機平臺。這不僅使用戶能夠節(jié)省大量的硬件成本,而且其友好的用戶界面,使用戶更容易使用。從CATIA軟件的發(fā)展,我們可以發(fā)現現在的CAD/CAM軟件更多的向智能化、支持數字化制造企業(yè)和產品的整個生命周期的方向發(fā)展。</p><p>  CATIA V5系統特點參數變

71、量化建模器,CATIA V5是3D參數變量化建模軟件,它允許用戶添加參數或尺寸以驅動模型的創(chuàng)建和加工,以此來捕捉設計意圖。通過捕捉和維護用于定義模型的元素,參數和尺寸之間的關系的設計意圖,參數化可增零件的智能化水平。這有利于新設置更新模型,但仍然保持設計的初始意圖不變。</p><p>  在CATIA V5的強大功能支持下,用戶可以對幾何體進行參數化,包括實體,曲面,線框和結構特征。整體設計或部分設計都進行參數

72、化,這在快速設計開發(fā)中具有更大的靈活性。在產品的設計過程中,用戶隨時可以添加或者刪除尺寸。為模型標注尺寸和施加約束時,用戶的選擇是開發(fā)健壯模型的關鍵。</p><p>  一旦對模型進行了參數化,用戶就可以輸入新的參數值并更新模型,以此來已有設計的幾何形狀。模型更新就會將幾何體驅動到新的位置。另外,基于參數的建模方式允許由實體建模實體,諸如孔,圓角,凸飾,型腔等,與指定的邊或面關聯。當這些邊或面因為某次更新而移動

73、時,這些部件會跟隨移動,從而維持初始的關系。</p><p>  工作臺產品,在CATIA V5環(huán)境中經常使用工作臺(Workbench)這個術語。工作臺就是應用模塊中的工作環(huán)境,用戶可以使用一些獨特的功能來創(chuàng)建幾何體并對幾何體進行操作。多數的工作平臺就是應用模塊的特例。但是,某些工作臺(如草圖工作臺)卻結合在多個應用模塊中。</p><p>  CATIA V5采用了多種支持組件技術的軟

74、件技術如:JAVA、COM/DCOM、CORBA等,內部模塊全部用CNEXT(CATIA 內部使用的一種C++語言)實現,結構單一。提供了多種開發(fā)接口,支持C++/JAVA、Automation API ,支持各種開發(fā)工具:CAA C++,JAVA ,VB,腳本語言。采用單繼承,對象之間關系明確,體系結構嚴謹,維護容易。根據CAD軟件的特點和實際需要,CATIA 的設計模式比較簡單,主要有工廠模式、層模式等。在面向對象的編程中,工廠模式

75、是一種經常被使用到的模式。根據工廠模式實現的類可以根據提供的數據生成一組類中某一個類的實例,通常這一組類有一個公共的抽象父類并且實現了相同的方法,但是這些方法針對不同的數據進行了不同的操作[7]。 </p><p>  CATIA中的具體實現如下例所示: </p><p>  如要做一條垂直于曲面的線,由對象繼承關系如下 </p><p>  CATBaseUnkn

76、own     ↓  CATBaseDispatch      ↓  AnyObject        ↓  

77、 HybridShape        ↓  Line       ↓    HybridShapeLineNormal</p><p>

78、;  CATIA V5所提供的工作臺與相關產品遠遠超出了本文的介紹范圍。主要的平臺有如下:產品結構(Product Structure),草圖(Sketch), 零件設計(Part Design), 線框和曲面(Wireframe and Surface Design) ,裝配設計(Assembly),工程圖(Drawing)。</p><p>  CATIA V5的設計理念是基于將數字化產品和產品開發(fā)的生命周期

79、結合在一起的概念。這款軟件已經被徹底的重新設計,并將主要的技術提供給工業(yè)。CATIA V5提供了全新的過程結構,該結構利用一套獨特的軟件開發(fā)工具進行開發(fā),和針對Microsoft Windows環(huán)境進行優(yōu)化。用戶界面全部重新設計為基于工具欄,圖標和驅動式快捷菜單的樣式。這種基于圖標的新菜單結構有利于縮短用戶的學習周期。</p><p>  CATIA V5最成功的地方在于各種工作臺的相互結合與GUI的無縫集成。實

80、體主要是由草圖的特征和修飾特征進行創(chuàng)創(chuàng)建,從而它比CATIA以前的版本具有強大的功能。</p><p>  3.2 Visual Basic介紹</p><p>  3.2.1 Visual Basic的簡介</p><p>  Visual Basic,簡稱VB,是Microsoft公司推出的一種Windows應用程序開發(fā)工具。是當今世界上使用最廣泛的編程語言

81、之一,它也被公認為是編程效率最高的編程方法之一。無論是開發(fā)功能強大、性能可靠的商務軟件,還是編寫能處理實際問題的實用小程序,VB都是最快速、最簡便的方法[8]。 </p><p>  Visual Basic 中的“Visual”指的是采用可視化的開發(fā)圖形用戶界面(GUI)的方法,一般不需要編寫大量代碼去描述界面元素的外觀和位置,而只要把需要的控件拖放到屏幕上的相應位置即可;“Basic”指的是BASIC語言,因

82、為VB是在原有的BASIC語言的基礎上發(fā)展起來的,至今包含了數百條語句、函數及關鍵詞,其中很多和Windows GUI 有直接關系。專業(yè)人員可以用 Visual Basic 實現其它任何 Windows 編程語言的功能,而初學者只要掌握幾個關鍵詞就可以建立實用的應用程序。 VB提供了學習版、專業(yè)版和企業(yè)版,用以滿足不同的開發(fā)需要。學習版使編程人員很容易地開發(fā)Windows和Windows NT的應用程序;專業(yè)版為專業(yè)編程人員提

83、供了功能完備的開發(fā)工具;企業(yè)版允許專業(yè)人員以小組的形式來創(chuàng)建強健的分布式應用程序。 </p><p>  Visual Basic的功能十分強大,它是一種強大的語言,即您所能想到的編程任務,它基本都能完成。從設計新型的用戶界面到利用其它應用程序的對象;從處理文字圖象到使用數據庫;從開發(fā)個人或小組使用的小工具,到大型企業(yè)應用系統,甚至通過 Internet 的遍及全球分布式應用程序,都可在 Visual Basic

84、 提供的工具中各取所需。 VB是微軟公司的一種通用程序設計語言,包含在Microsoft Excel、Microsoft Access等眾多Windows應用軟件中的VBA都使用VB語言,以供用戶二次開發(fā);目前制作網頁使用較多的VBScript腳本語言也是VB的子集[8]。 </p><p>  VB在目前各種編程語言共存的時代仍然以其出色的性能和長久以來積累下的大量用戶而在同行業(yè)中占據重要地位。VB從1991年

85、誕生之日起到現在已經有七個版本了(最新.NET版)這么高的更新率,不外乎說明兩個問題:用戶對VB的熱衷,微軟對VB的重視。不可否認微軟對市場的預測能力是極為高明的,而它強大的技術、財力支持也使它在許多以前未進入的領域,在不長的時間內有成為最有力的競爭對手。</p><p>  VB語言在學習上更是有其獨特的優(yōu)勢,特別是對初學電腦編程或者這是利用編程做一些其他工作的輔助工作。如果你是一個對編程一無所知,而又迫切希望

86、掌握一種快捷實用的編程語言的初學者,那選擇Visual Basic沒錯的。它的快捷的開發(fā)速度,簡單易學的語法,體貼便利的開發(fā)環(huán)境,是初學者的首選。VB的語法的和QBASIB語言是基本相同的,也就是說它的語法是最容易被初學者所接受的。另外VB提供的是可視化的開發(fā)環(huán)境,我們可以象搭積木一樣構建出程序的界面,而且VB提供了豐富的控件組,省去了我們自己寫代碼實現這些效果的麻煩,這樣我們就能把更多的精力放在程序功能的實現上,所以VB學起來簡單,用

87、起來方便[8]。 </p><p>  CAD軟件的二次開發(fā)對工程師的綜合能力要求很高,但是通常具備CAD應用經驗的工程師往往不具備軟件開發(fā)經驗和軟件開發(fā)語言,這也是現在CAD軟件二次開發(fā)方面發(fā)展多集中在少數高校和研究所的原因。而VB的簡單易學,以及其可視化的開發(fā)界面對參與CAD二次開發(fā)的人士而言是個很不錯的選擇。</p><p>  3.2.2 Visual Basic的特點</

88、p><p>  Visual Basic極大地簡化了界面的設計,它使程序員可以直觀地設計應用程序的用戶界面。通過事件驅動機制,用戶在界面上的任何操作都自動被映射到了相應的處理代碼上。這樣,程序員可以將精力集中在程序功能的實現上,無須像以前那樣需要耗費大量的精力為界面編寫代碼。例如:當用鼠標單擊一個按鈕時,用戶并不需要知道這個過程是怎樣發(fā)生的,或者這個過程的代碼是什么,而只需寫一段代碼來告訴計算機單擊按鈕時要執(zhí)行什么命

89、令。因此,在程序設計中Visual Basic比以往的各種工具都簡便,快速。</p><p>  Visual Basic還提供了OLE(Object Linking and Embedding,對象的鏈接與嵌入)功能。也就是在應用程序里,可以通過控制其它應用程序中的對象來借用他們的某些功能。例如,建立一個Visual Basic應用程序,在這個程序中,可以使用Microsoft Excel建立一個計算器,用Mi

90、crosoft Word 建立一個報表。</p><p>  另外,Visual Basic6.0中的數據訪問特性,允許對SQL Server 和其他企業(yè)數據在內的大部分數據庫格式和前端應用程序,以及可調整的服務器端軟件。</p><p>  Visual Basic是一種基于對象的程序設計語言。一個Visual Basic程序由眾多的對象以及各種事件的代碼組成。當用戶對對象進行操作時,就

91、產生特定的事件。對象在某些特定的條件下也會自動產生事件。當事件產生時,Visual Basic程序就自動調用相應的代碼來處理??梢哉f,應用程序在運行的過程當中,始終在等候事件的產生并做出響應,直到用戶結束整個程序為止[8]。 </p><p>  Visual Basic程序的主體是眾多的對象,也就是窗體、控件、菜單等。當用戶在某個對象上進行某些操作時,比如在命令按鈕上進行單擊鼠標,就會在這個命令按鈕的對象上激發(fā)

92、一個鼠標單擊事件。一般來說,用戶的操作都是有目的的,應用程序該響應用戶的操作,也就是說,程序員應該編寫代碼處理這些事件。</p><p>  3.3 CAA 與VBA 的區(qū)別 </p><p>  CAA 組件應用架構(Component Application Architecture,CAA)是Dassault Systemes產品擴展和客戶進行二次開發(fā)的強有力的工具。以 為商標的D

93、assault Systemes已形成六大支柱產品,通過PPR HUB進行集成,對產品的生命周期進行全方位管理。</p><p>  PPR HUB是Dassault Systemes 3D產品生命周期管理(Product Lifecycle Management ,PLM)解決方案的核心,確保CATIA、ENOVIA、DELMIA三者之間的整合。</p><p>  Dassault S

94、ystemes的這套解決方案得利于開放式,可擴展的模塊化開發(fā)架構CAA,使得全球諸多開發(fā)商可以參與Dassault Systemes的研發(fā)。對客戶而言,CAA可以進行從簡單到復雜的二次開發(fā)工作,而且和原系統的結合非常緊密,如果沒有特別的說明,無法把客戶所研發(fā)的功能從原系統中區(qū)分出來,這非常有利于用戶的使用和集成。</p><p>  CAA的實現,是通過提供的快速應用研發(fā)環(huán)境RADE和不同的API接口程序來完成的

95、??焖賾醚邪l(fā)環(huán)境Rapid Application Development Environment(RADE)是一個可視化的集成開發(fā)環(huán)境,它提供完整的編程工具組。實際上RADE以Microsoft Visual Studio VC++為載體,在VC++環(huán)境中增加了CAA的開發(fā)工具。API提供了操作各種對象的方法、工具和接口。</p><p>  CAA V5則可以做精致的交互命令,這些命令可以分組歸入工作臺(w

96、orkbench)并展示精美的面板,并能夠實現Undo/Redo。并且用戶可以定義新的特征,而產生和其他DS特征平等的特征,從而豐富CATIA V5的數據模型。要擴展已經存在的對象的行為則要CAA V5才能實現,并且可以定義新的行為。</p><p>  Dassault Systemes提供的CAA產品包括如下內容:</p><p>  CAA RADE 快速開發(fā)環(huán)境,基于Microso

97、ft Visual Studio</p><p>  CAA CATIA V5 API, CATIA V5應用開發(fā)工具</p><p>  CAA ENOVIA LCA V5 API,ENOVIA LCA應用開發(fā)工具</p><p>  CAA DELMIA V5 API,DELMIA V5應用開發(fā)工具</p><p>  CAA ENOVI

98、A PORTAL V5 API ,ENOVIA PORTAL V5應用開發(fā)工具</p><p>  在商業(yè)運作方面,與Dassault Systemes系統的其產品一樣,CAA也被劃分為軟件包(Configuration)和模塊(Product),用戶在購置CAA時要根據需要選擇合適的配置和產品。</p><p>  目前CAA有五個配置軟件包:</p><p> 

99、 CAA-Multi-workspace Application Building(簡稱ABC)</p><p>  CAA應用的基本配置. CAA – 多工作空間應用程序構建配置是為IT和QA組織提供的。這種配置提供了CAA V5的基礎產品:多工作空間應用程序構建產品。通過這種基礎配置可以增加IT和QA產品在運行協同設計發(fā)布管理配置時的益處。應用這種配置的策略是提供充分的IT 和QA產品,它們被用來建立與開發(fā)者

100、所使用的產品無關的版本。該配置包括:多工作空間應用程序構建產品</p><p>  CAA-C++ Extended Development(簡稱CDC)</p><p>  提供與C++共存的的開發(fā)環(huán)境,即對C++開發(fā)環(huán)境的客戶化,用戶除可使用C++開發(fā)環(huán)境的所有工具外,還可使用CAA提供的獨特的開發(fā)工具.可用于CATIA和ENOVIA的二次開發(fā).</p><p>

101、;  CAA-C++ Base Development(簡稱CDV)</p><p>  CAA-基于C++的開發(fā)配置是為C++開發(fā)者提供的。這種配置面向中小規(guī)模應用市場。為開發(fā)者提供了交互面板產品和編譯工具??梢杂糜诳蛻艋疌ATIA V5 和ENOVIA V5產品。相對于CAA-C++擴展開發(fā)配置它提供了有限的功能支持,該配置包括: (1)C++交互面板產品 (2)多工作空間應用程序建構產品 </p>

102、;<p>  CAA-Java Base Development(簡稱JDV)</p><p>  CAA-基于Java 的開發(fā)配置是為JAVA開發(fā)者提供的。這種配置提供了一個工具包,其中包含為客戶化ENOVIA客戶端而開發(fā)JAVA應用軟件時所需要的所有工具。通過簡單易用的標準用戶界面,提供了實施和建立應用程序的集成能力,該配置包括: (1)JAVA 交互面板產品 (2)多工作空間應用程序構建產品

103、</p><p>  CAA-Legacy Data Integration Development Configuration(簡稱LDC)</p><p>  CAA-歷史數據的集成開發(fā)配置是為JAVA開發(fā)者提供的,提供訪問舊有系統所必需的工具,可與歷史數據輕松集成。該配置包括: (1)針對歷史數據的Web應用程序生成器產品 (2)多工作空間應用程序構建產品</p>&l

104、t;p>  CAA提供的產品(模塊)包括:</p><p>  CAA-C++ API Documentation Generator(CDG).</p><p>  CAA-C++ Source Checker(CSC)</p><p>  CAA-CAA Data Model Customizer(DMC)</p><p>  CA

105、A-Java UnitTest Manager(JUT)</p><p>  CAA-Multi-Worksoace Application Builder(MAB)</p><p>  CAA-Teamwork Release Manager(TRM)</p><p>  CAA-C++ Interactive Dashboard(CID)</p>

106、<p>  CAA-C++ Unit Test Manager(CUT)</p><p>  CAA-Java Interactive Dashboard(JID)</p><p>  CAA-Web Application Generator for Legacy Database(LWG)</p><p>  CAA-Source Code Manag

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論