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

您的位置:網(wǎng)站首頁 > CAD新聞

基于OLE的注塑模具CAD三維標(biāo)準(zhǔn)件庫的開發(fā)

時間:2011-02-25 10:06:14 來源:

  0 引言

  模具業(yè)多樣化發(fā)展使得通用的模具CAD軟件不再能完全滿足企業(yè)的特殊需要,所以研究在通用圖形軟件的基礎(chǔ)上二次開發(fā)企業(yè)自主的模具CAD系統(tǒng)十分必要。專用CAD軟件必須結(jié)合企業(yè)的自身實際情況,建立符合國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)和企業(yè)標(biāo)準(zhǔn)的模具標(biāo)準(zhǔn)件庫、模具通用結(jié)構(gòu)庫及標(biāo)準(zhǔn)模架庫。在實現(xiàn)標(biāo)準(zhǔn)庫的同時建立相應(yīng)的數(shù)據(jù)管理系統(tǒng),以提高設(shè)計效率。當(dāng)前三維實體造型軟件已逐步取代二維軟件,因此對三維軟件的二次開發(fā)也將成為我們研究的重點。針對當(dāng)前我國中、小型企業(yè)以微機(jī)平臺為主的現(xiàn)狀,選用SolidWorks為二次開發(fā)平臺。SolidWorks采用了與Unigraphics相同的底層圖形核心Parasolid,它的核心技術(shù)----OLE技術(shù)是在Windows環(huán)境下生成的,有利于二次開發(fā)技術(shù)的實現(xiàn)。

  1 OLE技術(shù)概述

  對象鏈接與嵌入(Object Linking and Embedding)不是另一種編程技術(shù),而是根植于Windows環(huán)境的一種編程模式技術(shù),其核心在于允許一個Windows應(yīng)用程序通過暴露對象的方式,控制和操作另一個Windows應(yīng)用程序。即被調(diào)用的程序暴露自身的對象體系結(jié)構(gòu)供調(diào)用程序引用。通過OLE技術(shù),許多面向?qū)ο缶幊陶Z言(如:VB、VC++、VBA等)和應(yīng)用程序可以與SolidWorks通信,從而直接操縱SolidWorks編制用戶化程序滿足設(shè)計需要,如菜單設(shè)計、標(biāo)準(zhǔn)件庫的建立、參數(shù)化設(shè)計等。

  2 SolidWorks對象模型樹

  不管是用VC++ 、VB還是VBA對SolidWorks進(jìn)行二次開發(fā),都是通過調(diào)用SolidWorks的對象體系結(jié)構(gòu)來進(jìn)行的。基于OLE技術(shù)SolidWorks,API將SolidWorks, 的各種功能封裝在SolidWorks,對象之中供編程調(diào)用。作為一個對象,它包括以下幾個方面:(1)對象的類型;(2)對象的屬性;(3)對象的方法。開發(fā)者通過操縱對象的屬性和調(diào)用對象的方法建立自己的應(yīng)用程序,實現(xiàn)二次開發(fā)。例如,建立一個長方體,可以訪問零件實體模型,則SolidWorks, 提供對象類型為PartDoc,它包含的屬性有MaterialldName、MaterialUserName、MaterialPorpertyValues, 它提供的方法有CreateNewBody(創(chuàng)建一個新實體)、EditRebuild(重新編輯實體)、FeatureByName(返回實體特征名)等。SolidWorks開發(fā)系統(tǒng)圖如圖1所示。

  

  下面我們給出SolidWorks的對象模型樹見圖2。

  

  3 數(shù)據(jù)庫的建立

  設(shè)計合理的標(biāo)準(zhǔn)件數(shù)據(jù)庫管理,將極大的有利于開發(fā)注塑模CAD系統(tǒng)。采用數(shù)據(jù)庫管理注塑模具標(biāo)準(zhǔn)件,標(biāo)準(zhǔn)件數(shù)據(jù)按一定數(shù)據(jù)結(jié)構(gòu)形式存放在數(shù)據(jù)庫中,由數(shù)據(jù)管理系統(tǒng)統(tǒng)一進(jìn)行管理。關(guān)系型數(shù)據(jù)庫適用于關(guān)系結(jié)構(gòu)復(fù)雜的數(shù)據(jù)類型,因此考慮到注塑模的裝配關(guān)系,在建立注塑模具標(biāo)準(zhǔn)件數(shù)據(jù)庫中選擇關(guān)系型數(shù)據(jù)庫,將有利于裝配模型中對各類標(biāo)準(zhǔn)件的管理。在建立規(guī)范的標(biāo)準(zhǔn)件數(shù)據(jù)庫基礎(chǔ)之上,通過面向?qū)ο蟮某绦蛘Z言VB開發(fā)接口程序,實現(xiàn)數(shù)據(jù)庫與SolidWorks實體造型的通信,從而通過調(diào)用數(shù)據(jù)庫就直接生成所需要的標(biāo)準(zhǔn)件,并且通過管理數(shù)據(jù)庫可以實現(xiàn)標(biāo)準(zhǔn)件的各類管理。

  4 面向?qū)ο蟮拈_發(fā)環(huán)境

  通過VC++編寫動態(tài)連接庫文件(DynamicLink Library,DLL文件),運行SolidWorks時加載上去,可以實現(xiàn)對SolidWorks底層的開發(fā)。例如編寫菜單文件直接掛在SolidWorks的菜單下,形成應(yīng)用程序與SolidWorks的統(tǒng)一的界面。VB可以直接訪問SolidWorks所提供實體對象,利用它來編寫參數(shù)化設(shè)計程序,以及調(diào)用數(shù)據(jù)庫的接口程序更加直觀。我們可以根據(jù)需要充分利用這些面向?qū)ο缶幊陶Z言的優(yōu)點來實現(xiàn)注塑模具CAD系統(tǒng)二次開發(fā)。圖3為利用面向?qū)ο蟮木幊陶Z言VC++,通過調(diào)用SolidWorks提供的菜單資源對象模型實現(xiàn)二次開發(fā)的菜單設(shè)計。

  

  5 應(yīng)用實例

  本文通過建立注塑模具中常用的限位釘標(biāo)準(zhǔn)件自動生成三維圖,供模具設(shè)計者調(diào)用為例,說明基于OLE技術(shù)在SolidWorks平臺下進(jìn)行的注塑模CAD三維標(biāo)準(zhǔn)件庫開發(fā)。

  首先,在SolidWorks實體造型環(huán)境中建立以國標(biāo)系列尺寸為驅(qū)動參數(shù)的限位釘模型;

  其次,在關(guān)系數(shù)據(jù)庫中建立限位釘國標(biāo)標(biāo)準(zhǔn)庫;

  然后,利用VB編制程序,設(shè)計界面,訪問數(shù)據(jù)庫,同時調(diào)用SolidWorks中的Part對象實現(xiàn)限位釘?shù)膮?shù)化繪圖。

  最后,利用VC編制菜單文件,運行時加載上去,實現(xiàn)菜單的統(tǒng)一。

  下面給出利用SolidWorks提供的OLE Automation技術(shù)在VB環(huán)境下二次開發(fā)的實例。在VB中訪問SolidWorks對象的代碼:

  標(biāo)準(zhǔn)件限位釘參數(shù)程序needle()代碼:

  Sub Cuboid(By Val DDValue__Passed As Double,By Val dValue__Passed As Double,ByVal ZValue__Passed As Double, Lvalue__ Passed As Double,)

  Dim MyApp As Object

  Dim Part As Object

  Set MyApp = CreateObject ("SldWorks.Application")

  MyApp.Visible(Ture)

  Set Part = MyApp. OpenDoc ("needle.SLDPRT",swDocPART)

  If Part Is Nothing Then

  Exit Sub

  Else

  End if

  Part. Parameter("DDValue@Sketchl").

  System Value = DDalue__Passed

  Part. Parameter("dValue @ Sketchl").

  SystemValue = dValue__Passed

  Part.Parameter("ZValue@Base-extrude").

  System Value = ZValue__Passed

  Part.Parameter("LValue@Base-Extrued").

  System Value = LValue__Passed

  Part.EditRebuild

  End Sub

  

  6 結(jié)束語

  OLE技術(shù)以及后來發(fā)展的網(wǎng)絡(luò)版的對象鏈接與嵌入技術(shù)—ActiveX技術(shù)都是面向?qū)ο缶幊碳夹g(shù)的重大進(jìn)步。在CAD 技術(shù)中的運用也日益廣泛。最新版本的CAD軟件系統(tǒng)一般都支持這兩種技術(shù)或其中一種,用戶可根據(jù)需要進(jìn)行選擇。

  CAD系統(tǒng)的二次開發(fā)者在開發(fā)應(yīng)用軟件時,關(guān)鍵是理清CAD軟件所提供的對象以及與面向?qū)ο缶幊陶Z言的開發(fā)接口,就可以對該CAD軟件開發(fā)有一個總體認(rèn)識,進(jìn)而實施細(xì)節(jié)問題。