zoukankan      html  css  js  c++  java
  • NX二次开发-NXOpen::Drawings::DrawingSheet Class Reference

     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();

  • 相关阅读:
    HDOJ 1207 汉诺塔II
    [转]写代码的小女孩
    POJ Subway tree systems
    HDOJ 3555 Bomb (数位DP)
    POJ 1636 Prison rearrangement (DP)
    POJ 1015 Jury Compromise (DP)
    UVA 10003
    UVA 103 Stacking Boxes
    HDOJ 3530 Subsequence
    第三百六十二、三天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/11374130.html
Copyright © 2011-2022 走看看