/// <summary> /// 竖直标注 /// </summary> /// <param name="view"></param> /// <param name="xMarginPos"></param> /// <param name="yMarginPos"></param> /// <param name="xPos"></param> /// <param name="yPos"></param> /// <param name="obj"></param> /// <param name="ordinateOriginDimension1"></param> /// <param name="isdogle"></param> /// <param name="tolerBasic"></param> /// <returns></returns> public static NXObject DimensionVertical(DraftingView view, double xMarginPos, double yMarginPos, double xPos, double yPos, NXObject obj, OrdinateOriginDimension ordinateOriginDimension1, bool isdogle, ref string errorMsg, bool tolerBasic = false) { Session theSession = Session.GetSession(); Part workPart = theSession.Parts.Work; Part displayPart = theSession.Parts.Display; Point3d origin4 = new Point3d(xMarginPos, yMarginPos, 0.0); OrdinateMargin ordinateMargin2; ordinateMargin2 = workPart.Annotations.OrdinateMargins.CreateInferredMargin(ordinateOriginDimension1, origin4, 14); NXObject nullNXObject = null; DimensionData dimensionData3; dimensionData3 = workPart.Annotations.NewDimensionData(); Associativity associativity9; associativity9 = workPart.Annotations.NewAssociativity(); associativity9.FirstObject = ordinateOriginDimension1; associativity9.SecondObject = nullNXObject; associativity9.ObjectView = workPart.Views.WorkView; associativity9.PointOption = AssociativityPointOption.None; associativity9.LineOption = AssociativityLineOption.None; Point3d firstDefinitionPoint5 = new Point3d(0.0, 0.0, 0.0); associativity9.FirstDefinitionPoint = firstDefinitionPoint5; Point3d secondDefinitionPoint5 = new Point3d(0.0, 0.0, 0.0); associativity9.SecondDefinitionPoint = secondDefinitionPoint5; associativity9.Angle = 0.0; Point3d pickPoint5 = new Point3d(0.0, 0.0, 0.0); associativity9.PickPoint = pickPoint5; Associativity[] associativity10 = new Associativity[1]; associativity10[0] = associativity9; dimensionData3.SetAssociativity(1, associativity10); Associativity associativity11; associativity11 = workPart.Annotations.NewAssociativity(); associativity11.FirstObject = obj; associativity11.SecondObject = nullNXObject; associativity11.ObjectView = view; associativity11.PointOption = AssociativityPointOption.Control; associativity11.LineOption = AssociativityLineOption.None; Point3d firstDefinitionPoint6 = new Point3d(0.0, 0.0, 0.0); associativity11.FirstDefinitionPoint = firstDefinitionPoint6; Point3d secondDefinitionPoint6 = new Point3d(0.0, 0.0, 0.0); associativity11.SecondDefinitionPoint = secondDefinitionPoint6; associativity11.Angle = 0.0; Point3d pickPoint6 = new Point3d(0.0, 0.0, 0.0); associativity11.PickPoint = pickPoint6; Associativity[] associativity12 = new Associativity[1]; associativity12[0] = associativity11; dimensionData3.SetAssociativity(2, associativity12); Associativity associativity13; associativity13 = workPart.Annotations.NewAssociativity(); VerticalOrdinateMargin verticalOrdinateMargin1 = ordinateMargin2 as VerticalOrdinateMargin; associativity13.FirstObject = verticalOrdinateMargin1; associativity13.SecondObject = nullNXObject; View nullView = null; associativity13.ObjectView = nullView; associativity13.PointOption = AssociativityPointOption.None; associativity13.LineOption = AssociativityLineOption.None; Point3d firstDefinitionPoint7 = new Point3d(0.0, 0.0, 0.0); associativity13.FirstDefinitionPoint = firstDefinitionPoint7; Point3d secondDefinitionPoint7 = new Point3d(0.0, 0.0, 0.0); associativity13.SecondDefinitionPoint = secondDefinitionPoint7; associativity13.Angle = 0.0; Point3d pickPoint7 = new Point3d(0.0, 0.0, 0.0); associativity13.PickPoint = pickPoint7; Associativity[] associativity14 = new Associativity[1]; associativity14[0] = associativity13; dimensionData3.SetAssociativity(3, associativity14); if (isdogle) { DimensionPreferences dimensionPreferences1; dimensionPreferences1 = workPart.Annotations.Preferences.GetDimensionPreferences(); OrdinateDimensionPreferences ordinateDimensionPreferences1; ordinateDimensionPreferences1 = dimensionPreferences1.GetOrdinateDimensionPreferences(); ordinateDimensionPreferences1.DoglegCreationOption = OrdinateDoglegCreationOption.Yes; dimensionPreferences1.SetOrdinateDimensionPreferences(ordinateDimensionPreferences1); dimensionData3.SetDimensionPreferences(dimensionPreferences1); } VerticalOrdinateDimension verticalOrdinateDimension1 = null; try { Point3d origin5 = new Point3d(xPos, yPos, 0.0); verticalOrdinateDimension1 = workPart.Dimensions.CreateVerticalOrdinateDimension(dimensionData3, origin5); //NXOpen.Annotations.LetteringPreferences letteringPreferences1; //letteringPreferences1 = verticalOrdinateDimension1.GetLetteringPreferences(); //NXOpen.Annotations.Lettering dimensionText1; //dimensionText1.Size = 18.0; //dimensionText1.CharacterSpaceFactor = 1.0; //dimensionText1.AspectRatio = 1.0; //dimensionText1.LineSpaceFactor = 1.0; //dimensionText1.Cfw.Color = 125; //dimensionText1.Cfw.Font = 2; //dimensionText1.Cfw.Width = NXOpen.Annotations.LineWidth.Thin; //dimensionText1.Italic = false; //letteringPreferences1.SetDimensionText(dimensionText1); //verticalOrdinateDimension1.SetLetteringPreferences(letteringPreferences1); NXOpen.Annotations.LinearTolerance tolPre = verticalOrdinateDimension1.GetTolerance(); tolPre.PrimaryDimensionDecimalPlaces = 2; if (tolerBasic) { tolPre.ToleranceType = NXOpen.Annotations.ToleranceType.Basic; } verticalOrdinateDimension1.SetTolerance(tolPre); return(verticalOrdinateDimension1); } catch (Exception ex) { errorMsg = ex.Message; LogMgr.WriteLog("DrawingUtils:DimensionVertical" + ex.Message); throw ex; } }
/// <summary> /// 横向标准 /// </summary> /// <param name="view"></param> /// <param name="xMarginPos"></param> /// <param name="yMarginPos"></param> /// <param name="xPos"></param> /// <param name="yPos"></param> /// <param name="obj"></param> /// <param name="ordinateOriginDimension1"></param> /// <param name="isdogle"></param> /// <param name="tolerBasic"></param> /// <returns></returns> public static NXObject DimensionHorizontal(DraftingView view, double xMarginPos, double yMarginPos, double xPos, double yPos, NXObject obj, OrdinateOriginDimension ordinateOriginDimension1, bool isdogle, ref string errorMsg, bool tolerBasic = false) { Session theSession = Session.GetSession(); Part workPart = theSession.Parts.Work; Part displayPart = theSession.Parts.Display; NXObject nullNXObject = null; Point3d origin2 = new Point3d(xMarginPos, yMarginPos, 0.0); OrdinateMargin ordinateMargin1; ordinateMargin1 = workPart.Annotations.OrdinateMargins.CreateInferredMargin(ordinateOriginDimension1, origin2, 13); DimensionData dimensionData2; dimensionData2 = workPart.Annotations.NewDimensionData(); Associativity associativity3; associativity3 = workPart.Annotations.NewAssociativity(); associativity3.FirstObject = ordinateOriginDimension1; associativity3.SecondObject = nullNXObject; associativity3.ObjectView = workPart.Views.WorkView; associativity3.PointOption = AssociativityPointOption.Control; associativity3.LineOption = AssociativityLineOption.None; Point3d firstDefinitionPoint2 = new Point3d(0.0, 0.0, 0.0); associativity3.FirstDefinitionPoint = firstDefinitionPoint2; Point3d secondDefinitionPoint2 = new Point3d(0.0, 0.0, 0.0); associativity3.SecondDefinitionPoint = secondDefinitionPoint2; associativity3.Angle = 0.0; Point3d pickPoint2 = new Point3d(0.0, 0.0, 0.0); associativity3.PickPoint = pickPoint2; Associativity[] associativity4 = new Associativity[1]; associativity4[0] = associativity3; dimensionData2.SetAssociativity(1, associativity4); Associativity associativity5; associativity5 = workPart.Annotations.NewAssociativity(); associativity5.FirstObject = obj; associativity5.SecondObject = nullNXObject; associativity5.ObjectView = view; associativity5.PointOption = AssociativityPointOption.Control; associativity5.LineOption = AssociativityLineOption.None; Point3d firstDefinitionPoint3 = new Point3d(0.0, 0.0, 0.0); associativity5.FirstDefinitionPoint = firstDefinitionPoint3; Point3d secondDefinitionPoint3 = new Point3d(0.0, 0.0, 0.0); associativity5.SecondDefinitionPoint = secondDefinitionPoint3; associativity5.Angle = 0.0; // Point3d pickPoint3(-272.0, -147.259337018431, -100.945677475); Point3d pickPoint3 = new Point3d(0.0, 0.0, 0.0); associativity5.PickPoint = pickPoint3; Associativity[] associativity6 = new Associativity[1]; associativity6[0] = associativity5; dimensionData2.SetAssociativity(2, associativity6); Associativity associativity7; associativity7 = workPart.Annotations.NewAssociativity(); HorizontalOrdinateMargin horizontalOrdinateMargin1 = ordinateMargin1 as HorizontalOrdinateMargin; associativity7.FirstObject = horizontalOrdinateMargin1; associativity7.SecondObject = nullNXObject; View nullView = null; associativity7.ObjectView = nullView; associativity7.PointOption = AssociativityPointOption.Control; associativity7.LineOption = AssociativityLineOption.None; Point3d firstDefinitionPoint4 = new Point3d(0.0, 0.0, 0.0); associativity7.FirstDefinitionPoint = firstDefinitionPoint4; Point3d secondDefinitionPoint4 = new Point3d(0.0, 0.0, 0.0); associativity7.SecondDefinitionPoint = secondDefinitionPoint4; associativity7.Angle = 0.0; Point3d pickPoint4 = new Point3d(0.0, 0.0, 0.0); associativity7.PickPoint = pickPoint4; Associativity[] associativity8 = new Associativity[1]; associativity8[0] = associativity7; dimensionData2.SetAssociativity(3, associativity8); if (isdogle) { DimensionPreferences dimensionPreferences1; dimensionPreferences1 = workPart.Annotations.Preferences.GetDimensionPreferences(); OrdinateDimensionPreferences ordinateDimensionPreferences1; ordinateDimensionPreferences1 = dimensionPreferences1.GetOrdinateDimensionPreferences(); ordinateDimensionPreferences1.DoglegCreationOption = OrdinateDoglegCreationOption.Yes; dimensionPreferences1.SetOrdinateDimensionPreferences(ordinateDimensionPreferences1); dimensionData2.SetDimensionPreferences(dimensionPreferences1); } HorizontalOrdinateDimension horizontalOrdinateDimension1 = null; try { Point3d origin3 = new Point3d(xPos, yPos, 0.0); horizontalOrdinateDimension1 = workPart.Dimensions.CreateHorizontalOrdinateDimension(dimensionData2, origin3); //NXOpen.Annotations.LetteringPreferences letteringPreferences1; //letteringPreferences1 = horizontalOrdinateDimension1.GetLetteringPreferences(); //NXOpen.Annotations.Lettering dimensionText1; //dimensionText1.Size = 18.0; //dimensionText1.CharacterSpaceFactor = 1.0; //dimensionText1.AspectRatio = 1.0; //dimensionText1.LineSpaceFactor = 1.0; //dimensionText1.Cfw.Color = 125; //dimensionText1.Cfw.Font = 2; //dimensionText1.Cfw.Width = NXOpen.Annotations.LineWidth.Thin; //dimensionText1.Italic = false; //letteringPreferences1.SetDimensionText(dimensionText1); //horizontalOrdinateDimension1.SetLetteringPreferences(letteringPreferences1); NXOpen.Annotations.LinearTolerance tolPre = horizontalOrdinateDimension1.GetTolerance(); tolPre.PrimaryDimensionDecimalPlaces = 2; if (tolerBasic) { tolPre.ToleranceType = NXOpen.Annotations.ToleranceType.Basic; } horizontalOrdinateDimension1.SetTolerance(tolPre); //自己修改的部分 // //设置尺寸为无公差样式 horizontalOrdinateDimension1.ToleranceType = ToleranceType.None; // return(horizontalOrdinateDimension1); } catch (Exception ex) { errorMsg = ex.Message; LogMgr.WriteLog("DrawingUtils:DimensionHorizontal" + ex.Message); throw ex; } }