• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

    0 引言

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

    結(jié)合國內(nèi)某變壓器公司干式變壓器產(chǎn)品族系列化的特點,在完成三維模型參數(shù)化之后,系列化的零件工程圖的繪制仍存在重復勞動的現(xiàn)象,并且由Inventor三維模型驅(qū)動生成的工程圖其視圖布局、比例、尺寸等都與國標有很大差別,不適合作為直接加工參考,而用軟件自帶功能修改又很繁瑣.為了解決企業(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可以由三維零部件驅(qū)動生成參數(shù)化的二維工程圖,二維工程圖中的注釋、尺寸、文件屬性等參數(shù)與三維模型中的信息是一致的.Inventor提供了強大的二次開發(fā)接口,在Inventor中使用API是相當有意義的,在于能夠添加一些滿足特定專業(yè)設計需求的自定義功能[2].

    Inventor API是以面向?qū)ο蟮姆绞奖┞稇贸绦虻墓δ?,這種方式比面向過程的方式更容易學會和使用.只要理解和掌握某些面向?qū)ο蟪绦蛟O計的一般概念,再結(jié)合API對象結(jié)構(gòu)模型就可以進行二次開發(fā)[3].

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

    2 開發(fā)的思路及關(guān)鍵技術(shù)

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

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

    圖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ù)據(jù)庫調(diào)用以及工程圖保存路徑設置等的工作.主要對象聲明及賦值如下:

    Inventor應用程序?qū)嵗龑ο笞兞柯暶鞑①x值:

    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")結(jié)構(gòu)參數(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("該計算單文件夾已經(jīng)存在選擇“是”繼續(xù)進行)

    3.3 工程圖的生成

    以變壓器零件“拉板”為例說明工程圖的生成過程.按照企業(yè)的要求,零件工程圖圖紙大小選擇A4,調(diào)用上文中定制的模板即可.用戶操作界面如圖3所示.用戶只需要選擇Excel參數(shù)數(shù)據(jù)庫(這里Excel表是以變壓器的容量命名的,選擇不同容量的Excel表即完成參數(shù)的替換),然后選擇需要調(diào)用的三維零件,系統(tǒng)即可根據(jù)結(jié)構(gòu)參數(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左視圖中右側(cè)的粗糙度符號標注為例,如果找到粗糙度符號所標注的線條(即左視圖中最右側(cè)的豎直線條),然后給它一個編號作為代理,那么就可以以這個代理為參照進行標注,粗糙度符號的位置是以這個代理線條為參照采用相對坐標進行標注的,從而保證了粗糙度符號與該線條相對位置的穩(wěn)定.此后不管選擇哪個容量的“拉板”零件,即使投影視圖大小有所變化,但這個線條的代理編號是不會變的,粗糙度的標注也不會出現(xiàn)混亂的現(xiàn)象.尺寸標注也是同樣的原理.下面就結(jié)合主要程序進行說明.

    首先應該以視圖(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)來代表這個線條進行有關(guān)操作.例如圖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 結(jié)論

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

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

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

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

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

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

    猜你喜歡
    系列化工程圖二次開發(fā)
    “3+4”人才培養(yǎng)模式下本科階段“工程圖學”課程的優(yōu)化設計
    系列化主題制教學法在環(huán)境藝術(shù)設計課程中的應用探究
    河北畫報(2021年2期)2021-05-25 02:08:00
    面向工程認證的機制專業(yè)工程圖學(一)課程教學探索
    淺談基于Revit平臺的二次開發(fā)
    甘肅科技(2020年20期)2020-04-13 00:30:02
    開展系列化閱讀指導 提升學生閱讀素養(yǎng)
    淺談Mastercam后處理器的二次開發(fā)
    模具制造(2019年3期)2019-06-06 02:11:02
    分析三維CAD建模技術(shù)在工程圖學中的應用
    電子測試(2018年10期)2018-06-26 05:54:22
    東風猛士軍車立足未來戰(zhàn)場需求實現(xiàn)系列化車族化平臺化
    西門子Easy Screen對倒棱機床界面二次開發(fā)
    液壓支架設計制造系列化研究
    普陀区| 黎城县| 吴桥县| 深泽县| 久治县| 句容市| 梧州市| 济南市| 洪江市| 龙里县| 桓台县| 铜陵市| 霍州市| 图木舒克市| 册亨县| 清远市| 洮南市| 庆阳市| 朔州市| 大石桥市| 岚皋县| 万荣县| 营山县| 云林县| 汉川市| 隆林| 堆龙德庆县| 布尔津县| 沈阳市| 安塞县| 龙江县| 息烽县| 阿克| 丹东市| 棋牌| 夹江县| 北碚区| 华坪县| 郓城县| 宁化县| 南江县|