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

        ?

        基于STEP生成A P-238文件方法的研究

        2015-11-09 08:29:34李梅竹
        機(jī)械工程師 2015年3期
        關(guān)鍵詞:類(lèi)庫(kù)編譯器實(shí)例

        李梅竹

        (陜西廣播電視大學(xué) 工程管理系,西安 710119)

        0 引言

        STEP-NC的數(shù)控程序不僅包含零件的三維幾何信息,而且還包含了工藝信息和加工信息,從而克服了傳統(tǒng)的基于ISO6983標(biāo)準(zhǔn)的數(shù)控程序的信息損失、程序修改困難等缺點(diǎn)。STEP-NC有兩種數(shù)據(jù)模型:ISO10303中的AP-238[1]和 ISO14649[2-3],其中 AP-238 為應(yīng)用解釋模型,而ISO14649為應(yīng)用參考模型。本文采用ISO10303 AP-238作為STEP-NC的執(zhí)行方法。

        1 AP-238文件的生成原理

        從EXPRESS角度出發(fā),應(yīng)用程序以實(shí)體實(shí)例或?qū)傩灾禐閱挝贿M(jìn)行訪問(wèn)和操作數(shù)據(jù)。ROSE C++類(lèi)庫(kù),它是ST-Developer中的一個(gè)開(kāi)發(fā)環(huán)境,提供了面向?qū)ο蟮腁PI,可以滿(mǎn)足STEP應(yīng)用開(kāi)發(fā)的特定需求。利用這個(gè)庫(kù)可以將EXPRESS模型中的每一個(gè)實(shí)體(Entity)轉(zhuǎn)換為一個(gè)C++類(lèi),通過(guò)這些C++類(lèi),應(yīng)用程序可以快速寫(xiě)入屬性數(shù)據(jù),并且容易擴(kuò)展。因此本文的生成過(guò)程中借助STEPTools公司提供的ST-Developer來(lái)操作數(shù)據(jù),完成有關(guān)數(shù)據(jù)的寫(xiě)入操作。

        應(yīng)用解釋模型是通過(guò)映射表來(lái)實(shí)現(xiàn)的,映射表定義了每個(gè)確定的信息需求是如何被滿(mǎn)足的[4]。映射表的格式如表 1 所示[1],其中:1)第一列為應(yīng)用元素。這一列表示的為應(yīng)用元素的名稱(chēng),這個(gè)名稱(chēng)是與應(yīng)用對(duì)象定義中出現(xiàn)的名稱(chēng)相一致的。2)第二列為應(yīng)用解釋模型的元素。應(yīng)用實(shí)體屬性的名字以<實(shí)體名稱(chēng)>.<屬性名稱(chēng)>被提及。3)第三列為資源。主要說(shuō)明這個(gè)應(yīng)用解釋模型的元素來(lái)源。4)第四列為規(guī)則。這些規(guī)則主要是源于應(yīng)用對(duì)象之間的關(guān)系,相同的規(guī)則是由所有有關(guān)的AIM元素的映射條款所涉及。5)第五列為參考路徑。描述了應(yīng)用對(duì)象完整的映射,它通過(guò)一些相關(guān)的AIM元素指定了一個(gè)必要的參考路徑。

        表1 部分映射表信息

        從實(shí)體的映射表可以看出,它對(duì)實(shí)體的每一個(gè)屬性都給了全面的解釋?zhuān)瑥膶傩缘膩?lái)源到屬性信息的參考路徑都有涉及到。從以實(shí)體為對(duì)象的角度分析,這個(gè)映射表全面給出了實(shí)體本身和它所包含屬性之間的關(guān)系,并且對(duì)各個(gè)屬性?xún)?nèi)容給出一定的解釋。按照映射表所包含屬性的順序,對(duì)表中的每一個(gè)屬性進(jìn)行分析,其中參考路徑為分析的重點(diǎn)。

        2 AP-238文件頭段的生成

        STEP物理交換文件的頭段信息包含了幾個(gè)描述性對(duì)象:文件描述實(shí)體的屬性;文件名實(shí)體的屬性;文件模式實(shí)體。當(dāng)創(chuàng)建一個(gè)新的設(shè)計(jì)對(duì)象時(shí),利用RoseDesign類(lèi)的initialize_header()函數(shù)建立頭段對(duì)象信息,具體信息由 header_description()和 header_name()來(lái)創(chuàng)建,文件模式(file_schema)由useSchema()函數(shù)寫(xiě)入。

        下面是一個(gè)頭段信息建立的實(shí)例:

        design=new RoseDesign("lmz","integrated_cnc_schema");

        Design->format("step");//以STEP Part21的格式寫(xiě)入

        Design->initialize_header();

        Design->header_description()->description()->add("AP-238 file");

        ……

        Design->header_name()->authorisation("Someone else");

        3 AP-238文件數(shù)據(jù)段的生成

        基于ROSE類(lèi)庫(kù)采用兩種數(shù)據(jù)段的生成方法,即早聯(lián)編和晚聯(lián)編。本文采用的是早聯(lián)編。

        3.1 早聯(lián)編方式生成數(shù)據(jù)段方法

        早聯(lián)編方式生成數(shù)據(jù)段時(shí),首先把應(yīng)用協(xié)議AP-238對(duì)應(yīng)的模式文件用EXPRESS編譯器編譯,把應(yīng)用協(xié)議中的實(shí)體轉(zhuǎn)化成C++類(lèi)。在生成數(shù)據(jù)段的應(yīng)用程序中使用這些類(lèi)創(chuàng)建對(duì)應(yīng)實(shí)體的實(shí)例,并給實(shí)體中的屬性賦值。應(yīng)用協(xié)議中每個(gè)實(shí)體都具有約束規(guī)則,因此在生成實(shí)體實(shí)例時(shí)必須滿(mǎn)足各實(shí)體的約束規(guī)則,這樣生成的AP-238文件才能滿(mǎn)足一致性要求,在應(yīng)用程序中按照實(shí)體約束規(guī)則的描述,用對(duì)應(yīng)的C++類(lèi)生成規(guī)則中的實(shí)體實(shí)例。應(yīng)用協(xié)議中全部相關(guān)實(shí)體及對(duì)應(yīng)的規(guī)則中的實(shí)體實(shí)例構(gòu)成了應(yīng)用協(xié)議對(duì)應(yīng)的STEP物理文件。

        3.2 數(shù)據(jù)段生成方法實(shí)例

        下面以AP-238協(xié)議中定義的實(shí)體machining_workingstep為例講述早聯(lián)編方式生成STEP文件數(shù)據(jù)段的過(guò)程和方法。

        machining_workingstep 實(shí)體的 EXPRESS 定義如下[1]:

        ENTITY machining_workingstep

        SUBTYPE OF(machining_process_executable);

        name:STRING;

        description:STRING;

        consequence:STRING;

        purpose:STRING;

        END_ENTITY;

        由EXPRESS定義可以看出實(shí)體machining_workingstep是實(shí)體machin-ing_process_executable的子類(lèi),它繼承了實(shí)體machining_process_executable的所有屬性。

        實(shí)體machining_workingstep的5條約束規(guī)則分別為:

        WR1:machining_workingstep實(shí)體實(shí)例必須是實(shí)體machining_process_-sequence_relationship的屬性related_method的值,并且此實(shí)體的屬性relating_method的值是machining_process_executable實(shí)體類(lèi)型。

        WR2:machining_workingstep實(shí)體必須是實(shí)體action_property的屬性definition的值,并且實(shí)體action_property的 name屬性值為“toolpath orientation”,用來(lái)描述實(shí)體action_property的representation實(shí)體需要包含一個(gè)axis2_placement_3d類(lèi)型的representation_item實(shí)體。

        WR3:machining_workingstep的 description屬性必須為“machining”或“turning”。并且它必須滿(mǎn)足函數(shù)very_optional_in_process_geometry中測(cè)試的條件,即只有當(dāng)輸入的machining_process_executable滿(mǎn)足一定條件,very_optional_in_process_geometry函數(shù)返回真。

        WR4:machining_workingstep的 description屬性為“machining”時(shí),必須滿(mǎn)足以下的條件:

        1)machining_workingstep實(shí)體是實(shí)體 machining_feature_relationship的屬性relating_method的值,實(shí)體machining_feature_relationship的屬性related_method的值為machining_feature_process實(shí)體類(lèi)型;

        2)machining_workingstep實(shí)體是實(shí)體 machining_final_feature_relation-ship的屬性relating_method的值,實(shí)體 machining_final_feature_relationship的屬性related_method的值為machining_feature_process實(shí)體類(lèi)型;

        3)machining_workingstep實(shí)體是實(shí)體 machining_operation_relationship的屬性relating_method的值,實(shí)體machining_operation_relationship的屬性related_method的值為machining_operation實(shí)體類(lèi)型。

        WR5:machining_workingstep的 description屬性為“turning”時(shí),必須滿(mǎn)足的條件與WR4相似在這里不詳細(xì)闡述。

        AP-238應(yīng)用協(xié)議對(duì)應(yīng)的模式文件為integrated_cnc_schema.exp,先用EXPRESS編譯器編譯該模式文件,編譯器界面如圖1所示。

        圖1 EXPRESS編譯器界面

        編譯完模式文件,可以得到包含實(shí)體machining_workingstep在內(nèi)的所有實(shí)體對(duì)應(yīng)的C++類(lèi)庫(kù),把C++類(lèi)庫(kù)添加到工程中。

        早聯(lián)編使用EXPRESS編譯器產(chǎn)生C++類(lèi)來(lái)生成STEP文件,代碼如下:

        machining_workplan*machin_workplan=pnew

        machining_workplan("machining operations","Routing 1","","");

        machining_workingstep*machin_workingstep=pnew machining_workingst-ep("WS 1","machining","","");

        machining_process_sequence_relationship*machin_process_sequence_relation =pnew machining_process_sequence_relationship

        ("","",machin_workplan,machin_workingstep,1.);

        characterized_action_definition*definition100=pnew characterized_action_definition();

        definition100->_action_method(machin_workingstep);

        action_property*action_propertyl=pnew action_property("toolpath orientation","",definition100);

        通過(guò)上述早聯(lián)編方式生成的AP-238文件代碼如圖2所示。

        此外對(duì)于聚合屬性的數(shù)據(jù)類(lèi)型,以SET數(shù)據(jù)類(lèi)型為例說(shuō)明其生成方法。例如實(shí)體representation的EXPRESS表達(dá)形式為:

        圖2 生成的部分AP-238文件

        ENTITY representation;

        name:label;

        items:SET[1:?]OF representation_item;

        context_of_items:representation_context;

        END_ENTITY;

        生成文件的編譯代碼如下所示:

        measure_representation_item*repitem1=pnew

        measure_representation_item("",mei,zhu);

        setOfrepresentation_item * setofrepitem1=pnew setOfrepresentation_item();

        setofrepitem1->add(repitem1);

        representation*rep11 =pnew representation("",setofrepitem1,li);

        生成對(duì)應(yīng)的AP-238文件代碼為:

        #96=REPRESENTATION('',(#33),#197);綜上可完成AP-238文件的生成。

        4 結(jié)論

        STEP物理文件交換是不同系統(tǒng)之間進(jìn)行數(shù)據(jù)交換最基本的途徑,也是實(shí)現(xiàn)STEP標(biāo)準(zhǔn)的最基本的方式,本論文主要研究AP-238文件的生成方法。文中的研究分為兩部分,即文件頭段生成方法和數(shù)據(jù)段生成方法,其中數(shù)據(jù)段部分用早聯(lián)編方式實(shí)現(xiàn)。最后以AP-238協(xié)議中定義的實(shí)體machining_workingstep為例給出具體實(shí)例詳細(xì)說(shuō)明生成方法。

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

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

        [3] ISO/FDIS 14649-10-2002 Industrial automation systems and integration-Physical device control-ISO14649 Data model for Computerized Numerical Controllers-Part10:General Process Data[S].

        [4] 王樹(shù)春.網(wǎng)絡(luò)制造中STEP-NC與XML數(shù)據(jù)轉(zhuǎn)換系統(tǒng)的開(kāi)發(fā)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006:18-19.

        猜你喜歡
        類(lèi)庫(kù)編譯器實(shí)例
        基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
        用Java編寫(xiě)客戶(hù)機(jī)/服務(wù)器端應(yīng)用程序
        Python在數(shù)據(jù)可視化中的應(yīng)用
        數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
        軟件工程(2017年12期)2018-01-29 17:35:55
        數(shù)據(jù)結(jié)構(gòu)可視化類(lèi)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
        完形填空Ⅱ
        完形填空Ⅰ
        通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
        編譯器無(wú)關(guān)性編碼在微控制器中的優(yōu)勢(shì)
        基于ARM嵌入式平臺(tái)的x86譯碼SOC架構(gòu)設(shè)計(jì)
        国产成人久久精品亚洲小说| 无码人妻精品一区二区| 国产精品永久久久久久久久久 | 人妻少妇被猛烈进入中文字幕| 18禁免费无码无遮挡不卡网站| 色偷偷av男人的天堂| 超91精品手机国产在线| 日本精品人妻一区二区三区| 亚洲一区二区三区日本久久九| 色婷婷五月综合激情中文字幕| 少妇高潮一区二区三区99| 亚洲中久无码永久在线观看软件| 日本熟妇中文字幕三级| 伊人久久大香线蕉综合av| 一区视频免费观看播放| 亚洲av网一区二区三区| 亚洲va无码手机在线电影| 国产午夜亚洲精品理论片不卡| 日韩Va亚洲va欧美Ⅴa久久| 国产精品一区二区久久久av| 亚洲视频在线观看| 亚洲永久无码动态图| 国产乱子伦视频一区二区三区| 中文少妇一区二区三区| av高潮一区二区三区| 国产精品爽爽久久久久久竹菊| 久久久久亚洲av片无码v| 欧洲亚洲第一区久久久| 久久精品国产亚洲av热九| 日韩亚洲精品国产第二页| 国产成人午夜无码电影在线观看 | 国产在线视频国产永久视频| av熟女一区二区久久| 少妇被躁到高潮和人狍大战| 精品国产综合区久久久久久| 日本亚洲色大成网站www久久| 亚洲午夜久久久久中文字幕| 在线观看日韩精品视频网站| 一边摸一边做爽的视频17国产 | 无码的精品免费不卡在线| 蜜桃精品国产一区二区三区|