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