private void set_rad_razm(Stupica master, ksDocument2D doc)
        {
            ksRDimParam     aDim     = (ksRDimParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RDimParam);
            ksTextLineParam textLine = (ksTextLineParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextLineParam);
            ksTextItemParam textItem = (ksTextItemParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam);


            textLine.Init();
            textItem.Init();

            ksDimTextParam     tPar = (ksDimTextParam)aDim.GetTPar();
            ksTextItemFont     font = (ksTextItemFont)textItem.GetItemFont();
            ksDynamicArray     arra = (ksDynamicArray)textLine.GetTextItemArr();
            ksRDimSourceParam  sPar = (ksRDimSourceParam)aDim.GetSPar();
            ksRDimDrawingParam dPar = (ksRDimDrawingParam)aDim.GetDPar();


            tPar.Init(true);
            tPar.SetBitFlagValue(ldefin2d._AUTONOMINAL, true);
            tPar.sign = 3; //знак радиуса


            font.Init();
            font.height   = 5;
            font.ksu      = 1;
            font.fontName = "GOST type A";
            font.SetBitVectorValue(ldefin2d.NEW_LINE, true);

            arra.ksAddArrayItem(-1, textItem);


            sPar.Init();
            sPar.xc  = (master.l1 + master.R1);
            sPar.yc  = (master.d1 / 2 + master.R1);
            sPar.rad = (master.R1);

            dPar.Init();
            dPar.textPos  = -15;
            dPar.pt1      = 1; //1 -стрелка изнутри 2-стрелка снаружи 0-нетс стрелки
            dPar.pt2      = 0;
            dPar.shelfDir = 1;
            dPar.ang      = 180 + 45;

            int obj = doc.ksRadDimension(aDim);
        }
        private void Diam_Razmer(double xc, double yc, double rad, int dlina_vinosnoi_linii, short tip_strelki,
                                 int napr_vinosnoi_linii, int angle_vinosnoi_linii, ksDocument2D doc)
        {
            ksRDimParam     aDim     = (ksRDimParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RDimParam);
            ksTextLineParam textLine = (ksTextLineParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextLineParam);
            ksTextItemParam textItem = (ksTextItemParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam);

            if (aDim == null || textLine == null || textItem == null)
            {
                return;
            }

            textLine.Init();
            textItem.Init();

            ksDimTextParam     tPar = (ksDimTextParam)aDim.GetTPar();
            ksTextItemFont     font = (ksTextItemFont)textItem.GetItemFont();
            ksDynamicArray     arra = (ksDynamicArray)textLine.GetTextItemArr();
            ksRDimSourceParam  sPar = (ksRDimSourceParam)aDim.GetSPar();
            ksRDimDrawingParam dPar = (ksRDimDrawingParam)aDim.GetDPar();

            if (tPar == null || font == null || sPar == null || dPar == null)
            {
                return;
            }

            tPar.Init(true);
            tPar.SetBitFlagValue(ldefin2d._AUTONOMINAL, true);
            tPar.sign = 1; //знак диаметра


            /*
             *      font.Init();
             *      font.height = 5;
             *      font.ksu = 1;
             *      font.fontName = "GOST type A";
             *      font.SetBitVectorValue(ldefin2d.NEW_LINE, true);
             */

            arra.ksAddArrayItem(-1, textItem);

            ksDynamicArray arr1 = (ksDynamicArray)tPar.GetTextArr();

            if (arr1 == null)
            {
                return;
            }
            arr1.ksAddArrayItem(-1, textLine);

            sPar.Init();
            sPar.xc  = xc;
            sPar.yc  = yc;
            sPar.rad = rad;

            dPar.Init();
            dPar.textPos  = dlina_vinosnoi_linii;
            dPar.pt1      = tip_strelki;
            dPar.pt2      = tip_strelki;
            dPar.shelfDir = napr_vinosnoi_linii;
            dPar.ang      = angle_vinosnoi_linii;

            int obj = doc.ksDiamDimension(aDim);
        }