王康康 張琳娜 趙鳳霞 金相杰
(鄭州大學(xué)機(jī)械工程學(xué)院,河南鄭州 450001)
新一代產(chǎn)品幾何技術(shù)規(guī)范GPS是ISO/TC213針對(duì)產(chǎn)品的設(shè)計(jì)與制造而規(guī)定的一系列宏觀和微觀的幾何技術(shù)規(guī)范。在新一代GPS規(guī)范中,形位公差的確定作為產(chǎn)品設(shè)計(jì)階段的重要環(huán)節(jié)之一,反映了設(shè)計(jì)人員的設(shè)計(jì)思想,同時(shí)也涉及到了加工、檢測(cè)的需要。
新一代GPS及制造業(yè)信息化的發(fā)展,要求實(shí)現(xiàn)精度信息在產(chǎn)品整個(gè)生命周期中的傳遞、共享與集成控制;而實(shí)現(xiàn)精度信息集成控制的基礎(chǔ)是實(shí)現(xiàn)精度信息描述的數(shù)字化。目前,雖然CAD/CAM的發(fā)展取得了重大突破,但精度設(shè)計(jì)的發(fā)展相對(duì)滯后,現(xiàn)有CAD造型系統(tǒng)大多缺少精度信息處理模塊或不能完善處理精度信息,設(shè)計(jì)者往往通過(guò)手工操作將精度信息作為靜態(tài)文本加入到實(shí)體模型中,沒(méi)有合理的解釋和工程語(yǔ)義。此外,手工查表進(jìn)行公差確定、分析與綜合,也阻礙了設(shè)計(jì)和生產(chǎn)過(guò)程的自動(dòng)化。因此,實(shí)現(xiàn)零件精度信息的自動(dòng)設(shè)計(jì)及標(biāo)注是解決CAD/CAPP/CAM集成的關(guān)鍵技術(shù)。而隨著CAD/CAPP/CAM技術(shù)向集成化、智能化、網(wǎng)絡(luò)化和并行工程的方向發(fā)展,在CAD平臺(tái)上開(kāi)發(fā)基于GPS的精度設(shè)計(jì)模塊將具有非常重要的實(shí)際意義。
SolidWorks是一款基于 Windows的 CAD/CAE/CAM/PDM桌面集成系統(tǒng),是在Windows環(huán)境下實(shí)現(xiàn)的第一個(gè)機(jī)械三維CAD軟件,它為用戶提供產(chǎn)品級(jí)的自動(dòng)設(shè)計(jì)工具,并可以最大限度地滿足設(shè)計(jì)者的設(shè)計(jì)意圖,并且操作簡(jiǎn)單,功能強(qiáng)大,這些特點(diǎn)使它日漸成為目前微機(jī)平臺(tái)上的主流三維設(shè)計(jì)軟件。因此,此處將采用SolidWorks作為二次開(kāi)發(fā)的平臺(tái)。
但從目前已發(fā)行的SolidWorks最新版本來(lái)看,還未見(jiàn)符合新一代GPS標(biāo)準(zhǔn)適用于計(jì)算機(jī)輔助檢測(cè)的獨(dú)立模塊,更沒(méi)有實(shí)現(xiàn)新一代GPS標(biāo)準(zhǔn)下,精度特征中極限與配合、形位公差以及粗糙度等的自行設(shè)計(jì)。設(shè)計(jì)人員需要考慮各種條件后一一查詢手冊(cè)來(lái)完成設(shè)計(jì),然后再進(jìn)行標(biāo)注,這就降低了設(shè)計(jì)人員的工作效率,增加了勞動(dòng)強(qiáng)度,并且容易造成設(shè)計(jì)結(jié)果的隨意性。因此,基于新一代GPS體系,在SolidWorks平臺(tái)上進(jìn)行精度設(shè)計(jì)的二次開(kāi)發(fā),以實(shí)現(xiàn)公差的自動(dòng)設(shè)計(jì)與標(biāo)注具有很重要的實(shí)際意義。本文正是基于這一出發(fā)點(diǎn),在SolidWorks中開(kāi)發(fā)精度設(shè)計(jì)模塊,實(shí)現(xiàn)尺寸精度及配合的自動(dòng)設(shè)計(jì),從而有效地提升SolidWorks在尺寸精度設(shè)計(jì)方面的功能。
為了方便用戶開(kāi)發(fā)符合自身要求的專用工具和具體功能,SolidWorks提供了大量的 API(Application Program Interface,應(yīng)用程序接口)函數(shù)用于二次開(kāi)發(fā),這些 API函數(shù)是 SolidWorks的 OLE(Object Linking and Embedding,對(duì)象的嵌入與鏈接)或COM(Component Object Model,組件對(duì)象模型)接口,使用戶能夠通過(guò)高級(jí)語(yǔ)言編程直接訪問(wèn)SolidWorks,并可以使用多種高級(jí)語(yǔ)言對(duì)其進(jìn)行二次開(kāi)發(fā),如VBA、VB、VC、Delphi等。本課題選擇VB作為開(kāi)發(fā)工具。
SolidWorks API接口采用面向?qū)ο蟮姆椒?所有的函數(shù)都是有關(guān)對(duì)象的方法或?qū)傩浴PI及其有關(guān)文檔都包括在SolidWorks軟件中,任何用戶都可以對(duì)Solidworks進(jìn)行二次開(kāi)發(fā)。SolidWorks API的兩種接口函數(shù)中,基于OLE自動(dòng)化控制的,只能開(kāi)發(fā)TXT形式的程序,可以在程序中調(diào)用SolidWorks;而基于COM技術(shù)的,可以使用最多的SolidWorks API,并可以控制SolidWorks的運(yùn)行方式,生成*.dll格式的文件,得到SolidWorks的插件,實(shí)現(xiàn)與SolidWorks平臺(tái)的無(wú)縫連接。本文所設(shè)計(jì)的精度設(shè)計(jì)模塊是SolidWorks在工作過(guò)程中可以隨時(shí)調(diào)用的功能模塊,所以選擇基于COM技術(shù)的方法來(lái)實(shí)現(xiàn)。
精度設(shè)計(jì)模塊的開(kāi)發(fā)主要包括:與ACCESS公差信息數(shù)據(jù)庫(kù)的通訊,與SolidWorks無(wú)縫連接的基于COM技術(shù)的*.dll插件程序的開(kāi)發(fā),精度設(shè)計(jì)模塊主程序開(kāi)發(fā)等三個(gè)部分。這里擬采用的技術(shù)方案是:首先利用ACCESS構(gòu)造出基于現(xiàn)代GPS理論的公差信息數(shù)據(jù)庫(kù),然后利用SolidWorks API函數(shù)來(lái)完成和SolidWorks直接通訊的DLL插件程序的開(kāi)發(fā),再用VB創(chuàng)建 ActiveX DLL文件,即精度設(shè)計(jì)菜單,集成到SolidWorks環(huán)境中,直接在SolidWorks中運(yùn)行,從而方便設(shè)計(jì)人員的設(shè)計(jì)和操作。
要實(shí)現(xiàn)精度設(shè)計(jì)模塊與SolidWorks的無(wú)縫連接,首先必須利用SolidWorks API函數(shù)來(lái)完成和 Solid-Works直接通訊的DLL插件程序的開(kāi)發(fā),實(shí)際上就是生成一個(gè)DLL文件。具體操作步驟如下:
首先,利用VB創(chuàng)建ActiveX DLL文件,即要生成的SolidWorks的插件文件,再利用VB的編程能力創(chuàng)建出自定義的SolidWorks菜單,即精度設(shè)計(jì)模塊菜單,集成到SolidWorks環(huán)境中。在用VB程序生成DLL的過(guò)程中,必須定義DLL文件與SolidWorks連接的接口。
實(shí)現(xiàn)這部分功能的核心程序段為:


程序編寫(xiě)完成后,點(diǎn)擊菜單【文件】【生成jdsj.dll】,得到 DLL文件,然后運(yùn)行 SolidWorks,點(diǎn)擊【打開(kāi)】,找到之前編寫(xiě)的*.dll文件,運(yùn)行。這樣編寫(xiě)的菜單就作為插件加入到了SolidWorks環(huán)境中。加載精度設(shè)計(jì)模塊菜單后的SolidWorks主窗口如圖1所示。

此處主要是研究精度設(shè)計(jì)中尺寸精度及配合的設(shè)計(jì)。主要是利用VB開(kāi)發(fā)的程序,通過(guò)對(duì)精度信息數(shù)據(jù)庫(kù)的讀取,來(lái)輔助設(shè)計(jì)工作,從而避免了手工查詢,同時(shí)可以通過(guò)API將設(shè)計(jì)結(jié)果直接在SolidWorks的三維實(shí)體上進(jìn)行標(biāo)注,減少了設(shè)計(jì)的隨意性,并有效的提高了設(shè)計(jì)效率。
由于尺寸精度的設(shè)計(jì)直接關(guān)系到零件使用性能和加工的難易程度,因此在具體設(shè)計(jì)時(shí),應(yīng)首先考慮使用要求的保證,其次應(yīng)聯(lián)系工藝、配合及有關(guān)典型零部件精度匹配的特點(diǎn),參考應(yīng)用實(shí)例,進(jìn)行尺寸精度的選取及設(shè)計(jì)。
下面簡(jiǎn)單介紹一下編寫(xiě)程序的主要過(guò)程:首先利用VB窗體設(shè)計(jì)器設(shè)計(jì)出符合設(shè)計(jì)人員工作習(xí)慣,且操作簡(jiǎn)便的主窗口,如圖2。根據(jù)所設(shè)計(jì)零件的使用性能要求,可分為塊規(guī)尺寸、量規(guī)尺寸、配合尺寸、精密零件的配合尺寸、非配合尺寸以及原材料尺寸等六種尺寸類型。國(guó)家標(biāo)準(zhǔn)規(guī)定了每一種尺寸類型的公差等級(jí)的大致應(yīng)用范圍。在圖2中,點(diǎn)擊每一個(gè)選項(xiàng)按鈕,將會(huì)在下面的文本框中顯示相應(yīng)的公差等級(jí)及其應(yīng)用范圍,選中任一選項(xiàng),按下“繼續(xù)”按鈕,就會(huì)得到公差等級(jí)的最終設(shè)計(jì)結(jié)果,同時(shí)可得到推薦使用的加工方法。

當(dāng)尺寸為配合尺寸時(shí),尺寸精度的設(shè)計(jì)還應(yīng)該綜合考慮配合及典型零(部)件的精度匹配。由于孔、軸的公差等級(jí)直接影響配合的精度,所以配合要求中必然包含有對(duì)孔、軸公差的要求。如:對(duì)過(guò)渡配合或過(guò)盈配合,一般要求配合的穩(wěn)定性較高,即不允許其間隙或過(guò)盈的變動(dòng)量太大,否則滿足不了定心或傳力的要求,因此,應(yīng)選較高的公差等級(jí)(如:過(guò)渡配合應(yīng)在8級(jí)或以上,過(guò)盈配合應(yīng)在7級(jí)或以上)。而對(duì)間隙配合,允許有間隙變動(dòng)較大的情況時(shí),一般情況下,間隙小,其公差等級(jí)應(yīng)選高一些(如H6/g5);間隙大,其公差等級(jí)應(yīng)低一些(如H10、a10)。同時(shí),由于配合尺寸精度設(shè)計(jì)還要考慮配合類型的選用等要求,所以比其他幾種尺寸類型設(shè)計(jì)要復(fù)雜一些。界面如圖3所示:用戶選擇相應(yīng)的設(shè)計(jì)表面和配合表面,由具體工作要求得到相應(yīng)的配合類型,再選擇具體的使用要求,即可得到最終的設(shè)計(jì)結(jié)果——推薦的公差等級(jí)及可選用的加工方法,如圖4所示。然后再在圖5的公差帶中,點(diǎn)選已得到的公差等級(jí),由基本尺寸即可得到公差值以及上下偏差,進(jìn)而完成標(biāo)注,標(biāo)注的結(jié)果如圖6所示。




本文以新一代GPS為理論基礎(chǔ),以VB為開(kāi)發(fā)工具,對(duì)SolidWorks進(jìn)行精度設(shè)計(jì)模塊的二次開(kāi)發(fā),主要是尺寸精度及配合的設(shè)計(jì),不但解決了CAD系統(tǒng)中公差與配合設(shè)計(jì)需要人工查詢手冊(cè)的問(wèn)題,同時(shí)避免了設(shè)計(jì)的隨意性,實(shí)現(xiàn)了尺寸精度查詢和設(shè)計(jì)的自動(dòng)化和智能化,并且提高了設(shè)計(jì)與繪圖的效率和質(zhì)量,提升了軟件性能,擴(kuò)展了SolidWorks的應(yīng)用功能,有利于進(jìn)一步發(fā)揮CAD的優(yōu)越性,從而真正實(shí)現(xiàn)CAD與后續(xù)的CAPP/CAM的集成。
[1]張琳娜.精度設(shè)計(jì)與質(zhì)量控制基礎(chǔ)[M].北京:中國(guó)計(jì)量出版社,2000.
[2]江洪,魏崢,等.SolidWorks二次開(kāi)發(fā)實(shí)例解析[M].北京:機(jī)械工業(yè)出版社,2004.
[3]方東陽(yáng),李秀明,張琳娜,等.基于GPS的形位公差項(xiàng)目分析和設(shè)計(jì)[J].鄭州大學(xué)學(xué)報(bào),2005(3):73-76.
[4]SolidWorks公司.SolidWorks API二次開(kāi)發(fā) [M].北京:機(jī)械工業(yè)出版社,2005.
[5]Bob Reselman,Richard Peasley.實(shí)用Visual Basic 6[M].北京:清華大學(xué)出版社,2001.
[6]李向陽(yáng).SolidWorks二次開(kāi)發(fā)的研究[J].精密制造與自動(dòng)化,2008(2):37-39.
[7]曾祥光張玲玲.基于VB的SolidWorks二次開(kāi)發(fā)[J].機(jī)械工程師,2006(3).
[8]熊巍,劉林,閻漢生.用SolidWorks API進(jìn)行參數(shù)化設(shè)計(jì)[J].CAD/CAM與制造業(yè)信息化,2006(6):54-56.