我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁 > Solidworks

機床夾具三維標(biāo)準(zhǔn)件庫的開發(fā)

時間:2010-06-02 08:00:00 來源:
副標(biāo)題#e#    當(dāng)前國內(nèi)機械行業(yè)內(nèi)雖然有諸多機械標(biāo)準(zhǔn)零件的圖庫,但并不是很能滿足需求。一方面,現(xiàn)在的圖庫基本上都是二維平面圖庫,而隨著大量三維實體造型軟件如SolidWorks、Pro/E、UG等的崛起,引發(fā)了設(shè)計領(lǐng)域的變革。由于這些三維軟件不僅可創(chuàng)建三維實體模型,還可利用沒汁出的三維模型進(jìn)行模擬裝配和靜態(tài)干涉檢查、機構(gòu)分析、動態(tài)干涉檢查、動力學(xué)分析、強度分析等,所以應(yīng)用越來越廣泛,而平面圖庫的應(yīng)用將日趨減少。另一方面,雖然一些三維軟件也有標(biāo)準(zhǔn)件圖庫,但多數(shù)是普通的機械標(biāo)準(zhǔn)零件圖庫,并沒有一套專門的機床夾具標(biāo)準(zhǔn)零部件的圖庫。我們對眾多夾具標(biāo)準(zhǔn)件進(jìn)行搜集、篩選、分類,而后編程對其進(jìn)行組織,形成一套針對性較強的三維參數(shù)化夾具標(biāo)準(zhǔn)件圖形庫。
   
    1夾具標(biāo)準(zhǔn)零部件三維圖形庫建立
   
    1.1軟件平臺的選擇
   
    SolidWorks是一套三維機械CAD軟件,它以參數(shù)化和特征建模的技術(shù),為設(shè)計人員提供了良好的設(shè)計環(huán)境,逐漸擁有了越來越多的用戶。另外,其強大的程序接口,能夠方便地利用VB、VC、Delphi等開發(fā)語言來進(jìn)行二次開發(fā)。所以我們選擇VB作為標(biāo)準(zhǔn)件系統(tǒng)的主要平臺。VB是Windows流行的編程語言,從根本上改變了傳統(tǒng)的程序設(shè)計模式,大大簡化了Windows應(yīng)用程序設(shè)計。VB最大的特點就是簡單,使用VB來開發(fā)軟件,開發(fā)周期短,代碼效率高,并且VB和SolidWorks具有良好的連接性,它通過SolidWorks API提供的對象和方法實現(xiàn)與SolidWorks的交互,實現(xiàn)參數(shù)化三維圖形庫的生成。
   
    1.2圖形庫的信息流程
   
    機床夾具零部件庫有如下幾個主要的功能模塊:零部件庫應(yīng)用程序,零部件數(shù)據(jù)庫,圖形庫和SolidWorks。圖形庫用于存放由SolidWorks繪制的不同種類夾具標(biāo)準(zhǔn)件的三維圖形,供預(yù)覽用。零部件數(shù)據(jù)庫是將機床夾具零部件標(biāo)準(zhǔn)中的所有零部件的尺寸數(shù)據(jù)輸入計算機中,建立起多個數(shù)據(jù)文件,利用Access數(shù)據(jù)庫軟件建立標(biāo)準(zhǔn)件數(shù)據(jù)庫,其中每種類型夾具標(biāo)準(zhǔn)件不同規(guī)格的尺寸構(gòu)成一個數(shù)據(jù)文件。供應(yīng)用程序在SolidWorks中生成相應(yīng)的三維零件圖。功能模塊的信息流程為:應(yīng)用程序調(diào)用圖形庫中的某種類型夾具標(biāo)準(zhǔn)件的三維圖形,在相應(yīng)對話框中選擇所需的規(guī)格或輸入必要的參數(shù),通過接口程序調(diào)用零部件數(shù)據(jù)庫中相應(yīng)類型夾具的某種規(guī)格的尺寸數(shù)據(jù),最后在SolidWorks界面下生成指定規(guī)格的三維夾具零件圖。
   
    1.3圖形庫的結(jié)構(gòu)
   
    機床夾具標(biāo)準(zhǔn)件的種類繁多,為便于檢索到所需的零部件,我們將夾具零部件分為9大類70多種不同規(guī)格,具體如下:
   
    (1)定位零件與部件:以工件平面為基準(zhǔn)的定位件、以工件外圓為基準(zhǔn)的定位件、以工件內(nèi)孔為基準(zhǔn)的定位件;
    (2)夾緊零件與部件:螺母、螺釘與螺栓、壓塊、壓板、偏心輪等;
    (3)其它夾緊零件:T型滑塊、切向夾緊套、壓入式螺紋襯套;
    (4)導(dǎo)向零件與部件:鉆套、鏜套、襯套、鉆套和鏜套用螺釘;
    (5)對刀零件:對刀塊、對刀用塞尺;
    (6)對定零件與部件:手柄式定位器、槍栓式定位器、齒條式定位器;
    (7)鍵:定位鍵、定向鍵、過渡盤;
    (8)其它零部件:萬能支柱、支腳、角鐵、螺塞、鎖扣、堵片;
    (9)夾具體:標(biāo)準(zhǔn)鑄件組合夾具體、操作件。
   
    2夾具標(biāo)準(zhǔn)零部件三維圖形庫的關(guān)鍵技術(shù)
   
    2.1 Solidworks API

   
    SolidWorks對象包括ModelDoc, Environment,F(xiàn)rame,AttributeDef,Modeler,SWPropertySheet等。SolidWorks對象是SolidWorks API中的最高層對象,它能夠直接或間地訪問SolidWorks API中的所有其他對象,并可以實現(xiàn)應(yīng)用程序最基本的操作,如生成、打開、關(guān)閉、結(jié)束文件、重排圖標(biāo)和窗口生成屬性定義等。除此之外,它還可以對SolidWorks的系統(tǒng)環(huán)境進(jìn)行設(shè)置。
   
    (1)ModelDoc對象
   
    SolidWorks的子對象ModelDoc屬于模型層。用它可以實現(xiàn)視圖設(shè)置、輪廓線修改、參數(shù)控制、對象選擇/打開和保存文檔、生成編輯特征參量、生成框架等與實體模型相關(guān)的各類操作。ModelDoc對象包括PartDoc,AssemblyDoc,DrawingDoc,F(xiàn)eature,Annotaion,F(xiàn)eatMgView,ModelView,Sketch,DesignTable,Attribute,SelectionMgr,LayerMgr,Configuration,ModelDocExtension,Configuration-Manager,ModelViewManager等對象。ModelDoc對象提供了直接訪問PartDoc,DrawingDoc和AssemblyDoc對象的方法。對COM應(yīng)用程序,這意味著通過使用QueryInterface,能夠從這三個對象中的任何一個獲得ModelDoc對象。
   
    同樣地,用QueryInterface通過基于ModelDo。指針?biāo)淼奈募愋湍軌驈腗odeiDoc對象獲得相關(guān)的PartDoc,DrawingDoc或AssemblyDoc對象。對OLE應(yīng)用程序,這種關(guān)系表示可以簡單地定義一個新的IModelDoc對象,該對象調(diào)用指針和IPartDoc。IdrawingDoc或IassmeblyDoc對象的一樣。而對于給定的零件,可以使用它的ModelDoc調(diào)用指針來定義一個新的IpartDoc對象。
   
    (2)Environment對象
   
    Environment對象可分析文本和幾何關(guān)系,該幾何關(guān)系用于生成符號。如果有-個包含了符號的注釋,想要重新生成注釋時可用Environment對象實現(xiàn)。從Environment類返回的所有數(shù)值都是以文本高1.0為單位的。一個具有文本高o.15的符號,應(yīng)將返回值乘以0.1 5。可以用SldWorks GetEnvironment來查看返回值。在安裝目錄\lang\English中可以找到名為gt01.sym的環(huán)境沒置文件,它包含所支持的幾何公差符號和它們在SolidWorks文本文件中的縮寫詞。
   
    2.2數(shù)據(jù)庫的連接技術(shù)
   
    VB程序提供了數(shù)據(jù)庫連接Data控件,使用它可以將數(shù)據(jù)庫連接到VB程序主程序中,實現(xiàn)數(shù)據(jù)庫、SolidWorks圖形文件和程序界面相互聯(lián)系,實現(xiàn)應(yīng)有的功能。為便于選取數(shù)據(jù),采用MsFlexGrid控件來實現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)能以表格形式提供給用戶,使用MsFlexGrid控件方便簡單。雖然它的功能不及其它數(shù)據(jù)控件,但可以使用變通方法擴展它的功能,只要在MsFlexGrid控件的屬性中設(shè)置DataSource為數(shù)據(jù)控件,Data就可以使,}fj數(shù)據(jù)表了。另外,為了方便設(shè)計非標(biāo)準(zhǔn)夾具零部件,在表列的最后增加一輸入欄,以生成任意尺寸的非標(biāo)準(zhǔn)夾具零部件,擴充了三維圖形庫的使用范圍。具體步驟如下:
   
    (1)使用Data控件將數(shù)據(jù)庫連接到程序界面。
   
    Data I.DatabaseName=App.Path &"小固定定位銷.mdb"
    Data 1.RecordSource= "****"
   
    用上面的語句實現(xiàn)數(shù)據(jù)庫連接,而且不會為文件的移動丟失數(shù)據(jù)庫。
   
    (2)用MsFlexGrid控件來實現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)能以表格形式給用戶使用。使用MsFlexGrid控件方便簡單,只要在MsFlexGrid控件的屬性中設(shè)置DataSource為數(shù)據(jù)控件Date就可以使用數(shù)據(jù)表了。
   
    (3)獲取數(shù)據(jù)表中的數(shù)據(jù)。我們用鼠標(biāo)點選數(shù)據(jù)表中所要數(shù)據(jù)的那一欄(row),選中的數(shù)據(jù)欄的數(shù)據(jù)被依次讀入設(shè)定的變量中,實現(xiàn)方法如下:
   
    Private Sub MSFlexGridl_SelChange()
    IfMSFlexGridI.Row<>(數(shù)據(jù)庫的列數(shù))-5-Then
    MSFlexGridl.Row=MSFlexGridl.ROW
    MSFlexGridl.Col=O:d-MSFlexGridl.Text
    MSFlexGridl.Col=l:DD--MSFlexGridl.Text
    MSFlexGridI.C01=2:DI=MSFlexGridl.Text
   
    2.3 VB和SolidWorks的聯(lián)接
   
    在建立VB和SolidWorks的聯(lián)接時所用到的程序代碼較多,擇較為常用的列述如下。添加SolidWorks庫文件:
   
    在[工程][引用]下查找并選中相應(yīng)的3個SolidWorks庫文件
   
    SolidWorks Extensibility Type Library
    SIdWorks 2006 Type Library
    SolidWorks exposed type libraries for add-in use
   
    建立SoliidWorks和Visual Basic之間的通訊過程的代碼如下:
   


    設(shè)置文檔變量指向SolidWorks應(yīng)用的文檔對象的代碼如下:
   
    Dim swDoc as 0bject
    Set swDoc=swapp.ActiveDocument