康 浩, 袁讓兵, 范敬松, 鐘相強(qiáng)
(1.安徽天航機(jī)電有限公司, 安徽 蕪湖 241000; 2.安徽工程大學(xué)機(jī)械工程學(xué)院, 安徽 蕪湖 241000)
伴隨著國(guó)家經(jīng)濟(jì)和科技實(shí)力的快速發(fā)展,我國(guó)的航空產(chǎn)業(yè)進(jìn)入了飛速提升期。密封圈是航空業(yè)必不可少的一個(gè)配件,擁有結(jié)構(gòu)緊湊、制造簡(jiǎn)單、便于拆卸安裝、密封效果好等特點(diǎn)[1]。其中,O 型密封圈(以下簡(jiǎn)稱“O 型圈”)是一種有圓形截面的環(huán)形橡膠圈,在工作狀態(tài)下依靠其彈性形變起密封作用,用于密封氣體或者液體[2]。
密封圈有不同的種類、材料和大小,因此快速設(shè)計(jì)不同的O 型圈非常重要。研究CAA 二次開發(fā)技術(shù),對(duì)O 型圈進(jìn)行功能開發(fā),能夠使操作者通過(guò)便捷的操作實(shí)現(xiàn)O 型圈的參數(shù)化建模。
O 型圈的結(jié)構(gòu)簡(jiǎn)單,主要參數(shù)為內(nèi)壁直徑和截面直徑。由于O 型圈大多為橡膠制品,考慮到在制造過(guò)程中的溫度變化,將O 型圈的收縮率也作為其主要參數(shù)。O 型圈的尺寸參數(shù)如圖1 所示。
圖1 O 型圈剖面尺寸圖
O 型圈材料一般為橡膠,而橡膠在高溫高壓的環(huán)境下為黏稠流體,因此考慮不同的溫度、壓力及模具型腔面等因素的影響,固化之后材料的尺寸會(huì)有一定程度的收縮。經(jīng)過(guò)大量實(shí)驗(yàn)表明,部分常用材料收縮率及常取值見(jiàn)表1。
表1 O 型圈材料收縮率 %
綜上,O 型圈的參數(shù)有內(nèi)壁半徑R、截面半徑r和收縮率Y。
在CATIA 中將O 型圈參數(shù)化驅(qū)動(dòng)的方法主要有尺寸驅(qū)動(dòng)法和程序驅(qū)動(dòng)法兩種[3],兩者各有優(yōu)勢(shì)。前者入門較易,只需熟練CATIA 操作即可,缺點(diǎn)是在進(jìn)行重復(fù)性操作時(shí)更加繁瑣;后者操作簡(jiǎn)單只需根據(jù)需求自行編寫代碼,在CATIA 中加載菜單和對(duì)話框即可,缺點(diǎn)是入門較難。
尺寸驅(qū)動(dòng)法是在CATIA 環(huán)境下直接驅(qū)動(dòng)參數(shù)的方法[4-5]。在CATIA 內(nèi)部設(shè)定參數(shù),按照正確的幾何約束和尺寸約束設(shè)定參數(shù)關(guān)系,僅修改特征樹上的參數(shù)變量值,就能得到和模板結(jié)構(gòu)相同、僅尺寸有所變化的O 型圈。用這種方法在設(shè)計(jì)尺寸有變化而結(jié)構(gòu)不變的O 型圈族時(shí)效率得到極大的提升。尺寸驅(qū)動(dòng)法的操作流程如圖2 所示。
圖2 尺寸驅(qū)動(dòng)法流程
程序驅(qū)動(dòng)法是通過(guò)編程將CATIA 中所用到的API 接口導(dǎo)入到程序語(yǔ)言中,通過(guò)程序代碼來(lái)直接驅(qū)動(dòng)參數(shù)變量,完成所要修改的模型[6]。使用程序驅(qū)動(dòng)法,可以通過(guò)調(diào)用API 來(lái)直接建立模型,只需要在對(duì)話框窗口中輸入?yún)?shù)的值,即可直接驅(qū)動(dòng)模型。程序驅(qū)動(dòng)法的操作流程如圖3 所示。
圖3 程序驅(qū)動(dòng)法流程
O 型圈參數(shù)化,首先需要進(jìn)入CATIA 內(nèi)部,使用尺寸驅(qū)動(dòng)法設(shè)置參數(shù),再通過(guò)CAA C++使用程序驅(qū)動(dòng)法進(jìn)行快捷驅(qū)動(dòng)。將兩種驅(qū)動(dòng)方法混合使用可以使參數(shù)化的過(guò)程更加簡(jiǎn)便,邏輯上更具連貫性。
CAA C++ 是CATIA 的一整套C++ 函數(shù)庫(kù),該函數(shù)庫(kù)在CATIA 運(yùn)行時(shí)得以加載。CAA 的實(shí)現(xiàn),是通過(guò)提供的快速應(yīng)用研發(fā)環(huán)境RADE 和不同的API接口程序來(lái)完成的[7]。通過(guò)二次開發(fā)完成的插件和CATIA 之間擁有緊密的關(guān)系,可以完成幾乎所有的CATIA 的功能開發(fā)及使用。
在VS 中訪問(wèn)CATIA 需要先新建一個(gè)workspace,在workspace 中添加locate prerequisite workspace,找到相應(yīng)的B19 文件并加載,加載完就可以獲得CATIA 的工作空間。cnext.exe 是CATIA 自帶的文件,通過(guò)VS 運(yùn)行這個(gè)程序來(lái)啟動(dòng)CATIA。在VS 中的窗口選項(xiàng)中通過(guò)open runtime window 可彈出命令框,在命令框中輸入CNEXT 回車即可打開CATIA。
菜單和工具條作為一個(gè)人機(jī)交互的媒介,是二次開發(fā)中必不可少的。菜單是CATIA 里一類功能的集成,通過(guò)點(diǎn)擊菜單可快速尋找到相應(yīng)功能[8]。工具條是菜單的子集,為了方便用戶快速找到功能進(jìn)行快捷操作,一般會(huì)將常用的功能放在工具欄里,工具欄中通常都是圖形按鈕。
CATIA 的菜單和工具欄的生成需要使用CATIAfrGeneralWksAddin 接口來(lái)完成。對(duì)于菜單名稱和工具條名稱,通常使用以下方法進(jìn)行自定義按鈕名稱。
連接到Addin.CATNls 中,修改代碼為:
MyToolbar.Title="O 型圈工具條";
CAAPMSMnu.Title="O 型圈參數(shù)化";
CATAssemMnu.Title="O 型圈參數(shù)化"。
生成的菜單與工具條如圖4 所示。
圖4 CATIA 菜單和工具條開發(fā)
界面設(shè)計(jì)對(duì)于使用者來(lái)說(shuō)十分重要,一個(gè)好的界面可以讓使用者在操作時(shí)效率得到極大提升。在VS 中制作界面是通過(guò)CATCAADialogbuilder 來(lái)完成的[9]。CATCAADialogbuilder 使用網(wǎng)格化布局,只需要在設(shè)計(jì)過(guò)程中把需要的控件拖入對(duì)話框即可生成相應(yīng)界面。每個(gè)模塊之間都有不同網(wǎng)格線進(jìn)行區(qū)分,做到良好的人機(jī)交互體驗(yàn)[10]。通過(guò)控件可以把界面的功能分成不同的區(qū)域,再通過(guò)網(wǎng)格線將模塊在控件中劃分成便于操作和查看的小窗口。
O 型圈的參數(shù)輸入,在界面的CATDlgComb 組件上,使用者可直接在該組件上輸入?yún)?shù)以驅(qū)動(dòng)O型圈。輸入?yún)?shù)之后,會(huì)將參數(shù)值賦予參數(shù)化模型,并通過(guò)CATIA 內(nèi)部程序快速生成滿足尺寸要求的三維模型。開發(fā)出的界面如圖5 所示。
圖5 O 型圈界面開發(fā)
打開CATIA 軟件,O 型圈參數(shù)化菜單會(huì)被加載,點(diǎn)擊工具條上的O 型圈參數(shù)化圖標(biāo),會(huì)彈出O型圈修改參數(shù)對(duì)話框,輸入O 型圈的相關(guān)參數(shù),點(diǎn)擊確定即可完成模型參數(shù)化驅(qū)動(dòng),保存即可生成一個(gè)新的O 型圈零件。O 型圈參數(shù)化實(shí)例如圖6 所示。
圖6 O 型圈參數(shù)化實(shí)例
使用CATIA/CAA 對(duì)O 型圈進(jìn)行二次開發(fā),能夠?qū)崿F(xiàn)添加自定義菜單、工具條和按鈕圖標(biāo),繪制自定義對(duì)話框,并通過(guò)回調(diào)機(jī)制生成對(duì)界面功能的響應(yīng),通過(guò)輸入?yún)?shù)直接驅(qū)動(dòng)模板生成一個(gè)新的O 型圈副本,并在CATIA 主窗口中顯示等。使用CATIA/CAA 開發(fā)對(duì)于用戶的個(gè)性化來(lái)說(shuō),可以實(shí)現(xiàn)不同的便捷功能,以此來(lái)大幅提高效率,利于用戶的使用和集成。