国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Inventor的變壓器工程圖自動繪制系統(tǒng)開發(fā)

2013-09-13 07:57張愛梅吳衛(wèi)衛(wèi)李林巖
鄭州大學學報(工學版) 2013年1期
關鍵詞:系列化工程圖二次開發(fā)

張愛梅,吳衛(wèi)衛(wèi),李林巖,張 虹

(1.鄭州大學機械工程學院,河南鄭州450001;2.許繼變壓器有限公司,河南許昌461000)

0 引言

目前國內的加工制造技術還不能夠達到無圖生產的條件,因此,二維工程圖仍然是表達零部件信息的一種重要的方式[1].

結合國內某變壓器公司干式變壓器產品族系列化的特點,在完成三維模型參數(shù)化之后,系列化的零件工程圖的繪制仍存在重復勞動的現(xiàn)象,并且由Inventor三維模型驅動生成的工程圖其視圖布局、比例、尺寸等都與國標有很大差別,不適合作為直接加工參考,而用軟件自帶功能修改又很繁瑣.為了解決企業(yè)在由三維零件生成工程圖過程中存在的以上問題,筆者將詳細介紹用VB語言對Inventor進行二次開發(fā),編制系列化零件自動繪圖系統(tǒng),實現(xiàn)系列化零件工程圖的自動繪制,生成符合國家標準的工程圖.

1 方案設計

對于形狀相同或相似、尺寸不同的系列化變壓器零件的繪制,在Inventor API環(huán)境下可通過參數(shù)化編程實現(xiàn).對于此類零件的工程圖生成同樣可以通過對Inventor進行二次開發(fā)完成.Inventor是Autodesk公司推出的基于特征的參數(shù)化實體造型軟件,也是基于Microsoft Windows的機械設計系統(tǒng).Inventor可以由三維零部件驅動生成參數(shù)化的二維工程圖,二維工程圖中的注釋、尺寸、文件屬性等參數(shù)與三維模型中的信息是一致的.Inventor提供了強大的二次開發(fā)接口,在Inventor中使用API是相當有意義的,在于能夠添加一些滿足特定專業(yè)設計需求的自定義功能[2].

Inventor API是以面向對象的方式暴露應用程序的功能,這種方式比面向過程的方式更容易學會和使用.只要理解和掌握某些面向對象程序設計的一般概念,再結合API對象結構模型就可以進行二次開發(fā)[3].

Inventor提供了3種開發(fā)途徑,分別是Add-In、獨立的 EXE 和 Apprentice Serve[4].筆者出于對應用程序用戶界面及效率的考慮,以VB6.0作為開發(fā)工具,采用Add-In的方式對Inventor進行二次開發(fā).

2 開發(fā)的思路及關鍵技術

變壓器零件的主要參數(shù)包括結構參數(shù)、特征參數(shù)及屬性參數(shù).Inventor可以由三維零部件自動生成參數(shù)化的二維工程圖,其中,結構參數(shù)及特征參數(shù)用來約束主結構尺寸及特征尺寸的變化范圍,從而控制視圖放置位置及視圖比例;屬性參數(shù)用來控制技術要求以及標題欄中工程圖號、材料等屬性的自動生成.筆者將使用Excel表作為參數(shù)數(shù)據庫,不同型號變壓器的參數(shù)分別存放在不同的Excel表中,用戶可通過選擇不同的Excel表來完成參數(shù)的替換.筆者的開發(fā)思路即是在Inventor工程圖環(huán)境下,通過參數(shù)數(shù)據庫選擇及三維零件的調用生成位置及比例適中的視圖,然后以視圖線條為基準完成尺寸標注、符號標注及技術要求填寫等一系列操作,達到工程圖自動繪制的目的.系統(tǒng)總體框圖如圖1所示.

一張完整的零件圖包含的內容很多,而在變壓器的系列零件繪圖時,當零件尺寸發(fā)生變化時,圖紙中的尺寸也會隨之發(fā)生改變,圖紙中包含的尺寸、形位公差、粗糙度等的標注如果按原來的程序自動標注就會出現(xiàn)亂標的問題.因為尺寸、形位公差及粗糙度等在Inventor工程圖中一般是按照在圖紙中的坐標標注的,在零件尺寸發(fā)生變化時,坐標也會發(fā)生改變,以至于尋找不到所應該標的坐標[5].而筆者通過聚類及比較幾何量的方法找到邊界線條作為尺寸及一些符號標注的參照,然后在圖紙中用相對坐標進行標注,使系列化零件的工程圖標注達到國家標準的要求.這種尋找邊界代理的方法也成為本課題的關鍵技術.

圖1 系統(tǒng)總體框圖Fig.1 Framework of the system

3 自動繪圖系統(tǒng)的實現(xiàn)過程

3.1 工程圖模板定制

在Inventor的“Metric”選項卡里提供了很多不同標準的模板,“GB.idw”符合中國的國家標準.為更進一步滿足企業(yè)要求,筆者對標題欄進行修改,對繪圖環(huán)境進行設置,然后保存為工程圖模板.修改后的標題欄如圖2所示,表中的“名稱”、“材料”、“零件代號”等以屬性文字的形式輸入,表示在自動生成工程圖時這些項目可以繼承三維零件的屬性參數(shù)自動填充.

3.2 系統(tǒng)實現(xiàn)過程

圖2 修改后的標題欄樣式Fig.2 The modified title block

由于本系統(tǒng)的開發(fā)使用Inventor自帶的開發(fā)模板Wizards,首先要安裝工具……/AutoDesk/Inventor11/SDK/Tools/Developers/Wizards;啟動VB6.0新建“Inventor Add-In”工程,此時需要完成對Inventor及 Excel對象庫的引用,選擇“工程”菜單里的“引用”項,在彈出的窗口中勾選“AutoDesk Inventor Object Library”和“Microsoft Excel 12.0 Object Library”.然后需要完成對象聲明,參數(shù)數(shù)據庫調用以及工程圖保存路徑設置等的工作.主要對象聲明及賦值如下:

Inventor應用程序實例對象變量聲明并賦值:

Dim oapp As Inventor.Application

Set oapp=AddInSiteObject.Application

Excel表的聲明與賦值:

Dim XLApp As New Excel.Application

Dim Wrk As Excel.Workbook

Dim Sht As Excel.WorkSheet

Set XLApp=CreateObject("Excel.Application")

Set Wrk=XLApp.Workbooks.Open(Text1.Text,F(xiàn)alse,True)

Set Sht=Wrk.Worksheets("Mainly")結構參數(shù)的賦值舉例:

Jba_L=Sht.Cells(107,5)/10

Jbi_L=Sht.Cells(106,5)/10

屬性參數(shù)賦值舉例:

xinghao=Sht.Cells(3,2)

工程圖的保存路徑,按照企業(yè)的要求工程圖自動保存在以Excel表名稱為名稱的文件夾里,路徑創(chuàng)建的主要程序如下:

Dim filename As String '從完整路徑中分離出文件名,不包括后綴

filename=fl_filename(Text1.Text)

spath2=spath0&filename&“工程圖”

If Dir(spath,vbDirectory)= ""Then

MkDir(spath2)

Else

Dim N1 As Integer

N1=MsgBox("該計算單文件夾已經存在選擇“是”繼續(xù)進行)

3.3 工程圖的生成

以變壓器零件“拉板”為例說明工程圖的生成過程.按照企業(yè)的要求,零件工程圖圖紙大小選擇A4,調用上文中定制的模板即可.用戶操作界面如圖3所示.用戶只需要選擇Excel參數(shù)數(shù)據庫(這里Excel表是以變壓器的容量命名的,選擇不同容量的Excel表即完成參數(shù)的替換),然后選擇需要調用的三維零件,系統(tǒng)即可根據結構參數(shù)及特征參數(shù)確定合適比例,生成標準的三視圖,完成尺寸及一些符號標注以及屬性參數(shù)的繼承、工程圖自動保存等一系列操作.

圖3 用戶操作界面Fig.3 User interface

圖4所示是選擇容量為1 250 kVA的Excel表以及其所對應的三維零件生成的“拉板”工程圖.而當選擇2 000 kVA或者其它容量的Excel表以及其所對應的三維零件生成“拉板”工程圖時,由于零件尺寸的變化,即使選擇合適比例,視圖及線條的尺寸也會有所變化,為保證尺寸及符號同樣標注在合適的位置,就需要用到尋找邊界代理的方法,找到尺寸及符號標注的參照.

圖4 “拉板”工程圖Fig.4 Drawing of“La Ban”

Inventor工程圖幾乎所有的標注都是基于投影視圖中的線條的,以圖4左視圖中右側的粗糙度符號標注為例,如果找到粗糙度符號所標注的線條(即左視圖中最右側的豎直線條),然后給它一個編號作為代理,那么就可以以這個代理為參照進行標注,粗糙度符號的位置是以這個代理線條為參照采用相對坐標進行標注的,從而保證了粗糙度符號與該線條相對位置的穩(wěn)定.此后不管選擇哪個容量的“拉板”零件,即使投影視圖大小有所變化,但這個線條的代理編號是不會變的,粗糙度的標注也不會出現(xiàn)混亂的現(xiàn)象.尺寸標注也是同樣的原理.下面就結合主要程序進行說明.

首先應該以視圖(oView)為基礎挑選出形狀為直線的線條,并且定義一個集合olines進行存儲:

For Each oDrawingCurve In oView1.Drawing-Curves

If oDrawingCurve.CurveType=kLineSegment-Curve Then

olines.Add oDrawingCurve

然后利用向量比較挑選出直線線條中的豎直線并存儲在集合oVerLines中:

Set oZVec=oTG.CreateVector2d(0,1)

For Each oDrawingCurve In olines

If oVec.IsParallelTo(oZVec)Then

oVerLines.Add oDrawingCurve

最后通過幾何量比較也即將豎直線條中點坐標的X值最大的線條找出:

For Each oDrawingCurve In oVerLines

Set oMidpoint=oDrawingCurve.MidPoint

Dim oMaxX As Single

oMaxX=oVerLines.Item(1).MidPoint.X

For i=1 To oVerLines.Count

Set oMidpoint=oVerLines.Item(i).MidPoint

If oMidpoint.X>oMaxX Then

oMaxX=oMidpoint.X

Set oDrawingCurves(1)=oDrawingCurve

這樣將最右邊的豎直線條找到,并且用序號1作為代理.可以用oDrawingCurves(1)來代表這個線條進行有關操作.例如圖4左視圖中的粗糙度標注可用如下方法:

Set oMidpoint = oDrawingCurves(1).Mid-Point

Set oGeometryintent=oSheet.CreateGeometry-Intent(oDrawingCurves(1),oMidpoint)

Call oLeaderPoints.Add(oGeometryintent)

Set oSymbol=oSheet.SurfaceTextureSymbols.Add(oLeaderPoints,kBasicalSurfaeType)

oLeaderPoints.Clear

利用同樣的方法可以找出形狀為圓形、半圓形、橢圓形等等的線條作為邊界線條并用不同的編號作為代理,進行尺寸標注及必要的符號標注,從而解決系列化零件的工程圖標注問題,完成工程圖的自動繪制.

4 結論

筆者利用VB語言對Inventor進行二次開發(fā),在企業(yè)完成變壓器零件參數(shù)化設計后,以此為基礎開發(fā)出系列化零件的工程圖自動繪制系統(tǒng),避免了工作人員的重復勞動,極大地提高了企業(yè)的繪圖效率.筆者提出的尋找邊界代理的方法為工程圖繪圖系統(tǒng)的開發(fā)提供了極大的便利,使有關工程圖的開發(fā)變得容易上手.同時也希望在今后的工作中能夠不斷完善該系統(tǒng).

[1]胡仁喜,康士廷.Autodesk Inventor Professional 2010中文版從入門到精通[M].北京:機械工業(yè)出版社,2009.

[2]陳伯雄,張朝陽.Inventor R6 VB(A)程序設計[M].北京:機械工業(yè)出版社,2004.

[3]令狐克志,王轉,程國全.Inventor API在貨架參數(shù)化三維造型中的應用[J].機械工程與自動化,2005,128(1):26-28.

[4]葉樂曉,王毅剛.基于Inventor API的家具三維造型設計[J].計算機工程與設計,2008,29(2):496-499.

[5]李生元,尚銳.Solidworks二次開發(fā)技術在工程圖中的應用[J].遼寧工業(yè)大學學報,2010,30(6):374-376.

猜你喜歡
系列化工程圖二次開發(fā)
四合一鉛筆刀設計
系列化主題制教學法在環(huán)境藝術設計課程中的應用探究
基于核心素養(yǎng)的小學主題班會系列化研究
面向工程認證的機制專業(yè)工程圖學(一)課程教學探索
開展系列化閱讀指導 提升學生閱讀素養(yǎng)
西門子Operate高級編程的旋轉坐標系二次開發(fā)
MASTERCAM工程圖出圖功能研究
淺談Mastercam后處理器的二次開發(fā)
西門子Easy Screen對倒棱機床界面二次開發(fā)
四川大學校園文化產品的設計與研發(fā)