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

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數(shù)據(jù)交換模塊可以通過讀寫CAD模型數(shù)據(jù)的方式與其他CAD系統(tǒng)進行交互。標準數(shù)據(jù)交換(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)

擴展的數(shù)據(jù)交換模塊可以轉換附加在幾何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)框架的框架,可用于處理裝配信息和其他屬性數(shù)據(jù)。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中的名字數(shù)據(jù)。這個關閉這個功能以減小文件。

wps_clip_image-10693

Figure 5. 模型名字

7. Colors and Layers

XDE可以讀寫模型的顏色數(shù)據(jù),使用到的類有:

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

程序?qū)raw Test Harness的samples的XDE的例子模型來測試讀取裝配結構、顏色等信息。首先將例子模型通過命令:WriteStep D d:/rod.step來保存裝配結構、顏色等數(shù)據(jù)到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系統(tǒng)數(shù)據(jù)交換效果。

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



為了方便大家在移動端也能看到我的博文和討論交流,現(xiàn)已注冊微信公眾號,歡迎大家掃描下方二維碼關注。
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>
            日韩视频在线观看一区二区| 久久国产精品久久久久久电车| 久久九九有精品国产23| 亚洲精品精选| 亚洲人体一区| 亚洲人成在线观看网站高清| 亚洲欧洲一区二区在线播放| 国产视频精品xxxx| 狠狠色丁香婷婷综合| 在线看片日韩| 一区二区三区欧美激情| 亚洲女同同性videoxma| 亚洲男人的天堂在线aⅴ视频| 国产精品久久久久免费a∨| 欧美日韩精品在线视频| 老妇喷水一区二区三区| 欧美国产亚洲另类动漫| 欧美日韩在线一区二区| 国产精品九九久久久久久久| 国产日韩一区欧美| 亚洲精品三级| 久久国产精品亚洲va麻豆| 免费影视亚洲| 亚洲国产欧美不卡在线观看| 一本久久a久久免费精品不卡| 欧美视频国产精品| 国产日韩欧美在线视频观看| 亚洲电影免费| 亚洲自拍偷拍麻豆| 欧美成人精品h版在线观看| 在线视频精品一区| 蜜月aⅴ免费一区二区三区 | 久久精品91| 免费亚洲一区| 国产日韩亚洲欧美综合| 在线一区免费观看| 欧美高清在线| 久久精品国产一区二区三| 欧美国产精品中文字幕| 国产在线拍偷自揄拍精品| 欧美成人午夜激情视频| 国产精品一区二区女厕厕| 日韩系列欧美系列| 欧美成人一品| 久久精品99久久香蕉国产色戒| 亚洲一区在线免费观看| 美女主播一区| 在线观看视频亚洲| 久久久水蜜桃av免费网站| 宅男噜噜噜66一区二区| 嫩草成人www欧美| 激情欧美日韩| 久久蜜桃精品| 亚洲免费网址| 欧美午夜在线视频| 亚洲午夜一二三区视频| 日韩午夜免费视频| 欧美日韩在线一区二区| 亚洲天堂黄色| 一区二区三欧美| 国产精品高潮呻吟久久av黑人| 国产精品成人aaaaa网站| 精品51国产黑色丝袜高跟鞋| 久久成人这里只有精品| 亚洲欧美日本日韩| 国产一级一区二区| 久久久久一区二区三区| 久久九九精品| 91久久久国产精品| 亚洲国产精品一区二区久| 欧美一区二区成人| 国产在线拍揄自揄视频不卡99| 在线电影一区| 久久一区欧美| 欧美大片在线看| 亚洲视频中文| 中文在线资源观看视频网站免费不卡| 亚洲尤物在线| 欧美婷婷久久| 久久精品国产一区二区三区| 久久久久久伊人| 久久综合中文字幕| 一道本一区二区| 亚洲一区不卡| 韩国av一区二区| 最近中文字幕日韩精品| 国产精品欧美日韩久久| 久久精品中文字幕一区| 免费成人av在线| 亚洲一区久久| 久久久999精品视频| 亚洲三级免费电影| 亚洲一区二区免费| 亚洲韩国一区二区三区| 亚洲午夜精品国产| 伊人婷婷久久| 亚洲一区免费在线观看| 亚洲国产三级网| 亚洲自拍偷拍网址| 亚洲精品日韩在线| 久久精品国产99精品国产亚洲性色| 欧美日韩精品是欧美日韩精品| 国产麻豆精品theporn| 久久另类ts人妖一区二区| 欧美精品在线观看播放| 久久精品一区二区三区不卡牛牛| 亚洲毛片一区二区| 韩日在线一区| 在线一区亚洲| 亚洲六月丁香色婷婷综合久久| 久久综合给合| 欧美三级在线| 亚洲国产天堂久久国产91| 国产日韩欧美一区二区| 欧美aⅴ一区二区三区视频| 欧美三日本三级少妇三2023| 欧美成人嫩草网站| 国产亚洲免费的视频看| 国产精品99久久久久久白浆小说| 欧美午夜欧美| 欧美成人免费一级人片100| 国产精品影视天天线| 亚洲精品欧美在线| 亚洲国产一区二区三区在线播| 欧美国产成人在线| 国产日本欧美一区二区三区在线| 香蕉成人久久| 欧美日韩视频在线观看一区二区三区| 亚洲精品久久嫩草网站秘色| 午夜欧美视频| 久久大逼视频| 国产欧美日韩一区| 日韩视频在线一区二区三区| 亚洲欧洲精品成人久久奇米网| 亚洲国产日韩欧美一区二区三区| 久久久久久久久久码影片| 久久爱www久久做| 国产精品视频xxxx| 亚洲一区国产视频| 欧美在线免费| 国产欧美精品一区aⅴ影院| 亚洲一区在线观看视频 | 亚洲国产精品激情在线观看| 一区二区欧美日韩| 亚洲尤物影院| 国产九区一区在线| 欧美亚洲在线播放| 久久久久在线观看| 亚洲国产精品成人一区二区| 久久国产手机看片| 欧美福利电影在线观看| 亚洲日本欧美日韩高观看| 欧美寡妇偷汉性猛交| 99热精品在线观看| 午夜精品婷婷| 国色天香一区二区| 免费亚洲婷婷| 在线视频免费在线观看一区二区| 一区免费观看视频| 麻豆九一精品爱看视频在线观看免费| 99国产麻豆精品| 欧美日韩日本网| 亚洲欧美国产另类| 欧美~级网站不卡| 在线一区欧美| 狠狠爱成人网| 欧美日韩天天操| 久久精品国产免费| 亚洲精品视频啊美女在线直播| 国产精品一区久久| 欧美一区二区三区免费视频| 男女精品网站| 亚洲欧美日本在线| 在线日韩av| 国产精品久久久久三级| 久久精品99久久香蕉国产色戒| 亚洲女同在线| 国产一区二区三区黄| 欧美激情91| 久久精品最新地址| 一区二区三区视频在线播放| 可以免费看不卡的av网站| 在线视频精品一区| 精品动漫一区二区| 国产精品久久久久久久久久久久| 亚洲美女网站| 久久久久久网站| 亚洲午夜久久久久久久久电影院| 欧美激情第六页| 欧美在线精品一区| 亚洲视频欧洲视频| 亚洲人成在线播放网站岛国| 久久婷婷久久| 欧美一区二区三区精品| 在线午夜精品自拍| 日韩视频免费观看高清完整版| 男人的天堂亚洲在线| 亚洲欧美综合精品久久成人| 亚洲高清在线| 欧美不卡一区|