999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Creo的設(shè)計(jì)助手二次開發(fā)設(shè)計(jì)

2020-04-29 10:55:16何法江
關(guān)鍵詞:按鈕功能

江 濤, 何法江

(上海工程技術(shù)大學(xué) 航空運(yùn)輸學(xué)院, 上海 201620)

0 引 言

面對(duì)日益多樣化的用戶需求,Creo軟件本身的功能不可能滿足各種設(shè)計(jì)需要,特別是國外的CAD軟件在設(shè)計(jì)標(biāo)準(zhǔn)、規(guī)范上和國內(nèi)存在差異。因此對(duì)于Creo的二次開發(fā)是必要的,開發(fā)出適合本單位的應(yīng)用程序,提高產(chǎn)品的設(shè)計(jì)效率,加快產(chǎn)品更新速度[1-3]。基于這一點(diǎn),為了使軟件能夠在企業(yè)特定產(chǎn)品設(shè)計(jì)中最大限度地發(fā)揮潛力,達(dá)到提高經(jīng)濟(jì)效益的目的,就需要應(yīng)用Creo2.0提供的二次開發(fā)工具Creo Parametric Toolkit進(jìn)行二次開發(fā),將其進(jìn)一步充實(shí)、完善、改進(jìn),這一研究工作是Creo 2.0軟件應(yīng)用過程中的重要任務(wù)[3-4]。

Creo設(shè)計(jì)助手的功能包括自動(dòng)保存功能、批量轉(zhuǎn)檔功能(三維轉(zhuǎn)IGS、STP格式,二維轉(zhuǎn)PDF、DWG格式)、批量添加參數(shù)及關(guān)系功能和右鍵菜單(三維建模命令、曲面命令、曲線命令、基準(zhǔn)命令、打開工作目錄)的拓展。解決了Creo軟件無法實(shí)現(xiàn)批量轉(zhuǎn)檔、批量添加參數(shù)及關(guān)系等實(shí)際操作上的問題,設(shè)計(jì)人員使用Creo建模時(shí)更加方便,達(dá)到提高工作效率、經(jīng)濟(jì)效益的目的。

1 設(shè)計(jì)助手開發(fā)總體方案設(shè)計(jì)

Creo Parametric Toolkit 是功能強(qiáng)大的二次開發(fā)工具,其開發(fā)模式分為2種,即:同步模式(Synchronous Mode)和異步模式(Asynchronous Mode)[5-6]。由于后者Creo Parametric Toolkit應(yīng)用程序和Creo之間的通信方式為遙控程序,相比同步模式操作將使用較多的時(shí)間,且使用復(fù)雜,因此選用同步模式。選用動(dòng)態(tài)連接模式與對(duì)應(yīng)的開發(fā)環(huán)境Microsoft Visual Studio 2010進(jìn)行開發(fā)。

考慮到待開發(fā)的設(shè)計(jì)助手包括的功能較多,統(tǒng)一調(diào)研設(shè)計(jì)調(diào)試較為復(fù)雜,因此決定逐一設(shè)計(jì)各個(gè)功能,最后將各功能集成即可。

在開發(fā)之前,需對(duì)Microsoft Visual Studio 2010(以下簡稱VS2010)進(jìn)行環(huán)境搭建,以使Microsoft Visual Studio 2010 DLL庫與Creo建立連接。依次進(jìn)行自動(dòng)保存、批量轉(zhuǎn)檔、批量添加參數(shù)及關(guān)系的菜單設(shè)計(jì)和MFC對(duì)話框設(shè)計(jì)以及右鍵菜單的開發(fā),將開發(fā)的各功能集成并調(diào)試和完善,最終完成設(shè)計(jì)助手的開發(fā)。具體技術(shù)路線如圖1所示。

圖1 技術(shù)路線圖

2 Creo設(shè)計(jì)助手開發(fā)的具體實(shí)現(xiàn)

2.1 環(huán)境的搭建

在開發(fā)時(shí),先要進(jìn)行環(huán)境搭建,目的是建立Microsoft Visual Studio 2010 DLL庫與Creo的連接。

新建一個(gè)MFC-DLL項(xiàng)目,在此創(chuàng)建名為123的項(xiàng)目。設(shè)置活動(dòng)解決方案平臺(tái)為64位,右擊所創(chuàng)建的項(xiàng)目調(diào)出屬性頁,包含電腦上Creo開發(fā)包路徑。定義預(yù)處理器。接著選擇“多線程調(diào)試DLL”運(yùn)行庫,包含電腦上Creo開發(fā)庫路徑。輸入附加依賴項(xiàng)。至此,開發(fā)環(huán)境已搭建完成,可正常使用Microsoft Visual Studio 2010進(jìn)行開發(fā)。

2.2 自動(dòng)保存功能的實(shí)現(xiàn)

(1)首先為自動(dòng)保存功能添加一個(gè)菜單欄按鈕。然后添加入口函數(shù)和出口函數(shù)。 要添加菜單欄按鈕,需使用添加主菜單函數(shù)ProMenubarMenuAdd,該函數(shù)使用格式中各參數(shù)含義見表1。

表1 ProMenubarMenuAdd函數(shù)使用格式中各參數(shù)含義

Tab. 1 The meaning of parameters in the format of ProMenubarMenuAdd function

類型參數(shù)含義輸入ProMenuItemName 菜單的名稱(必須是唯一的)menu_name輸入ProMenuItemLabel菜單的標(biāo)簽untranslated_menu_label輸入ProMenuItemName neigh-bor菜單欄中的相鄰菜單輸入ProBoolean定義是否將菜單添加到鄰居add_after_neighbor菜單的左側(cè)或右側(cè)PRO_B_TRUE指定在右側(cè)輸入ProFileName filename包含標(biāo)簽的消息文件的名稱

添加好主菜單后,為創(chuàng)建的主菜單添加按鈕,需要用到函數(shù)ProMenubar-menuPushbuttonAdd,該函數(shù)使用格式中各參數(shù)含義見表2。

表2 ProMenubar-menuPushbuttonAdd函數(shù)使用格式中各參數(shù)含義

此后需對(duì)按鈕添加動(dòng)作,使用ProCmdActionAdd函數(shù),該函數(shù)使用格式中各參數(shù)的含義見表3。

(2)菜單按鈕代碼編寫完成后,需要在所創(chuàng)建的MFC-DLL文件中添加資源文件,用來將按鈕顯示在Creo菜單欄中。資源文件編寫后,仍需編寫注冊(cè)文件,才能在Creo輔助應(yīng)用程序中載入所開發(fā)的二次開發(fā)工具。在編寫注冊(cè)文件前,需先在Microsoft Visual Studio 2010中生成MFC-DLL的解決方案,生成結(jié)束后會(huì)在MFC-DLL文件夾中自動(dòng)創(chuàng)建對(duì)應(yīng)的.dll文件。

(3)接著調(diào)用MFC對(duì)話框并設(shè)計(jì)MFC對(duì)話框。自動(dòng)保存功能的對(duì)話框設(shè)計(jì)較為簡單,只需放置一個(gè)文本編輯框用來存儲(chǔ)用戶輸入的自動(dòng)保存時(shí)間間隔,另外還需2個(gè)按鈕供用戶點(diǎn)擊開始和取消自動(dòng)保存。由于要實(shí)現(xiàn)自動(dòng)保存功能,即每隔一段時(shí)間當(dāng)前Creo自動(dòng)保存一次,因此需要調(diào)用時(shí)間計(jì)時(shí)器。設(shè)置時(shí)間計(jì)時(shí)器的動(dòng)作函數(shù)為保存Creo當(dāng)前模型,將其作為回調(diào)函數(shù),每隔一段時(shí)間自動(dòng)調(diào)用該函數(shù)即可完成自動(dòng)保存。其中,時(shí)間間隔通過用戶輸入到界面的文本編輯框,再從文本編輯框中獲得數(shù)據(jù)。

表3 ProCmdActionAdd函數(shù)使用格式中各參數(shù)含義

Tab. 3 The meaning of parameters in the format of ProCmdActionAdd function

類型參數(shù)含義輸入char* action_name動(dòng)作的名稱(必須是唯一的)輸入uiCmdCmdActFn action_cb回調(diào)函數(shù)輸入uiCmdPriority priority定義相對(duì)于在執(zhí)行回調(diào)函數(shù)期間調(diào)用其他操作的操作優(yōu)先級(jí)輸入uiCmdAccessFn access_func定義動(dòng)作可訪問性的功能輸入ProBoolean allow_in_non_active_window定義此動(dòng)作是否可以在非活動(dòng)的Creo Parametric窗口中執(zhí)行輸入ProBoolean allow_in_accessory_window定義此操作是否可以在附件Creo Parametric窗口中執(zhí)行輸入uiCmdCmdId* action_id動(dòng)作的標(biāo)識(shí)符

2.3 批量轉(zhuǎn)檔功能的實(shí)現(xiàn)

(1)創(chuàng)建一個(gè)新的MFC-DLL文件,在此創(chuàng)建名為“1234”。同樣需進(jìn)行開發(fā)環(huán)境搭建,搭建過程詳見2.1。環(huán)境搭建完成后在1234.cpp中創(chuàng)建菜單按鈕,過程詳見2.1。代碼編譯完成后需要進(jìn)行資源文件和注冊(cè)文件的編寫。其中CreoMenubar2為菜單的名稱,textCreo_button2為按鈕的名稱,textCreo_bu-tton2h為按鈕幫助信息的內(nèi)容。

(2)創(chuàng)建MFC對(duì)話框并使其通過點(diǎn)擊按鈕調(diào)用的過程詳見2.2,不做贅述。在此添加MFC的CDialog類名為DLG2。批量轉(zhuǎn)檔的對(duì)話框首先應(yīng)存在一個(gè)列表控件用于存儲(chǔ)用戶選擇的需轉(zhuǎn)檔的文件名,并放置一個(gè)對(duì)應(yīng)的選擇文件按鈕,同時(shí)為了優(yōu)化用戶體驗(yàn),還應(yīng)設(shè)置額外的按鈕用于清空列表控件。轉(zhuǎn)檔需要用戶設(shè)置所要轉(zhuǎn)成的類型,因此放置一個(gè)下拉菜單,存儲(chǔ)“IGS;STP;PDF;DWG;”字符串?dāng)?shù)據(jù)供用戶選擇。最后用戶需要選擇文件輸出目錄,用文本編輯框存放并放置一個(gè)對(duì)應(yīng)的選擇目錄按鈕。

根據(jù)需轉(zhuǎn)檔的類型,使用的函數(shù)也不同。文件轉(zhuǎn)為dwg格式時(shí)使用的函數(shù)為Pro2dExport,該函數(shù)使用格式中各參數(shù)含義見表4。

表4 Pro2dExport函數(shù)使用格式中各參數(shù)含義

Tab. 4 The meaning of parameters in the format of Pro2dExport function

類型參數(shù)含義輸入ProImportExportFile format要導(dǎo)出的文件類型輸入ProPath filename要?jiǎng)?chuàng)建的導(dǎo)出文件的名稱和絕對(duì)路徑輸入ProMdl model要從中導(dǎo)出信息的2d模型輸入Pro2dExportdata data用于導(dǎo)出的說明,可以為NULL

2.4 批量添加參數(shù)及關(guān)系功能的實(shí)現(xiàn)

(1)創(chuàng)建一個(gè)新的MFC-DLL文件,在此創(chuàng)建名為12345。同樣需進(jìn)行開發(fā)環(huán)境搭建,搭建過程詳見2.1節(jié)。環(huán)境搭建完成后在12345.cpp中創(chuàng)建菜單按鈕,具體過程詳見2.2節(jié)。代碼編譯完成后則要進(jìn)行資源文件和注冊(cè)文件的編寫。其中,CreoMenubar3為菜單的名稱,textCreo_button3為按鈕的名稱,textCre-o_button3h為按鈕幫助信息的內(nèi)容。

(2)創(chuàng)建MFC對(duì)話框并使其通過點(diǎn)擊按鈕調(diào)用的過程詳見2.2節(jié),不做贅述。在此添加MFC的CDialog類名為DLG3。批量添加參數(shù)及關(guān)系的對(duì)話框首先應(yīng)存在3個(gè)列表空間,分別用于存儲(chǔ)用戶選擇的需添加參數(shù)和關(guān)系的模型名稱、用戶設(shè)置的參數(shù)名稱和參數(shù)值以及用戶輸入的關(guān)系式,每個(gè)列表控件下應(yīng)有對(duì)應(yīng)功能的按鈕供用戶點(diǎn)擊。為了優(yōu)化用戶體驗(yàn),在模型列表下還應(yīng)設(shè)置“清空列表”按鈕用于清空存放模型名稱的列表控件。同樣在參數(shù)列表下,應(yīng)設(shè)置修改參數(shù)的功能按鈕以及可供用戶選擇參數(shù)類型的下拉菜單,下拉菜單中可選的參數(shù)類型為“字符串;實(shí)數(shù);整數(shù);”。

批量添加參數(shù)主要用到的函數(shù)為ProParameterCreate,功能為創(chuàng)建參數(shù)。該函數(shù)使用格式中各參數(shù)含義見表5。

表5 ProParameterCreate函數(shù)使用格式中各參數(shù)含義

Tab. 5 The meaning of parameters in the format of ProParameterCreate function

類型參數(shù)含義輸入ProModelitem* owner所有者(模型項(xiàng)目或?qū)嶓w)輸入ProName name參數(shù)的名稱輸入ProParamvalue* proval參數(shù)將保留的初始數(shù)據(jù)輸出ProParameter* param創(chuàng)建和初始化的句柄

2.5 右鍵菜單拓展的實(shí)現(xiàn)

在已創(chuàng)建好的MFC-DLL文件中,添加一個(gè)程序的源文件,在此命名為“P-OPMENU.cpp”。(開發(fā)環(huán)境已搭建完成)。

考慮到需使用戶體驗(yàn)良好且界面整潔,決定將設(shè)置及打開工作目錄、樣條曲線命令對(duì)應(yīng)按鈕添加到模型樹右鍵菜單中,將基準(zhǔn)命令、曲面命令、三維建模命令對(duì)應(yīng)按鈕添加到模型右鍵菜單中。要添加模型樹右鍵菜單,須在自定義的模型樹右鍵菜單入口函數(shù)中編寫代碼,所使用的添加方法及函數(shù)與添加菜單欄按鈕大致相同,添加模型右鍵菜單則需通過調(diào)用函數(shù)ProNotificationSet的方法,該函數(shù)的作用就是設(shè)置要為指定操作調(diào)用的通知函數(shù),可以將彈出右鍵菜單的通知添加到會(huì)話中。該函數(shù)使用格式中各參數(shù)含義見表6。

表6 ProNotificationSet函數(shù)使用格式中各參數(shù)含義

Tab. 6 The meaning of parameters in the format of ProNotificationSet function

類型參數(shù)含義輸入ProNotifyType type將進(jìn)行的操作輸入ProFunction notify_function需調(diào)用的動(dòng)作函數(shù)

3 功能的集成

打開設(shè)計(jì)完成的自動(dòng)保存功能DLL文件,創(chuàng)建2個(gè)MFC對(duì)話框用于批量轉(zhuǎn)檔和批量添加參數(shù)及關(guān)系功能的實(shí)現(xiàn),添加新的.cpp源文件用于右鍵菜單的創(chuàng)建。為MFC控件添加對(duì)應(yīng)的變量和類,復(fù)制粘貼前編寫代碼并編譯調(diào)試,修改或去除重定義或多余的變量并經(jīng)反復(fù)編譯調(diào)試,最后,就是編寫資源文件,重新生成解決方案無問題,即功能集成完成。

打開Creo,點(diǎn)擊工具欄中的“應(yīng)用程序”→“注冊(cè)”,找到.dat文件并加載,至此,基于Creo的設(shè)計(jì)助手二次開發(fā)全部完成。

4 結(jié)束語

Creo2.0作為一款設(shè)計(jì)軟件本身的功能已經(jīng)相當(dāng)完善,但在輔助設(shè)計(jì)方面還存在一些不足。因此本文在Creo原有功能的基礎(chǔ)上,開發(fā)了一套設(shè)計(jì)助手輔助工具。該助手以Microsoft Visual Studio 2010軟件為工具,利用Creo提供的二次開發(fā)工具Creo Parametric Toolkit進(jìn)行開發(fā)。設(shè)計(jì)助手包括自動(dòng)保存、批量轉(zhuǎn)檔(三維轉(zhuǎn)IGS、STP格式,二維轉(zhuǎn)PDF、DWG)、批量添加參數(shù)、批量添加關(guān)系、右鍵菜單拓展等內(nèi)容,并結(jié)合MFC對(duì)話框設(shè)計(jì)出良好的人機(jī)交互界面,以達(dá)到方便工作人員操作,提高工作效率的目的。

猜你喜歡
按鈕功能
這些按鈕能隨便按嗎?
哪個(gè)是門鈴真正的按鈕
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
當(dāng)你面前有個(gè)按鈕
關(guān)于非首都功能疏解的幾點(diǎn)思考
死循環(huán)
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達(dá)功能
內(nèi)心不能碰的按鈕
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 香蕉久久国产超碰青草| 国产欧美在线观看一区| 美女潮喷出白浆在线观看视频| 国产69精品久久久久妇女| 99久久精品国产麻豆婷婷| 免费人欧美成又黄又爽的视频| 99久久精品无码专区免费| 在线播放国产一区| 2021亚洲精品不卡a| 国产成a人片在线播放| AV无码无在线观看免费| 伊人成人在线| 久夜色精品国产噜噜| 亚洲国产成人麻豆精品| 国内黄色精品| 欧美亚洲第一页| 国产精品网址你懂的| 在线观看欧美国产| 久久99精品久久久久纯品| 免费激情网站| 国产一区二区三区日韩精品| 国产激情影院| 九色视频线上播放| 亚洲美女视频一区| 日韩欧美国产区| 青青操视频免费观看| 国产第一福利影院| 在线va视频| 九月婷婷亚洲综合在线| 国产三级成人| 在线无码av一区二区三区| 18禁高潮出水呻吟娇喘蜜芽| 99在线小视频| 伊人久久精品亚洲午夜| 免费可以看的无遮挡av无码| 欧美日韩精品综合在线一区| 国产精品专区第1页| 国产乱码精品一区二区三区中文 | 亚洲资源在线视频| 色综合五月婷婷| 色屁屁一区二区三区视频国产| 天堂成人在线| 大香网伊人久久综合网2020| 午夜久久影院| 国产在线观看第二页| 国产无码精品在线播放| 久久黄色一级视频| 国产原创第一页在线观看| 亚洲AV无码一二区三区在线播放| 呦女亚洲一区精品| 理论片一区| 巨熟乳波霸若妻中文观看免费| 欧美一区精品| 国产精品亚洲一区二区三区在线观看| 国产成人精品日本亚洲| 国产丝袜一区二区三区视频免下载 | 日韩天堂在线观看| 久久伊人操| 国产成人艳妇AA视频在线| 欧美精品伊人久久| 国产精品福利一区二区久久| 国产精品丝袜在线| 中文字幕免费播放| 亚洲无码日韩一区| 91在线国内在线播放老师| 丝袜国产一区| 无码人中文字幕| 欧美精品在线免费| 国产精品手机在线观看你懂的| 在线看片免费人成视久网下载| 国产在线视频自拍| 热久久综合这里只有精品电影| 日本免费a视频| 国产成人综合日韩精品无码首页| 国产精品美人久久久久久AV| 2019年国产精品自拍不卡| 日本成人一区| 亚洲娇小与黑人巨大交| 欧美a在线视频| 青青操视频在线| 亚洲无码精彩视频在线观看| 在线观看的黄网|