//Сохранение периода расчета в 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); } }
//Добавить нагрузку 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); }