NX二次開發-NXOPEN獲取全部工程圖和全部視圖DrawingSheet,DrawingSheetCollection,DraftingView

 1 NX11+VS2013  2 
 3 #include <NXOpen/Part.hxx>
 4 #include <NXOpen/PartCollection.hxx>
 5 #include <NXOpen/Session.hxx>
 6 #include <NXOpen/ListingWindow.hxx>
 7 #include <NXOpen/NXMessageBox.hxx>
 8 #include <NXOpen/Drawings_DrawingSheet.hxx>
 9 #include <NXOpen/Drawings_DrawingSheetBuilder.hxx>
10 #include <NXOpen/Drawings_DrawingSheetCollection.hxx>
11 #include <NXOpen/Drawings_DrawingView.hxx>
12 #include <NXOpen/Drawings_DrawingViewBuilder.hxx>
13 #include <NXOpen/NXString.hxx>
14 
15 
16     Session *theSession = NXOpen::Session::GetSession(); 17     Part *workPart(theSession->Parts()->Work()); 18 
19     //迭代器遍歷全部圖紙頁
20     vector<NXOpen::Drawings::DrawingSheet*> AllSheet; 21     NXOpen::Drawings::DrawingSheet* MySheet; 22     NXOpen::Drawings::DrawingSheetCollection::iterator Ite;//定義迭代器
23     for (Ite = workPart->DrawingSheets()->begin(); Ite != workPart->DrawingSheets()->end(); ++Ite) 24  { 25         MySheet = (*Ite);//賦值
26  AllSheet.push_back(MySheet); 27  } 28 
29     //得到圖紙頁裏的全部視圖
30     vector<NXOpen::Drawings::DraftingView*> AllSheetView; 31     for (int i = 0; i < AllSheet.size(); i++) 32  { 33         vector<NXOpen::Drawings::DraftingView*> MySheetView = AllSheet[i]->GetDraftingViews(); 34 
35         for (int j = 0; j < MySheetView.size(); j++) 36  { 37             //獲取視圖名字
38             NXString ViewName = MySheetView[j]->Name(); 39  AllSheetView.push_back(MySheetView[j]); 40 
41             //打印
42             theSession->ListingWindow()->Open(); 43             theSession->ListingWindow()->WriteLine(ViewName.GetLocaleText()); 44  } 45  } 46 
47 Caesar盧尚宇 48 2019年11月17日

相關文章
相關標籤/搜索