費媛媛 仲梁維
摘要摘要:介紹了Inventor iLogic在機械產(chǎn)品設(shè)計中的應(yīng)用,利用iLogic規(guī)則驅(qū)動和編寫程序的方法實現(xiàn)產(chǎn)品模型的快速設(shè)計。結(jié)合VB.NET面向?qū)ο蟮墓δ芫帉懡换ソ缑妫M行數(shù)據(jù)計算,并且結(jié)合實例介紹了整個設(shè)計流程。
關(guān)鍵詞關(guān)鍵詞:Inventor iLogic;規(guī)則驅(qū)動;模型設(shè)計;快速設(shè)計
DOIDOI:10.11907/rjdk.162861
中圖分類號:TP301
文獻標識碼:A文章編號文章編號:16727800(2017)005001103
0引言
隨著我國經(jīng)濟的快速發(fā)展,現(xiàn)代制造業(yè)獲得了巨大進步,一系列復(fù)雜而嚴峻的考驗也隨之而來。制造商們面臨著如何滿足客戶的多樣化需求、如何有效控制產(chǎn)品質(zhì)量和成本,以及如何合理利用資源、減少重復(fù)工作等亟待解決的難題。尤其是對于類似產(chǎn)品的設(shè)計,在已有的產(chǎn)品設(shè)計平臺上創(chuàng)建能夠滿足不同客戶多樣化產(chǎn)品需求的設(shè)計方法迫在眉睫。隨著三維設(shè)計軟件功能的日益強大,產(chǎn)品設(shè)計已經(jīng)進入可視化、可編程的智能設(shè)計階段,在已有的產(chǎn)品模型基礎(chǔ)上通過對其進行參數(shù)化設(shè)計,將模型中的定量尺寸變量化,使之成為可以任意修改的參數(shù),再利用尺寸驅(qū)動的方法,結(jié)合可視化交互界面,可達到快速生成模型的目的。目前,各種計算機輔助設(shè)計軟件如UG、SolidWorks、ProE、Inventor等都可以對模型進行參數(shù)化設(shè)計。Inventor是Autodesk公司研發(fā)的一款三維設(shè)計軟件,其內(nèi)嵌的iLogic模塊可以通過編寫規(guī)則驅(qū)動模型的參數(shù)和屬性,從而實現(xiàn)模型的快速設(shè)計。
1Inventor iLogic概述
1.1Inventor iLogic 介紹
Inventor軟件的功能和數(shù)據(jù)結(jié)構(gòu)具有明顯的“設(shè)計支持”的特點,起初在設(shè)計意圖表達、設(shè)計數(shù)據(jù)關(guān)聯(lián)和設(shè)計決策支持3個方面,Inventor并沒有能夠提供一種可靠完善的解決方案,對于產(chǎn)品研發(fā)中諸如設(shè)計重用等功能需求也沒有很好的解決途徑,直到Inventor iLogic 的到來令I(lǐng)nventor軟件的設(shè)計功能得到了極大提高。iLogic是由Autodesk于2008年從Logimetrix公司收購的,起初作為外部插件使用,在Inventor軟件更新到2011版本時被正式列入軟件, 成為Inventor中的一個模塊。“iLogic”的“i”代表智能,“l(fā)ogic”代表邏輯,這些都體現(xiàn)在設(shè)計過程中對于模型的一些手動操作,可以由iLogic自動完成。iLogic主要通過編寫規(guī)則,調(diào)用自身函數(shù)功能進行邏輯判斷,執(zhí)行相應(yīng)操作。這種設(shè)計方法稱為規(guī)則驅(qū)動設(shè)計(RDD,Rules Driven Design),它是iLogic事務(wù)處理的主要手段,是設(shè)計構(gòu)思片段的一種程序表達,這些規(guī)則的運行能夠改變模型參數(shù),減少重復(fù)的修改操作\[1\]。
1.2iLogic與VB.NET結(jié)合
VB.NET語言功能強大,簡單易懂,繼承了Visual Basic 語言的特點,并且VB.NET是一種面向?qū)ο蟮恼Z言,許多三維造型軟件例如SolidWorks、ProE等都提供了VB.NET二次開發(fā)的API接口。此外,VB.NET可以在Visual Studio 集成開發(fā)平臺上,借助其強大的編輯和調(diào)試功能,使開發(fā)過程更加簡捷、方便\[2\]。iLogic可以與VB.NET結(jié)合,利用其面向?qū)ο蟮募夹g(shù)完成自定義界面的創(chuàng)建,包括復(fù)雜計算和函數(shù)創(chuàng)建都可以封裝,從而被iLogic調(diào)用。這樣可以充分發(fā)揮兩者優(yōu)勢,將計算、界面和模型連接起來,簡化繁雜的步驟,提高設(shè)計效率。具體作用過程為將模型中的參數(shù)傳遞給交互界面,通過自定義計算將結(jié)果傳遞給對應(yīng)的參數(shù),利用計算所得的參數(shù)數(shù)據(jù)驅(qū)動模型,達到快速改變模型尺寸的目的。
2設(shè)計模式與基本原理
Inventor iLogic具有兩種設(shè)計模式,其本質(zhì)都是利用iLogic讀寫Excel表格和自動更新模型的功能,實現(xiàn)產(chǎn)品的快速改型,提高開發(fā)效率\[3\]。第一種是簡單的并行設(shè)計,在產(chǎn)品設(shè)計過程中,如果需要用到參數(shù)傳遞,可以先把數(shù)據(jù)之間的關(guān)系寫入Excel表格。等到產(chǎn)品裝配完成,再利用iLogic編寫相應(yīng)規(guī)則并運行,從而實現(xiàn)數(shù)據(jù)的傳遞與模型自動更新。另一種模式則是利用數(shù)據(jù)驅(qū)動工程圖的模式,不同于一般從數(shù)據(jù)到三維模型再到工程圖的設(shè)計流程,數(shù)據(jù)驅(qū)動工程圖能夠建立數(shù)據(jù)與工程圖的直接聯(lián)系,利用iLogic自動完成打開模型、獲取最新數(shù)據(jù)、更新模型和更新工程圖這一系列動作。
Inventor iLogic設(shè)計原理非常簡單,主要體現(xiàn)在設(shè)計過程中對于模型參數(shù)、特征、屬性等信息邏輯上的處理。編寫規(guī)則時對字符串?dāng)?shù)據(jù)類型進行對比判斷,對數(shù)值類型數(shù)據(jù)進行大小判斷,對布爾型數(shù)據(jù)進行是非判斷,再根據(jù)判斷結(jié)果,完善規(guī)則的編寫。iLogic的所有功能都是調(diào)用自身的函數(shù)實現(xiàn)的,不同于SolidWorks、ProE以及Inventor自身用于二次開發(fā)的API函數(shù)的復(fù)雜難懂,iLogic模塊提供的函數(shù)和代碼簡單易學(xué),想要實現(xiàn)什么功能,以及如何編寫代碼段實現(xiàn),具有怎樣的語法規(guī)則,iLogic在規(guī)則編輯器的函數(shù)區(qū)域都已一一列出。所以使用Inventor iLogic進行參數(shù)化設(shè)計,其本質(zhì)就是要了解并掌握其提供的函數(shù)及編程規(guī)則。
3設(shè)計實例
3.1設(shè)計思路
本文以SC型氣缸(見圖1)的快速生成設(shè)計為例,詳細介紹利用iLogic規(guī)則驅(qū)動模型的整個過程。建模分為3個部分,分別為氣缸缸體部分、活塞部分和活塞桿體上的螺母部分,屬于兩層裝配關(guān)系(見圖2)。對于零件模型,在建模之前可以先分析每個部分涉及的建模參數(shù),例如氣缸直徑、行程以及缸體寬度等,總結(jié)相關(guān)參數(shù)并建立自己的命名規(guī)則。建立命名規(guī)則時,應(yīng)當(dāng)注意變量名稱不能與Inventor中的單位類型相沖突。
在建立模型時,Inventor參數(shù)編輯器會自動記錄每個特征用到的參數(shù)(見圖3),可以對參數(shù)名稱進行修改,與之前總結(jié)的參數(shù)名稱相對應(yīng)。除自動記錄的模型參數(shù)外,還可以自定義用戶參數(shù),例如氣缸缸體上的“孔1”特征可以通過自定義文本參數(shù)“孔1規(guī)格”的方法進行驅(qū)動修改。創(chuàng)建總裝配體時,Inventor iLogic可以通過創(chuàng)建零件之間的關(guān)聯(lián)達到改變零件尺寸時部件也隨之變化的協(xié)同設(shè)計,這種通過關(guān)聯(lián)尺寸改變部件尺寸的方法大大節(jié)省了時間,提高了效率。裝配時,首先放置各零件模型,添加約束和定位,然后添加用戶參數(shù),定義關(guān)鍵參數(shù),使用iLogic語句實現(xiàn)參數(shù)相互傳遞的過程。以下是將零部件定義的尺寸參數(shù)相互關(guān)聯(lián)的部分代碼:
Parameter(“缸體部分:1” “V1”) = Parameter(“活塞部分:1” “d1”)
Parameter(“活塞部分:1” “d1”) = Parameter(“螺母部分:1” “d2”)
這樣即可將零件之間的尺寸相互關(guān)聯(lián),改變一個零件尺寸,與之相關(guān)的另一個零件尺寸也會隨之改變,重新生成所需要的模型。將模型參數(shù)和用戶參數(shù)定義完畢之后,可以建立一些iLogic規(guī)則,例如賦予模型不同材料特性,完善iproperty中的各項特性等。
3.2自定義用戶界面
利用VB.NET搭建交互界面,首先定義公共變量,變量名稱要與之前定義的fx參數(shù)表中的參數(shù)名稱一致,部分代碼如下:
因為建立模型時所用到的尺寸參數(shù)與根據(jù)標準錄入Excel表格內(nèi)的參數(shù)并不是完全對應(yīng),Excel表格所有的型號尺寸都是按照國家標準錄入,但建模時所用的部分驅(qū)動尺寸是由標準尺寸計算所得,所以要總結(jié)并列出所有一級尺寸和二級尺寸之間的運算關(guān)系,將計算公式編入程序。當(dāng)輸入一級尺寸數(shù)值時,利用后臺自動運算,可以獲得所需的二級參數(shù)值。編寫好的界面如圖4所示。用戶可以自定義模型各參數(shù)尺寸,也可以選擇標準型號,將Excel表格中的數(shù)據(jù)(見圖5)自動加載到文本框中。為避免用戶輸入尺寸時超出規(guī)定范圍,還可以在程序里加入一些判斷語句,限定尺寸界限,以避免不合理的計算和驅(qū)動過程\[4\]。
If L<25 Or L>1000 Then
MessageBox.Show(“氣缸的行程超出了合理范圍,請重新輸入尺寸!”)
編寫好相關(guān)賦值和計算代碼后,運行程序會產(chǎn)生一個.dll文件,將文件放置到三維模型的目錄下可將文件加載到Inventor中。同名參數(shù)會自動一一對應(yīng),用戶也可以在此基礎(chǔ)上添加規(guī)則,實現(xiàn)一些其它的附加功能。運行規(guī)則,編寫好的界面會自動加載,輸入相應(yīng)參數(shù),即可對模型進行驅(qū)動。
3.3運行結(jié)果
界面上的參數(shù)與fx參數(shù)表里定義的用戶參數(shù)對應(yīng),通過輸入自定義尺寸驅(qū)動生成的氣缸模型如圖6所示。
3.4工程圖生成
在建模的同時生成模型的工程圖模板,每次驅(qū)動模型,工程圖也會隨之更新。為了完善模型工程圖,可以對模型iproperty進行設(shè)置,自動生成各零件模型的名稱、規(guī)格、材料和顏色等特性。此外,對于工程的各種操作也可以利用iLogic函數(shù)實現(xiàn),比如放置各視圖的位置、圖幅大小的控制、標題欄的完善等。iLogic還支持將工程圖導(dǎo)出,轉(zhuǎn)化為AutoCAD DWG以及PDF等常用的文件格式\[5\]。
4結(jié)語
本文主要介紹了如何利用Inventor iLogic模塊的功能實現(xiàn)模型的參數(shù)化設(shè)計,并且通過實例論述了整個開發(fā)過程,利用iLogic和VB.NET相結(jié)合的方法創(chuàng)建了良好的交互界面,實現(xiàn)了產(chǎn)品模型快速設(shè)計的目的。由此可見,Inventor結(jié)合iLogic在模型設(shè)計方面能夠?qū)⑵湓O(shè)計重用的能力提高到一個新水平,利用Inventor iLogic能夠?qū)⒛P蛿?shù)據(jù)融入各個規(guī)則,代替原來手動操作的過程,實現(xiàn)更高效、便捷的模型改型設(shè)計。而Inventor涵蓋的零件、部件、工程圖文檔類型及其支持對零件參數(shù)、模型材料外觀等一系列功能的控制可使其對于產(chǎn)品的改型設(shè)計更加全面、便利。另外,利用VB.NET強大的面向?qū)ο蠊δ軄硗晟普麄€設(shè)計過程中的界面設(shè)計和復(fù)雜的計算過程,使交互過程更加方便、直觀,極大地提高了工作效率。隨著Inventor iLogic技術(shù)的日益完善,用戶關(guān)聯(lián)設(shè)計和自動化設(shè)計的能力也不斷提高,利用編寫好的規(guī)則和程序代替重復(fù)的手動操作,對于各類機械產(chǎn)品的設(shè)計具有重要意義。
參考文獻參考文獻:
[1]陳伯雄. InventoriLogic 程序設(shè)計解析與實戰(zhàn)\[M\]. 北京:化學(xué)工業(yè)出版社,2014.
[2]梁凱旋. 淺談VB.Net結(jié)合Inventor iLogic在工程中的應(yīng)用\[J\]. 黑龍江水利科技,2016,44(5):139142.
[3]張建軍. Inventor iLogic應(yīng)用二例\[J\]. CAD/CAM制造業(yè)信息化,2012(6):3538.
[4]劉薇娜,等.基于Autodesk Inventor的非標零件標準化設(shè)計\[J\]. 制造業(yè)自動化,2015,37(2):134136.
[5]蔡益江,等. Inventor iLogic設(shè)計自動化技巧及案例分享\[J\]. CAD/CAM制造業(yè)信息化,2015(4):6667.
責(zé)任編輯(責(zé)任編輯:黃健)