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

基于STEP中性文件的旋轉機械Pro/E模型C++實例化

2013-08-22 07:34:54劉保國徐小定岳龍旺華海峰
制造業自動化 2013年4期

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

(河南工業大學 機械電子工程研究所,鄭州 450052)

0 引言

STEP(Standard for the Exchange of Product Model Data)標準是一套關于產品整個生命周期中產品數據的表達和交換的國際標準,通過一種不依賴于具體系統的中性機制,實現產品全生命周期中的產品信息數據表達的一致性和完整性[1]。隨著制造業自動化的快速發展,STEP標準已經得到了普遍的重視和應用,特別是在航空航天、船舶、汽車等行業更是有了很大的發展。

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

旋轉機械是工程中廣泛使用的一類設備,其動力學問題的分析方法與一般的機械結構動力學問題不同,為此,作者及其領導的課題組開發了旋轉機械CAE系統。這是一款針對旋轉機械設備動、靜力學問題的特點專門開發的分析軟件,可以分析轉子的固有頻率、臨界轉速、穩定性、不平衡響應等,也可以進行旋轉機械設備的動平衡計算[2]。

本文以旋轉機械的轉子為研究對象,在對基于STEP標準的中性文件進行結構分析的基礎上,通過建立中性文件與c++之間的映射關系,實現中性文件c++對象的實例化,最終實現CAD與旋轉機械CAE系統分析軟件之間的無縫聯接。

1 Step中性文件的結構

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

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

數據段是由EXPRESS定義的概念模式中實體的實例,以關鍵字DATA開頭,以關鍵字ENDSCE結束,包含了產品的幾何數據信息和拓撲關系。

中性文件舉例如下:

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

HEADER; /*頭部段開始*/

…… /*文件信息*/

ENDSEC; /*頭部段結束*/

DATA; /*數據段開始*/

……

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

……

ENDSEC; /*數據段結束*/

END-ISO-10303-21; /*文件結束*/

中性文件的數據段描述格式如下:

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

在數據段中,產品的幾何實體分成很多的實體實例,每個實體實例都以“#”開始,以“;”結束,并且都由唯一的實體實例標識號ID(正整數)標識,ID號是為了區別不同的實體實例。實體實例的關鍵字跟在ID號的后面,是與其他語言建立映射的關鍵。實體實例的實體名稱和屬性包含在關鍵字后面的括號里,實體名稱和屬性之間用特殊字符“,”分割開來。實體實例之間可以被調用形成拓撲關系,構成幾何實體特征,同一個實體實例可以被多個實例調用[4]。

STEP中性文件對產品的描述主要基于b-rep表達的實體造型,由點、線、邊、環、面、殼通過路徑使產品幾何與拓撲信息聯系在一起,從而建立實體模型?!癈LOSED_SHELL”表示殼,處于最上方,它是由高端面“ADVANCED_FACE”形成的一個集合,面又是由面邊界“FACE_OUTER_BOUND”組成。方向“DIRECTION”和笛卡爾坐標點“CARTESIAN_POINT”是最基本的元素[5]。

圖1 Pro/e生成的轉子封閉軌跡

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

圖2 Pro/e生成的中性文件各個實體間的聯系

2 實體映射的建立

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

要把用EXPRESS描述的STEP中性文件格式翻譯為c++描述的格式,就要建立相對應的映射規則。EXPRESS的數據類型包括簡單數據類型、聚合數據類型、命名數據類型、構造數據類型和廣義數據類型。簡單數據類型映射定義如表1所示。

表1 EXPRESS簡單數據類型與C++映射關系

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

表2 EXPRESS聚合數據類型與C++映射關系

其他數據類型的映射定義如表3所示。

表3 EXPRESS其他數據類型與C++映射關系

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

表4 EXPRESS實體到C++實體映射

3 實例化

STEP中性文件的c++實例化就是要把STEP中性文件描述的產品信息轉化為c++語言的描述。由于STEP中性文件是一個龐大的字符串形式的文本文件,必須對中性文件做預處理才能進行操作。因為中性文件數據段具有固定的格式,因此可以采用字符分割的方法將實體的信息進行分段,將分段后的信息保存在結構體中以備利用。所謂字符分割就是以“=”、“,”、“(”、“)”作為特殊字符,將實體信息在這些特殊字符處分割成各個部分。

STEP中性文件經過詞法分析預處理后被保存在結構體中,通過結構體中的m_strKeyword[]建立關鍵字表,將所有的關鍵字包含在關鍵字表里。

結構體形式如下:

struct mode

{ char m_strID[]; /*實體標識號*/

char m_strKeyword[]; /*實體關鍵字*/

char m_strName[]; /*實體名稱*/

char m_Attr1[]; /*實體屬性1*/

char m_Attr2 []; /*實體屬性2*/

char m_Attr3 []; /*實體屬性3*/

……

};

轉子模型的STEP中性文件經過預處理模塊處理后其所描述的產品信息被保存在結構體mode中。首先遍歷由結構體中m_strKeywords[]建立的關鍵字表,調出關鍵字,然后根據所編寫的判斷程序,查找關鍵字在內存中所對應的c++實體類描述,建立該實體c++描述的映射關系,然后將保存在結構體中的實體信息作為參數傳遞給對應的c++實體類,構造c++實體對象,從而完成中性文件中實體的實例化。流程如圖3所示。

圖3 實例化流程

笛卡爾點的實例化部分程序如下:

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

//通過關鍵字表判斷CARTESIAN_POINT是否為關鍵字

{ fl oat d1,d2,d3;

int id;

d1=atof(m1.m_Attr1);//將結構體中的屬性轉化為浮點型

d2=atof(m1.m_ Attr2);

d3=atof(m1.m_ Attr3);

id=atof(m1.m_ID);

CARTESIAN_POINT cartesian_point;//建立名為cartesian_point的對象

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

//實例化cartesian_point對象

}

4 結束語

針對特定的轉子分析軟件,通過對轉子模型的STEP中性文件結構分析,建立其與c++之間的映射關系,在詞法分析模塊預處理后,按照其與c++間的映射關系,通過實例化程序完成中性文件的c++實例化。本文對于實現CAD與旋轉機械CAE系統分析軟件的集成有重要參考價值。

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

[2] 河南工業大學.河南省高校杰出科研人才創新工程資助項目—“旋轉機械的隨機參數系統動力學問題研究及應用”課題研究報告[E].2009,9.

[3] 董曉嵐,黃筱調.關于STEP中性文件數據結構的研究與實現[J].機械設計與制造,2005,10(10):49-51.

[4] 王銳,張承瑞,劉日良.step中性文件的信息提取與圖形顯示[J].機械科學,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模式的關系數據庫實現中的數據字典及其映射方法[J].現代制造工程,2006,9.

主站蜘蛛池模板: 亚洲中文字幕无码爆乳| 天天色综合4| 99久久精彩视频| 欧洲熟妇精品视频| 亚洲无码视频喷水| 偷拍久久网| 亚洲精品在线91| 精品欧美一区二区三区在线| 精品福利视频网| 激情综合激情| 色悠久久综合| 91久久青青草原精品国产| 日韩无码真实干出血视频| 国产精品永久在线| 国产精品第页| 一本视频精品中文字幕| 成人综合在线观看| 日韩av资源在线| 国产亚洲精品自在线| 国产精品欧美在线观看| 刘亦菲一区二区在线观看| 国内毛片视频| 国产精欧美一区二区三区| 亚洲黄网在线| 亚洲日韩AV无码精品| 亚洲午夜国产精品无卡| 亚洲一区二区三区在线视频| 天堂久久久久久中文字幕| 免费A级毛片无码无遮挡| 欧美A级V片在线观看| 全部无卡免费的毛片在线看| 亚洲福利片无码最新在线播放| 成人福利在线视频免费观看| 亚洲高清中文字幕在线看不卡| 国产成人成人一区二区| 波多野一区| 日韩午夜福利在线观看| 中文无码日韩精品| 亚洲人成亚洲精品| 久久精品这里只有精99品| 毛片在线播放网址| 欧美日韩精品在线播放| 亚洲精品无码日韩国产不卡| 色婷婷在线播放| 亚洲永久免费网站| 台湾AV国片精品女同性| 亚洲成AV人手机在线观看网站| 国产日韩欧美中文| 国产精品福利社| 亚洲伊人天堂| 国产乱子伦精品视频| 欧美人与性动交a欧美精品| 中文精品久久久久国产网址| 免费99精品国产自在现线| 亚洲黄网在线| 亚洲AⅤ无码国产精品| 最新日韩AV网址在线观看| 在线观看亚洲人成网站| 亚洲成年人片| 国产a v无码专区亚洲av| 国产一区二区三区精品欧美日韩| 制服丝袜国产精品| 亚洲视频一区| 在线观看网站国产| 久久人人97超碰人人澡爱香蕉| 日韩福利视频导航| 欧美三級片黃色三級片黃色1| 白丝美女办公室高潮喷水视频| 真实国产乱子伦高清| 成人在线天堂| 国产又粗又猛又爽视频| 婷婷五月在线视频| www精品久久| 性欧美在线| 五月婷婷亚洲综合| 欧美a在线视频| 日韩在线中文| 亚洲欧美日韩另类在线一| 国产精品亚洲欧美日韩久久| 国产福利在线免费观看| 亚洲国产成人精品一二区| 99久久性生片|