青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

OpenCASCADE Extended Data Exchange - XDE

Posted on 2018-07-29 19:43 eryar 閱讀(4663) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

OpenCASCADE Extended Data Exchange - XDE

eryar@163.com

Abstract. OpenCASCADE Data Exchange allows developing OCCT-Based applications that can interact with other CAD systems by writing and reading CAD models to and from external data. The exchanges run smoothly regardless of the quality of external data or requirements to its internal representation, for example to the data types, accepted geometric inaccuracies, etc. Data Exchange is organized in a modular way as a set of interfaces that comply with various CAD formats: IGES, STEP, STL, VRML, etc. The interfaces allow software based on OCCT to exchange data with various CAD/PDM software packages, maintaining a good level of interoperability. Extended Data Exchange allows translating additional attributes attached to geometric data(colors, layers, names, materials, etc.)

Key Words. DataExchange, STEP, IGES, XDE, OCAF, 

1. Introduction

OpenCASCADE的DataExchange數據交換模塊可以通過讀寫CAD模型數據的方式與其他CAD系統進行交互。標準數據交換(Standardized Data Exchange)的接口可以查詢和檢查輸入文件,轉換文件中的CAD模型,正確性檢查。目前開源部分支持的文件格式有:

l STEP(AP203:Mechanical Design;AP214:Automotive Design)

l IGES(5.3版本)

l VRML和STL;

wps_clip_image-25767

Figure 1. 導入的STEP模型

2. Extended Data Exchange(XDE)

擴展的數據交換模塊可以轉換附加在幾何BREP體中其他信息,如顏色、圖層,組裝結構等,因此提高與其他CAD軟件的兼容性。目前包含這些信息的文件格式有IGES和STEP。XDE通過XCAF框架來讀寫包含顏色、圖層等信息的IGES,STEP文件。

wps_clip_image-29842

Figure 2. 使用XDE導入的模型

3. XDE Basic Terms

為了更好的理解XDE,定義了幾個關鍵術語:

l Shape:單獨的模型,不屬于任何裝配結構(a standalone shape, which does not belong to the assembly structure);

l Instance:其他模型的一個實例化,位置信息可以相同,也可以不同(a replication of another shape with a location that can be the same location or different one);

l Assembly:裝配結構;

4. XDE Organization

XDE的基礎是XCAF,XCAF是一個基于OCAF(Open CASCADE Technology Application Framework)框架的框架,可用于處理裝配信息和其他屬性數據。XDE使用OCAF來存儲裝配結構和屬性,所以可以得到裝配結構樹的每層TopoDS表示。

5. Assemblies

XDE支持裝配結構的讀寫。如下圖所示:

wps_clip_image-19676

Figure 3. 裝配結構樹

裝配結構通過OCAF的Label/SubLabel來組織:

wps_clip_image-18828

Figure 4. 一個簡單的框架模型 

類XCAFDoc_ShapeTool來管理Label中的模型屬性。

6. Names

XDE支持讀寫IGES和STEP中的名字數據。這個關閉這個功能以減小文件。

wps_clip_image-10693

Figure 5. 模型名字

7. Colors and Layers

XDE可以讀寫模型的顏色數據,使用到的類有:

l 通用顏色:generic color(XCAFDoc_ColorGen)

l 曲面顏色:surface color(XCAFDoc_ColorSurf)

l 曲線顏色:curve color(XCAFDoc_ColorCurv)

wps_clip_image-4463

Figure 6. XDE顏色

8. Code Example

程序將Draw Test Harness的samples的XDE的例子模型來測試讀取裝配結構、顏色等信息。首先將例子模型通過命令:WriteStep D d:/rod.step來保存裝配結構、顏色等數據到STEP格式。

wps_clip_image-24546

Figure 7. XDE Samples in Draw Test Harness

wps_clip_image-18659

Figure 8. Shapes with assembly and color info

使用XDE讀取STEP文件代碼示例如下:

Handle(XCAFDoc_ColorTool) aColorTool;
Handle(XCAFDoc_ShapeTool) aShapeTool;
void visit(const TDF_Label& theLabel)
{
    theLabel.EntryDump(std::cout);
    Handle(TDataStd_Name) aName;
    if (theLabel.FindAttribute(TDataStd_Name::GetID(), aName))
    {
        std::cout << "  Name: " << aName->Get() << std::endl;
    }
    if (aColorTool->IsSet(theLabel, XCAFDoc_ColorGen))
    {
        Quantity_Color aColor;
        aColorTool->GetColor(theLabel, aColor);
        std::cout << "  Color: " << Quantity_Color::StringName(aColor.Name()) << std::endl;
    }
    if (aShapeTool->IsShape(theLabel))
    {
        TopoDS_Shape aShape;
        aShapeTool->GetShape(theLabel, aShape);
    }
    for (TDF_ChildIterator c(theLabel); c.More(); c.Next())
    {
        visit(c.Value());
    }
}
void readStepXde(const std::string& theStepName)
{
    Handle(TDocStd_Document) aDoc;
    Handle(XCAFApp_Application) anApp = XCAFApp_Application::GetApplication();
    anApp->NewDocument("MDTV-XCAF", aDoc);
    STEPCAFControl_Reader aStepReader;
    aStepReader.SetColorMode(true);
    aStepReader.SetNameMode(true);
    aStepReader.ReadFile(theStepName.c_str());
    aStepReader.Transfer(aDoc);
    TDF_Label aRootLabel = aDoc->Main();
    aShapeTool = XCAFDoc_DocumentTool::ShapeTool(aRootLabel);
    aColorTool = XCAFDoc_DocumentTool::ColorTool(aRootLabel);
    visit(aRootLabel);
}
int main(int argc, char *argv[])
{
    readStepXde("D:/rod.STEP");
    return 0;
}

程序運行結果如下圖所示:

wps_clip_image-8893

Figure 9. 使用XDE讀取STEP裝配結構、顏色、名字等

9. Conclusion

使用XDE模塊支持STEP和IGES中的裝配結構、顏色、名字等信息的讀寫,提高與其他CAD系統數據交換效果。

XDE主要使用OCAF框架來處理裝配結構、屬性信息,所以要使用XDE,必須理解OCAF的框架,OCAF框架也是一個基于Label的樹結構。



為了方便大家在移動端也能看到我的博文和討論交流,現已注冊微信公眾號,歡迎大家掃描下方二維碼關注。
Shing Liu(eryar@163.com)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            老**午夜毛片一区二区三区| 亚洲国产精品久久久久秋霞影院| 在线一区二区三区做爰视频网站| 亚洲尤物在线| 亚洲视频福利| 一区二区三区 在线观看视| 久久手机精品视频| 久久先锋资源| 亚洲第一在线| 欧美一区二区三区成人| 亚洲视频在线观看三级| 欧美成人嫩草网站| 久久综合伊人77777麻豆| 国外成人在线视频网站| 欧美在线免费观看视频| 午夜精品免费| 国产午夜亚洲精品不卡| 中文精品视频一区二区在线观看| 亚洲性线免费观看视频成熟| 欧美性大战久久久久久久| 国产有码在线一区二区视频| 久久影院午夜论| 亚洲美女视频在线免费观看| 国产亚洲激情在线| 亚洲一区二区三区高清不卡| 免费观看一级特黄欧美大片| 亚洲精品一区二区三区蜜桃久| 欧美日韩国产一区| 亚洲欧美成aⅴ人在线观看| 亚洲图片在线观看| 国产精品美女黄网| 欧美一级专区免费大片| 国产精品99久久久久久久久久久久| 亚洲欧美网站| 亚洲国产精品久久久久| 99国产精品久久| 国内精品久久久久影院优| 欧美日韩精品高清| 一区二区三区高清在线观看| 亚洲欧洲三级| 国产日韩一区在线| 久久久久看片| 亚洲承认在线| 尤物精品国产第一福利三区| 国产精品高清在线| 欧美日本免费| 欧美日本久久| 欧美激情第9页| 午夜性色一区二区三区免费视频| 一本一本久久| 国产欧美一区二区三区另类精品 | 亚洲黄色影片| 欧美福利视频一区| 午夜精品偷拍| 在线播放豆国产99亚洲| 国产主播一区二区| 国产精品日韩一区| 国产精品久久久久久久久久免费| 国产精品第一页第二页第三页| 欧美日韩精选| 国产精品永久免费| 在线免费观看日本欧美| 亚洲精品三级| 亚洲欧美综合另类中字| 久久国产直播| 欧美国产精品日韩| 99re6热只有精品免费观看| 亚洲一级二级| 蜜桃伊人久久| 国产九区一区在线| 亚洲美女啪啪| 欧美在线日韩| 亚洲精品中文字| 欧美一级视频免费在线观看| 久久综合色影院| 国产精品欧美久久| 亚洲国产视频一区二区| 亚洲高清一区二| 久久精品国产99| 香蕉久久一区二区不卡无毒影院| 久久精品五月婷婷| 久久精品中文| 免费观看日韩av| 欧美77777| 亚洲经典在线| 亚洲综合欧美日韩| 欧美一二三区精品| 欧美一区二区三区四区在线| 国产精品成人一区二区网站软件| 亚洲在线播放电影| 国产精品av免费在线观看| 亚洲你懂的在线视频| 久久久久久黄| 国产一区二区三区精品久久久| 欧美中文字幕视频| 亚洲国产99| 久久aⅴ国产欧美74aaa| 亚洲第一免费播放区| 欧美综合国产精品久久丁香| 免费影视亚洲| 亚洲一区二区三区精品视频| 国内精品久久久久久久影视蜜臀| 欧美激情 亚洲a∨综合| 欧美一级一区| 亚洲精选在线| 9久re热视频在线精品| 午夜日韩激情| 欧美三级视频在线| 亚洲国产天堂久久综合网| 亚洲一区在线免费| 亚洲欧美国产视频| 一区二区三区免费在线观看| 在线精品福利| 欧美国产日本高清在线| 99国产精品一区| 国产欧美一区在线| 欧美国内亚洲| 欧美一区二区啪啪| 中文在线一区| 欧美96在线丨欧| 在线视频精品一区| 国产麻豆精品theporn| 暖暖成人免费视频| 欧美va亚洲va日韩∨a综合色| 亚洲免费一区二区| 亚洲精品你懂的| 国产视频综合在线| 欧美日韩一区二区三区| 久久人人爽人人爽| 亚洲欧美日韩精品久久亚洲区| 亚洲精品男同| 亚洲精品国产系列| 欧美成人按摩| 免费成人黄色av| 香蕉精品999视频一区二区 | 欧美一区二区三区免费大片| 欧美日韩一二三区| 日韩网站免费观看| 亚洲视频一二三| 韩国av一区二区三区在线观看 | 性欧美xxxx大乳国产app| 国产亚洲成年网址在线观看| 欧美在线三级| 国产日韩精品一区二区| 亚洲欧美另类综合偷拍| 亚洲欧洲日产国产网站| 久久中文字幕一区| 99国产精品久久久久久久成人热| 日韩写真在线| 亚洲高清网站| 性色av一区二区三区在线观看| 亚洲福利电影| 国产精品二区三区四区| 欧美一区二区日韩| 欧美一区二区三区视频免费播放 | 噜噜噜91成人网| 久久久久久亚洲精品不卡4k岛国| 久久久久高清| 久久亚洲综合色一区二区三区| 开心色5月久久精品| 久久国产日韩欧美| 久久精品在线观看| 牛夜精品久久久久久久99黑人| 免费人成精品欧美精品| 欧美黄色成人网| 欧美久久成人| 欧美三级在线| 国产一区在线观看视频| 在线播放一区| 99精品国产热久久91蜜凸| 99精品热视频只有精品10| 亚洲欧美日本另类| 久久久亚洲精品一区二区三区| 久久一区二区三区av| 亚洲级视频在线观看免费1级| 亚洲人妖在线| 欧美一区二区黄色| 久久中文精品| 欧美日韩在线直播| 韩曰欧美视频免费观看| 亚洲国产欧美一区| 欧美一区2区三区4区公司二百| 久久精品国产免费看久久精品| 在线看不卡av| 亚洲一区二区视频| 久久国产精彩视频| 亚洲经典自拍| 亚洲欧美欧美一区二区三区| 久久看片网站| 欧美在线观看一区二区三区| 国产精品欧美一区二区三区奶水| 亚洲尤物视频网| 欧美日韩一区二区精品| 中国亚洲黄色| 美国三级日本三级久久99| 亚洲精品一区在线观看| 国产精品久久精品日日| 蜜臀a∨国产成人精品| 欧美亚洲综合久久| 亚洲综合日韩中文字幕v在线|