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日
