日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OpenCASCADE(OCC)读取STEP模型文件到XDE中

發(fā)布時(shí)間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCASCADE(OCC)读取STEP模型文件到XDE中 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

運(yùn)行結(jié)果圖》》

首先:

XDE使用TDocStd_Documents作為起點(diǎn)。XDE的一般用途是:

檢查現(xiàn)有文檔是否適合XDE;
獲取應(yīng)用程序和初始化文件;

初始化文檔以適合XDE;

添加、設(shè)置和查找數(shù)據(jù);

查詢(xún)和管理形狀;

將屬性附加到形狀。
XDE使用的Document通常以TDocStd_Document開(kāi)頭。

前期檢查:

在處理形狀、屬性和其他類(lèi)型的信息之前,要確定現(xiàn)有文檔是否實(shí)際上是為與XDE一起使用而構(gòu)建的。
就是要確定現(xiàn)有的TDocStd_Document是否適合XDE:

Handle(TDocStd_Document) doc; if ( XCAFDoc_DocumentTool::IsXCAFDocument (doc) ) { //進(jìn)行下面的操作}

如果文檔適用于XDE,可以直接執(zhí)行上述操作。但是,如果一個(gè)Document不是或者不完全是為XDE構(gòu)建的,則必須對(duì)其進(jìn)行初始化。

具體初始化如下:

//創(chuàng)建文檔Handle(TDocStd_Document) doc;XCAFApp_Application::GetApplication()->NewDocument("MDTV-XCAF", doc);

下面進(jìn)行STEP文件的完整讀取:

void COCCmfcMDIDoc::ReadSTEP() {//創(chuàng)建文檔Handle(TDocStd_Document) doc;XCAFApp_Application::GetApplication()->NewDocument("MDTV-XCAF", doc);//裝載文件(.step)STEPCAFControl_Reader myReader;myReader.ReadFile("hezi.STEP");myReader.SetColorMode(true);myReader.SetNameMode(true);myReader.SetLayerMode(true);myReader.Transfer(doc);TDF_Label mainLabel = doc->Main();//要從XDE結(jié)構(gòu)獲取被視為程序集的節(jié)點(diǎn),可以使用節(jié)點(diǎn)的Label(shape)Handle(XCAFDoc_ShapeTool) myShapeTool = XCAFDoc_DocumentTool::ShapeTool(mainLabel);//查詢(xún)、編輯或初始化文檔以處理XCAF的顏色(OCCT不再使用此方法渲染模型)Handle(XCAFDoc_ColorTool) myColors = XCAFDoc_DocumentTool::ColorTool(mainLabel);TDF_LabelSequence FreeShape;myShapeTool->GetFreeShapes(FreeShape);//使用GetFreeShapes解決裝配體和組件顯示錯(cuò)亂問(wèn)題//myShapeTool->GetShapes(FreeShape); //獲取裝配體和組件對(duì)應(yīng)名稱(chēng)(不適用)int Roots = FreeShape.Length();for (int index = 1; index <= Roots; index++){TDF_Label label = FreeShape.Value(index);// 用XCAFPrs_AISObject 來(lái)顯示Handle(XCAFPrs_AISObject) displayedShape = new XCAFPrs_AISObject(label);myAISContext->Display(displayedShape, true);} }

調(diào)用函數(shù),點(diǎn)擊運(yùn)行》》

!!!!!!!!!

總結(jié)

以上是生活随笔為你收集整理的OpenCASCADE(OCC)读取STEP模型文件到XDE中的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。