朱凱 王鵬飛
【摘 要】使用VB 6.0和ACCESS數據庫為開發工具,在CATIA平臺進行汽車標準件三維圖庫基于VBScript腳本的參數化設計,并以等長雙頭螺柱標準件為實例介紹了應用過程。該標準件圖庫界面友好,操作方便,能與CATIA良好對接,節省了設計時間,提高了企業設計效率。
【關鍵詞】汽車標準件;三維圖庫;參數化設計
中圖分類號: TP391.72 文獻標識碼: A 文章編號: 2095-2457(2017)17-0011-003
Parametric Design and Application of 3D Standard Library for Automobile Standard Parts
ZHU Kai WANG Peng-fei
(School of Mechanical and Vehicular Engineering, Bengbu University ,Bengbu 233000,China)
【Abstract】Using VB6.0 and ACCESS database as developing tools,the parametric design of 3D standard library based on VBScript is carried out on the CATIA platform.The application process is introduced with the example of the standard bolt.The standard library has friendly interface,convenient operation and good docking with CATIA,saving design time and improving the efficiency of enterprise design.
【Key words】Automotive Standard Parts;3D Gallery;Parameterized Design
0 引言
目前,用于一輛普通轎車上的標準件數量就可以有3000 多個,因此汽車企業在設計制造過程中都十分重視標準化。這些標準件主要集中在螺柱、螺栓、螺母、螺釘、螺塞、鉚釘、擋圈、墊圈、密封件、管接件、卡扣等類別[1]。在設計過程中,設計人員會對大部分結構相同,僅尺寸不同的標準件重復建模,浪費人力物力。基于CATIA平臺進行汽車標準件三維圖庫的設計和建立,就可以快速準確生成所需的標準件三維模型,節省設計時間,提高設計效率。
1 三維圖庫總體設計
1.1 建庫的方法與選擇
在CATIA平臺上建庫的方法比較多,大體可分為三類[2-3]。
(1)使用CATIA自帶的Formula,DesignTable,Catalog功能模塊建立使用標準件庫。
(2)使用VB等提供的引用對象庫,將CATIA 庫文件加入程序框架,引用CATIA的類對象和函數等來進行二次開發。
(3)通過應用CATIA 提供的二次開發工具RADE和庫函數CAA (CATIA Application Architecture)的接口,在VC 開發環境中創建標準件庫。
第一類由于是CATIA自帶的,用戶界面不友好,信息管理繁瑣。第二類和第三類需要編程比較多,要求高。綜合上述幾種方法的優缺點,我們改進第二類,綜合運用基于VBScript的參數化設計方法來建庫。參數化設計的關鍵在于使用參數、公式和特征等驅動圖形以達到改變圖形的效果,也就是利用關系表達法創建標準件的三維模型模板,并錄制VBScript腳本,將零件各參數信息存放在ACCESS數據庫中,再利用VB和CATIA的二次開發技術編寫驅動程序和數據庫操作程序,獲取數據庫中零件參數值,用獲取的參數值替換修改腳本模板中表達式的參數,總而驅動生成新的三維模型。基于VBScript腳本的參數化設計如圖1所示。
圖1 基于VBScript腳本的參數化設計
1.2 三維圖庫體系架構
汽車標準件三維圖庫的體系架構如圖2所示,由CATIA平臺應用層、VB程序邏輯層和ACCESS數據庫層組成[4]。CATIA平臺和VB程序界面之間通過VBScript腳本傳遞數據,VB程序界面和數據庫則通過數據庫接口實現數據交換。
圖2 汽車標準件三維圖庫的體系架構
1.3 三維圖庫的功能結構
汽車標準件三維圖庫是三維產品數字化定義的重要組成部分,其功能包含有目錄結構建立和維護、常用標準件管理、標準件三維建模和用戶管理,如圖3所示。目錄結構的建立和維護是對標準件類型結構樹關系的維護管理;常用標準件管理用來對標準件信息進行添加刪除和修改等操作;標準件三維建模是主要功能模塊,包括二維三維圖的查看、標準件參數信息查詢和標準件三維模型的生成;用戶管理模塊則有用戶管理、修改密碼和權限管理三個功能。為了提高三維圖庫的安全性,在運行時,不同權限用戶能夠進入使用的功能模塊不同。一般設計人員只能使用標準件三維建模和修改自己密碼的功能,而管理員則可以使用所有功能模塊。
圖3 汽車標準件三維圖庫的功能結構
2 三維圖庫關鍵技術及實現
2.1 在CATIA打開三維圖庫程序
三維圖庫程序為(.exe)可執行文件,從CATIA平臺打開三維圖庫程序可以通過以下VBScrip腳本實現。我們還可以將VBScrip腳本自定義在工具欄上,方便當功能菜單使用[5]。
Language="VBSCRIPT"endprint
Sub CATMain()
CATIA.SystemService.ExecuteBackgroundProcessus"E:\... ...\汽車標準件三維圖庫.exe"
End Sub
2.2 ADO(ActiveX Data Objects)技術
ADO(ActiveX Data Objects)是微軟公司開發的一種基于COM(組件對象模型)的自動化接口技術,并以OLE DB(對象連接和鑲入的數據庫)為基礎,它可以快速的創建數據庫應用程序。ADO提供了一組簡單的,將一般通用的數據訪問細節進行封裝的對象。
ADO主要由Connection、Command、Recordset三種核心對象類型組成。Connection對象表示到數據庫的連接,管理應用程序和數據庫之間的通信。Command對象用于執行某些命令,來進行諸如查詢、修改數據庫結構的操作。Recordset對象被用來獲取數據和存放查詢的結果。
VB中在使用ADO進行數據訪問時,先使用Connection對象創建數據庫連接,然后利用建立好的連接,通過Connection、Command對象執行SQL命令,也可以利用Recordset對象對結果記錄集進行查詢、修改等處理,最后使用完畢,關閉連接,釋放對象。
2.3 VBScript腳本模板參數替換
參數值通過SQL語句從數據庫中獲取,傳遞到MSFlexGrid控件,以表格的形式顯示。在用戶界面特征結構樹和表格中選中某一類標準件的一條參數記錄后,將參數值傳遞到Text控件,接著將VBScript腳本賦給字符串str。最后利用For循環,依次替換修改str字符串中相應字符串。
3 基于VBScript腳本的參數化設計和應用實例
3.1 基于VBScript腳本的參數化設計
基于VBScript腳本的參數化設計是通過修改草圖的尺寸參數來改變模型的尺寸,以實現參數化設計,而修改草圖尺寸參數是通過修改VBScript腳本參數來實現的,通過修改VBScript腳本模板的表達式參數,從而產生新的VBScript腳本命令,運行后就可生成新的模型。以下為主要部分的思路和代碼。
(1)將VBScript腳本模板以文本方式打開,逐行讀取,并其字符賦給字符串str,同時新建并打開一個空白文本。
Open App.Path & "\muban\" & XXXX.Text & ".txt" For Input As #FileNumber1
FileNumber2 = FreeFile
Open App.Path & "\newmuban\" & XXXX.Text & ".txt" For Output As #FileNumber2
While Not EOF(1)
Line Input #FileNumber1, str
(2)根據2.3的方法,對str字符串循環替換修改,將替換好的str字符串再寫入空白文本文件,并關閉打開的文本文件。
For t = 0 To MSFlexGrid1.Cols - 1
str = Replace(str, "xxxx" & t, Text1(t).Text)
Next t
Print #FileNumber2, str
Wend
Close #FileNumber1
Close #FileNumber2
(3)將寫入VBScript腳本的文本文件更改為VBScript腳本文件,再用ShellExecute命令執行。
Name App.Path & "\newmuban\" & XXXX.Text & ".txt" As App.Path & "\newmuban\" & TXXXX.Text & ".catvbs"
ShellExecute 0&, vbNullString, App.Path & "\newmuban\" & XXXX.Text & ".catvbs", vbNullString, vbNullString, vbNormalFocus
3.2 應用實例
以汽車標準件等長雙頭螺柱Q128為例,說明在VB環境下基于CATIA平臺建立標準件三維圖庫的過程。
(1)建立標準件的三維模型,錄制VBScript腳本,稍作修改做模板用。
(2)在ACCESS中設計數據庫,分別建立汽車標準件類型代號的數據表、用戶名密碼權限的數據表和命名為Q128的數據表,并向表中添加標準件類別、編號、尺寸參數、二維三維圖等信息。
(3)在VB環境下,使用Treeview、MSFlexGrid、Image等控件設計界面,主界面如圖4所示。
(4)應用上述介紹的關鍵技術編程,最后做成(.exe)可執行文件。
圖4 汽車標準件三維圖庫界面
(5)將打開汽車標準件三維圖庫的VBScript腳本加入到工具欄做功能菜單。
在使用三維圖庫時,先打開CATIA,點擊加入的自定義菜單,打開汽車標準件三維圖庫。從左側特征結構樹中選擇所需標準件,查看二維三維圖,選中其某一條參數,點擊確定生成所選標準件三維模型。生成的等長雙頭螺柱三維模型如圖5所示。
4 總結
本文介紹了使用VB做用戶交互界面, ACCESS數據庫存儲參數,基于CATIA平臺汽車標準件三維圖庫的參數化設計方法,并進行了實例應用。該標準件三維圖庫能夠提高設計的標準化程度,降低錯誤發生率,提高設計效率。
圖5 生成的等長雙頭螺柱三維模型
【參考文獻】
[1]QC/T 326-2013,汽車標準件產品編號規則[S].
[2]胡國強,賈輝.基于CATIA V5 的三維標準件庫的創建與使用[J].輕型汽車技術,2010,38(10):34-37.
[3]沈燕輝,鄒凌華,戴禮強.基于CATIA標準件參數化設計及標準件庫建立[J].汽車工程師,2012,39(9):53-55.
[4]傅盛榮,肖堯先,彭晨. 基于UG汽車三維標準件庫的開發[J].機械工程師,2011,43(11):37-39.
[5]胡挺,吳立軍.CATIA二次開發技術基礎[M].北京:電子工業出版社,2006,6-7.endprint