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

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>
            久久天天狠狠| 伊人久久大香线| 亚洲精品一区二区三区蜜桃久| 欧美亚洲网站| 亚洲日本中文字幕免费在线不卡| 欧美成人久久| 久久一区国产| 国产区日韩欧美| 欧美电影在线| 欧美激情二区三区| 午夜精品福利一区二区三区av | 国产综合av| 国产精品永久免费在线| 欧美日韩国产在线看| 久久国产福利| 久久久91精品国产一区二区精品| 欧美一区二区视频在线| 亚洲欧美福利一区二区| 欧美一区1区三区3区公司| 欧美精品1区2区3区| 久久美女性网| 国产伦一区二区三区色一情| 欧美激情视频在线播放| 欧美在线播放一区二区| 亚洲激情在线| 久久九九电影| 亚洲黄色av一区| 亚洲永久精品国产| 亚洲国产成人久久综合| 亚洲五月婷婷| 欧美激情精品久久久久久大尺度| 99成人免费视频| 在线精品亚洲一区二区| 欧美日韩精品福利| 午夜精品一区二区三区在线播放| 午夜精品视频在线| 欧美紧缚bdsm在线视频| 欧美一区二区视频在线观看| 一区二区三区www| 久久大综合网| 一本色道婷婷久久欧美| 一区二区三区高清在线| 国精产品99永久一区一区| 亚洲午夜精品久久| 久久九九国产| 免费看的黄色欧美网站| 欧美日韩亚洲国产精品| 亚洲图片欧美午夜| 久久久久久亚洲综合影院红桃| 宅男噜噜噜66一区二区| 日韩一区二区免费看| 中文精品在线| 日韩视频在线你懂得| 欧美激情第五页| 亚洲国产欧美在线人成| 亚洲精品一区二区三区蜜桃久| 久久av在线| 免费欧美日韩国产三级电影| 六月天综合网| 午夜精品一区二区三区在线| 国产精品美女在线观看| 精品88久久久久88久久久| 国产亚洲一区二区三区在线播放| 一区二区三区四区国产| 亚洲特级片在线| 久久大逼视频| 亚洲毛片在线免费观看| 麻豆成人91精品二区三区| 亚洲在线视频观看| 亚洲精品在线三区| 久久成人18免费网站| 亚洲精品资源美女情侣酒店| 亚洲高清视频中文字幕| 欧美日韩在线免费视频| 欧美国产激情二区三区| 久久综合五月天婷婷伊人| 国产精品免费看| 日韩网站在线观看| 久久精品一区二区三区不卡牛牛| 久久精品一区二区| 欧美三级网址| 日韩视频在线免费观看| 美脚丝袜一区二区三区在线观看| 亚洲专区一区二区三区| 一本久久a久久精品亚洲| 中文高清一区| 一本色道久久综合亚洲精品不| 欧美诱惑福利视频| 亚洲第一在线综合在线| 久久大综合网| 欧美日韩亚洲视频| 伊人久久大香线蕉av超碰演员| 欧美午夜免费| 亚洲国产成人在线播放| 欧美韩日高清| 亚洲片国产一区一级在线观看| 欧美成人三级在线| 亚洲欧美视频在线观看| 米奇777在线欧美播放| 亚洲电影av在线| 亚洲国产一区二区a毛片| 欧美制服丝袜第一页| 免费在线亚洲| 久久久午夜视频| 午夜精品久久久久久| 欧美性一区二区| 久久成人综合网| 欧美日韩国产一中文字不卡| 亚洲欧美日韩国产中文| 免费亚洲网站| 欧美永久精品| 欧美特黄一区| 一本大道久久a久久精二百| 精东粉嫩av免费一区二区三区| 久久久久久精| 久久国产精品毛片| 亚洲欧美亚洲| 亚洲午夜精品国产| 亚洲另类黄色| 一本大道av伊人久久综合| 亚洲国产精品成人| 欧美激情第8页| 欧美激情麻豆| 亚洲免费黄色| 一区二区三区三区在线| 亚洲午夜日本在线观看| 洋洋av久久久久久久一区| 亚洲激情不卡| 一区二区三区欧美在线| 亚洲香蕉网站| 午夜亚洲视频| 欧美第一黄网免费网站| 欧美日韩国产高清视频| 欧美性感一类影片在线播放| 国产精品久线观看视频| 韩日成人av| 亚洲视频在线观看| 久久激情五月激情| 亚洲精品在线免费| 宅男66日本亚洲欧美视频| 久久成人av少妇免费| 欧美性事在线| 亚洲国产精品成人va在线观看| 1000部国产精品成人观看| 久久婷婷亚洲| 男女精品视频| 99综合精品| 亚洲激情女人| 国产精品另类一区| 久久久久se| 欧美猛交免费看| 久久电影一区| 欧美精品在线视频| 久久全国免费视频| 欧美激情综合网| 久久久www成人免费毛片麻豆| 亚洲欧美国产日韩中文字幕| 国产曰批免费观看久久久| 国产综合色产| 亚洲精品一级| 亚洲人精品午夜在线观看| 噜噜噜久久亚洲精品国产品小说| 国产伦精品一区二区三区照片91| 亚洲人屁股眼子交8| 欧美激情一区二区三区蜜桃视频| 午夜亚洲福利| 亚洲欧洲精品一区二区三区不卡 | 91久久精品国产| 久久久久久伊人| 久久精品在线播放| 狠狠色丁香婷婷综合| 久久gogo国模啪啪人体图| 新片速递亚洲合集欧美合集| 国产精品视频九色porn| 欧美伊人久久大香线蕉综合69| 亚洲视频电影在线| 国产午夜精品久久久| 欧美激情在线有限公司| 欧美日韩一卡二卡| 欧美激情第9页| 国产麻豆精品theporn| 亚洲高清久久网| 国产日韩欧美不卡在线| 亚洲娇小video精品| 激情久久久久久久| 香蕉久久国产| 一区二区激情视频| 亚洲日本理论电影| 国产精品婷婷| 久久av在线看| 一区二区三区欧美日韩| 久久爱另类一区二区小说| 91久久视频| 欧美a级理论片| 亚洲淫性视频| 国产精品综合| 中文国产成人精品| 美女视频黄a大片欧美| 欧美国产日韩在线| 性色一区二区|