Пример #1
0
        public void Test_CalculationMaxLenghtGrip()
        {
            var modelParameters = new ModelParameters();
            var Handle          = 1100;
            var expected        = Handle;

            modelParameters.Parameter(ParametersName.HandleLength).Value = Handle;
            modelParameters.CalculationMaxLenghtGrip();
            var actual = modelParameters.Parameter(ParametersName.GripLength).MaxValue;

            Assert.AreEqual(expected, actual, "Метод CalculationMaxLenghtGrip работает некорректно");
        }
Пример #2
0
        public void Test_Parameter()
        {
            var modelParameters = new ModelParameters();
            var result          = true;

            if (modelParameters.Parameter(ParametersName.HandleLength).MinValue != 890 ||
                modelParameters.Parameter(ParametersName.HandleLength).MaxValue != 1100 ||
                modelParameters.Parameter(ParametersName.HandleLength).Value != 890)
            {
                result = false;
            }
            Assert.IsTrue(result, "Метод Parameter работает некорректно");
        }
Пример #3
0
        /// <summary>
        /// Присваивает параметру значение
        /// из соответствующего элемента TextBox
        /// при изменении пользователем значения Text
        /// для TextBox
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TextBoxChanged(object sender, EventArgs e)
        {
            //Преобразуем из object в TextBox
            var textBox = (TextBox)sender;

            //Блок ожидания ошибки
            try
            {
                //Получаем текст из элемента TextBox
                var value = double.Parse(textBox.Text);
                //Определяем имя параметра соответствующего
                //данному TextBox
                var parameterName = _formElements[textBox];
                //Присваиваем значение найденному параметру
                _modelParameters.Parameter(parameterName).Value = value;
                //Окрашиваем поле в зеленый цвет
                textBox.BackColor = Color.LightGreen;
                //При изменении длины места хвата
                if (parameterName == ParametersName.GripLength)
                {
                    //Пересчитать длину гладкой части
                    _modelParameters.CalculationLenghtConnection();
                    //Отобразить значение в TextBox
                    HandleCLTextBox.Text =
                        _modelParameters.Parameter(ParametersName.ConnectionLength).Value.ToString();
                }
                //При изменении длины рукояти
                if (parameterName == ParametersName.HandleLength)
                {
                    //Пересчитать максимальную длину места хвата
                    _modelParameters.CalculationMaxLenghtGrip();
                    //Пересчитать минимальную дину места хвата
                    _modelParameters.CalculationMinValueLenghtGrip();
                    //Расчитать текущую дину рукояти
                    _modelParameters.CalculationLenghtGrip();
                    //Отобразить значение в TextBox
                    HandleHLTextBox.Text =
                        _modelParameters.Parameter(ParametersName.GripLength).Value.ToString();
                    //Отобразить новый интервал
                    DisplayInterval(ParametersName.GripLength, IntervalHandleHLLabel);
                }
                //При изменении длины гладкой части
                if (parameterName == ParametersName.ConnectionLength)
                {
                    //Пересчитать длину гладкой части
                    _modelParameters.CalculationLenghtGrip();
                    //Отобразить поулченное значение в TextBox
                    HandleHLTextBox.Text =
                        _modelParameters.Parameter(ParametersName.GripLength).Value.ToString();
                }
            }
            //Выполняется в случае выявления ошибки в try
            catch
            {
                //Окрашиваем полу в красный цвет
                textBox.BackColor = Color.Salmon;
            }
        }
Пример #4
0
 /// <summary>
 /// Метод возвращает форму
 /// к начальным параметра
 /// при нажатии на кнопку "Сбросить"
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ClearButton_Click(object sender, EventArgs e)
 {
     //Создание нового списка параметров
     _modelParameters = new ModelParameters();
     //Перебор всех TextBox формы
     foreach (var textBox in _formElements.Keys)
     {
         //Определение имени параметра по TextBox
         var parameterName = _formElements[textBox];
         //Окрашивание TextBox в зеленый цвет
         textBox.BackColor = Color.LightGreen;
         //Присваиваем текущее значение параметра в соответствующий TextBox
         textBox.Text =
             string.Concat(_modelParameters.Parameter(parameterName).Value);
         //Отображение интервала значений места хвата
         DisplayInterval(ParametersName.GripLength, IntervalHandleHLLabel);
         //Отображение интервала значений гладкого места
         DisplayInterval(ParametersName.ConnectionLength, IntervalHandleCLLabel);
         //Отображение интервала значений длины рукояти
         DisplayInterval(ParametersName.HandleLength, IntervalHandleLLabel);
     }
 }
Пример #5
0
        public void Test_ModelParameters()
        {
            var modelParameters = new ModelParameters();
            var result          = true;
            var values          = new List <(double min, double max, ParametersName name)>
            {
                (890, 1100, ParametersName.HandleLength),  //Длина рукоятки
                (680, 890, ParametersName.GripLength),     //Длина места хвата
                (0, 210, ParametersName.ConnectionLength), //Длина гладкой части
                (5, 10, ParametersName.HandleRadius),      //Радиус рукоятки
                (100, 320, ParametersName.HolderLength),   //Длина держателя блинов
                (35, 50, ParametersName.HolderRadius),     //Радиус держателя блинов
                (55, 75, ParametersName.LimiterRadius)     //Радиус ограничителя
            };

            foreach (var value in values)
            {
                if (value.name == ParametersName.GripLength)
                {
                    if (modelParameters.Parameter(value.name).MaxValue != value.max ||
                        modelParameters.Parameter(value.name).MinValue != value.min ||
                        modelParameters.Parameter(value.name).Value != value.max)
                    {
                        result = false;
                    }
                }
                else
                {
                    if (modelParameters.Parameter(value.name).MaxValue != value.max ||
                        modelParameters.Parameter(value.name).MinValue != value.min ||
                        modelParameters.Parameter(value.name).Value != value.min)
                    {
                        result = false;
                    }
                }
            }
            Assert.IsTrue(result, "Конструктор ModelParameters не создает корректный экземпляр класса");
        }
Пример #6
0
 /// <summary>
 /// Построение гладкой части
 /// </summary>
 private void CreateConnector(ksPart iPatr)
 {
     if (_modelelParameters.Parameter(ParametersName.ConnectionLength).Value != 0)
     {
         //Получаем интерфейс базовой плоскости ХОY
         ksEntity planeZOY =
             (ksEntity)iPatr.GetDefaultEntity((short)Obj3dType.o3d_planeXOZ);
         //Создаем новый эскиз
         ksEntity iSketch =
             (ksEntity)iPatr.NewEntity((short)Obj3dType.o3d_sketch);
         //Получаем интерфейс свойств эскиза
         ksSketchDefinition iDefinitionSketch = (ksSketchDefinition)iSketch.GetDefinition();
         //Устанавливаем плоскость эскиза
         iDefinitionSketch.SetPlane(planeZOY);
         //Создание эскиза
         iSketch.Create();
         //Создание нового 2Д документа
         ksDocument2D iDocument2D = (ksDocument2D)iDefinitionSketch.BeginEdit();
         //Получение радиуса рукояти
         var rad = _modelelParameters.Parameter(ParametersName.HandleRadius).Value;
         //Построение круга
         iDocument2D.ksCircle(0, 0, rad + 0.1, 1);
         //Создание эскиза
         iDefinitionSketch.EndEdit();
         //Получение глубины выдавливания
         var depth = _modelelParameters.Parameter(ParametersName.ConnectionLength).Value / 2;
         //Выдавливание в обе стороны
         ExctrusionSketch(iPatr, iSketch, depth, false);
         ExctrusionSketch(iPatr, iSketch, depth, true);
     }
 }