左明偉 曼茂立 田輝
摘 ?要:結(jié)合SolidWorks API開(kāi)發(fā)平臺(tái)及Visual Basic程序語(yǔ)言,文章針對(duì)系列化機(jī)械產(chǎn)品提出一種參數(shù)化自動(dòng)三維建模方法。并通過(guò)典型輥?zhàn)虞斔途€系列化產(chǎn)品為建模對(duì)象,驗(yàn)證此方法的有效性。參數(shù)化建模過(guò)程總體上經(jīng)歷錄制基本鼠標(biāo)操作代碼,根據(jù)需要參數(shù)化處理相關(guān)代碼的指令調(diào)試過(guò)程;對(duì)于裝配體內(nèi)各零件通過(guò)遍歷面的方式設(shè)置參考基準(zhǔn)面,通過(guò)引用基準(zhǔn)面的絕對(duì)ID來(lái)實(shí)現(xiàn)裝配關(guān)系的設(shè)定。文章所提出的參數(shù)化自動(dòng)建模方法有助于顯著提高機(jī)械設(shè)計(jì)效率、便于批量評(píng)價(jià)新結(jié)構(gòu)性能,為進(jìn)行大樣本產(chǎn)品優(yōu)化設(shè)計(jì)提供可行途徑。
關(guān)鍵詞:SolidWorks;Visual Basic;參數(shù)化;自動(dòng)建模
中圖分類(lèi)號(hào):TP311.52 ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號(hào):2095-2945(2020)01-0030-03
Abstract: Combined with SolidWorks API development platform and Visual Basic programming language, this paper presents a parameterized automatic 3D modeling method for serialized mechanical products. And through the typical roller conveyor line series products as the modeling object to verify the effectiveness of this method. The parametric modeling process generally goes through the process of recording the basic mouse operation code and parameterizing the relevant code according to the need; setting the reference datum for each part in the assembly body by traversing the surface and setting the assembly relationship by referencing the absolute ID of the datum. The parametric automatic modeling method proposed in this paper can significantly improve the efficiency of mechanical design, facilitate batch evaluation of the performance of new structures, and provide a feasible way for the optimal design of large samples of products.
Keywords: SolidWorks; Visual Basic; parameterization; automatic modeling
引言
隨著人們生產(chǎn)、生活節(jié)奏的不斷加快,自動(dòng)化生產(chǎn)、設(shè)計(jì)領(lǐng)域不但拓展,如何將技術(shù)人員從繁重的重復(fù)性技術(shù)工作中解放出來(lái),如何自動(dòng)完成類(lèi)似結(jié)構(gòu)產(chǎn)品設(shè)計(jì)甚至是結(jié)構(gòu)優(yōu)化都成為相關(guān)學(xué)者和技術(shù)人員關(guān)注的焦點(diǎn)。傳統(tǒng)情況下,技術(shù)人員需要為拓?fù)浣Y(jié)構(gòu)相同的同系列產(chǎn)品,分別進(jìn)行結(jié)構(gòu)設(shè)計(jì)、性能分析;優(yōu)化過(guò)程需要分別進(jìn)行個(gè)體構(gòu)型、性能評(píng)估,從而造成工作效率低,消耗人力資源多,設(shè)計(jì)任務(wù)達(dá)成度不高[1]。本文在SolidWorks商用軟件API接口功能基礎(chǔ)上,通過(guò)Visual Basic程序設(shè)計(jì)實(shí)現(xiàn)典型機(jī)械零件裝配體的自動(dòng)三維建模,為機(jī)械產(chǎn)品自動(dòng)實(shí)現(xiàn)系列化、實(shí)現(xiàn)多樣本性能評(píng)價(jià)及結(jié)構(gòu)優(yōu)化提供了有效途徑。
1 總體思路
針對(duì)具有相同拓?fù)浣Y(jié)構(gòu)的系列化機(jī)械產(chǎn)品三維自動(dòng)建模涉及各組成零件的自動(dòng)建模過(guò)程和零件的自動(dòng)裝配過(guò)程。零件的自動(dòng)建模過(guò)程需要在確定的零件拓?fù)浣Y(jié)構(gòu)下,針對(duì)系列化產(chǎn)品的個(gè)體差異完成特征尺寸的自動(dòng)重建。而自動(dòng)裝配過(guò)程需要識(shí)別各零件的裝配基準(zhǔn)并按照裝配要求實(shí)現(xiàn)各零件相對(duì)位置的準(zhǔn)確設(shè)置[2]。
本文基于SolidWorks軟件提供的API開(kāi)發(fā)平臺(tái),通過(guò)Visual Basic程序語(yǔ)言實(shí)現(xiàn)建模過(guò)程由鼠標(biāo)操作到代碼指令轉(zhuǎn)變,為實(shí)現(xiàn)系列化產(chǎn)品參數(shù)化自動(dòng)化建模提供的有效途徑[3-4]。由于SolidWorks API指令代碼語(yǔ)法邏輯較為直
觀,而語(yǔ)句、參數(shù)、路徑等較為繁瑣,學(xué)者和技術(shù)人員逐漸形成了通過(guò)錄制基本操作,獲得相關(guān)指令代碼,確定其中需要修正和調(diào)整的部分,使其參數(shù)化(針對(duì)產(chǎn)品系列化要求獲得參數(shù)值),執(zhí)行新的指令代碼,重構(gòu)獲得所需新結(jié)構(gòu)模型的方法。以上執(zhí)行過(guò)程如圖1所示。
如圖1所示,實(shí)現(xiàn)機(jī)械結(jié)構(gòu)三維自動(dòng)建模過(guò)程(零件建模及裝配體建模)均可通過(guò)圖中的方式進(jìn)行。在完成相同拓?fù)浣Y(jié)構(gòu)的鼠標(biāo)操作過(guò)程中,系統(tǒng)自動(dòng)錄制其指令代碼集。在此基礎(chǔ)上分析此指令集中涉及需要改變的參數(shù)位置,并通過(guò)設(shè)置相關(guān)形式參數(shù)進(jìn)行替換(需提前完成參數(shù)表設(shè)計(jì)),再次運(yùn)行修改好的指令集則獲得所需的結(jié)構(gòu)形式。區(qū)別于單個(gè)零件結(jié)構(gòu)的建模過(guò)程,裝配體的自動(dòng)建模過(guò)程涉及到多個(gè)零件,需要頻繁引用裝配參考元素(參考點(diǎn)、參考線、參考面等)。指令集編輯過(guò)程中,需要將鼠標(biāo)操作中點(diǎn)選的參考元素在系統(tǒng)中的ID在SolidWorks系統(tǒng)中查明,并在后續(xù)指令編輯中以引用此ID來(lái)自動(dòng)的模擬鼠標(biāo)點(diǎn)選操作。本文以輸送機(jī)行業(yè)常用的系列化產(chǎn)品輥?zhàn)虞斔途€為例介紹參數(shù)化驅(qū)動(dòng)下典型零件及裝配體的自動(dòng)建模過(guò)程[5]。
2 相同拓?fù)浣Y(jié)構(gòu)的零件三維建模
如圖2所示為輥?zhàn)虞斔途€最常用的零件——輥?zhàn)拥慕Y(jié)構(gòu)示意及確定結(jié)構(gòu)所需參數(shù)情況。表1給出了當(dāng)前行業(yè)內(nèi)通用的輥?zhàn)又饕獏?shù)表。
零件的建模主要經(jīng)歷以下幾步:
步驟一:分三次完成φD1、φD2和φD3的草圖的繪制及三維拉伸工作。
步驟二:完成2×φd的草圖繪制及三維拉伸切除工作。
步驟三:整合、修改、簡(jiǎn)化上面步驟所得到的程序代碼。
Set skSegment = Part.SketchManager.CreateCircle(0#, 0#, 0#, 0.038, 0, 0#) (語(yǔ)句1)
Set myFeature = Part.FeatureManager.FeatureExtrusion
2(True, False, False, 6, 0, 0.39, 0.01, False, False, False, False, 1.74532925199433E-02, 1.7453292519943
3E-02, False, False, False, False, True, True, True, 0, 0, False)(語(yǔ)句2)
以繪制圖1中輥?zhàn)油鈭A柱為例,語(yǔ)句1主要實(shí)現(xiàn)在草圖中繪制一個(gè)半徑為0.038米的圓,而語(yǔ)句2主要實(shí)現(xiàn)將上述草圖中的圓形拉伸0.39米這一功能。由此可見(jiàn),只要將語(yǔ)句1括號(hào)內(nèi)的第4個(gè)參數(shù)及語(yǔ)句2括號(hào)內(nèi)第6個(gè)參數(shù)設(shè)置為控制變量如圖1所使用的D1、L1,通過(guò)對(duì)兩個(gè)變量進(jìn)行合理賦值(如表1中行業(yè)推薦數(shù)據(jù)),再次運(yùn)行相關(guān)指令將實(shí)現(xiàn)圓柱的自動(dòng)參數(shù)化建模。
如圖3連接板零件機(jī)構(gòu)示意,其各個(gè)孔位置與連接板總體外形長(zhǎng)度和寬度并無(wú)統(tǒng)一標(biāo)準(zhǔn)。對(duì)于此類(lèi)參數(shù)值并非源于手冊(cè)或標(biāo)準(zhǔn)的,本文采用函數(shù)運(yùn)算的方式獲得。軌架對(duì)接板裝配于槽鋼內(nèi)部,主要起連接作用,其寬度與槽鋼的型號(hào)聯(lián)系起來(lái),djb_h=(h-4×t),定義其長(zhǎng)度是寬度的三倍,即djb_l=3×(h-4×t)。八個(gè)孔的位置與大小與對(duì)接板的大小有關(guān),根據(jù)實(shí)際情況孔的位置可表示為:
w_djbk1x=-(21*(h-4*t)/16)
w_djbk2x=-(3*(h-4*t)/16)
w_djbky=(h-4*t)/4
3 相同拓?fù)浣Y(jié)構(gòu)的零件間裝配
裝配體的自動(dòng)建模過(guò)程涉及基于給定的總體設(shè)計(jì)尺寸,求解各零件控制尺寸及裝配尺寸。完成零件的建模,并基于裝配關(guān)系完成各零件相對(duì)位置的確定。以圖4所示輥?zhàn)虞斔途€總體結(jié)構(gòu)為例,當(dāng)根據(jù)實(shí)際需要給定槽鋼型號(hào)、輸送線長(zhǎng)度、高度等核心驅(qū)動(dòng)尺寸后,預(yù)設(shè)指令集將完成包括輥?zhàn)?、支腿、?cè)軌架、連接板等控制參數(shù)的求解并實(shí)現(xiàn)零件建模。
裝配關(guān)系的實(shí)現(xiàn)通過(guò)準(zhǔn)確設(shè)定參考元素來(lái)實(shí)現(xiàn)。執(zhí)行過(guò)程通過(guò)參考面、參考線(軸)、參考點(diǎn)來(lái)實(shí)現(xiàn)。以下指令,語(yǔ)句3,用于選中ID2的基準(zhǔn)面進(jìn)行裝配關(guān)系設(shè)定,此處的基準(zhǔn)面是在零件繪制完成后利用遍歷添加的,與零件表面重合。所以需要選擇某個(gè)零件表面進(jìn)行配合時(shí),都會(huì)提前添加基準(zhǔn)面。
boolstatus=Part.Extension.SelectByID2(“基準(zhǔn)面5@814-1@”&asmname,“PLANE”,0,0,0,True,1,Nothing,0)(語(yǔ)句3)
Set myMate=Part.AddMate5(0,1,F(xiàn)alse,0,0.001,0.001, 0.001,0.001,1.5707963267949,0.5235987755983,0.5235987755983,F(xiàn)alse,F(xiàn)alse,0,longstatus)(語(yǔ)句4)
在此基礎(chǔ)上可通過(guò)語(yǔ)句4添加與基準(zhǔn)面ID2之間的配合關(guān)系,第一個(gè)參數(shù)是配合的類(lèi)型,0(swMateCOINCIDENT)代表重合;第二個(gè)參數(shù)是對(duì)準(zhǔn)類(lèi)型;第三個(gè)參數(shù)是是否翻轉(zhuǎn)零件,True翻轉(zhuǎn),F(xiàn)alse不翻轉(zhuǎn)。
4 結(jié)束語(yǔ)
本文提出一種基于SolidWorks API開(kāi)發(fā)平臺(tái),通過(guò)Visual Basic語(yǔ)言進(jìn)行程序設(shè)計(jì)的系列化機(jī)械結(jié)構(gòu)自動(dòng)三維建模方法。參數(shù)化建模過(guò)程總體上經(jīng)歷錄制基本鼠標(biāo)操作代碼,根據(jù)需要參數(shù)化處理相關(guān)代碼的指令調(diào)試過(guò)程。成功實(shí)現(xiàn)對(duì)包括輥?zhàn)?、支腿、?cè)軌架、連接板等基本零件的參數(shù)化建模。通過(guò)遍歷面的方式,為有裝配要求的參考元素建立參考基準(zhǔn)并通過(guò)引用此基準(zhǔn)的絕對(duì)ID實(shí)現(xiàn)裝配關(guān)系的設(shè)置,從而完成了輥?zhàn)虞斔途€整套裝配體的參數(shù)化自動(dòng)建模。
本文通過(guò)典型輥?zhàn)虞斔途€系列化產(chǎn)品為建模對(duì)象,驗(yàn)證此方法的有效性,所提出的參數(shù)化自動(dòng)建模方法有助于顯著提高機(jī)械設(shè)計(jì)效率、便于批量評(píng)價(jià)新結(jié)構(gòu)性能,為進(jìn)行大樣本產(chǎn)品優(yōu)化設(shè)計(jì)提供可行途徑。
參考文獻(xiàn):
[1]汪林,杜玉祥,何雪浤.大型裝配體的SolidWorks參數(shù)化建模方法[J].機(jī)械設(shè)計(jì)與制造,2018(10):173-175+179.
[2]范素英.基于VB的SolidWorks個(gè)性化參數(shù)化建模研究[J].裝備制造技術(shù),2013(9):44-46+50.
[3]江洪,魏崢,王濤威.SolidWorks二次開(kāi)發(fā)實(shí)例解析[M].北京:機(jī)械工業(yè)出版社,2004.
[4]陳永康.SolidWorks API二次開(kāi)發(fā)實(shí)例詳解[M].北京:機(jī)械工業(yè)出版社,2018.
[5]王皓輝,殷國(guó)富,陳果,等.基于SolidWorks的機(jī)床夾具標(biāo)準(zhǔn)件三維圖庫(kù)的開(kāi)發(fā)[J].機(jī)械,2007(4):50-52.
[6]文小炎,史良蟾.輥?zhàn)虞斔蜋C(jī)的概況與分析[J].汽車(chē)科技,1996(4):1-5.