• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于UG二次開發(fā)的GRIP標(biāo)準(zhǔn)件庫制作系統(tǒng)研究

      2021-06-01 02:07:06潘泓誼劉淑梅毛欣然
      關(guān)鍵詞:代碼生成標(biāo)準(zhǔn)件內(nèi)腔

      潘泓誼 劉淑梅 毛欣然

      (上海工程技術(shù)大學(xué) 材料工程學(xué)院,上海 201620)

      標(biāo)準(zhǔn)件庫在產(chǎn)品成體系的企業(yè)中有著非常廣泛應(yīng)用。然而,UG部件族標(biāo)準(zhǔn)件庫和UG/Open API開發(fā)標(biāo)準(zhǔn)件庫都存在兼容性問題,且后者的開發(fā)成本高,入門困難,給標(biāo)準(zhǔn)件庫的開發(fā)造成了一定困難。

      課題組以UG系統(tǒng)為基礎(chǔ),重點闡述UG高通用性標(biāo)準(zhǔn)庫制作程序二次開發(fā)的關(guān)鍵思路,實現(xiàn)了面向模型的標(biāo)準(zhǔn)化實體及特征編譯方式,并設(shè)計了基于UG/Open GRIP的標(biāo)準(zhǔn)庫代碼生成系統(tǒng)流程,為標(biāo)準(zhǔn)件庫的建立提供了一個高效和實用的方案。

      1 系統(tǒng)構(gòu)成

      1.1 系統(tǒng)邏輯

      零件建模一般需要先閱讀并抽象圖中的幾何元素,后通過實體特征建立外形、內(nèi)腔和孔洞,將外形實體減去內(nèi)腔和孔洞,并對最終實體進(jìn)行細(xì)節(jié)的修飾,從而得到完整的零件建模。簡而言之,零件建模就是通過人工識別圖紙中的各個零件特征,在外形實體的基礎(chǔ)上逐個添加特征,最后得到需要的零件。用戶將圖紙中幾何特征通過幾何體擬合后歸類為外形族,將實體內(nèi)腔和孔洞擬合后歸為內(nèi)腔族。系統(tǒng)自動將外形族減去內(nèi)腔族便可以得到要求的體。根據(jù)標(biāo)準(zhǔn)件庫和標(biāo)準(zhǔn)件的總分關(guān)系,可以將系統(tǒng)編譯功能以代碼屬性分為單個零件的GRIP代碼和在單個零件數(shù)據(jù)基礎(chǔ)上生成的標(biāo)準(zhǔn)件庫GRIP代碼兩大類[1]。每個類別的編譯功能下,以用戶在軟件中主要操作類別設(shè)計對應(yīng)的功能、對應(yīng)功能族實體的定義和賦值、封裝實體信息并編譯為對應(yīng)代碼。

      1.2 程序設(shè)計

      結(jié)合標(biāo)準(zhǔn)件庫的操作界面和零件建模流程,可以得出圖1中的GRIP標(biāo)準(zhǔn)件庫系統(tǒng)的程序框架。用戶只需給對應(yīng)功能族實體定義和賦值并給出代碼生成請求,即可生成GRIP語言的標(biāo)準(zhǔn)件庫。

      圖1 系統(tǒng)框架圖

      系統(tǒng)在Microsoft Visual Studio 2010(以下簡稱VS2010)環(huán)境下開發(fā),為4層體系,包括用戶層、應(yīng)用層、數(shù)據(jù)層及驅(qū)動層。用戶層是軟件的交互界面,用戶通過可視化界面調(diào)用系統(tǒng)的各功能選項完成交互動作。應(yīng)用層主要由標(biāo)準(zhǔn)件參數(shù)化建模和GRIP代碼生成器兩個功能模塊組成。標(biāo)準(zhǔn)件參數(shù)化建模模塊下的各模塊負(fù)責(zé)圖形界面對應(yīng)族實體的生成和屬性賦值[2]。GRIP代碼生成模塊對用戶對應(yīng)生成的對應(yīng)實體和賦值進(jìn)行GRIP語言的編譯和合成。數(shù)據(jù)層為系統(tǒng)緩存,由用戶賦值數(shù)據(jù)和代碼緩存組成。系統(tǒng)通過讀取各項數(shù)據(jù)得到所需的參數(shù),最終生成圖形界面對應(yīng)族實體及GRIP代碼緩存[3]。各功能模塊通過對數(shù)據(jù)緩存進(jìn)行讀寫完成數(shù)據(jù)交互。驅(qū)動層是在VS2010及UG/Open GRIP環(huán)境下對程序進(jìn)行編譯,完成相關(guān)的功能。通過UG/OpenAPI函數(shù)及GRIP語言函數(shù),從后臺調(diào)用UG系統(tǒng)的各項功能,完成對參數(shù)化建模和標(biāo)準(zhǔn)件庫的快速建立。

      2 標(biāo)準(zhǔn)件庫參數(shù)化建立

      2.1 設(shè)計流程

      系統(tǒng)根據(jù)用戶設(shè)計結(jié)果生成標(biāo)準(zhǔn)件和標(biāo)準(zhǔn)件庫代碼,流程如圖2所示。單個標(biāo)準(zhǔn)件代碼由參數(shù)化建模模塊生成。模塊涵蓋了大部分?jǐn)M合實體及相同的內(nèi)腔和孔洞擬合實體。模塊程序?qū)τ脩粼O(shè)定的外形族和內(nèi)腔族擬合實體進(jìn)行創(chuàng)建和涂色,并對創(chuàng)建實體的形狀、尺寸、位置數(shù)據(jù)進(jìn)行記錄,保存至單個零件實體代碼緩存中。通過單個標(biāo)準(zhǔn)件GRIP代碼生成模塊對功能族數(shù)據(jù)運算,從而得到單個標(biāo)準(zhǔn)件GRIP代碼和符合系統(tǒng)標(biāo)準(zhǔn)的標(biāo)準(zhǔn)件代碼緩存。標(biāo)準(zhǔn)件庫代碼框架生成模塊讀取標(biāo)準(zhǔn)件代碼緩存集合及標(biāo)準(zhǔn)件和標(biāo)準(zhǔn)件庫名稱,生成能被UG/Open GRIP編譯器編譯成程序的GRIP代碼。

      圖2 GRIP標(biāo)準(zhǔn)庫建立流程

      2.2 系統(tǒng)框架

      2.2.1 參數(shù)化建模方法

      通過UG/Open API從外部驅(qū)動UG完成建模和創(chuàng)建GRIP代碼。以圓柱體特征為主的標(biāo)準(zhǔn)件創(chuàng)建和GRIP代碼輸出為例,說明參數(shù)化建模下如何生成顯示實體和代碼[4]。UF_MODL_create_cylinder函數(shù)能夠在顯示窗口創(chuàng)建圓柱體,其中高度、直徑以及中軸線矢量具體數(shù)據(jù)通過功能的輸入窗口獲得。生成實體原點的坐標(biāo)數(shù)據(jù)由UF_UI_point_construct點構(gòu)造器獲得。通過UF_OBJ_set_color涂色命令,將生成實體按照外形族或內(nèi)腔族分類設(shè)置為綠色或紅色。用戶輸入所有需要的數(shù)據(jù)后,系統(tǒng)自動創(chuàng)建已涂色實體。

      2.2.2 標(biāo)準(zhǔn)件代碼格式

      在用戶創(chuàng)建特定功能族實體的同時,需要選擇創(chuàng)建實體的類型。例如,用戶選擇創(chuàng)建外形族圓柱體時,系統(tǒng)會自動將生成圓柱體的GRIP代碼寫入緩存。將外形族命名為cyc(n),n為實體個數(shù),而后使用solcyl命令創(chuàng)建圓柱體,并按照代碼格式填入原點、高度、半徑以及矢量方向數(shù)據(jù)。數(shù)據(jù)由對話框和點構(gòu)造器獲得。內(nèi)腔族格式相同,變量名不同。對應(yīng)族實體代碼緩存隨用戶創(chuàng)建對應(yīng)實體疊加,而后所有外形族實體通過unite命令進(jìn)行合并,再將合并后的外形族實體賦予cyc_unite(n)實體變量方便調(diào)用。將完整外形族實體通過subtra命令與緩存內(nèi)內(nèi)腔族實體進(jìn)行求差,最后得到的標(biāo)準(zhǔn)件實體賦值給part(n)實體變量。需要說明的是,過程中的GRIP代碼保存在系統(tǒng)緩存中。

      2.2.3 標(biāo)準(zhǔn)件庫代碼生成

      系統(tǒng)設(shè)計將GRIP標(biāo)準(zhǔn)庫要素和程序整體架構(gòu)設(shè)計相相合,構(gòu)建具有一定格式的GRIP程序框架,將輸入信息和零件緩存按照格式填入框架中,生成相應(yīng)的GRIP標(biāo)準(zhǔn)件庫程序。程序框架將GRIP標(biāo)準(zhǔn)件庫程序分成3部分:一是以實體變量聲明、主程序結(jié)束命令為主滿足GRIP程序運行要求的框架命令;二是以彈出多個選項單選框命令為主的標(biāo)準(zhǔn)件庫菜單命令;三是被菜單命令調(diào)用生成實體的工作命令。代碼來源于系統(tǒng)中的生成單個標(biāo)準(zhǔn)件的代碼緩存[5]。

      GRIP標(biāo)準(zhǔn)件庫基本運行方式:程序開頭聲明實體變量;單選框程序段中定義與零件對應(yīng)選項以及相應(yīng)跳轉(zhuǎn)程序段,選擇任意選項跳轉(zhuǎn)指定位置;零件與程序段對應(yīng),程序段先從分別定義外形族和內(nèi)腔族的實體類型、尺寸以及位置;聲明完外形族和內(nèi)腔族實體后,將所有外形族實體合并為一個實體并聲明合并體;將合并體與內(nèi)腔族實體依次求差,得到最后成品并聲明;程序段最后加上跳轉(zhuǎn)到結(jié)尾語句,以結(jié)束整個標(biāo)準(zhǔn)件庫程序。

      3 結(jié)語

      本文在標(biāo)準(zhǔn)件庫設(shè)計理論研究和UG二次開發(fā)的基礎(chǔ)上,開發(fā)了一種能夠快速生成基于GRIP語言的標(biāo)準(zhǔn)件庫代碼編譯系統(tǒng)。根據(jù)具有普適性的參數(shù)建模邏輯和UG系統(tǒng)的特點,結(jié)合UG/Open API函數(shù)在VS2010開發(fā)環(huán)境下,使UG能夠快速生成高通用性標(biāo)準(zhǔn)件庫。系統(tǒng)彌補了標(biāo)準(zhǔn)件庫開發(fā)版本通用性較差及成本較高的缺點,為今后相關(guān)建模軟件的高通用性標(biāo)準(zhǔn)件庫的設(shè)計制作提供了參考。

      猜你喜歡
      代碼生成標(biāo)準(zhǔn)件內(nèi)腔
      標(biāo)準(zhǔn)件庫的建立與應(yīng)用
      矩形脈動真空滅菌器內(nèi)腔開裂原因
      一種渦輪葉片內(nèi)腔流量測量方法的實驗研究
      Lustre語言可信代碼生成器研究進(jìn)展
      一種橡膠制品的氣密性檢測裝置
      直徑205五層共擠疊加機(jī)頭
      代碼生成技術(shù)在軟件開發(fā)中的應(yīng)用
      電子世界(2016年15期)2016-08-29 02:14:28
      基于XML的代碼自動生成工具
      電子科技(2015年2期)2015-12-20 01:09:20
      CATIA V5標(biāo)準(zhǔn)件庫的創(chuàng)建與使用
      汽車零部件(2014年5期)2014-11-11 12:24:34
      基于知識的組合機(jī)床夾具可擴(kuò)充標(biāo)準(zhǔn)件庫的開發(fā)
      漳浦县| 乐至县| 邵阳县| 福泉市| 大宁县| 赤峰市| 宜丰县| 许昌市| 剑河县| 舟曲县| 白银市| 闻喜县| 九江县| 大悟县| 会同县| 甘德县| 沧源| 麟游县| 阿瓦提县| 靖州| 开远市| 师宗县| 镇远县| 晋宁县| 上林县| 内黄县| 沾化县| 绥棱县| 交城县| 平南县| 淮北市| 彩票| 什邡市| 霍山县| 新闻| 广水市| 崇明县| 独山县| 宣化县| 西平县| 武威市|