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

基于Creo的設計助手二次開發設計

2020-04-29 10:55:16何法江
智能計算機與應用 2020年2期
關鍵詞:按鈕功能

江 濤, 何法江

(上海工程技術大學 航空運輸學院, 上海 201620)

0 引 言

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

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

1 設計助手開發總體方案設計

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

考慮到待開發的設計助手包括的功能較多,統一調研設計調試較為復雜,因此決定逐一設計各個功能,最后將各功能集成即可。

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

圖1 技術路線圖

2 Creo設計助手開發的具體實現

2.1 環境的搭建

在開發時,先要進行環境搭建,目的是建立Microsoft Visual Studio 2010 DLL庫與Creo的連接。

新建一個MFC-DLL項目,在此創建名為123的項目。設置活動解決方案平臺為64位,右擊所創建的項目調出屬性頁,包含電腦上Creo開發包路徑。定義預處理器。接著選擇“多線程調試DLL”運行庫,包含電腦上Creo開發庫路徑。輸入附加依賴項。至此,開發環境已搭建完成,可正常使用Microsoft Visual Studio 2010進行開發。

2.2 自動保存功能的實現

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

表1 ProMenubarMenuAdd函數使用格式中各參數含義

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

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

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

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

此后需對按鈕添加動作,使用ProCmdActionAdd函數,該函數使用格式中各參數的含義見表3。

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

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

表3 ProCmdActionAdd函數使用格式中各參數含義

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

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

2.3 批量轉檔功能的實現

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

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

根據需轉檔的類型,使用的函數也不同。文件轉為dwg格式時使用的函數為Pro2dExport,該函數使用格式中各參數含義見表4。

表4 Pro2dExport函數使用格式中各參數含義

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

類型參數含義輸入ProImportExportFile format要導出的文件類型輸入ProPath filename要創建的導出文件的名稱和絕對路徑輸入ProMdl model要從中導出信息的2d模型輸入Pro2dExportdata data用于導出的說明,可以為NULL

2.4 批量添加參數及關系功能的實現

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

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

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

表5 ProParameterCreate函數使用格式中各參數含義

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

類型參數含義輸入ProModelitem* owner所有者(模型項目或實體)輸入ProName name參數的名稱輸入ProParamvalue* proval參數將保留的初始數據輸出ProParameter* param創建和初始化的句柄

2.5 右鍵菜單拓展的實現

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

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

表6 ProNotificationSet函數使用格式中各參數含義

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

類型參數含義輸入ProNotifyType type將進行的操作輸入ProFunction notify_function需調用的動作函數

3 功能的集成

打開設計完成的自動保存功能DLL文件,創建2個MFC對話框用于批量轉檔和批量添加參數及關系功能的實現,添加新的.cpp源文件用于右鍵菜單的創建。為MFC控件添加對應的變量和類,復制粘貼前編寫代碼并編譯調試,修改或去除重定義或多余的變量并經反復編譯調試,最后,就是編寫資源文件,重新生成解決方案無問題,即功能集成完成。

打開Creo,點擊工具欄中的“應用程序”→“注冊”,找到.dat文件并加載,至此,基于Creo的設計助手二次開發全部完成。

4 結束語

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

猜你喜歡
按鈕功能
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
當你面前有個按鈕
關于非首都功能疏解的幾點思考
死循環
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 高清视频一区| 免费观看国产小粉嫩喷水| 色欲色欲久久综合网| 中美日韩在线网免费毛片视频| 亚洲国产欧美目韩成人综合| 亚洲欧洲综合| a级毛片免费看| 国产美女在线免费观看| 中文字幕亚洲乱码熟女1区2区| 曰AV在线无码| 色偷偷av男人的天堂不卡| 亚洲欧洲国产成人综合不卡| 欧美精品在线观看视频| 久久国产高清视频| 色综合日本| 爱爱影院18禁免费| 狠狠色香婷婷久久亚洲精品| 国产91无码福利在线| 国产一二三区视频| 亚洲国产成人无码AV在线影院L| 午夜福利免费视频| 五月婷婷导航| 波多野结衣一区二区三区四区视频| 日韩在线欧美在线| 久久亚洲国产视频| 亚洲国产亚洲综合在线尤物| 亚洲日本在线免费观看| 99re在线免费视频| 91啪在线| 亚洲男人在线| 国产精品亚洲专区一区| 国产精品欧美在线观看| 男女性午夜福利网站| 亚洲妓女综合网995久久| 91精品亚洲| 91免费国产在线观看尤物| 色综合色国产热无码一| 久久男人资源站| 日韩毛片基地| 免费va国产在线观看| 伊人久久精品无码麻豆精品| 免费jizz在线播放| 囯产av无码片毛片一级| 六月婷婷激情综合| 国产精鲁鲁网在线视频| 久热精品免费| 欧美怡红院视频一区二区三区| 欧美日韩在线成人| 国产99视频精品免费观看9e| 国产精品女同一区三区五区| 色久综合在线| 欧美a在线| 91久久精品日日躁夜夜躁欧美| 成人免费黄色小视频| 国产成人综合日韩精品无码不卡 | 亚洲五月激情网| 亚欧成人无码AV在线播放| 亚洲狠狠婷婷综合久久久久| 97狠狠操| 国产亚洲日韩av在线| 成人综合久久综合| 免费A级毛片无码免费视频| 国产原创第一页在线观看| 91无码人妻精品一区二区蜜桃| 天堂成人在线| 中文字幕啪啪| 亚洲国产成熟视频在线多多| 亚洲第一天堂无码专区| 亚洲爱婷婷色69堂| 久久久久免费看成人影片 | 亚洲大学生视频在线播放| 熟妇人妻无乱码中文字幕真矢织江 | 亚洲日韩图片专区第1页| 国产精品视频白浆免费视频| 欧美高清三区| 日韩一区二区在线电影| 国产老女人精品免费视频| 国产色图在线观看| 亚洲精品欧美重口| 呦系列视频一区二区三区| 一区二区自拍| 57pao国产成视频免费播放|