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é)問題。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計案例教程中文版AutoCAD 建筑設(shè)計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項目教程 第3版 [繆希偉 主編] 2012年P(guān)DF