摘 要:文章介紹了在SolidEdge繪圖軟件環(huán)境下,利用Visual Basic編程軟件對圖紙的二維制圖方法的開發(fā)。
關(guān)鍵詞:二維制圖;Solid Edge;Visual Basic
1 概述
Solid Edge為CAD軟件包,擁有二維和三維繪圖功能,廣泛應(yīng)用于機械設(shè)計行業(yè),并且具有良好的二次開發(fā)程序接口。因此可以用VB對SE進行二次開發(fā),即建立參數(shù)化設(shè)計程序,驅(qū)動SE進行制圖,可以大大減少設(shè)計人員的重復(fù)性勞動,進而提高工作效率,減少低級錯誤。
2 VB驅(qū)動SE二維制圖的方法
由于SE的三維功能很強大,大多數(shù)書籍介紹了其三維功能實現(xiàn)的方法,二維制圖方面少之又少,而變壓器圖紙中有相當(dāng)量的圖紙是不能用三維實現(xiàn)的,只能用二維制圖,所以文章主要介紹其二維制圖的方式和方法。
2.1 引用數(shù)據(jù)庫
利用VB驅(qū)動SE制圖,首先需要在VB中引用SE相關(guān)的類型庫,這樣VB與SE之間建立了橋梁,VB才能訪問SE提供的對象。然后就可以用VB的“對象瀏覽器”查看SE所有可以使用的常量和定義的模塊或過程,也可以看到對象之間的層次結(jié)構(gòu)和關(guān)系,這有助于以后理解如何調(diào)用SE的命令。
2.2 訪問工程圖圖紙頁面
首先要為VB驅(qū)動SE提供必需的條件,需要以下的語句來實現(xiàn):
Public ObjApp As SolidEdgeFramework.Application
Public ObjDoc As SolidEdgeDraft.DraftDocument
Public ObjSheet As SolidEdgeDraft.Sheet
定義ObjSheet為SE的二維圖紙中的圖紙頁面,即.dft工程圖文件中的二維模型、圖紙、背景等;
通過以上的定義就可以使VB訪問SE的工程圖文件了,訪問的具體的命令有很多書籍介紹了,這里不再贅述。只是其中下條語句中有些不同,可以由定制模板打開。
Set ObjDoc=ObjApp.Documents.Add(“SolidEdge.DraftDocument”,“NewNormal.dft”)'新建SE圖紙文檔,“NewNormal.dft”為定制模板,放在Template文件夾下。
2.3 建立圖紙頁面和圖層
進入工程圖圖紙后,首先要在指定的頁面和圖層中繪制圖形。
Set ObjSheet=ObjDoc.Sheets.AddSheet(SheetName,igWorkingSection)
如果將上面語句的igWorkingSection換為igBackgroundSection或1,建立的是背景頁。
ObjDoc.Sheets.Item(SheetName).Activate或Call ObjSheet.Activate
以上語句可以實現(xiàn)建立新的圖紙,并激活;此時還可以對頁面的參數(shù)進行設(shè)置,比如紙張大?。?/p>
ObjSheet.SheetSetup.SheetWidth=0.605'指定紙張寬度為605mm
ObjSheet.SheetSetup.SheetHeight=0.86'指定紙張高度為860mm
通過Set ObjLayer = ObjSheet.Layers.Add(LayerName)命令設(shè)定了ObjLayer為新增圖層
ObjSheet.Layers.Item(LayerName).Activate實現(xiàn)指定圖層激活命令,但特別需要注意的是,建立新的圖紙頁面后需要重新指定新圖頁為激活頁面,Set Obj*=ObjSheet.*,Set Obj*=ObjObjDoc.*結(jié)構(gòu)的命令都需要重新指定,這樣才能正確進行。
2.4 畫線
繪圖中最基礎(chǔ)的就是畫線,通過ObjLines2d語句可以實現(xiàn)在SE中畫線,更多方法可以在“對象瀏覽器”中相應(yīng)位置中查到。
類似的,圓(Circles2d)、圓?。ˋrcs2d)等都可以類似定義。
設(shè)置圖頁、圖層命令和畫線命令等配合使用就可以把線畫到指定的圖頁和圖層中,便于管理和修改。
2.5 添加尺寸、標(biāo)注、指引線和文本框
通過ObjDimn語句實現(xiàn)在SE中添加尺寸。尺寸命令必須依存相關(guān)元素存在,所以尺寸命令中涉及的元素需在之前命名,要用Set命令對生成的元素進行命名,而不用Call命令。
通過ObjBallonns語句實現(xiàn)在SE中增加標(biāo)注,通過ObjLeaders語句實現(xiàn)在SE中增加指引線,通過ObjTxtBoxes語句實現(xiàn)在SE中增加文本框。
各種畫線命令引用的線樣式都是同一個設(shè)置,都來自SE中格式-樣式-線樣式的設(shè)定,Dimensions、Balloons、Leaders命令引用的尺寸樣式都來自SE其中尺寸樣式的設(shè)定,而TextBoxes命令引用的文本樣式則來自SE其中文本樣式的設(shè)定,因此在這些命令執(zhí)行之前需在繪圖的模板上添加或修改好需要引用的樣式,這樣執(zhí)行如ObjDimnsStyles.Active=“國標(biāo)”'命令時才不會出錯。
2.6 添加EXCEL明細表格
Excel明細表格在SE中是以Symbol(符號)的形式存在的,新建一個Excel表格文件,利用其儲存路徑和名稱通過ObjSymbols命令添加到SE的符號中。
Public xlPath As String'明細的儲存地址
Set xlApp=CreateObject(“Excel.application”)'創(chuàng)建新工作薄
Set xlbook=xlApp.Workbooks.Add
Set xlSheet=xlbook.Worksheets(“Sheet1”)'向當(dāng)前工作表的單元格輸出數(shù)據(jù)
…一系列對表格的操作…
xlPath=“D:\圖紙\”Frm1.Text1.Text“.xls”
xlbook.SaveAs FileName:=xlPath
Set ObjSymbol=ObjSheet.Symbols.Add(igOLEEmbedded,xlPath,X00+(26)*0.001,Y00+(62)*0.001)'添加Excel表格。
3 結(jié)束語
以上這些命令基本上可以滿足完成二維制圖的需要,在程序設(shè)計時,良好的過程執(zhí)行與判斷命令,結(jié)合正確的繪圖命令,再加上Excel和Access數(shù)據(jù)庫的支持,可以完成SE圖紙參數(shù)化設(shè)計,設(shè)計者只需要在VB設(shè)計的程序界面上進行操作,由VB驅(qū)動SE完成相關(guān)的工作,設(shè)計者無需操作SE即可完成繪圖,減少不必要的重復(fù)操作,提高工作效率,可以用更多的時間和精力投入到創(chuàng)新和開發(fā)工作中去。
參考文獻
[1]彭穎紅.Solid Edge Visual Basic開發(fā)入門[M].北京科學(xué)出版社,2001.