/// <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;
            }
        }