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

?

基于STEP-NC幾何信息提取技術(shù)的研究

2016-06-01 11:35李梅竹
鍛壓裝備與制造技術(shù) 2016年2期
關(guān)鍵詞:實例實體對象

李梅竹

(陜西廣播電視大學 工程管理教學部,陜西 西安 710119)

基于STEP-NC幾何信息提取技術(shù)的研究

李梅竹

(陜西廣播電視大學 工程管理教學部,陜西 西安 710119)

本文使用ROSE庫函數(shù),將EXPRESS語言描述的AP-203文件信息轉(zhuǎn)換為STEP設(shè)計對象和C++類,按AP-203數(shù)據(jù)模型的幾何信息屬性的層次結(jié)構(gòu),逐次提取幾何信息,主要包括頭段和數(shù)據(jù)段信息的提取。對實現(xiàn)CAD/CAPP集成提供了技術(shù)支持,是實現(xiàn)STEP-NC的基礎(chǔ)。

信息提?。籄P-203;STEP-NC;幾何信息

基于STEP-NC的數(shù)控程序是STEP標準在制造領(lǐng)域的延伸[1-2],STEP-NC與STEP使用相同的結(jié)構(gòu)體系和方法論,所以要成功地實現(xiàn)STEP-NC,就必須深刻理解STEP的方法論和結(jié)構(gòu)體系。應(yīng)用協(xié)議AP-238是STEP-NC的技術(shù)定義,它的幾何定義與STEP AP-203相同,因此對STEP AP-203進行幾何信息的提取即為AP-238文件的生成提供基礎(chǔ)。

1 STEP的方法論

ISO10303 Part21定義了以EXPRESS語言描述的產(chǎn)品數(shù)據(jù)從一計算機系統(tǒng)到另一計算機系統(tǒng)的交換機制。主要包括交換結(jié)構(gòu)的句法和語法規(guī)范、從EXPRESS模式到句法和語法的映射等內(nèi)容。文件的擴展名為.stp或.step。STEP物理文件包括頭文件段和數(shù)據(jù)段兩部分。

(1)頭文件段包括文件描述、文件名和文件模式三部分。文件描述中包含一些有關(guān)中性文件內(nèi)容的非正式描述和該文件要求的后處理器層次。文件名提供了人可讀的關(guān)于交換結(jié)構(gòu)的信息。文件模式實體表明數(shù)據(jù)段中實體實例的EXPRESS模式。

(2)數(shù)據(jù)段包含了由交換結(jié)構(gòu)所傳遞的數(shù)據(jù)實例。每個交換結(jié)構(gòu)至少有一個數(shù)據(jù)段。每個數(shù)據(jù)段包含了頭文件中EXPRESS模式所對應(yīng)的實體實例。實體實例在交換結(jié)構(gòu)中的位置并不是固定的,一個實體實例可能被它之前的其他實體實例參考。

AP應(yīng)用協(xié)議是STEP的可執(zhí)行的數(shù)據(jù)規(guī)范,它包括滿足特定應(yīng)用領(lǐng)域的產(chǎn)品數(shù)據(jù)需求的EXPRESS信息模型,由合適的集成資源和具體應(yīng)用領(lǐng)域的約束和特定概念組成。每個應(yīng)用協(xié)議分為幾個相對獨立又互相關(guān)聯(lián)的部分。這種結(jié)構(gòu)不僅有利于應(yīng)用協(xié)議的開發(fā),而且使得回顧、執(zhí)行和使用變得更加容易。

STEP-NC期望使用STEP的部分或全部的表達方法和體系結(jié)構(gòu),為CNC數(shù)據(jù)提供一種標準化的表達方式。STEP-NC有兩種數(shù)據(jù)模型:ISO10303中的AP-238[3]和ISO14649[4],其中AP-238為應(yīng)用解釋模型,而ISO14649為應(yīng)用參考模型。這兩種數(shù)據(jù)模型都可用作STEP-NC具體實現(xiàn)的源數(shù)據(jù)模型。

2 幾何信息提取過程

ST-Developer是美國STEPTools公司開發(fā)的計算機工具,ST-Developer提供的ROSE C++類庫,作為應(yīng)用系統(tǒng)與STEP數(shù)據(jù)、OODB、RDB或物理文件的接口。ROSE庫利用由一些C++類提供的函數(shù)來產(chǎn)生和操縱EXPRESS描述的模型中的數(shù)據(jù)。ROSE類庫聯(lián)編方式可以分為早聯(lián)編、晚聯(lián)編和混合聯(lián)編(早、晚聯(lián)編混合使用)三種方式[5]。早聯(lián)編方式是在編寫應(yīng)用程序之前,針對某一特定模式的應(yīng)用協(xié)議所對應(yīng)的模式文件,利用EXPRESS編譯器進行編譯產(chǎn)生C++類。用這些C++類創(chuàng)建應(yīng)用程序。在應(yīng)用程序中,只要包含編譯產(chǎn)生的C++類的頭文件就可以操作EXPRESS定義數(shù)據(jù)。晚聯(lián)編方式與早聯(lián)編方式有所不同,它利用EXPRESS編譯器編譯應(yīng)用協(xié)議對應(yīng)的模式文件,產(chǎn)生的不再是C++類,而是EXPRESS數(shù)據(jù)字典,利用EXPRESS數(shù)據(jù)字典來檢索數(shù)據(jù)。

在ST-Developer10.0環(huán)境下,以VC++6.0為開發(fā)工具,使用ROSE庫函數(shù),將EXPRESS語言描述的AP-203文件信息轉(zhuǎn)換為STEP設(shè)計對象和C++類,按AP-203數(shù)據(jù)模型的幾何信息屬性的層次結(jié)構(gòu),逐次提取幾何信息。如圖1所示,首先通過ROSE接口把AP-203文件中的所有實體信息讀入系統(tǒng)。然后,對一個確定實體,通過一個遍歷函數(shù)和ROSE功能擴展類從系統(tǒng)中讀取自己的屬性值。如果該屬性本身又是另一個實體,其自身還包括屬性,則就要再一次進行信息的提取和遍歷。當該實體的屬性及其子實體的屬性全部創(chuàng)建完成后,才完成該實體數(shù)據(jù)的全部提取過程。

圖1 幾何信息的提取過程

2.1 頭段提取及實例

頭段信息主要是與幾何信息相關(guān)的管理信息,描述文件的名稱、注釋等??梢允褂肦OSE C++類庫中的函數(shù)提取其中的相關(guān)信息。下面是使用ROSE C++類庫提取頭段信息基本方法的示意程序:

輸入的STEP文件的頭段部分信息內(nèi)容為圖2所示,提取出的頭段數(shù)據(jù)如圖3所示。

圖2 STEP文件的頭段部分信息圖

圖3 提取出的頭段信息

2.2 數(shù)據(jù)段提取及實例

數(shù)據(jù)段信息提取是AP-203信息模型的信息提取核心部分,主要是提取AP-203信息模型中的幾何信息,不同的STEP數(shù)據(jù)對象代表了不同的EXPRESS數(shù)據(jù)結(jié)構(gòu),把AP-203文件讀入計算機內(nèi)存后,需將AP-203文件映射為STEP設(shè)計對象和C++類。在數(shù)據(jù)轉(zhuǎn)換模塊中,本文使用混合聯(lián)編的方式來轉(zhuǎn)換EXPRSS數(shù)據(jù)格式:使用ROSE庫函數(shù)將STEP文件轉(zhuǎn)換為STEP設(shè)計對象,使用EXPRESS Compiler將EXPRESS定義的每個幾何實體轉(zhuǎn)化為相應(yīng)C++類,每類幾何實體是具有類似特性的對象,對象的特性在實體定義中用屬性和規(guī)則來表達,用ROSE API和C++類直接操作STEP文件。數(shù)據(jù)段中的每個實體實例用ROSE庫讀取到內(nèi)存后轉(zhuǎn)換為相應(yīng)的STEP設(shè)計對象,它是RoseObject類的一個實例。通過游標遍歷RoseCursor類來實現(xiàn)對一個設(shè)計內(nèi)部的遍歷。針對每個具體的STEP設(shè)計對象用getAttribute()函數(shù)按幾何信息的層次屬性順次提取其屬性值[4]。

2.2.1 STEP文件的讀入與遍歷

進行數(shù)控程序開發(fā)前,首先必須把實體實例文件讀到內(nèi)存中變?yōu)镾TEP數(shù)據(jù)對象,這一過程使用ROSE接口類函數(shù)findDesign()實現(xiàn),函數(shù)原形為RoseDesign*findDesign(char*design_name)。使用此函數(shù)搜索內(nèi)存和磁盤,尋找名字為design_name的設(shè)計對象,如果找到該設(shè)計對象就把它讀入內(nèi)存,否則返回NULL。

對于文件中的信息,通過遍歷STEP對象實體,利用 ROSE類庫中 RoseObject類建立實體的RoseObject對象指針。RoseObject類是所有STEP設(shè)計對象的父類,它提供了操作任意類型STEP數(shù)據(jù)的函數(shù)。通過游標遍歷ROSECursor類來實現(xiàn)對一個設(shè)計內(nèi)部的遍歷。

利用函數(shù)RoseInterface::beginTraversal()和RoseInterface::endTraversal()來界定遍歷的對象。

若所得實體屬性信息與AP-238應(yīng)用協(xié)議所規(guī)定的實體屬性信息的表達不符,則利用ROSE_CAST()函數(shù)將得到的實體指針轉(zhuǎn)換成所需的實體指針。對遍歷之后出現(xiàn)的冗余信息,使用函數(shù)rose_move_to_trash()或rose_empty_trash()進行刪除。

2.2.2 實體屬性的提取

設(shè)計對象中的STEP對象的屬性可以用晚聯(lián)編方式進行操作。晚聯(lián)編中使用RoseObject類中定義的get和put函數(shù)來讀寫每種數(shù)據(jù)類型的對象的屬性。其中g(shù)et函數(shù)的基本形式如value=get(attribute),put函數(shù)的基本形式如put(value,attribute)。

上面介紹了數(shù)據(jù)段信息的提取過程中的關(guān)鍵函數(shù),現(xiàn)以文件中的advanced_brep_shape_representation實體為例說明實體屬性的提取過程。其提取成員變量屬性的具體代碼為:

采取上述函數(shù)可完成advanced_brep_shape_representation實體所有屬性的提取,提取結(jié)果如圖4所示。

圖4 提取出的數(shù)據(jù)段信息

以上為 advanced_brep_shape_representation實體的提取方法,同理完成STEP文件的其余幾何信息的提取過程。提取出的信息作為特征識別的數(shù)據(jù)基礎(chǔ)。

3 結(jié)束語

本文在ST-Developer10.0環(huán)境下,以VC++6.0為開發(fā)工具,使用ROSE庫函數(shù),將EXPRESS語言描述的AP-203文件信息轉(zhuǎn)換為STEP設(shè)計對象和C++類,按AP-203數(shù)據(jù)模型的幾何信息屬性的層次結(jié)構(gòu),逐次提取幾何信息。提取出的信息作為特征識別的數(shù)據(jù)基礎(chǔ)。最后以STEP文件中的實體advanced_brep_shape_representation為例給出具體的實例提取方法。

[1]王淑紅,王 軍,孫 軍.ROSE類庫在STEP-NC數(shù)控程序中應(yīng)用的研究[J].機床與液壓,2007,35(2):66-68.

[2]李梅竹,田文欣,趙亞楠.基于STEP-NC型腔特征識別方法的研究[J].鍛壓裝備與制造技術(shù),2015,50(4):109-112.

[3] ISO/DIS 10303-238.Industrial automation systems and integration-Product data representation and exchange-Part238:Application protocol:Application interpreted model for computerized numerical controllers.2006:204-736.

[4] ISO14649-1.Industrial automation systems and Integration-Physical device control-ISO14649 Data model for Computerized Numerical Controllers-Part1:Overview and fundamental principles.2003:1-10.

[5] 王 軍,劉 哲,孫 軍.基于ST-Developer10幾何信息提取方法的研究[J].沈陽建筑大學學報,2006,22(1):163-167.

[6] 劉志強,張 維.基于多決策屬性的刀具選擇規(guī)則提取算法研究[J].鍛壓裝備與制造技術(shù),2012,47(3):90-92.

Study on extraction method of geometric information based on STEP-NC

LI Meizhu
(Dept.of Engineering Management,Shaanxi Radio&TV University,Xi'an 710119,Shaanxi China)

By use of the ROSE library function,the AP-203 file information described by the EXPRESS language has been converted into STEP design object and C++class.Accordingto the hierarchical structure of geometric information attributes for the AP-203 data model,the geometric information has been extracted, which mainly includes the header and data segment information extraction.It provides technical support for the realization of CAD/CAPP integration,which is the basis of STEP-NC.

STEP-NC;AP-203;Geometric information;Information extraction

TP391

A

10.16316/j.issn.1672-0121.2016.02.032

1672-0121(2016)02-0117-03

2015-11-10;

2016-01-07

李梅竹(1982-),女,碩士,講師,從事計算機集成制造系統(tǒng)研究。E-mail:meizi86@163.com

猜你喜歡
實例實體對象
涉稅刑事訴訟中的舉證責任——以納稅人舉證責任為考察對象
前海自貿(mào)區(qū):金融服務(wù)實體
攻略對象的心思好難猜
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
兩會進行時:緊扣實體經(jīng)濟“釘釘子”
振興實體經(jīng)濟地方如何“釘釘子”
基于熵的快速掃描法的FNEA初始對象的生成方法
區(qū)間對象族的可鎮(zhèn)定性分析
完形填空Ⅱ
完形填空Ⅰ
溧水县| 运城市| 安徽省| 伊吾县| 桓仁| 吉木萨尔县| 呼图壁县| 仙桃市| 屏南县| 平江县| 东莞市| 宜昌市| 涞源县| 麟游县| 宁国市| 泾川县| 南通市| 保亭| 兴和县| 独山县| 昔阳县| 宜都市| 边坝县| 建平县| 溧阳市| 青田县| 莱芜市| 涪陵区| 浪卡子县| 邮箱| 克什克腾旗| 苗栗市| 阿拉善右旗| 汉寿县| 蓝山县| 大同县| 榆林市| 界首市| 资源县| 花垣县| 郴州市|