劉 斌, 趙春振, 劉榮亮
(華南理工大學(xué)聚合物成型加工工程教育部重點(diǎn)實(shí)驗(yàn)室,聚合物新型成型裝備國(guó)家工程研究中心,廣東 廣州 510640)
基于Pro/ENGINEER的注塑模電極工程圖模塊設(shè)計(jì)
劉 斌, 趙春振, 劉榮亮
(華南理工大學(xué)聚合物成型加工工程教育部重點(diǎn)實(shí)驗(yàn)室,聚合物新型成型裝備國(guó)家工程研究中心,廣東 廣州 510640)
針對(duì)所開(kāi)發(fā)的注塑模電極 CAD系統(tǒng),利用 Pro/E提供的二次開(kāi)發(fā)工具Pro/TOOLKIT和MFC對(duì)話框技術(shù),在Visual C++ 6.0編譯環(huán)境下,對(duì)Pro/E的工程圖模塊進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)了注塑模電極工程圖的自動(dòng)生成,提高了注塑模電極工程圖的設(shè)計(jì)效率。
計(jì)算機(jī)應(yīng)用;注塑模電極;電極工程圖;二次開(kāi)發(fā)
在工業(yè)生產(chǎn)中,二維工程圖被稱為“工程技術(shù)界的語(yǔ)言”,是工程技術(shù)界必不可少的技術(shù)文件。國(guó)內(nèi)外各種三維CAD軟件的二維工程圖功能給企業(yè)的生產(chǎn)和制造提供了一種有效的設(shè)計(jì)工具,但是仍然存在以下的問(wèn)題:二維工程圖的出圖效率低,圖紙?jiān)O(shè)計(jì)時(shí)間長(zhǎng),尺寸、符號(hào)和視圖標(biāo)準(zhǔn)不統(tǒng)一等[1]。比如,在 Pro/E軟件中,它只提供了一個(gè)面向所有用戶的通用工程圖平臺(tái),沒(méi)有符合自己國(guó)家標(biāo)準(zhǔn)的環(huán)境配置文件和繪圖配置文件,需要用戶自行設(shè)置。這難以滿足企業(yè)本地化和國(guó)家標(biāo)準(zhǔn)化要求,也降低了設(shè)計(jì)速度,影響了設(shè)計(jì)效率[2]。
針對(duì)以上問(wèn)題,根據(jù)企業(yè)本地化和國(guó)標(biāo)化的要求,作者研究開(kāi)發(fā)了注塑模具電極設(shè)計(jì)的專用工程圖出圖模塊。主要在以下方面進(jìn)行了研究:用方便友好的人機(jī)交互界面的形式來(lái)設(shè)置工程圖繪圖配置文件;自動(dòng)生成電極各個(gè)視圖并且將視圖的編輯修改集成到可視化的對(duì)話框中;實(shí)現(xiàn)了電極尺寸的自動(dòng)標(biāo)注以及在對(duì)話框中編輯尺寸等;最后,設(shè)計(jì)了創(chuàng)建表格的程序用于標(biāo)題欄和明細(xì)欄的創(chuàng)建,并開(kāi)發(fā)出了能實(shí)現(xiàn)表格、表格單元編輯和對(duì)表格單元輸入文字功能的人機(jī)交互界面。
設(shè)計(jì)出完整的電極三維模型之后,還需要生成二維工程圖以進(jìn)行電極零件的加工,以及電極裝配工程圖來(lái)對(duì)電極進(jìn)行定位[3]。所以,根據(jù)注塑模電極設(shè)計(jì)的內(nèi)容和特點(diǎn),本模塊在Pro/E平臺(tái)上,利用 Pro/E提供的二次開(kāi)發(fā)工具包Pro/Toolkit和MFC對(duì)話框技術(shù),在Visual C++ 6.0編譯環(huán)境下,對(duì)Pro/E的工程圖模塊進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)注塑模電極工程圖的自動(dòng)生成模塊功能。注塑模電極工程圖設(shè)計(jì)模塊的總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
圖1 注塑模電極工程圖設(shè)計(jì)模塊的總體結(jié)構(gòu)圖
設(shè)計(jì)注塑模電極工程圖模塊的總體結(jié)構(gòu)之后,通過(guò)采用子菜單和彈出式菜單的形式,將這些框架結(jié)構(gòu)在Pro/ENGINEER環(huán)境下實(shí)現(xiàn),其菜單框架如圖2所示。
圖2 注塑模電極工程圖菜單
3.1 界面設(shè)計(jì)
彈出式對(duì)話框是目前最先進(jìn)、最流行的一種人機(jī)交互方式,它能提供圖形與文字共存的可視化環(huán)境,使操作更為方便快捷。本文采用VC++6.0提供的MFC可視化對(duì)話框設(shè)計(jì)技術(shù)來(lái)建立工程圖模塊中的對(duì)話框。
在Pro/Toolkit應(yīng)用程序中,使用MFC創(chuàng)建對(duì)話框的一般過(guò)程如下[4-5]:
(1) 用VC++中的應(yīng)用程序向?qū)ppWizard創(chuàng)建Pro/Toolkit應(yīng)用程序基本框架。
(2) 在由AppWizard創(chuàng)建的且與工程文件名同名的 CPP文件中增加 user_initialize()和user_terminate()函數(shù);或者在下拉菜單的菜單動(dòng)作函數(shù)中定義。
(3) 創(chuàng)建對(duì)話框。在VC++集成開(kāi)發(fā)環(huán)境選擇“Insert”菜單中的“Resource”插入“Dialog”,并使用Developer Studio的對(duì)話框編輯器設(shè)計(jì)用戶需要的對(duì)話框。
(4) 設(shè)計(jì)好“Dialog”之后,用ClassWizard創(chuàng)建對(duì)話框類,自動(dòng)生成CDialog派生類定義的頭文件和相應(yīng)的實(shí)現(xiàn)文件,并在對(duì)話框類文件中增加功能實(shí)現(xiàn)代碼。
(5) 創(chuàng)建和顯示對(duì)話框。在菜單動(dòng)作函數(shù)中,調(diào)用DoModal()函數(shù)顯示和創(chuàng)建模式對(duì)話框;調(diào)用Create()函數(shù)顯示和創(chuàng)建模式對(duì)話框。
注塑模電極工程圖設(shè)計(jì)包括電極零件圖設(shè)計(jì)和電極裝配圖設(shè)計(jì),都包含了4個(gè)子功能模塊,即配置文件設(shè)計(jì)模塊、視圖設(shè)計(jì)模塊、尺寸自動(dòng)標(biāo)注模塊和表格設(shè)計(jì)模塊。在零件模式和裝配模式中,4個(gè)子功能模塊彈出對(duì)應(yīng)的4個(gè)對(duì)話框都是一樣的,只是具體實(shí)現(xiàn)的功能有所不同。比如,尺寸自動(dòng)標(biāo)注對(duì)話框,在零件模式中需要標(biāo)注出電極零件的各個(gè)幾何尺寸,而在裝配模式下只需要標(biāo)注出電極零件在裝配件中的裝配位置即可。4個(gè)子功能模塊的對(duì)話框界面設(shè)計(jì)分別如下:
(1) 工程圖配置文件設(shè)置
Pro/E工程圖模塊中有關(guān)尺寸文本、尺寸標(biāo)準(zhǔn)和單位等屬性是通過(guò)工程圖配置文件來(lái)設(shè)定的。而Pro/E默認(rèn)的配置選項(xiàng)并不完全符合國(guó)家標(biāo)準(zhǔn),所以需要用戶自行設(shè)定。本系統(tǒng)工程圖配置文件設(shè)置對(duì)話框是采用MFC中屬性頁(yè)的人機(jī)交互界面來(lái)設(shè)置,其中常用的選項(xiàng)設(shè)置如圖3所示。
(2) 視圖設(shè)計(jì)
本功能模塊利用Pro/Toolkit提供的庫(kù)函數(shù),將零件視圖操作集中到一個(gè)簡(jiǎn)潔的人機(jī)交互界面中來(lái)實(shí)現(xiàn),對(duì)話框如圖4所示。
(3) 尺寸自動(dòng)標(biāo)注
尺寸和公差是工程圖中最重要的元素之一,它精確地表達(dá)了電極零件的幾何形狀以及裝配件的裝配關(guān)系。該對(duì)話框?qū)崿F(xiàn)了注塑模電極零件尺寸的自動(dòng)標(biāo)注、編輯和修改等功能以及注塑模電極裝配的裝配關(guān)系,如圖5所示。
圖3 配置文件設(shè)置屬性頁(yè)對(duì)話框
圖4 視圖設(shè)計(jì)對(duì)話框
圖5 尺寸標(biāo)注對(duì)話框
(4) 表格設(shè)計(jì)
工程圖中除了用視圖和尺寸表達(dá)注塑模電極零件之外,還需要用表格來(lái)輔助表達(dá)一些信息,如零件圖中用標(biāo)題欄表示設(shè)計(jì)者、零件材料和企業(yè)名稱等基本信息;裝配圖中則用明細(xì)欄表達(dá)各個(gè)元件的基本信息等。該對(duì)話框提供了基本表格的創(chuàng)建、編輯和表格單元文本輸入等功能,如圖6所示。
圖6 表格設(shè)計(jì)對(duì)話框
應(yīng)用Pro/E軟件中的工程圖模塊繪制工程圖時(shí),可以根據(jù)企業(yè)或者國(guó)家標(biāo)準(zhǔn)設(shè)置“工程圖模板”并保存到系統(tǒng)的模板庫(kù)中,供設(shè)計(jì)人員調(diào)用。這些標(biāo)準(zhǔn)的模板中有標(biāo)準(zhǔn)的標(biāo)題欄,本文根據(jù)“GB/T10609.1,10609.2-89”國(guó)家制圖標(biāo)準(zhǔn)規(guī)定的標(biāo)題欄,設(shè)計(jì)了專門的文本輸入功能,并通過(guò)圖6中對(duì)話框上的“標(biāo)準(zhǔn)模板中的標(biāo)題欄設(shè)計(jì)〉〉”按鈕調(diào)出其文本輸入對(duì)話框。
3.2 關(guān)鍵技術(shù)及實(shí)現(xiàn)
Pro/Engineer軟件中的工程圖模塊雖然提供了較為完善的二維工程圖的生成和編輯功能,基本能滿足廣大用戶的需求。但是,為了更好的提高工程圖設(shè)計(jì)效率,本文從二次開(kāi)發(fā)的角度,利用Pro/Toolkit提供的應(yīng)用程序接口,調(diào)用Pro/E底層函數(shù),開(kāi)發(fā)出本土化、企業(yè)化的工程圖設(shè)計(jì)模塊。下面分別講述注塑模電極工程圖模塊的4個(gè)子功能模塊功能實(shí)現(xiàn)的關(guān)鍵技術(shù)。
(1) 工程圖配置文件的設(shè)置
在Pro/E軟件中,應(yīng)用工程圖模塊繪制工程圖時(shí),第一步就是進(jìn)行配置文件的設(shè)置。配置文件包括系統(tǒng)環(huán)境配置文件(config.pro)和繪圖配置文件(prodetail.dtl)。但是,Pro/E系統(tǒng)配置文件選項(xiàng)有800多個(gè),繪圖配置文件也有200多個(gè),并且這些選項(xiàng)的默認(rèn)值中很多都不符合我國(guó)國(guó)家標(biāo)準(zhǔn),所以,大多數(shù)選項(xiàng)都需要用戶自行設(shè)置。如果每次繪制工程圖時(shí),對(duì)這幾百個(gè)選項(xiàng)進(jìn)行設(shè)值,將是一項(xiàng)繁雜的工程。
本文開(kāi)發(fā)的工程圖配置文件設(shè)置模塊就很好的解決了這個(gè)問(wèn)題。該模塊從繁多的配置選項(xiàng)中選出重要的、常用的選項(xiàng)集中到一個(gè)人機(jī)交互的對(duì)話框中進(jìn)行賦值設(shè)置。采用圖3所示的屬性頁(yè)對(duì)話框來(lái)設(shè)置重要選項(xiàng)的值。功能實(shí)現(xiàn)的關(guān)鍵代碼如下:
首先采用編輯框和組合窗口兩種控件來(lái)實(shí)現(xiàn)選項(xiàng)值的選擇和讀入;比如,設(shè)定編輯框控件變量m_drawing_text_height來(lái)存儲(chǔ)字體的高度;用 組 合 框 "m_arrow_style.AddString("closed"); m_arrow_style. AddString("open");m_arrow_ style. AddString("filled");"來(lái)設(shè)置箭頭式樣;設(shè)計(jì)完各個(gè)選項(xiàng)值后,應(yīng)用程序段:
//獲取繪圖模型
ProStringToWstring(fileName,"DrawSetFile. dtl");
ProInputFileRead(drawing,fileName,PRO_ DWG_SETUP_FILE,NULL,NULL,NULL,NULL); }
//讀入配置各項(xiàng)文件將各個(gè)值寫入到繪圖配置文件(DrawSetFile.dtl)中去,Pro/E系統(tǒng)讀入這些數(shù)據(jù)值之后便實(shí)現(xiàn)了配置選項(xiàng)的設(shè)置。
(2) 視圖設(shè)計(jì)
在Pro/E工程圖模塊中,創(chuàng)建零件視圖和編輯零件視圖都需要在不同的菜單中完成,操作繁瑣。本功能模塊將零件視圖的創(chuàng)建、視圖的編輯和比例的調(diào)整都集成到一個(gè)對(duì)話框中,為用戶提供了簡(jiǎn)單明了、方便快捷的功能。視圖設(shè)計(jì)功能實(shí)現(xiàn)的思路及關(guān)鍵代碼如下:
首先在創(chuàng)建視圖之前必須先建立新的視圖頁(yè)面,須調(diào)用函數(shù)ProDrawingSheetCreate()和函數(shù) ProDrawingCurrentSheetSet()來(lái)建立和設(shè)置當(dāng)前工程圖頁(yè)面;之后,調(diào)用一般視圖創(chuàng)建函數(shù)ProDrawing GeneralviewCreate()來(lái)創(chuàng)建三個(gè)視圖;創(chuàng)建視圖之后,需要在對(duì)話框類的成員函數(shù) OnInitDialog()中調(diào)用自定義函數(shù)DrawingViewGet(),通過(guò)列表控件來(lái)顯示三個(gè)視圖的基本信息;按鈕“增加視圖”和“刪除視圖”是對(duì)所選擇視圖進(jìn)行投影或者刪除;視圖的編輯是調(diào)用函數(shù)ProDrawingViewMove(),根據(jù)編輯框控件輸入的ΔX和ΔY進(jìn)行移動(dòng),這一步也可以切換到Pro/E環(huán)境下進(jìn)行操作;如果插入的視圖比例不適當(dāng),則可以調(diào)用ProDrawingViewScaleSet()和ProDrawingScaleSet()來(lái)進(jìn)行設(shè)置;完成后的注塑模電極視圖設(shè)計(jì)如圖7所示。
(3) 尺寸自動(dòng)標(biāo)注
Pro/E工程圖模塊中,提供了尺寸自動(dòng)標(biāo)注的功能,但是標(biāo)注之后的尺寸雜亂無(wú)章,需要手動(dòng)逐項(xiàng)刪除和編輯。本功能模塊不僅實(shí)現(xiàn)了自動(dòng)標(biāo)注功能,還將主要的尺寸編輯操作集成到一個(gè)對(duì)話框中,簡(jiǎn)化了尺寸標(biāo)注操作。尺寸自動(dòng)標(biāo)注功能實(shí)現(xiàn)的思路及關(guān)鍵代碼如下:
點(diǎn)擊“尺寸自動(dòng)標(biāo)注”子菜單后,對(duì)話框類中的成員函數(shù) OnInitDialog()調(diào)用自定義函數(shù)GetDimensionInf(),獲得零件模型中的所有尺寸,并將所獲得的尺寸和公差顯示在列表框控件中。在自定義函數(shù)中則需要調(diào)用 ProDrawing ViewsCollect(),ProDimensionValueSet和ProDimensionShow()等庫(kù)函數(shù)來(lái)獲得及顯示尺寸;復(fù)選框“顯示尺寸值”調(diào)用庫(kù)函數(shù)ProDisplaymodeSet()來(lái)設(shè)置是顯示尺寸值還是顯示尺寸符號(hào);復(fù)選框“顯示尺寸公差”用來(lái)設(shè)置是否顯示尺寸公差值。注塑模電極零件尺寸標(biāo)注完成后如圖8所示。這部分功能在注塑模電極零件圖和裝配圖中的應(yīng)用有所不同,零件圖中用來(lái)標(biāo)注和編輯電極零件的所有尺寸,而在裝配圖中則只標(biāo)注電極零件在組裝件中的裝配尺寸。
圖7 注塑模電極零件視圖設(shè)計(jì)
圖8 注塑模電極零件尺寸標(biāo)柱
(4) 表格設(shè)計(jì)
在Pro/E環(huán)境的工程圖模塊中,雖然提供了表格功能,但是表格的創(chuàng)建需要根據(jù)圖紙的坐標(biāo)來(lái)設(shè)計(jì),不夠靈活簡(jiǎn)便;表格的編輯功能完全是在菜單工具條中操作,功能比較分散,應(yīng)用繁瑣,不方便。本功能模塊將繁瑣的表格創(chuàng)建功能全部集成到一個(gè)對(duì)話框中完成,使得無(wú)論在零件圖中創(chuàng)建標(biāo)題欄還是在裝配圖中創(chuàng)建明細(xì)表變得簡(jiǎn)單明了,方便快捷。
本模塊表格設(shè)計(jì)功能實(shí)現(xiàn)的思路及關(guān)鍵代碼如下:
在“表格創(chuàng)建”欄中設(shè)置好表格行列數(shù)之后,點(diǎn)擊“創(chuàng)建表格”按鈕創(chuàng)建表格,由如下關(guān)鍵程序段實(shí)現(xiàn)該項(xiàng)功能:
ProDwgtabledataAlloc(&table_data);
//為表格分配內(nèi)存空間
ProDwgtabledataOriginSet(table_data, origin); //設(shè)置表格原點(diǎn)
for (i=0; i<ncols; i++) justifications[i] = PROHORZJUST_LEFT;
for (i=0; i<ncols; i++) width[i]=w;
//設(shè)置表格列的屬性
ProDwgtabledataColumnsSet(table_data,
ncols, width, justifications);
for (i=0; i<nrows; i++) height[i]=h;
//設(shè)置表格行的屬性
ProDwgtabledataRowsSet(table_data, nrows, height);
ProDwgtabledataSizetypeSet(table_data,
PRODWGTABLESIZE_CHARACTERS);
ProDrawingTableCreate(drawing, table_data, 0, &table); //創(chuàng)建表格
ProDwgtableDisplay(&table);
//顯示表格
創(chuàng)建好表格之后,調(diào)用ProDwgtableRowAdd()和 ProDwgtableColumnAdd()等函數(shù)對(duì)表格進(jìn)行編輯;調(diào)用 ProDwgtableCellsMerge/ Remesh()等系列函數(shù)對(duì)表格單元進(jìn)行合并刪除編輯工作;最后采用ProDwgtableCreate()函數(shù)對(duì)選定的表格單元輸入文字。完成后的注塑模電極零件圖標(biāo)題欄如圖9所示。
圖9 注塑模電極工程圖表格設(shè)計(jì)
利用Pro/E提供的二次開(kāi)發(fā)工具Pro/TOOLKIT和MFC對(duì)話框技術(shù),在Visual C++ 6.0編譯環(huán)境下,對(duì)Pro/E的工程圖模塊進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)了注塑模電極工程圖的自動(dòng)生成模塊功能。它很好地將Pro/E工程圖功能模塊集成化、簡(jiǎn)單化地應(yīng)用到注塑模電極工程圖設(shè)計(jì)中,減少了工程圖出圖時(shí)間,從而大大提高了注塑模電極工程圖的設(shè)計(jì)效率。
[1] 張繼春. Pro/ENGINEER二次開(kāi)發(fā)實(shí)用教程[M]. 北京: 北京大學(xué)出版社, 2004. 1-5.
[2] 盧 偉. 基于UG的電極二維工程圖紙自動(dòng)生成技術(shù)的研究[D]. 武漢: 華中科技大學(xué), 2007.
[3] 歐荔蘋, 劉 斌. 基于Pro/E二次開(kāi)發(fā)的電極模塊參數(shù)化設(shè)計(jì)[J]. 機(jī)械設(shè)計(jì)與制造, 2008, (4): 67-69.
[4] 李世國(guó). Pro/TOOLKIT程序設(shè)計(jì)[M]. 北京: 機(jī)械工業(yè)出版社, 2003. 300-306.
[5] Parametric Technology Corporation. Pro/ENGINEER Wildfire Pro/TOOLKIT User’s Guide [M]. USA: PTC, 2003. 85-100.
The Module Design of Engineering Drawing for Injection Mould Electrode Based on Pro/ENGINEER
LIU Bin, ZHAO Chun-zhen, LIU Rong-liang
( The Key Laboratory of Polymer Processing Engineering of Ministry of Education, National Engineering Research Center of Novel Equipment for Polymer Processing, South China University of Technology, Guangzhou Guangdong 510640, China )
Facing to the development of injection mould electrode CAD system, the secondary development tool of Pro/TOOLKIT and MFC dialog technology are used under the VC++6.0 compiling environment. The module of automatic generation of engineering drawing for injection mould electrode is realized and the design efficiency of injection mould electrode is improved.
computer application; injection mould electrode; electrode engineering drawing; secondary development
TP 391.72
A
1003-0158(2010)03-0032-08
2008-10-28
劉 斌(1969-),男,湖南益陽(yáng)人,副教授,博士,主要研究方向?yàn)槟>逤AD/CAE/CAM和材料成型裝備及數(shù)控技術(shù)。