亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        晏恒兵 仲梁維

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

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

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

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

        ProToolkit使用面向?qū)ο箫L(fēng)格的C語言編程,并且提供了用于底層資源調(diào)用的函數(shù)庫和頭文件,外部應(yīng)用程序可以通過這些函數(shù)來訪問Creo[3]。此外,ProToolkit應(yīng)用程序有兩種工作模式,同步模式和異步模式,由于插件需要與Creo一同啟動,所以采用同步模式。

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

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

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

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

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

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

        在VS2012新建一個MFC DLL項目后,需要對其進行環(huán)境配置。首先將配置屬性平臺改為“活動(X64)”,之后添加包含目錄和庫目錄,并在預(yù)處理定義中添加“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應(yīng)用程序時,首先調(diào)用初始化函數(shù)user_initialize(),該函數(shù)用于設(shè)置需要添加的菜單,以及其他的一些初始值的設(shè)置,與C程序的“main”函數(shù)作用相當。創(chuàng)建菜單的語句在初始化函數(shù)內(nèi)部執(zhí)行。ProMenubarMenuAdd()用于向Creo中添加一個新的菜單,菜單項在菜單體系中不能有相同的名字,菜單標簽名必須與信息文件中對應(yīng)字段的表示關(guān)鍵字相同[4]。 ProMenubarPushbutton-add()函數(shù)在新的菜單中添加一個按鈕,在該函數(shù)前需要添加動作函數(shù)ProCmd-ActionAdd(),用戶點擊按鈕后,可響應(yīng)該函數(shù)。動作函數(shù)的功能主要為彈出MFC對話框,整個插件需要彈出四個對話框,故需要添加四個按鈕,四個不同的動作函數(shù)來響應(yīng)MFC對話框的創(chuàng)建操作。

        3.3? ?登錄模塊

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

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

        3.4? ?路徑配置及預(yù)選品牌模塊

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

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

        3.5? ?模型庫模塊

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

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

        為實現(xiàn)模糊搜索功能,需要添加combox的EDITCHANGE事件,其數(shù)據(jù)庫操作字符如下:

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

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

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

        3.6? ?編寫信息文件

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

        3.7? ?編寫注冊文件

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

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

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

        5? ?結(jié)論(Conclusion)

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

        參考文獻(References)

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

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

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

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

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

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

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

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

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

        作者簡介:

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

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

        猜你喜歡
        模型庫
        基于模型庫系統(tǒng)的金融體系流動性風(fēng)險預(yù)警機制研究
        市場營銷決策支持系統(tǒng)中模型庫的設(shè)計應(yīng)用
        科技資訊(2014年4期)2014-11-07 21:20:46
        基于模型庫的現(xiàn)代成本會計計量系統(tǒng)研究
        會計之友(2014年28期)2014-10-13 15:54:36
        復(fù)雜圓柱殼結(jié)構(gòu)參數(shù)化建模方法及模型庫設(shè)計
        GIS地形分析模型庫管理系統(tǒng)的設(shè)計與實現(xiàn)
        測繪工程(2013年6期)2013-12-06 08:59:14
        真实夫妻露脸自拍视频在线播放| 亚洲九九九| 国产大学生自拍三级视频| 尤物AV无码色AV无码麻豆| 白色白色视频在线观看| 曰日本一级二级三级人人| 人妻丰满av无码中文字幕| 久久精品麻豆日日躁夜夜躁| 91福利视频免费| 亚洲国产精品一区亚洲国产| 精品一区二区三区国产av| 亚洲国产精品av在线| 国产精品成人免费视频一区| 午夜福利视频合集1000| 亚洲第一无码精品久久| 中国av一区二区三区四区| 亚洲成在人线视av| 亚洲国产成人久久综合电影| 亚洲白白色无码在线观看| 亚洲av无码专区在线亚| 国产情侣自拍偷拍精品| 老师开裆丝袜喷水视频| 国产精品无码久久久久成人影院| 精品人妻潮喷久久久又裸又黄| 91久久综合精品国产丝袜长腿 | 亚洲福利视频一区二区三区| 日日碰狠狠添天天爽超碰97久久 | 2019最新国产不卡a| 综合图区亚洲另类偷窥| 亚洲天堂一区二区三区视频| 欧美性猛交xxxx乱大交极品| 午夜一区欧美二区高清三区| 囯产精品无码一区二区三区AV| 亚洲1区第2区第3区在线播放| 久久久久99精品成人片直播| 亚洲成在人线久久综合| 亚洲精品女优中文字幕| 内射人妻无套中出无码| 亚洲日本在线电影| 亚洲婷婷丁香激情| 亚洲高清精品一区二区|