• 
    

    
    

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

      基于三維標注功能的測點集成開發(fā)系統(tǒng)設(shè)計研究

      2018-09-10 16:15:55夏文杰吳凱亮
      河南科技 2018年20期
      關(guān)鍵詞:測點

      夏文杰 吳凱亮

      摘 要:本文針對目前CAD軟件具備的三維尺寸標注功能,結(jié)合整車廠對于零件尺寸測量的需求,基于三維標注功能探討測點集成開發(fā)系統(tǒng)設(shè)計,詳細闡述了相關(guān)技術(shù),并通過實例測試驗證了技術(shù)的可行性,以期為相關(guān)學(xué)者的研究提供參考。

      關(guān)鍵詞:三維標注;測點;NX Open

      中圖分類號:TB21;TP391.72 文獻標識碼:A 文章編號:1003-5168(2018)20-0024-04

      Research on Integrated Development of 3D Tagging

      Function and Measuring Points

      XIA Wenjie WU Kailiang

      (SAIC General Motors Co., Ltd.,Shanghai 201206)

      Absrtact: In view of the three dimensional dimensioning function of CAD software, this paper discussed the design of the integrated development system of measuring point based on the three-dimensional annotation function combined with the requirement of the whole vehicle factory for part size measurement, and expounded the related technology in detail, and validated the feasibility of the technology through the case test, in order to provide reference for the relevant scholars' research.

      Keywords: three dimensional annotation;measurement point;NX Open

      隨著計算機輔助繪圖技術(shù)的進步,目前,產(chǎn)品的尺寸信息定義已經(jīng)從早期的手工繪圖轉(zhuǎn)變?yōu)橛嬎銠C二維繪圖。而CAD/CMA系統(tǒng)的廣泛應(yīng)用,則需要將產(chǎn)品的尺寸信息、制造工藝信息等標注在三維模型上,通過產(chǎn)品三維模型將設(shè)計過程傳遞至生產(chǎn)加工過程,打通設(shè)計、制造和測量的三維數(shù)據(jù)鏈。

      三維標注技術(shù)改變了傳統(tǒng)以工程圖為主要制造依據(jù)的模式。而三維數(shù)字化實體模型作為輔助參考依據(jù)的制造模式,一方面可直觀表達產(chǎn)品的制造工藝信息;另一方面,使得三維實體模型成為生產(chǎn)制造過程的唯一依據(jù),避免了生產(chǎn)數(shù)據(jù)不一致、信息共享程度低、圖紙管理成本高等一系列問題,引領(lǐng)了產(chǎn)品設(shè)計制造一體化的趨勢[1-3]。目前,主流CAD軟件均提供三維標注功能,如UG的PMI模塊,CATIA的Functional Tolerancing & Annotation模塊,以及Solidworks的Dimxpert模塊等。

      實際生產(chǎn)制造過程中,為了評價零件的尺寸狀態(tài),需要對零件的形面進行測量。但是,由于目前測量設(shè)備的限制及出于經(jīng)濟性考慮,暫時難以完全實現(xiàn)。測點是根據(jù)圖紙尺寸的要求,結(jié)合生產(chǎn)工藝,用于監(jiān)控/反映產(chǎn)品和工藝尺寸特性的測量點。通過對零件具有尺寸要求的形面上測點的測量,來評價和反映零件的整體尺寸狀態(tài),可以提高測量效率,降低測量成本。測點的制作過程中需要輸入產(chǎn)品的尺寸信息,需要耗費大量的人力成本,而且容易出現(xiàn)輸入信息錯誤。基于此,本文基于三維標注功能進行測點集成開發(fā)系統(tǒng)設(shè)計。

      1 NX二次開發(fā)工具簡介

      UG的二次開發(fā)工具主要有:UG/Open API、UG/Open GRIP、UG/Open Menuscript和UG/Open UlStylertll。這4種開發(fā)工具各有特點。

      第一,UG/Open API 。UG/OPEN API又被稱User Function,其是一種基于C語言的NX二次開發(fā)API,包含了多達3 000個的C函數(shù),又由于其是直接基于NX內(nèi)部代碼建立的,所以功能覆蓋率很高,適用于企業(yè)的大型復(fù)雜高級的二次開發(fā),但其需要有C語言和軟件工程等技術(shù)的支持,相對地,學(xué)習(xí)難度也較大。

      第二,UG/Open GRIP。UG/Open GRIP是一種交互式圖形編程語言,其程序具有很高的運行效率,學(xué)習(xí)起來較為簡單且不會常駐內(nèi)存中,這些特點使得得其到開發(fā)人員的青睞。但是,其能實現(xiàn)的NX功能較小,所以只適用于一些簡單的程序二次開發(fā),有較大的局限性。

      第三,UG/Open UIStyler。UG/Open UIStyler是用來創(chuàng)建對話框的專用模塊。使用UG/OpenUIStyle可以非常方便地、快捷地創(chuàng)建與UG風(fēng)格完全一致的對話框。UIStyle模塊所支持的控件種類豐富,且在儲存對話框文件的同時,會自動生成與對話框相對應(yīng)的后綴為.c文件和.h文件,大大節(jié)省了用戶的開發(fā)時間。UG/OpenUIStyle最大的優(yōu)點在于開發(fā)的對話框風(fēng)格與UG一致,符合用戶一貫的習(xí)慣[4]。

      第四,UG/Open MenuScript。UG/Open Menuscript用來定制菜單的專用模塊,其允許用戶使用ASCII文件方便靈活地編輯UG系統(tǒng)的菜單,或為用戶創(chuàng)建的應(yīng)用程序定義自己的菜單。由于在二次開發(fā)中的自定義菜單設(shè)計工具只有UG/Open MenuScript,因此,要設(shè)計一套完整的人機交互系統(tǒng),UG/Open MenuScript是開發(fā)必用工具。

      2 測點集成開發(fā)系統(tǒng)設(shè)計

      測點是根據(jù)圖紙的要求,結(jié)合生產(chǎn)工藝,用于監(jiān)控/反映產(chǎn)品和工藝尺寸特性的測量點。測點在NX里面用一個箭頭表示,建立在三維數(shù)模中邊、面、孔和槽等幾何元素上,測點屬性中需要輸入圖紙中的尺寸信息,如圖1所示。

      2.1 算法流程圖

      本系統(tǒng)的核心算法是測點自動查找相關(guān)聯(lián)PMI信息的搜索算法。這是本文最為關(guān)鍵的部分,其流程圖如圖2所示。

      具體步驟如下。①通過數(shù)模中生成的測點屬性,在程序中獲取測點關(guān)聯(lián)的幾何體,并且要智能地獲取其他相關(guān)的拓撲信息[5]。例如,選擇一條邊時,需要獲取其所屬的面和體。②基于測點關(guān)聯(lián)的數(shù)模,搜索PMI信息所在的部件,并且靜態(tài)打開。這里涉及要用正則表達式進行字符串匹配。③從PMI部件出發(fā),循環(huán)當(dāng)前部件中的PMI信息,并且建立以幾何元素為索引值的數(shù)據(jù)字典,保存在當(dāng)前內(nèi)存中[6]。需要注意的是,圖2中所說的數(shù)據(jù)庫是指內(nèi)存中數(shù)據(jù)字典的結(jié)構(gòu)。④從數(shù)據(jù)字典出發(fā),去匹配當(dāng)前用戶選擇的幾何元素,從而獲取PMI信息。⑤利用NX的屬性賦值模塊,將相關(guān)PMI信息賦值到對應(yīng)的測點中[7]。

      2.2 系統(tǒng)的代碼設(shè)計

      2.2.1 全局變量的設(shè)置和調(diào)用。程序的參數(shù)化主要體現(xiàn)在變量的調(diào)用賦值上,程序中的全局變量設(shè)置至關(guān)重要[8-10]。以下2個全局變量分別表示當(dāng)前的工作部件及當(dāng)前的顯示部件,沒有這2個變量,程序?qū)o法完成任何操作。

      public static Part workPart;

      public static Part displayPart;

      程序的入口和出口函數(shù)如下:

      extern void ufsta (char *param, int *retcode, int rlen)

      {

      if ( (UF_initialize()) != 0)

      return;

      //CHANGE_cbs/CHANGE_CB_COUNT在函數(shù)外定義,這里簡化

      UF_STYLER_create_dialog ( "XXM_VCT_VC.dlg",

      CHANGE_cbs, /* Callbacks from dialog */

      CHANGE_CB_COUNT, /* number of callbacks*/

      NULL, /* This is your client data */

      &response );

      UF_terminate();

      return;

      }

      extern int ufusr_ask_unload (void)

      {

      /* unload immediately after application exits*/

      return ( UF_UNLOAD_IMMEDIATELY );

      }

      2.2.2 基本操作函數(shù)的定義。測點系統(tǒng)中調(diào)用了很多NX API中自帶的函數(shù),接下來將介紹程序中一些重要的基本操作的函數(shù)。

      Find PMI Part And Make Work If Necessary ()函數(shù):用于獲取PMI的相關(guān)部件,需要字符串匹配部件名。

      bool FindPMIPartAndMakeWorkIfNecessary( tag_t* savedWorkedPart )

      {

      tag_t displayPartTag = UF_PART_ask_display_part();

      tag_t rootPart = UF_ASSEM_ask_root_part_occ( displayPartTag );

      std::vectorallComponents;

      CollectAllPartOccs(rootPart, allComponents);

      char partName[512] = {""};

      int count = 0;

      for ( int i = 0; i < allComponents.size(); i++ )

      {

      tag_t inst = UF_ASSEM_ask_inst_of_part_occ( allComponents[i] );

      if (inst == NULL_TAG) continue;

      bool matched = false;

      char attrString[100]="";

      UF_ASSEM_ask_part_name_of_child(inst,partName);

      // Get Part Name from the attribute

      if(attr_find_string(inst,"DB_PART_NO",attrString)==0)

      {

      matched = MatchPMICompName(attrString, false);

      }

      else

      {

      //Get the part name from the real part

      matched = MatchPMICompName(partName, true);

      }

      if( matched )

      {

      // 把找到的部件變成工作部件,此處簡化。

      break;

      }

      }

      return true;

      }

      Find All Numbers From String ()函數(shù):正則表達式進行字符串匹配。

      void FindAllNumbersFromString(std::string str, std::vector& numVector)

      {

      const std::tr1::regex pattern("((\\d)+\\.(\\d)+|(\\d)+)");

      //尋找整數(shù)值或者帶小數(shù)的值

      std::smatch result;

      std::string::const_iterator start = str.begin();

      std::string::const_iterator end = str.end();

      while(std::regex_search(start, end, result, pattern))

      {

      numVector.push_back(result[0]);

      start = result[0].second; }

      }

      3 實驗驗證與分析

      基于NX Open工具開發(fā)的測點制作工具用戶界面如圖3所示,應(yīng)用本文所開發(fā)的UG功能模塊,實現(xiàn)了測點與EGD&T中PMI標注模塊信息的自動讀取及測點與產(chǎn)品尺寸信息的相互關(guān)聯(lián)(見圖4),減少了與不正確尺寸信息輸入造成的產(chǎn)品質(zhì)量誤判。通過把尺寸信息輸入到測點文件中,減少了后游測量環(huán)節(jié)重復(fù)輸入信息的環(huán)節(jié),提高了生產(chǎn)效率[11-15]。

      參考文獻:

      [1]周秋忠,查浩宇.基于三維標注技術(shù)的數(shù)字化產(chǎn)品定義方法[J].機械設(shè)計,2011(1):33-36.

      [2]盧鵠,韓爽,范玉青.基于模型的數(shù)字化定義技術(shù)[J].航空制造技術(shù),2008(3):78-81.

      [3]張寶源,席平.三維標注技術(shù)發(fā)展概況[J].工程圖學(xué)學(xué)報,201l(4):74-79.

      [4]董正衛(wèi),田立中,付宜利.UG/OPEN API編程基礎(chǔ)[M].北京:清華大學(xué)出版社,2002.

      [5]王一成,張樹仁.UG二次開發(fā)中數(shù)據(jù)庫的建立方法[J].長春大學(xué)學(xué)報,2011(12):1-4.

      [6]唐鑫輝,秦小英,崔洪斌,等.NET環(huán)境下利用UG/NXOpen和UG/Journal對UG的二次開發(fā)[J].現(xiàn)代制造工程,2011(4):60-76.

      [7]荀曉云,顏昌翔.基于UG二次開發(fā)的諧波減速器的參數(shù)化設(shè)計[J].機械傳動,2012(4):53-57.

      [8]平朗,韓江.基于UG/OPEN的蝸桿傳動參數(shù)化系統(tǒng)開發(fā)[J].機械設(shè)計與制造,2009(11):123-125.

      [9]游安弼.用C#二次開發(fā)UGNX[J].現(xiàn)代機械,2007(2):79-82.

      [10]劉海軍,耿忠德,田偉,等.基于UG食品擠壓機中螺桿的三維參數(shù)化造型設(shè)計[J].機械,2008(8):31-40.

      [11]黃勇,張博林,薛運鋒.UG 二次開發(fā)與數(shù)據(jù)庫應(yīng)用技術(shù)與典型范例[M].北京:電子工業(yè)出版社,2008.

      [12]張俊華,姜好德.UG二次開發(fā)技術(shù)在企業(yè)標準件數(shù)據(jù)庫建立中的應(yīng)[J].煙臺大學(xué)學(xué)報(自然科學(xué)與工程版),2004(2):146-151.

      [13]張美峰,廖文和,劉長毅.基于特征造型的尺寸智能標注的研究[J].機械制造與自動化,2005(2):78-80.

      [14]劉軍強,王劍斐,馬新廠,等.三維零件圖尺寸的自動標注[J].西安工業(yè)大學(xué)學(xué)報,2009(6):526-530.

      [15]安恒,閏光榮,雷毅,等.基于GB/T 24734的三維自動標注[J].北京航空航天大學(xué)學(xué)報,2012(3):416-421.

      猜你喜歡
      測點
      液壓支架整機靜強度試驗及等效應(yīng)力分析
      不同夯擊荷載下煤矸石地基的動應(yīng)力研究
      基于MEEMD與相關(guān)分析的行星齒輪箱測點優(yōu)化*
      基于CATIA的汽車測點批量開發(fā)的研究與應(yīng)用
      某廢鋼渣車間落錘沖擊振動特性研究
      聲波透射法測樁波形畸變系數(shù)計算與分析*
      基于配網(wǎng)先驗信息的諧波狀態(tài)估計量測點最優(yōu)配置
      電測與儀表(2015年6期)2015-04-09 12:00:50
      動量輪診斷測點配置與資源占用度成本評價
      拱壩結(jié)構(gòu)損傷的多測點R/S分析
      地下水(2012年5期)2012-09-05 01:53:10
      凉城县| 河东区| 哈密市| 诸暨市| 壤塘县| 尼木县| 钟山县| 丰顺县| 淮安市| 新巴尔虎左旗| 安远县| 金秀| 拜泉县| 沾益县| 上饶市| 绥德县| 云南省| 长寿区| 南雄市| 台北市| 济阳县| 湾仔区| 喀什市| 沾益县| 乌恰县| 安新县| 潮州市| 汉源县| 香格里拉县| 密云县| 临沂市| 垫江县| 安宁市| 武强县| 保德县| 于田县| 阳山县| 庆安县| 和田县| 日照市| 石家庄市|