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

29 //將此圖紙的視圖設置為活動草圖視圖 30 DrawingSheet->ActivateForSketching(); 31

32 //返回邊框和區域對象(如果存在) 33 NXOpen::Drawings::BordersAndZones *DrawingBorder = DrawingSheet->BordersAndZones(); 34

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

47 //如果定義了工作表區域,則返回工作表的工作表和區域位置或引用 48 NXString SheetZoneReference = DrawingSheet->GetSheetZoneReference(DrawingViews[i]); 49 const char* SheetZoneReference1 = SheetZoneReference.GetLocaleText(); 50 } 51

52 //獲得圖紙比例 53 double numerator; 54 double denominator; 55 DrawingSheet->GetScale(&numerator, &denominator); 56

57 //獲得圖紙的高度 58 double DrawingHeight = DrawingSheet->Height(); 59

60 //如果此圖紙的視圖是活動草圖視圖,則返回true。 61 bool IsActive = DrawingSheet->IsActiveForSketching(); 62

63 //返回圖紙頁是否過期的狀態 64 bool IsOutOfDate = DrawingSheet->IsOutOfDate(); 65

66 //獲得圖紙的長度 67 double DrawLength = DrawingSheet->Length(); 68

69 //打開圖紙頁 70 DrawingSheet->Open(); 71

72 //獲得圖紙頁的投影角度 73 NXOpen::Drawings::DrawingSheet::ProjectionAngleType ProjectionAngle = DrawingSheet->ProjectionAngle(); 74

75 //設置圖紙的參數 76 DrawingSheet->SetParameters(200, 200, 1, 1, DrawingSheet::UnitMillimeters, DrawingSheet::ProjectionAngleTypeFirstAngle, DrawingViews); 77

78 //返回屬於此圖紙的SheetDraftingViewCollection實例 79 NXOpen::Drawings::SheetDraftingViewCollection* ViewCollection = DrawingSheet->SheetDraftingViews(); 80

81 //返回屬於此圖紙的SheetSectionLineCollection實例 82 NXOpen::Drawings::SheetSectionLineCollection * LineCollection = DrawingSheet->SheetSectionLines(); 83

84 //獲得圖紙的單位 85 NXOpen::Drawings::DrawingSheet::Unit DrawingUnit = DrawingSheet->Units(); 86

87 //返回表示此圖紙的視圖 88 NXOpen::View* MyView = DrawingSheet->View();