Ejemplo n.º 1
0
 //Сохранение периода расчета в ControllerData, saveStartStop = true - сохраняются также время запуска расчета, время останова и т.д.
 private void SavePeriod(bool saveStartStop)
 {
     try
     {
         _lastErrorPos = saveStartStop || _lastErrorPos != 1 ? 0 : 2;
         UpdateTablo();
         _sysResult.PutSubValue("PeriodInfo", "PeriodBegin", PeriodBegin.ToString());
         _sysResult.PutSubValue("PeriodInfo", "PeriodEnd", PeriodEnd.ToString());
         if (_lastErrorTime == PeriodBegin)
         {
             _sysResult.PutSubValue("LastErrorInfo", "ErrorText", _lastErrorText);
             _sysResult.PutSubValue("LastErrorInfo", "ErrorPeriodBegin", _lastErrorTime.ToString());
         }
         if (saveStartStop)
         {
             _lastErrorPos = 0;
             _sysResult.PutSubValue("PeriodInfo", "CalcName", CalcName);
             _sysResult.PutSubValue("PeriodInfo", "StartMoment", StartMoment.ToString());
             _sysResult.PutSubValue("PeriodInfo", "StartTime", StartTime.ToString());
             _sysResult.PutSubValue("PeriodInfo", "StopTime", StopTime.ToString());
             _sysResult.PutSubValue("PeriodInfo", "IsStopTime", IsStopTime ? "True" : "False");
         }
     }
     catch (Exception ex)
     {
         AddError("Ошибка записи в SysTabl файла результатов", ex);
     }
 }
Ejemplo n.º 2
0
        //Добавить нагрузку
        public void PrintQ(int number, int offset, DxfDocument printQ)
        {
            var pivot       = new Line(new Vector2(0 + offset, 0), new Vector2(0 + offset, 10));
            var lineEnd     = new Line(new Vector2(-2 + offset, 10), new Vector2(4 + offset, 10));
            var lineStart   = new Line(new Vector2(-4 + offset, 0), new Vector2(2 + offset, 0));
            var arrowEnd    = AddArrow(new Vector2(4 + offset, 10), Directions.Right);
            var arrowStart  = AddArrow(new Vector2(-4 + offset, 0), Directions.Left);
            var endMoment   = AddMomentLines(new Vector2(0 + offset, 10), EndMoment) ?? new List <Line>();
            var startMoment = AddMomentLines(new Vector2(0 + offset, 0), StartMoment) ?? new List <Line>();
            var lines       = new List <Line>()
            {
                pivot, lineEnd, lineStart
            };

            lines = lines.Union(arrowEnd).Union(arrowStart).Union(endMoment).Union(startMoment).ToList();
            foreach (var line in lines)
            {
                line.Lineweight = Lineweight.W30;
            }

            var textEnd         = new Text("Q" + number.ToString() + "к", new Vector2(5 + offset, 10), 1);
            var textStart       = new Text("Q" + number.ToString() + "н", new Vector2(-7 + offset, 0), 1);
            var textEndMoment   = new Text(EndMoment.ToString("#.###; #.###"), new Vector2(-8 + offset, 12), 1);
            var textStartMoment = new Text(StartMoment.ToString("#.###; #.###"), new Vector2(3 + offset, 0), 1);
            var textLength      = new Text(Length.ToString("#.###;") + "м", new Vector2(1 + offset, 5), 1);

            List <EntityObject> load = new List <EntityObject>();

            if (Load != 0)
            {
                load.AddRange(AddLoad(new Vector2(-2 + offset, 0), new Vector2(-2 + offset, 10), Directions.Right));
                var textLoad = new Text(Load.ToString("####") + "кН/м", new Vector2(-8 + offset, 5), 1);
                load.Add(textLoad);
            }

            List <EntityObject> objects = new List <EntityObject>()
            {
                textEnd, textStart, textEndMoment, textStartMoment, textLength
            };

            objects = objects.Union(lines).Union(load).ToList();

            printQ.AddEntity(objects);
        }