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

?

基于UG二次開發(fā)的DTS名義值測量

2021-02-24 01:09:36吳凱亮
汽車實用技術(shù) 2021年3期
關(guān)鍵詞:數(shù)模二次開發(fā)名義

吳凱亮

基于UG二次開發(fā)的DTS名義值測量

吳凱亮

(上汽通用汽車有限公司,上海 201206)

文章主要介紹基于UG二次開發(fā)的DTS名義值測量,本系統(tǒng)基于西門子的先進CAD設(shè)計平臺NX之上開發(fā)的系統(tǒng)。以NX11和Visual Studio 2010作為運行和開發(fā)平臺的,C、C++為開發(fā)語言,使用Block UI Styler為界面設(shè)計工具,NXOpen則提供了開發(fā)所需的應(yīng)用程序包(API)。系統(tǒng)可以通過獲取整車FVML(Finish Vehicle Measurement Location)文件包含的信息,通過用戶選擇文檔中對應(yīng)的零件特征,實現(xiàn)自動測量數(shù)模名義值及對應(yīng)截面,并與FVML定義的數(shù)值進行對比。

汽車制造;DTS;NXOpen

1 引言

汽車制造生產(chǎn)的發(fā)展帶來了人民生活水平的提高,但隨著整車制造工藝能力的提升,用戶對于汽車外觀的視覺感官質(zhì)量的要求也不斷提高。整車開發(fā)過程中,車身零部件之間的間隙、面差的設(shè)計標(biāo)準(zhǔn),以及由間隙、面差衍生的外觀尺寸匹配控制要素,如平行度、對稱度、對齊度、R角控制以及感知質(zhì)量指數(shù)等要求會集成在DTS(Dimensional Technical Specifications)文件中。外觀DTS直接面對用戶靜態(tài)評價,是汽車外觀造型的重要組成部分,同時也是汽車工藝水平的最終體現(xiàn)。

整車項目開發(fā)過程中為了定量地分析DTS在數(shù)模及整車中的狀態(tài),會將DTS相關(guān)要求細化到FVML文檔中。項目前期虛擬評估過程中,需要檢查數(shù)模間的尺寸狀態(tài)是否與DTS文件定義要求一致,確保數(shù)模釋放狀態(tài)符合要求。

基于NXOpen的DTS名義值測量工具是以NX11和Visual Studio 2010作為運行和開發(fā)平臺的,C、C++為開發(fā)語言,使用Block UI Styler為界面設(shè)計工具,NXOpen則提供了開發(fā)所需的應(yīng)用程序包(API)[1]。系統(tǒng)可以通過獲取整車FVML(Finish Vehicle Measurement Location)文件包含的信息,通過用戶選擇文檔中對應(yīng)的零件特征,實現(xiàn)自動測量數(shù)模名義值及對應(yīng)截面,并與FVML定義的數(shù)值進行對比。

2 DTS名義值測量工具設(shè)計流程與方法

2.1 DTS名義值測量工具的需求分析

DTS名義值檢查過程中,需要按照FVML文件中定義的數(shù)模坐標(biāo)制作截面,測量截面間的設(shè)計間隙及面差。不同零件直接的造型不同,導(dǎo)致測量的截面間隙及面差有不同的結(jié)果。DTS名義值測量工具需要解決自動讀取制作截面的坐標(biāo)信息,生成截面,然后自動測量出相應(yīng)的數(shù)值及截面,如圖1所示。

圖1 DTS測量需求示意圖

2.2 DTS名義值測量工具概要設(shè)計

通過對開發(fā)需求相關(guān)分析,所開發(fā)系統(tǒng)的需求已經(jīng)基本明確。工具開發(fā)工程需要設(shè)置讀取FVML文檔接口;獲取FVML文檔中對應(yīng)的From Panel和To Panel信息;NX調(diào)取截面坐標(biāo),制作截面;工具根據(jù)截面特征,自動調(diào)用對應(yīng)的測量算法,完成間隙和面差計算;最后完成測量結(jié)果標(biāo)注及截面輸出,相應(yīng)步驟如下圖2所示。

圖2 工具開發(fā)流程圖

2.3 DTS名義值測量工具的代碼設(shè)計

2.3.1讀取相關(guān)模板信息

為了讀取FVML文件中的相關(guān)信息到測量工具的用戶界面中,需要分別調(diào)用以下函數(shù)完成相關(guān)操作:

通過getExcelSheetInformation()方法獲取excel路徑下sheet的相關(guān)信息,集成excel,讀取Excel Sheet信息

rowTableValue.rowNumber = i;

rowTableValue.panelLabel = strPanel;

rowTableValue.fromDescription = strFrom;

rowTableValue.toDescription = strTo;

rowTableValue.dtsNom = strDTSNom;

rowTableValue.specType = strSpecType;

rowTableValue.postionStr = strPostion;

rowInformation.push_back(rowTableValue);/

添加信息到自定義結(jié)構(gòu)_fvmlCheckTable_info

typedef struct

{ int rowNumber;

string panelLabel;

string fromDescription;

string toDescription;

string dtsNom;

string specType;

string postionStr;

vector fromPanelFaces;

vector toPanelFaces;

vector guideCurves;

tag_t planeTag;

tag_t pmiTag;

string measureResult;

}FVMLCheck_info_t,*FVMLCheck_info_p_t;

_fvmlCheckTable_info.insert(pair>(sheetNameStr.GetText(), rowInformation));

插入信息到UI列表

for(iter=fromtoMap.begin();iter!=fromtoMap.end();iter ++)

{//fill the sheet information to the table Node* newGroup Node=tree_controlPanelInformation-> Create Node("");

tree_controlPanelInformation->InsertNode (newGroup Node, newSheetNode,NULL,Tree::NodeInsertOptionLast);

newGroupNode->SetColumnDisplayText((panelColumn)fromDes,iter->first.c_str());

newGroupNode->SetColumnDisplayText((panelColumn)toDes,iter->second.c_str());}

2.3.2選擇參考對象,自動推斷類型,通過NX標(biāo)準(zhǔn)控件,選擇面和導(dǎo)引線

if(face_select1->GetSelectedObjects().empty() ||face_select2->GetSelectedObjects().empty() )

{

CheckDTS::theUI->NXMessageBox()->Show("Block Styler", NXOpen:: NXMessageBox:: DialogTypeError, "Please make sure you selected the from and to panel faces!");

return 0;}

NXString calTypeStr = getCalculationType (face_select1- >GetSelectedObjects(),face_select2->GetSelectedObjects());

691 輸尿管膀胱連接部狹窄合并結(jié)石的處理 陳耀武,周 青,孟 軍,曾 志,楊 波,王 原,舒 暢,朱云海

vector allNodes = getAllTreeNodes (tree_control Cal);

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

{

allNodes.at(i)->SetColumnDisplayText((calColumn)AnalysisMethod,calTypeStr);

}

2.3.3計算分析階段

創(chuàng)建截交平面–根據(jù)輸入的坐標(biāo)位置,生成坐標(biāo)平面

createPositonDatumPlane(string inputStr,DatumPlane* & positionPlane)

進行截面交點計算 -通過生成的平面,和選擇的對象計算截交線

createSectionPoint (NXOpen:: TaggedObject *curve, NX Open::DatumPlane*datumPlane,Features::SectionCurve* &sec -tionPointFeature, vector< NXOpen:: TaggedObject*> &Section Points)

創(chuàng)建最小距離算法1 – 點到面的最小距離

createDistancePointToFace(NXOpen::Point * point, Face * face, Measure*&Md, tag_t &p1Tag, tag_t &p2Tag, NXOpen:: Line*&measureLine)

創(chuàng)建最小距離算法2-兩個對象集之間的最小距離

createDistancePointBetweenSets (NXOpen:: Point * point, Features::Feature * FeatureSets2,Measure * &Md,tag_t &p1Tag, tag_t &p2Tag,NXOpen::Line *&measureLine)

2.3.4后處理,保存數(shù)據(jù)到Excel,并清理過程數(shù)據(jù)

SaveInfoToExcel(vector seletedNodes)

創(chuàng)建PMI

createPMI(Node*selectNode,NXOpen::CartesianCoordinateSystem *&cartesianCoordinateSystem)

創(chuàng)建圖片

CreateImage(Node* selectNode,int width,int height,char* imageNameStr)

這期間需要進行隱藏對象操作

showSectionCurvesOnly(selectNode,modelingView1,allNeedShowObjects);

使用創(chuàng)建圖片功能進行圖片創(chuàng)建

UF_DISP_create_framed_image(imagePath,UF_DISP_JPEG,UF_DISP_ORIGINAL,leftConer,width,height);

計算結(jié)果保存

保存數(shù)據(jù)

excel.SetCellText(atoi(rowStr.GetText()),MEASUREVALUE_COL,measureValueStr.GetText());

插入圖片

excel.InsertPicture(positionX,positionY,imagePath.GetText(),excelImageWidth,excelImageHeight);

positionX = positionX + excelImageWidth + 100;

刪除緩存圖片

//delete the temporary files

deleteImageFile((char*)imagePath.GetText());

3 結(jié)論

本文是以基于NXOpen的DTS名義值檢查工具的設(shè)計實現(xiàn)為流程順序,詳細介紹了系統(tǒng)各功能的實現(xiàn),從當(dāng)前社會現(xiàn)狀出發(fā),完成了從需求分析到概要設(shè)計、詳細設(shè)計、程序代碼編寫和運動分析校驗的設(shè)計流程。同時又詳盡地闡述了利用NXOpen API進行二次開發(fā)的實現(xiàn)過程。系統(tǒng)能夠穩(wěn)定地運行,并嚴(yán)格遵循了操作簡單,界面友好的設(shè)計初衷,實現(xiàn)了參數(shù)化建模,系統(tǒng)各處都有容錯機制,工具用戶界面如下圖3所示。

圖3 用戶操作界面

[1] 丁柱,劉其洪,黃建行.基于UG二次開發(fā)的鞋楦參數(shù)化設(shè)計[J].科學(xué)技術(shù)與工程,2011,11(14):3214-3218.

Development of DTS nominal measurement based on UG customization

Wu Kailiang

( SAIC-GM, Shanghai 201206 )

This paper introduces the development of DTS nonimal measurement based on UG customization.This system is using NX11,Visual Studio 2010 as operation and development platform, NX 11 provide Block UI Styler as interface design tool and API development package. DTS measurement tool will read FVML information. When operators select part feature defined in FVML, Tool will measure math data nominal and output measure result.

Automobile manufacturing;DTS;NXOpen

10.16638/j.cnki.1671-7988.2021.03.005

U461.99

A

1671-7988(2021)03-18-03

U461.99

A

1671-7988(2021)03-18-03

吳凱亮(1989-),男,工程師,就職于上汽通用汽車有限公司。

猜你喜歡
數(shù)模二次開發(fā)名義
基于FMEA分析的數(shù)模混合電路多道脈沖幅度控制算法
逆行,以生命的名義
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
整車數(shù)模開發(fā)流程解析
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
Pro/E軟件在機械設(shè)計管道數(shù)模建立中的應(yīng)用
以二胎的名義,享受生活
好日子(2018年9期)2018-10-12 09:57:18
西門子Easy Screen對倒棱機床界面二次開發(fā)
以創(chuàng)新的名義宣誓發(fā)展
基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
广东省| 高陵县| 苏尼特右旗| 佛山市| 山东| 安宁市| 高密市| 奉化市| 楚雄市| 嘉义市| 土默特左旗| 青河县| 泰州市| 夏津县| 石首市| 安顺市| 济源市| 汝阳县| 信阳市| 保靖县| 沾化县| 闵行区| 临西县| 阜城县| 湟中县| 丰都县| 博爱县| 万载县| 依兰县| 师宗县| 池州市| 出国| 丹阳市| 桃江县| 兴安盟| 洛宁县| 潢川县| 威远县| 万山特区| 历史| 酒泉市|