国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Creo的智能模型庫插件研究與開發(fā)

2020-04-20 10:46晏恒兵仲梁維
軟件工程 2020年4期
關鍵詞:模型庫

晏恒兵 仲梁維

摘? 要:在產品設計過程中,傳統(tǒng)的手工建模煩瑣、重復、效率低。建立一個完善的三維零件庫不僅可以節(jié)約產品的設計時間,更有益于零件的標準化。通過Creo提供的Pro/TOOLKIT接口,SQL數據庫技術,MFC及阿里云對象存儲技術,在VS2012開發(fā)環(huán)境下,對Creo模型庫插件進行了設計,實現了用戶直接通過Creo插件獲取到各種型號的三維模型。

關鍵詞:Creo二次開發(fā);MFC;模型庫;插件設計;SQL

中圖分類號:TP391? ? ?文獻標識碼:A

Abstract:In the process of product design,traditional manual modeling is tedious,repetitive,and inefficient.Establishing a perfect 3D part library can not only save the design time of products but also benefit the standardization of parts.Through the Pro/TOOLKIT interface provided by Creo,SQL database technology,MFC,and Aliyun object storage technology,in the VS2012 development environment,the plug-in of Creo model library was designed to realize that users can directly obtain various types of 3d models through the plug-in of Creo.

Keywords:secondary development of Creo;MFC;model library;plug-in design;SQL

1? ?引言(Introduction)

隨著互聯(lián)網、大數據、AI技術的飛速發(fā)展,我國工業(yè)正在進行著轉型升級,通過信息技術和實體經濟的相互融合,網絡科技對數據資源的管理整合,可以有效地提高工業(yè)質量和生產效率[1]。在使用Creo軟件進行設計工作中,會經常用到一些常用件、標準件、非標準件和成品設備等幾何模型,且隨著設計工作的增長而不斷積累增多,這些積累的設計模型成為設計資源,將為以后的設計工作提供極大的便利,主要表現在提高了設計效率和質量[2]。將這些模型按品牌、系列、型號進行分類,并通過阿里云對象存儲OOS提供的API接口將模型上傳至服務器端。用戶即可通過Creo插件來獲取這些模型,并插入到裝配體中。

2? 模型庫設計與分析(Model library design and analysis)

Creo是整合了PTC公司的三個軟件Pro/Engineer的參數化技術、CoCreate的直接建模技術和ProductView的三維可視化技術的新型CAD設計軟件包,其強大的參數化設計技術,以及提供的可擴展功能的VBAPI,VC++結合ProToolkit,Java結合J-Link二次開發(fā)的接口,使得其在機械、電子、模具、汽車、航空航天等行業(yè)得到了廣泛的應用[2]?;诟鞣N開發(fā)接口的特征和插件需求說明,選用功能齊全的ProToolkit接口進行插件的開發(fā)。

ProToolkit使用面向對象風格的C語言編程,并且提供了用于底層資源調用的函數庫和頭文件,外部應用程序可以通過這些函數來訪問Creo[3]。此外,ProToolkit應用程序有兩種工作模式,同步模式和異步模式,由于插件需要與Creo一同啟動,所以采用同步模式。

接下來,我們對整個模型庫進行詳細分析。

①供應商通過阿里云對象存儲OOS提供的API接口將模型上傳至阿里云服務器,上傳模型的同時,將模型的品牌、系列、型號、價格寫入模型數據庫中,并在阿里云服務器端生成相應的模型下載鏈接。

②在用戶端,插件的操作界面由四個對話框組成,分別是模型庫、用戶登錄、路徑配置、預選品牌。用戶打開插件后,首先需要登錄,若用戶沒有賬號,登錄對話框提供了用戶注冊功能。登錄成功后,插件通過ADO方式讀取遠程數據庫來獲取用戶信息,包括用戶名、密碼、是否為VIP用戶、賬戶資金數,以及用戶經常下載的模型品牌。隨后可選擇性地對模型品牌預先選取,以及對下載的模型存放路徑進行配置。以上的用戶登錄信息,以及配置路徑在第一次設定好后均會保存至注冊表,方便下次直接進行模型庫的訪問。在模型庫界面,主要用來獲取需要的模型,用戶可以通過型號,品牌兩種方式是來搜索模型。

③模型型號選好后,點擊下載模型,此時,插件根據用戶的選擇從模型數據庫獲取模型信息,主要包括模型品牌、系列、型號、子零件和價格。若用戶為VIP或賬戶資金數大于模型價格,則插件通過鏈接將模型從阿里云下載到本地并直接插入到Creo中,否則自動打開瀏覽器,跳轉到用戶充值界面。

3? ?模型庫開發(fā)(Model library development)

3.1? ?環(huán)境配置

在VS2012新建一個MFC DLL項目后,需要對其進行環(huán)境配置。首先將配置屬性平臺改為“活動(X64)”,之后添加包含目錄和庫目錄,并在預處理定義中添加“PRO_USE_VAR_ARGS”,最后在附加依賴庫中添加“wsock32.lib,psapi.lib,netapi32.lib,mpr.lib,ucore.lib,udata.lib,protk_dllmd.lib”。

3.2? ?創(chuàng)建菜單

菜單可以說是程序與Creo進行交互的重要通道。在Creo環(huán)境加載Pro/T-oolkit應用程序時,首先調用初始化函數user_initialize(),該函數用于設置需要添加的菜單,以及其他的一些初始值的設置,與C程序的“main”函數作用相當。創(chuàng)建菜單的語句在初始化函數內部執(zhí)行。ProMenubarMenuAdd()用于向Creo中添加一個新的菜單,菜單項在菜單體系中不能有相同的名字,菜單標簽名必須與信息文件中對應字段的表示關鍵字相同[4]。 ProMenubarPushbutton-add()函數在新的菜單中添加一個按鈕,在該函數前需要添加動作函數ProCmd-ActionAdd(),用戶點擊按鈕后,可響應該函數。動作函數的功能主要為彈出MFC對話框,整個插件需要彈出四個對話框,故需要添加四個按鈕,四個不同的動作函數來響應MFC對話框的創(chuàng)建操作。

3.3? ?登錄模塊

環(huán)境配置成功后,便可以開始程序編寫。由于Pro/Toolkit自帶的UI界面資源文件編寫不方便,這里使用MFC對話框來設計人機交互界面[5]。用戶要獲取模型,首先需要登錄,其登錄界面?zhèn)鹘y(tǒng)界面并無差異。

在編寫登錄模塊代碼前,需要在stdafx類中新建三個全局變量:quanju_isvip、quanju_accoun、quanju_Brand用來向其他類傳遞賬戶信息,包括是否為VIP用戶、賬戶余額,以及用戶常用品牌。輸入用戶名及密碼點擊登錄后,通過連接遠程數據庫,從用戶數據庫中讀取相關信息,若將“記住密碼”選項打鉤,則通過以下代碼,將用戶信息寫入注冊表,下次登錄則會自動填寫用戶名和密碼。

3.4? ?路徑配置及預選品牌模塊

路徑配置用于設置將模型下載到本地后存放位置,與用戶登錄相似,第一次設定后,信息也將保存到注冊表中。其界面如圖2所示。

在圖3的預選品牌界面中,由于模型庫中零件數量眾多,為避免模型型號加載速度過于緩慢,可在此界面中選擇用戶需要的品牌來加載相應的零件型號。為了讓用戶直觀地看出選擇了哪些品牌,將MFC列表框的HasStrings屬性設置為True,Owner Draw屬性設置為Fixed,為列表框添加變量時,變量類型為CCheckListBox,即可實現一個支持復選框的列表框。同樣,還需要在stdafx類中新建一個全局變量quanju_selectBrand,用于向模型庫類傳遞所選品牌的信息。

3.5? ?模型庫模塊

模型庫為整個插件的核心部分,其界面如圖4所示。它提供了兩種方式用于從服務器端下載模型。

第一種通過型號搜索方式來獲取模型。型號搜索可以按預選的品牌直接搜索所有型號的模型,還可以輸入模型型號開頭幾個字符來進行模糊搜索,最終定位到想要下載的模型?!凹虞d型號”按鈕為通過預選的品牌加載出所有的模型型號。

為實現模糊搜索功能,需要添加combox的EDITCHANGE事件,其數據庫操作字符如下:

第二種方式則是在創(chuàng)建對話框的同時,加載出所有品牌,用戶選擇一種品牌后,自動加載其下的所有系列,同理,選擇一種系列,獲取該系列下的所有型號。

當用戶選擇模型型號后,即可進入載入模型操作。根據用戶選取的模型型號,通過讀取模型數據庫來獲取模型的品牌、系列、子零件和模型價格。一個模型的型號可能是單獨的一個零件,也可能一個裝配體,如果是裝配體,則需要將裝配體的子零件也全部下載到本地。供應商上傳的模型都具有一定的價值,故有些型號的模型需要支付一定的費用。vip用戶可下載所有的模型,普通用戶使用賬戶余額來購買需要付費的模型,若普通用戶賬戶余額小于模型價格,則彈出對話框詢問是否跳轉至充值頁面。

當用戶滿足下載模型要求后,即可從阿里云服務器端獲取該模型。這里使用URLDownloadToFile()[6]函數下載模型,下載鏈接URL由以下代碼生成。

3.6? ?編寫信息文件

信息文件是一種文本文件,用來定義菜單項,菜單項提示等信息。使用記事本將菜單及菜單下的四個按鈕的信息寫入文本文件中,并保存在Pro/Toolkit應用程序路徑下的text文件夾中。

3.7? ?編寫注冊文件

在Creo中運行Pro/Toolkit應用程序,必須先進行注冊。注冊文件是一個后綴為.dat的文件,文件信息包括Pro/Toolkit應用程序名稱,可執(zhí)行程序全路徑,text文件夾路徑,啟動模式設置,軟件版本號等。將creo起始目錄設置為注冊文件的路徑,或把注冊文件放置creo安裝路徑下的text文件夾并將其命名為“protk”,當打開Creo后,Pro/Toolkit應用程序便會自動加載到Creo中[7]。此外,還可在Creo中工具->實用工具->輔助應用程序,手動注冊Pro/Toolkit應用程序。

4? ?定義Creo功能區(qū)(Define the Creo function area)

從proe5.0升級到Creo1.0后,其用戶界面發(fā)生了很大的改變,采用了主流的工具欄來定義功能區(qū)。打開Creo,將設計好的Pro/Toolkit應用程序加載到Creo中,點擊Creo自定義功能區(qū),此時會出現之前定義好的四個TOOLKIT命令,將其添加到新建的選項卡中。隨后點擊導入/導出->導出所有功能區(qū)和快速訪問工具欄自定義,將導出的文件與信息文件存放在一起,并將其命名為“toolkitribbonui.rbn”。在下次打開Creo后,toolkitribbonui.rbn文件將會與Pro/Toolkit應用程序一起加載。

5? ?結論(Conclusion)

文章根據插件需求,首先介紹了模型庫總體設計流程,將模型庫劃分為四個模塊:用戶登錄、路徑配置、預選品牌、模型庫。隨后對四個模塊設計過程進行了詳細介紹。最后,介紹了如何定義Creo功能區(qū)。插件的使用面向海內外所有用戶,供應商不斷將模型上傳至阿里云對象存儲,用戶獲取到模型數量將會不斷增加。通過此Creo模型庫插件,用戶可以很方便地獲取到所需要型號的三維模型,這樣極大減少了產品設計時間,有助于提高工作效率。

參考文獻(References)

[1] 姜萍.基于CREO的三維模型庫系統(tǒng)設計與開發(fā)[D].合肥工業(yè)大學,2018.

[2] 李雪,王璐.Creo二次開發(fā)參數化設計技術[J].電子技術與軟件工程,2019(03):39.

[3] 張繼春.Pro/ENGINEER二次開發(fā)實用教程[M].北京:北京大學出版社,2003.

[4] 王文波.Pro/E Wildfire4.0二次開發(fā)實例解析[M].北京:清華大學出版社,2010.

[5] 孟慶當.基于Pro/TOOLKIT智能出圖系統(tǒng)的設計與開發(fā)[D].合肥工業(yè)大學,2015.

[6] 朱文偉.Visual C++2013從入門到精通[M].北京:清華大學出版社,2017.

[7] Parametric Technology Corporation.PTC Creo Parametric TOOLKIT3.0 User' Guide.USA:PTC,2014.

[8] 曾斌,賀電,尹子軒.基于Creo二次開發(fā)的液壓管路智能設計系統(tǒng)的研究與應用[J].液壓與氣動,2019(10):118-123.

[9] 張文彬,沈精虎,夏凡.基于組件的快速變型設計系統(tǒng)的開發(fā)[J].制造業(yè)自動化,2017,39(09):64-66.

作者簡介:

晏恒兵(1995-),男,碩士生.研究領域:Creo二次開發(fā).

仲梁維(1962-),男,碩士,教授.研究領域:計算機輔助設計,智能制造.

猜你喜歡
模型庫
基于模型庫系統(tǒng)的金融體系流動性風險預警機制研究
復雜圓柱殼結構參數化建模方法及模型庫設計
GIS地形分析模型庫管理系統(tǒng)的設計與實現