Exemplo n.º 1
0
        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);
        }