張新興
(三門核電有限公司,浙江 臺(tái)州317112)
盡管功能強(qiáng)大的三維設(shè)計(jì)軟件逐漸普及推廣,但工程圖紙仍然是大部分企業(yè)表達(dá)設(shè)計(jì)思想、加工零件、檢驗(yàn)產(chǎn)品以及交流經(jīng)驗(yàn)不可缺少的技術(shù)資料。一個(gè)完整的起重機(jī)參數(shù)化設(shè)計(jì)系統(tǒng)必須能夠自動(dòng)生成工程圖紙,因而在起重機(jī)參數(shù)化設(shè)計(jì)系統(tǒng)中需要對(duì)零部件參數(shù)進(jìn)行合理的標(biāo)注,并且要能很好地處理參數(shù)化設(shè)計(jì)中的非幾何信息以解決工程圖的標(biāo)題欄、材料明細(xì)表的自動(dòng)生成問題。本文著重研究了起重機(jī)工程圖自動(dòng)生成和優(yōu)化調(diào)整過程中的一些問題,并加以解決。
作為重要的技術(shù)文檔,對(duì)工程圖進(jìn)行二次開發(fā)是非常重要的,筆者通過在Solid Works 2008環(huán)境下利用Visual Basic 6.0進(jìn)行工程圖的自動(dòng)生成及優(yōu)化調(diào)整。工程圖的優(yōu)化內(nèi)容如圖1所示。
圖1 工程圖優(yōu)化調(diào)整圖
尺寸是工程圖紙中表現(xiàn)零件外形以及加工時(shí)最重要的元素,尺寸的混亂和不整潔意味著產(chǎn)品的工程圖不符合要求。參數(shù)化后的起重機(jī)工程圖中出現(xiàn)的尺寸問題主要體現(xiàn)在尺寸值不居中和尺寸位置漂移2方面,對(duì)此筆者通過以下方法來(lái)解決:分析起重機(jī)零部件的圖紙尺寸,根據(jù)起重機(jī)工程圖中視圖外尺寸多、視圖內(nèi)尺寸少的特點(diǎn),將視圖中的尺寸分為內(nèi)向尺寸和外向尺寸2類。基于此,我們主要對(duì)外向尺寸進(jìn)行調(diào)整,通過外向尺寸的層次性可設(shè)定尺寸層。Solid Works系統(tǒng)為每個(gè)視圖提供了一個(gè)矩形外包絡(luò)線框,即視圖的最大外包絡(luò)線框,以此為第一層,依次向里遞減、向外遞增進(jìn)行分層。當(dāng)設(shè)定好層次間距后,只需得到第一層的位置,便可依次推導(dǎo)出其他層次。圖2為尺寸分布圖。
尺寸位置調(diào)整利用前面介紹的尺寸層,首先設(shè)置各層與外包絡(luò)線框的距離,然后在程序中通過遍歷獲得各層的尺寸,使每一層尺寸與其相應(yīng)位置對(duì)齊。在Solid Works 2008 API函數(shù)中,可以通過Annotation對(duì)象的SetPosition屬性實(shí)現(xiàn)尺寸位置的改變。第一層尺寸位置的絕對(duì)坐標(biāo)值可通過視圖的包絡(luò)矩形中心最大外形計(jì)算得出,X、Y方向需分別計(jì)算。一般用View對(duì)象的Position屬性獲得視圖的包絡(luò)線框中心,其他特殊視圖可通過建立參考標(biāo)記來(lái)獲得。當(dāng)?shù)玫降谝粚拥奈恢米鴺?biāo)后,根據(jù)定義的層次間距可計(jì)算出各層的坐標(biāo)值,然后遍歷該視圖的尺寸并設(shè)置到相應(yīng)層。
圖2 尺寸分布圖
為了使零件序號(hào)能夠自動(dòng)生成,在零部件建模時(shí),需要對(duì)每個(gè)零件的中心建立一個(gè)引出線參考點(diǎn);當(dāng)對(duì)某個(gè)視圖中的零件標(biāo)記序號(hào)時(shí),只需利用程序選擇參考點(diǎn)并標(biāo)注序號(hào)即可。為了使零件序號(hào)排列整齊,同樣利用上面的尺寸層概念,把序號(hào)設(shè)置到相應(yīng)的序號(hào)層,這樣就能夠?qū)崿F(xiàn)零件序號(hào)的自動(dòng)生成和調(diào)整。
SolidWorks中明細(xì)欄的建立有2種方法,一種是Excel表格方式,另一種是其自身附帶的明細(xì)欄方式。后者功能強(qiáng)大,參數(shù)化設(shè)計(jì)的工程圖大多采用這種方式,其二次開發(fā)以及自動(dòng)生成的功能明顯優(yōu)于前者,方便人們進(jìn)行優(yōu)化調(diào)整,如進(jìn)行逐行插入、排序、計(jì)算、序號(hào)及位置調(diào)整等。對(duì)于這些操作,Solid-Works提供BomFeature的Table Annotation等API函數(shù),便于開發(fā)人員利用二次開發(fā)技術(shù)控制明細(xì)欄的生成與調(diào)用。
對(duì)于修改明細(xì)表,可以通過修改相應(yīng)的零件鏈接配置或直接在程序中一行行地輸入明細(xì)欄來(lái)實(shí)現(xiàn),通過Annotation的InsertRow函數(shù)可插入明細(xì)欄,并根據(jù)界面選擇的順序一行一行寫入程序中。
視圖位置調(diào)整的基本原理:獲取每個(gè)視圖在圖紙中的位置(view.Position)和外輪廓大小(view.GetOutline),再根據(jù)圖紙的大小計(jì)算出每個(gè)視圖的位置。如圖3所示,圖紙大小為A2,有3個(gè)視圖,視圖1和視圖2之間的間隙為C。通過獲取視圖1、視圖2以及圖紙的大小,保證視圖1和視圖2之間的距離。根據(jù)C+視圖1的垂直距離+視圖2的垂直距離+2個(gè)視圖與邊框的距離,計(jì)算出垂直距離之和,以其與A2圖框垂直方向的長(zhǎng)度之比為視圖的大小比例因子,使3個(gè)視圖落在合適的位置。在SolidWorks 2008 API對(duì)象中,View對(duì)象是工程圖的 頂 層對(duì)象,其 提供 了 Get Annotation、GetBomTable、Get Name、Set Name、GetOutline等屬性和方法,可以通過這些屬性和方法獲取和設(shè)置工程圖的屬性以及調(diào)用工程圖上的一些命令。
圖3 視圖位置調(diào)整原理圖
目前,參數(shù)化設(shè)計(jì)已成為CAD制圖技術(shù)的一大研究熱點(diǎn)。針對(duì)工程圖紙參數(shù)化設(shè)計(jì)中的一些關(guān)鍵技術(shù)問題,本文的研究為其優(yōu)化和調(diào)整提供了一定的參考。
[1]喬慧麗.門式起重機(jī)三維參數(shù)化及模塊化設(shè)計(jì)系統(tǒng)的開發(fā)研究[D].武漢:武漢科技大學(xué),2005
[2]Duffy S M,Duffy A H B.Sharing the learning activity using intelligent CAD[J].Artificial Intelligence for Engineering,Design,Analysis and Manufacturing,1996,10(2):83~100
[3]Liu Wei,He Yuanjun.Representation and retrieval of 3D CAD models in parts library[J].The International Journal of Advanced Manufacturing Technology,2008(9~10):950~958