1 NX11+VS2013 2 3 4 #include <NXOpen/Section.hxx> 5 #include <NXOpen/SectionCollection.hxx> 6 #include <NXOpen/Part.hxx> 7 #include <NXOpen/PartCollection.hxx> 8 #include <NXOpen/UI.hxx> 9 #include <NXOpen/Drawings_DrawingSheet.hxx> 10 #include <NXOpen/Drawings_DrawingSheetBuilder.hxx> 11 #include <NXOpen/Drawings_DrawingSheetCollection.hxx> 12 #include <NXOpen/Drawings_DraftingView.hxx> 13 #include <NXOpen/Drawings_DraftingViewCollection.hxx> 14 #include <NXOpen/NXMessageBox.hxx> 15 16 17 using namespace NXOpen; 18 using namespace Drawings; 19 using namespace std; 20 21 22 NXOpen::Session *theSession = NXOpen::Session::GetSession(); 23 NXOpen::Part *workPart(theSession->Parts()->Work()); 24 NXOpen::Part *displayPart(theSession->Parts()->Display()); 25 26 //获得当前图纸页 27 NXOpen::Drawings::DrawingSheet* DrawingSheet = workPart->DrawingSheets()->CurrentDrawingSheet(); 28
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214314045-812395444.png)
29 //将此图纸的视图设置为活动草图视图 30 DrawingSheet->ActivateForSketching(); 31
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214329459-1810395425.png)
32 //返回边框和区域对象(如果存在) 33 NXOpen::Drawings::BordersAndZones *DrawingBorder = DrawingSheet->BordersAndZones(); 34
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214359182-1902714595.png)
35 //获得图纸页上的所有视图 36 std::vector<NXOpen::Drawings::DraftingView *> DrawingViews = DrawingSheet->GetDraftingViews(); 37 for (int i = 0; i < DrawingViews.size(); i++) 38 { 39 //获得视图的tag 40 tag_t ViewTag = DrawingViews[i]->Tag(); 41 42 //打印 43 char msg[256]; 44 sprintf_s(msg, "%d", ViewTag); 45 UI::GetUI()->NXMessageBox()->Show("标题", NXMessageBox::DialogTypeWarning, msg); 46
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214533704-1581132131.png)
47 //如果定义了工作表区域,则返回工作表的工作表和区域位置或引用 48 NXString SheetZoneReference = DrawingSheet->GetSheetZoneReference(DrawingViews[i]); 49 const char* SheetZoneReference1 = SheetZoneReference.GetLocaleText(); 50 } 51
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214549752-1226237287.png)
52 //获得图纸比例 53 double numerator; 54 double denominator; 55 DrawingSheet->GetScale(&numerator, &denominator); 56
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214624323-1702289441.png)
57 //获得图纸的高度 58 double DrawingHeight = DrawingSheet->Height(); 59
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214639860-474494036.png)
60 //如果此图纸的视图是活动草图视图,则返回true。 61 bool IsActive = DrawingSheet->IsActiveForSketching(); 62
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214656344-213600117.png)
63 //返回图纸页是否过期的状态 64 bool IsOutOfDate = DrawingSheet->IsOutOfDate(); 65
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214715660-1748249434.png)
66 //获得图纸的长度 67 double DrawLength = DrawingSheet->Length(); 68
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214731177-1818110431.png)
69 //打开图纸页 70 DrawingSheet->Open(); 71
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214743265-29461716.png)
72 //获得图纸页的投影角度 73 NXOpen::Drawings::DrawingSheet::ProjectionAngleType ProjectionAngle = DrawingSheet->ProjectionAngle(); 74
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214808745-520183512.png)
75 //设置图纸的参数 76 DrawingSheet->SetParameters(200, 200, 1, 1, DrawingSheet::UnitMillimeters, DrawingSheet::ProjectionAngleTypeFirstAngle, DrawingViews); 77
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214826140-128115350.png)
78 //返回属于此图纸的SheetDraftingViewCollection实例 79 NXOpen::Drawings::SheetDraftingViewCollection* ViewCollection = DrawingSheet->SheetDraftingViews(); 80
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214837688-838413584.png)
81 //返回属于此图纸的SheetSectionLineCollection实例 82 NXOpen::Drawings::SheetSectionLineCollection * LineCollection = DrawingSheet->SheetSectionLines(); 83
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214850709-1177022615.png)
84 //获得图纸的单位 85 NXOpen::Drawings::DrawingSheet::Unit DrawingUnit = DrawingSheet->Units(); 86
![](https://img2018.cnblogs.com/blog/1631792/201908/1631792-20190818214902852-868994360.png)
87 //返回表示此图纸的视图 88 NXOpen::View* MyView = DrawingSheet->View();