private IEnumerable <Item> GetLeverItems(HorizontalLeverDesignParameters lever) { yield return(new Item(lever.AB) { Name = "Текущее расстояние положения каретки робота, мм", Type = ValueType.AB, Sign = "AB" }); yield return(new Item(lever.ABmin) { Name = "Минимальное расстояние положения каретки робота, мм", Type = ValueType.ABmin, Sign = "ABmin" }); yield return(new Item(lever.ABmax) { Name = "Максимальное расстояние положения каретки робота, мм", Type = ValueType.ABmax, Sign = "ABmax" }); yield return(new Item(lever.Coefficient) { Name = "Количество шагов шагового двигателя необходимых для изменения значения текущего положения на 1мм", Type = ValueType.Ro, Sign = "C" }); }
/// <summary> /// Предоставляет класс, содержащий свойства конструктивных параметров робота. /// </summary> /// <param name="l1">Длина плеча 1, мм.</param> /// <param name="l2">Длина плеча 2, мм.</param> /// <param name="lc">Расстояние от центра схвата до точки его подвеса на плече 2, мм.</param> /// <param name="horizontalLever">Конструктивные параметры для расчета горизонтального перемещения.</param> /// <param name="lever1">Конструктивные параметры для расчета угла φ1 (плечо 1).</param> /// <param name="lever2">Конструктивные параметры для расчета угла φ1 (плечо 2).</param> public DesignParameters(double l1, double l2, double lc, HorizontalLeverDesignParameters horizontalLever, LeverDesignParameters lever1, LeverDesignParameters lever2) { this.L1 = l1; this.L2 = l2; this.Lc = lc; this.HorizontalLever = horizontalLever; this.Lever1 = lever1; this.Lever2 = lever2; }
private HorizontalLeverDesignParameters GetHorizontalLeverDesign() { var design = designs.Single(d => d.DesignType == DesignType.HorizontalLever); var lever = new HorizontalLeverDesignParameters(design.IsAbIncreases, GetValue(design.Items, ValueType.Ro), GetValue(design.Items, ValueType.AB), GetValue(design.Items, ValueType.ABmin), GetValue(design.Items, ValueType.ABmax)); lever.ABzero = GetAbZero(design, lever); return(lever); }