/// <summary> /// Устанавливает в конструктивные параметры <see cref="DesignParameters"/> новое положения плеча <paramref name="leverType"/> исходя из /// текущего положения и количества импульсов <paramref name="stepsCount"/>. /// </summary> /// <param name="leverType"></param> /// <param name="stepsCount"></param> public void SetNewLeverPosition(LeverType leverType, long stepsCount) { var lever = GetRobotLeverByType(leverType); var newABvalue = PulseCalculation.GetNewAB(lever, stepsCount); lever.AB = newABvalue; }
/// <summary> /// Возвращает значение координат X (<paramref name="x"/>) и Y(<paramref name="y"/>) при перемещении плеча <paramref name="type"/> /// от его текущего положения на заданное количестве импульсов <paramref name="stepsCount"/>. /// </summary> public void GetXY(LeverType type, long stepsCount, out double x, out double y) { if (type == LeverType.Horizontal) { throw new ArgumentException(); } var newABvalue = PulseCalculation.GetNewAB(GetRobotLeverByType(type), stepsCount); var lever1Ab = type == LeverType.Lever1 ? newABvalue : DesignParameters.Lever1.AB; var lever2Ab = type == LeverType.Lever2 ? newABvalue : DesignParameters.Lever2.AB; GetXYByABValues(lever1Ab, lever2Ab, out x, out y); }
/// <summary> /// Возвращает значение координаты Z при перемещении каретки робота от /// его текущего положения на заданное количестве импульсов <paramref name="stepsCount"/>. /// </summary> public double GetZ(long stepsCount) { return(PulseCalculation.GetNewAB(DesignParameters.HorizontalLever, stepsCount)); }
/// <summary> /// Возвращает новое положения плеча <paramref name="leverType"/> исходя из текущего положения и /// количества импульсов <paramref name="stepsCount"/>. /// </summary> public double GetNewLeverPosition(LeverType leverType, long stepsCount) { return(PulseCalculation.GetNewAB(GetRobotLeverByType(leverType), stepsCount)); }