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

        ?

        基于STEP中性文件的旋轉(zhuǎn)機(jī)械Pro/E模型C++實(shí)例化

        2013-08-22 07:34:54劉保國徐小定岳龍旺華海峰
        制造業(yè)自動(dòng)化 2013年4期
        關(guān)鍵詞:圓柱面數(shù)據(jù)類型關(guān)鍵字

        劉保國,徐小定,岳龍旺,華海峰

        (河南工業(yè)大學(xué) 機(jī)械電子工程研究所,鄭州 450052)

        0 引言

        STEP(Standard for the Exchange of Product Model Data)標(biāo)準(zhǔn)是一套關(guān)于產(chǎn)品整個(gè)生命周期中產(chǎn)品數(shù)據(jù)的表達(dá)和交換的國際標(biāo)準(zhǔn),通過一種不依賴于具體系統(tǒng)的中性機(jī)制,實(shí)現(xiàn)產(chǎn)品全生命周期中的產(chǎn)品信息數(shù)據(jù)表達(dá)的一致性和完整性[1]。隨著制造業(yè)自動(dòng)化的快速發(fā)展,STEP標(biāo)準(zhǔn)已經(jīng)得到了普遍的重視和應(yīng)用,特別是在航空航天、船舶、汽車等行業(yè)更是有了很大的發(fā)展。

        隨著計(jì)算機(jī)技術(shù)的進(jìn)步,各類CAD、CAM、CAPP、CAE軟件促進(jìn)了制造業(yè)自動(dòng)化的發(fā)展。面對(duì)多種多樣的CAX軟件,需要找到一種通用的數(shù)據(jù)交互模式來解決異構(gòu)環(huán)境下的數(shù)據(jù)共享問題,而基于STEP標(biāo)準(zhǔn)的中性文件可以很好的解決CAX軟件之間的接口問題。國外許多研究單位,如Product Data Integration Technologies公司,Object Management Group等都在進(jìn)行STEP方面的研究工作,現(xiàn)有專門支持遵循STEP標(biāo)準(zhǔn)的產(chǎn)品建模和產(chǎn)品數(shù)據(jù)交換的軟件系統(tǒng)有Pro STEP和STEP tools。國內(nèi)對(duì)STEP標(biāo)準(zhǔn)的研究處于探索發(fā)展階段,國家技術(shù)監(jiān)督局標(biāo)準(zhǔn)化所、航空625所、一汽和二汽合資創(chuàng)辦了STEP產(chǎn)品數(shù)據(jù)技術(shù)中心(C-STEP);哈爾濱工程大學(xué)在STEP的AP201應(yīng)用協(xié)議方面取得了一定研究成果;還有一些學(xué)者從微觀上將STEP應(yīng)用于Pro/E、有限元等軟件進(jìn)行下游開發(fā)。

        旋轉(zhuǎn)機(jī)械是工程中廣泛使用的一類設(shè)備,其動(dòng)力學(xué)問題的分析方法與一般的機(jī)械結(jié)構(gòu)動(dòng)力學(xué)問題不同,為此,作者及其領(lǐng)導(dǎo)的課題組開發(fā)了旋轉(zhuǎn)機(jī)械CAE系統(tǒng)。這是一款針對(duì)旋轉(zhuǎn)機(jī)械設(shè)備動(dòng)、靜力學(xué)問題的特點(diǎn)專門開發(fā)的分析軟件,可以分析轉(zhuǎn)子的固有頻率、臨界轉(zhuǎn)速、穩(wěn)定性、不平衡響應(yīng)等,也可以進(jìn)行旋轉(zhuǎn)機(jī)械設(shè)備的動(dòng)平衡計(jì)算[2]。

        本文以旋轉(zhuǎn)機(jī)械的轉(zhuǎn)子為研究對(duì)象,在對(duì)基于STEP標(biāo)準(zhǔn)的中性文件進(jìn)行結(jié)構(gòu)分析的基礎(chǔ)上,通過建立中性文件與c++之間的映射關(guān)系,實(shí)現(xiàn)中性文件c++對(duì)象的實(shí)例化,最終實(shí)現(xiàn)CAD與旋轉(zhuǎn)機(jī)械CAE系統(tǒng)分析軟件之間的無縫聯(lián)接。

        1 Step中性文件的結(jié)構(gòu)

        ISO 10303-21規(guī)定基于EXPRESS語言(ISO 10303-11)的產(chǎn)品三維模型(ISO 10303-203)的中性文件表達(dá)格式。STEP中性文件采用純正文編碼格式,以關(guān)鍵字ISO-10303-21開始,以關(guān)鍵字END-ISO-10301-21結(jié)束,由頭部段(HEADER)和數(shù)據(jù)段(DATA)兩部分組成[3]:

        頭部段以關(guān)鍵字HEADER開頭,以關(guān)鍵字ENDSCE結(jié)束,包含所用三維建模軟件的相關(guān)信息。

        數(shù)據(jù)段是由EXPRESS定義的概念模式中實(shí)體的實(shí)例,以關(guān)鍵字DATA開頭,以關(guān)鍵字ENDSCE結(jié)束,包含了產(chǎn)品的幾何數(shù)據(jù)信息和拓?fù)潢P(guān)系。

        中性文件舉例如下:

        ISO-10303-21; /*文件開始*/

        HEADER; /*頭部段開始*/

        …… /*文件信息*/

        ENDSEC; /*頭部段結(jié)束*/

        DATA; /*數(shù)據(jù)段開始*/

        ……

        #87=CLOSED_SHELL('',(#48,#63,#76,#86));/*實(shí)體實(shí)例*/

        ……

        ENDSEC; /*數(shù)據(jù)段結(jié)束*/

        END-ISO-10303-21; /*文件結(jié)束*/

        中性文件的數(shù)據(jù)段描述格式如下:

        #ID=實(shí)體關(guān)鍵字(‘實(shí)體名稱’,屬性1,屬性2,……);

        在數(shù)據(jù)段中,產(chǎn)品的幾何實(shí)體分成很多的實(shí)體實(shí)例,每個(gè)實(shí)體實(shí)例都以“#”開始,以“;”結(jié)束,并且都由唯一的實(shí)體實(shí)例標(biāo)識(shí)號(hào)ID(正整數(shù))標(biāo)識(shí),ID號(hào)是為了區(qū)別不同的實(shí)體實(shí)例。實(shí)體實(shí)例的關(guān)鍵字跟在ID號(hào)的后面,是與其他語言建立映射的關(guān)鍵。實(shí)體實(shí)例的實(shí)體名稱和屬性包含在關(guān)鍵字后面的括號(hào)里,實(shí)體名稱和屬性之間用特殊字符“,”分割開來。實(shí)體實(shí)例之間可以被調(diào)用形成拓?fù)潢P(guān)系,構(gòu)成幾何實(shí)體特征,同一個(gè)實(shí)體實(shí)例可以被多個(gè)實(shí)例調(diào)用[4]。

        STEP中性文件對(duì)產(chǎn)品的描述主要基于b-rep表達(dá)的實(shí)體造型,由點(diǎn)、線、邊、環(huán)、面、殼通過路徑使產(chǎn)品幾何與拓?fù)湫畔⒙?lián)系在一起,從而建立實(shí)體模型。“CLOSED_SHELL”表示殼,處于最上方,它是由高端面“ADVANCED_FACE”形成的一個(gè)集合,面又是由面邊界“FACE_OUTER_BOUND”組成。方向“DIRECTION”和笛卡爾坐標(biāo)點(diǎn)“CARTESIAN_POINT”是最基本的元素[5]。

        圖1 Pro/e生成的轉(zhuǎn)子封閉軌跡

        圖1 是Pro/e生成的轉(zhuǎn)子封閉軌跡,從它所形成的STEP中性文件的部分描述可以看出各個(gè)實(shí)體間的聯(lián)系(如圖2所示)。幾何實(shí)體軸由#87定義,它由高端面#48、#63、#76、#86組成。端面#48又是由面邊界#47和平面#41組成,#41通過三維空間的2坐標(biāo)軸系#40定義,而#40由笛卡爾點(diǎn)#37給出坐標(biāo)位置,由#38和#39給出方向;半圓柱面#63由面邊界#62和圓柱面#53組成,#53通過三維空間的2坐標(biāo)軸系#52和圓柱面半徑2.5定義,而#52由笛卡爾點(diǎn)#49給出坐標(biāo)位置,由#50和#51給出方向;半圓柱面#76由面邊界#75和圓柱面#68組成,#68通過三維空間的2坐標(biāo)軸系#67和圓柱面半徑2.5定義,而#57由笛卡爾點(diǎn)#64給出坐標(biāo)位置,由#65和#66給出方向;端面#86又是由面邊界#85和平面#81組成,#81通過三維空間的2坐標(biāo)軸系#80定義,而#80由笛卡爾點(diǎn)#77給出坐標(biāo)位置,由#78和#79給出方向。

        圖2 Pro/e生成的中性文件各個(gè)實(shí)體間的聯(lián)系

        2 實(shí)體映射的建立

        STEP標(biāo)準(zhǔn)以EXPRESS作為其形式化的建模語言。EXPRESS建模語言在STEP中性文件中用于規(guī)定實(shí)體實(shí)例的語法結(jié)構(gòu),描述實(shí)體實(shí)例的信息需求,是建立映射的基礎(chǔ)。從描述結(jié)構(gòu)上看,可分為:應(yīng)用層、模式層、說明層。模式說明描述了一個(gè)邏輯上獨(dú)立、完整的概念模式,包含類型說明(TYPE specification)、實(shí)體說明(ENTITY specification)、規(guī)則說明(RULE specifi cation)、常數(shù)說明(CONST specifi cation)等。一個(gè)應(yīng)用數(shù)據(jù)模式說明可以用幾個(gè)子模式說明表示,這些子模式間可以并列、嵌套或者相互引用,也可以引用別的模式說明中的實(shí)體說明[6]。

        要把用EXPRESS描述的STEP中性文件格式翻譯為c++描述的格式,就要建立相對(duì)應(yīng)的映射規(guī)則。EXPRESS的數(shù)據(jù)類型包括簡單數(shù)據(jù)類型、聚合數(shù)據(jù)類型、命名數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型和廣義數(shù)據(jù)類型。簡單數(shù)據(jù)類型映射定義如表1所示。

        表1 EXPRESS簡單數(shù)據(jù)類型與C++映射關(guān)系

        所有的聚合數(shù)據(jù)類型(LIST,ARRAY,SET,BAG)都映射定義為c++數(shù)組數(shù)據(jù)類型如表2所示。

        表2 EXPRESS聚合數(shù)據(jù)類型與C++映射關(guān)系

        其他數(shù)據(jù)類型的映射定義如表3所示。

        表3 EXPRESS其他數(shù)據(jù)類型與C++映射關(guān)系

        通過以上映射規(guī)則就可以建立相對(duì)應(yīng)的映射,把EXPRESS實(shí)體映射為c++的類,從而將EXPRESS描述方法翻譯為c++所描述的格式,下面是建立對(duì)應(yīng)映射的應(yīng)用實(shí)例,如表4所示。

        表4 EXPRESS實(shí)體到C++實(shí)體映射

        3 實(shí)例化

        STEP中性文件的c++實(shí)例化就是要把STEP中性文件描述的產(chǎn)品信息轉(zhuǎn)化為c++語言的描述。由于STEP中性文件是一個(gè)龐大的字符串形式的文本文件,必須對(duì)中性文件做預(yù)處理才能進(jìn)行操作。因?yàn)橹行晕募?shù)據(jù)段具有固定的格式,因此可以采用字符分割的方法將實(shí)體的信息進(jìn)行分段,將分段后的信息保存在結(jié)構(gòu)體中以備利用。所謂字符分割就是以“=”、“,”、“(”、“)”作為特殊字符,將實(shí)體信息在這些特殊字符處分割成各個(gè)部分。

        STEP中性文件經(jīng)過詞法分析預(yù)處理后被保存在結(jié)構(gòu)體中,通過結(jié)構(gòu)體中的m_strKeyword[]建立關(guān)鍵字表,將所有的關(guān)鍵字包含在關(guān)鍵字表里。

        結(jié)構(gòu)體形式如下:

        struct mode

        { char m_strID[]; /*實(shí)體標(biāo)識(shí)號(hào)*/

        char m_strKeyword[]; /*實(shí)體關(guān)鍵字*/

        char m_strName[]; /*實(shí)體名稱*/

        char m_Attr1[]; /*實(shí)體屬性1*/

        char m_Attr2 []; /*實(shí)體屬性2*/

        char m_Attr3 []; /*實(shí)體屬性3*/

        ……

        };

        轉(zhuǎn)子模型的STEP中性文件經(jīng)過預(yù)處理模塊處理后其所描述的產(chǎn)品信息被保存在結(jié)構(gòu)體mode中。首先遍歷由結(jié)構(gòu)體中m_strKeywords[]建立的關(guān)鍵字表,調(diào)出關(guān)鍵字,然后根據(jù)所編寫的判斷程序,查找關(guān)鍵字在內(nèi)存中所對(duì)應(yīng)的c++實(shí)體類描述,建立該實(shí)體c++描述的映射關(guān)系,然后將保存在結(jié)構(gòu)體中的實(shí)體信息作為參數(shù)傳遞給對(duì)應(yīng)的c++實(shí)體類,構(gòu)造c++實(shí)體對(duì)象,從而完成中性文件中實(shí)體的實(shí)例化。流程如圖3所示。

        圖3 實(shí)例化流程

        笛卡爾點(diǎn)的實(shí)例化部分程序如下:

        If(strcmp(m1.m_strKeywords,"CARTESIAN_POINT")==0)

        //通過關(guān)鍵字表判斷CARTESIAN_POINT是否為關(guān)鍵字

        { fl oat d1,d2,d3;

        int id;

        d1=atof(m1.m_Attr1);//將結(jié)構(gòu)體中的屬性轉(zhuǎn)化為浮點(diǎn)型

        d2=atof(m1.m_ Attr2);

        d3=atof(m1.m_ Attr3);

        id=atof(m1.m_ID);

        CARTESIAN_POINT cartesian_point;//建立名為cartesian_point的對(duì)象

        cartesian_point.Getcartesian_pointparamter(d1,d2,d3,id);

        //實(shí)例化cartesian_point對(duì)象

        }

        4 結(jié)束語

        針對(duì)特定的轉(zhuǎn)子分析軟件,通過對(duì)轉(zhuǎn)子模型的STEP中性文件結(jié)構(gòu)分析,建立其與c++之間的映射關(guān)系,在詞法分析模塊預(yù)處理后,按照其與c++間的映射關(guān)系,通過實(shí)例化程序完成中性文件的c++實(shí)例化。本文對(duì)于實(shí)現(xiàn)CAD與旋轉(zhuǎn)機(jī)械CAE系統(tǒng)分析軟件的集成有重要參考價(jià)值。

        [1] 童秉樞,李學(xué)志,吳軍.機(jī)械CAD技術(shù)基礎(chǔ)(第2版)[M].北京:清華大學(xué)出版社,2003.

        [2] 河南工業(yè)大學(xué).河南省高校杰出科研人才創(chuàng)新工程資助項(xiàng)目—“旋轉(zhuǎn)機(jī)械的隨機(jī)參數(shù)系統(tǒng)動(dòng)力學(xué)問題研究及應(yīng)用”課題研究報(bào)告[E].2009,9.

        [3] 董曉嵐,黃筱調(diào).關(guān)于STEP中性文件數(shù)據(jù)結(jié)構(gòu)的研究與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造,2005,10(10):49-51.

        [4] 王銳,張承瑞,劉日良.step中性文件的信息提取與圖形顯示[J].機(jī)械科學(xué),2004,9:1117-1119.

        [5] ISO Industrial Automation Systems and Integration-Product Data Representation and Exchange-Part 21:Implementation Method :Clesr Text Encoding of the Exchange Structure[S]. ISO 10303-21,1994.

        [6] 徐曉明,盧炎麟.STEP模式的關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)中的數(shù)據(jù)字典及其映射方法[J].現(xiàn)代制造工程,2006,9.

        猜你喜歡
        圓柱面數(shù)據(jù)類型關(guān)鍵字
        履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
        詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
        圓柱體全局尺寸評(píng)定結(jié)果的可視化研究*
        基于多線激光雷達(dá)的圓柱面檢測
        如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
        成功避開“關(guān)鍵字”
        確定空間圓柱面方程的方法探析
        第十講 幾何公差代號(hào)標(biāo)注示例10
        ——目鏡套筒
        基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
        誘導(dǎo)性虛假下載鏈接不完全評(píng)測
        中文字幕一区二区网站| 一品二品三品中文字幕| 国产精品爽爽va在线观看无码| 午夜精品久久久久久99热| 欧美日韩一区二区综合| 九九精品无码专区免费| 亚洲高清一区二区三区视频| 久久综合九色综合97婷婷| 99爱在线精品免费观看| 国产目拍亚洲精品一区二区| 国产三级国产精品三级在专区| 国产精品成人av一区二区三区| 成年女人vr免费视频| 国产精品久久久久久久久鸭| 亚洲欧美香港在线观看三级片| av网站一区二区三区| 美丽小蜜桃1一3在线观看| 97久久精品人妻人人搡人人玩| 四虎影视在线观看2413| 白白色发布永久免费观看视频| 一本一道久久综合久久| 国产莉萝无码av在线播放| 99精品成人片免费毛片无码| 久久精品国产福利亚洲av| 男吃奶玩乳尖高潮视频| 少妇仑乱a毛片| 精品国产三级在线观看| 亚洲无码中文字幕日韩无码| 精品女厕偷拍视频一区二区| 成人精品视频一区二区三区尤物| 欧美色图中文字幕| 亚洲国产一区二区精品| 4455永久免费视频| 任你躁国产自任一区二区三区 | 色婷婷五月综合久久| 欧美自拍视频在线| 粗大挺进孕妇人妻在线| 欧美奶涨边摸边做爰视频| 亚洲精品久久久久中文字幕二区| 一本色道久久综合中文字幕| 国产一区二区三区天堂|