NX二次开发-NXOPEN获取所有工程图和所有视图DrawingSheet,DrawingSheetCollection,DraftingView
Posted 阿飞的技术博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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日
以上是关于NX二次开发-NXOPEN获取所有工程图和所有视图DrawingSheet,DrawingSheetCollection,DraftingView的主要内容,如果未能解决你的问题,请参考以下文章
NX二次开发-NXOPEN工程图导出CAD图纸DxfdwgCreator *dxfdwgCreator1;
NX二次开发-UFUN工程图表格注释获取某一行的tag函数UF_TABNOT_ask_nth_row
NX二次开发-NXOPEN创建工程图表格Annotations::TableSectionBuilder *tableSectionBuilder1;