Exemplo n.º 1
0
        private static void KrivDwgS(Collection Clkriv, double SdwigX = 0, double sdwigY = 0)
        {
            Point3dCollection colPoint3 = new Point3dCollection();

            foreach (double[] oneTchk in Clkriv)
            {
                //Dim wWis As Double = .WisotaNad(oneTchk(0), oneTchk(1))


                //Dim xdwg As Double = .DwgXpoRast(oneTchk(0) + SdwigX)

                //Dim hdwg As Double = .DwgYpoOtm(oneTchk(1) + sdwigY)

                //colPoint3.Add(New Point3d(xdwg, hdwg, 0))
            }
            ObjectIdCollection colprim = new ObjectIdCollection();
            ObjectId           objid   = BazDwg.MakeEntities.CreateSpline(colPoint3);

            colprim.Add(objid);
            Kommand.changeColor(objid, 6);
            Kommand.changeSloj(objid, DwgParam.SlSlujbn);
            ObjectId objIdG = BazDwg.MakeNeGraf.InsertWGroup(colprim, "GbKrivS", "Крив");
        }
Exemplo n.º 2
0
        public void WibrAnkUch()
        {
            Point3dCollection Twibr;

            if (wRasst == null)
            {
                ReadTrassRasstIzSlowar();
            }
            string Soob = "wibrAnkUchProfil" + "\n";

            Twibr = Kommand.GetPointOtPolz();
            Point3d t = Twibr[0];

            Soob += "   на черт " + t.X;
            double r = ((ProfilBaseDwg.DwgTr)wRasst.Trassa).RastPoDwgX(t.X);

            Soob  += " на трасе " + t.X + "\n";
            WibrOp = wRasst.wibratOporuDo(r);
            wlOpRasst lAnkOpDo;
            wlOpRasst lAnkOpPosle;

            if (WibrOp == null)
            {
                Soob += "подходящей  опоры не существует" + "\n";
                BazDwg.SystemKommand.Soob(Soob);
            }
            else
            {
                Soob    += SwedObOpore(WibrOp);
                lAnkOpDo = wRasst.PredAnk(WibrOp);
                if (lAnkOpDo == null)
                {
                    Soob += "подходящей анкерной опоры  до точки выбора не существует\n";
                }
                else
                {
                    Soob += "начало анкер. участка\n" + SwedObOpore(lAnkOpDo);
                }
                lAnkOpPosle = wRasst.SledAnk(WibrOp);
                if (lAnkOpPosle == null)
                {
                    Soob += "подходящей анкерной опоры  после точки выбора не существует\n";
                }
                else
                {
                    Soob += "конец  анкер. участка\n" + SwedObOpore(lAnkOpPosle);
                }
                if (lAnkOpDo == null | lAnkOpPosle == null)
                {
                    Application.ShowAlertDialog("Анкерный участок не создан\n" + Soob);
                }
                else
                {
                    wAnkUch = new wlAnkUchTr(lAnkOpDo, lAnkOpPosle);
                    if (wAnkUch.Nagr == null)
                    {
                        Application.ShowAlertDialog(this.ToString() + " wibrAnkUchProfil " + " не хватает даанных для расчетов на " + wAnkUch.NameAnkPr);
                        return;
                    }
                    ProfilBaseDwg.dwgObrazOporRasst opDwg;
                    if (lAnkOpDo.EtaOporaW_PredUchastke == null)
                    {
                        if (lAnkOpDo.Obraz == null)
                        {
                            opDwg = new dwgObrazOporRasst(lAnkOpDo);
                        }
                        else
                        {
                            opDwg = (dwgObrazOporRasst)lAnkOpDo.Obraz;
                        }
                    }
                    else
                    {
                        if (lAnkOpDo.EtaOporaW_PredUchastke.Obraz == null)
                        {
                            opDwg = new dwgObrazOporRasst(lAnkOpDo.EtaOporaW_PredUchastke);
                        }
                        else
                        {
                            opDwg = (dwgObrazOporRasst)lAnkOpDo.EtaOporaW_PredUchastke.Obraz;
                        }
                    }
                    rstUslRascheta objRusl = new rstUslRascheta(wAnkUch);
                    objRusl.StrPred         = opDwg.StrDan;
                    wAnkUch.PrivedZentrTaj  = objRusl.PrivedZentrTajesti;
                    wAnkUch.PrivedZentrTajT = objRusl.PrivedZentrTajestiTr;
                    //	DobawitMenuUch();
                    BazDwg.Kommand.createNewLayer(DwgParam.SlSlujbn);
                    BazDwg.Kommand.OchistSlojMod(DwgParam.SlSlujbn);
                    clsWspDwg.DwgTrassa = (DwgTr)wRasst.Trassa;
                    clsWspDwg.WiwGabKrivAnkUch(wAnkUch);
                    clsWspDwg.WiwKrivProvisAnkUch(wAnkUch);
                }
            }
        }        //WibrAnkUch