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

基于三維標注功能的測點集成開發系統設計研究

2018-09-10 16:15:55夏文杰吳凱亮
河南科技 2018年20期

夏文杰 吳凱亮

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

關鍵詞:三維標注;測點;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

隨著計算機輔助繪圖技術的進步,目前,產品的尺寸信息定義已經從早期的手工繪圖轉變為計算機二維繪圖。而CAD/CMA系統的廣泛應用,則需要將產品的尺寸信息、制造工藝信息等標注在三維模型上,通過產品三維模型將設計過程傳遞至生產加工過程,打通設計、制造和測量的三維數據鏈。

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

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

1 NX二次開發工具簡介

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

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

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

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

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

2 測點集成開發系統設計

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

2.1 算法流程圖

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

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

2.2 系統的代碼設計

2.2.1 全局變量的設置和調用。程序的參數化主要體現在變量的調用賦值上,程序中的全局變量設置至關重要[8-10]。以下2個全局變量分別表示當前的工作部件及當前的顯示部件,沒有這2個變量,程序將無法完成任何操作。

public static Part workPart;

public static Part displayPart;

程序的入口和出口函數如下:

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

{

if ( (UF_initialize()) != 0)

return;

//CHANGE_cbs/CHANGE_CB_COUNT在函數外定義,這里簡化

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 基本操作函數的定義。測點系統中調用了很多NX API中自帶的函數,接下來將介紹程序中一些重要的基本操作的函數。

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

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 ()函數:正則表達式進行字符串匹配。

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

{

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

//尋找整數值或者帶小數的值

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工具開發的測點制作工具用戶界面如圖3所示,應用本文所開發的UG功能模塊,實現了測點與EGD&T中PMI標注模塊信息的自動讀取及測點與產品尺寸信息的相互關聯(見圖4),減少了與不正確尺寸信息輸入造成的產品質量誤判。通過把尺寸信息輸入到測點文件中,減少了后游測量環節重復輸入信息的環節,提高了生產效率[11-15]。

參考文獻:

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

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

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

[4]董正衛,田立中,付宜利.UG/OPEN API編程基礎[M].北京:清華大學出版社,2002.

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

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

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

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

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

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

[11]黃勇,張博林,薛運鋒.UG 二次開發與數據庫應用技術與典型范例[M].北京:電子工業出版社,2008.

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

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

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

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

主站蜘蛛池模板: 免费人成在线观看成人片 | 久久永久精品免费视频| 亚洲天堂在线视频| 中国一级特黄大片在线观看| 免费xxxxx在线观看网站| 狠狠色丁香婷婷| 无码人中文字幕| 精品综合久久久久久97超人| 丁香五月婷婷激情基地| 丁香婷婷激情综合激情| 欧美中文字幕在线视频| 91精品国产综合久久不国产大片| 亚洲一区波多野结衣二区三区| 国产呦视频免费视频在线观看| 亚洲人成电影在线播放| 亚洲an第二区国产精品| a级毛片在线免费| 极品性荡少妇一区二区色欲| jizz亚洲高清在线观看| jijzzizz老师出水喷水喷出| 91九色最新地址| 91无码国产视频| 欧美a√在线| 国产在线高清一级毛片| 无码乱人伦一区二区亚洲一| 国产欧美日韩18| 国产精品综合久久久| 福利姬国产精品一区在线| 亚洲精品动漫在线观看| 色吊丝av中文字幕| 国产99在线| 亚洲AV成人一区国产精品| 免费无码又爽又刺激高| 在线国产毛片| 成人a免费α片在线视频网站| 欧美成人午夜影院| 免费Aⅴ片在线观看蜜芽Tⅴ| 毛片a级毛片免费观看免下载| 日韩在线成年视频人网站观看| 精品视频在线观看你懂的一区 | 四虎精品国产AV二区| 99人体免费视频| 99视频在线观看免费| 欧美激情综合| 91小视频在线播放| 玖玖精品视频在线观看| 国产精品男人的天堂| 亚洲精品第一页不卡| 91久久国产热精品免费| 伊人久久久久久久| 超清人妻系列无码专区| 九九热这里只有国产精品| 国产你懂得| 丁香五月亚洲综合在线| 久久久久久午夜精品| 91口爆吞精国产对白第三集| 日韩欧美国产三级| 黄色国产在线| 91视频区| 国产成人久视频免费| 国内精品自在自线视频香蕉| 男女精品视频| 97国产在线视频| 97视频免费看| 亚洲天堂视频在线观看| 国内精品视频在线| 国产精品久久久久久久久久98| 国内精品小视频在线| 女人18毛片久久| 精品免费在线视频| yjizz视频最新网站在线| 国产办公室秘书无码精品| 久久人体视频| 国产91丝袜| 女人18毛片久久| 午夜视频免费一区二区在线看| 成人免费网站在线观看| 澳门av无码| 中国国语毛片免费观看视频| 亚洲第一视频免费在线| 91综合色区亚洲熟妇p| 色婷婷成人网|