示例#1
0
        /// <summary>
        /// Окрашивание места для хвата в чёрный
        /// </summary>
        /// <param name="iPart">Интерфейс детали</param>
        /// <param name="side">Направление</param>
        private void CreateBlackColor(ksPart iPart, bool side)
        {
            //Получение радиуса ручки
            var X = _modelelParameters.Parameter(ParametersName.HandleRadius).Value;
            //Получение длины гладкой части
            var Y = _modelelParameters.Parameter(ParametersName.ConnectionLength).Value + 5;
            var Z = 0;
            //Получаем массив граней объекта
            ksEntityCollection entityCollectionPart =
                (ksEntityCollection)iPart.EntityCollection((short)Obj3dType.o3d_face);

            //Сортируем грани по заданным координатам
            if (side == true)
            {
                entityCollectionPart.SelectByPoint(X, Y, Z);
            }
            else
            {
                entityCollectionPart.SelectByPoint(X, -Y, Z);
            }
            //Получаем первый элмент массива
            ksEntity element = entityCollectionPart.First();
            //Получаем интерфейс управления цветом детали
            ksColorParam colorParam = element.ColorParam();

            //Назначаем цвет
            colorParam.color = 333333;
            //Применяем изменения
            element.Update();
        }
示例#2
0
        /// <summary>
        /// Построение держателя для блинов
        /// </summary>
        /// <param name="iPart">Интерфейс детали</param>
        /// <param name="side">Направление</param>
        private void CreateHolder(ksPart iPart, bool side)
        {
            //Получаем массив граней объекта
            ksEntityCollection entityCollectionPart =
                (ksEntityCollection)iPart.EntityCollection((short)Obj3dType.o3d_face);
            //Получаем длину гладкой части
            var Y = _modelelParameters.Parameter(ParametersName.ConnectionLength).Value / 2;
            //Получаем длину места хвата
            var Y1 = _modelelParameters.Parameter(ParametersName.GripLength).Value / 2;
            var Y2 = 15;

            //Сортируем грани по координатам
            if (side == false)
            {
                entityCollectionPart.SelectByPoint(0, -(Y + Y1 + Y2), 0);
            }
            if (side == true)
            {
                entityCollectionPart.SelectByPoint(0, (Y + Y1 + Y2), 0);
            }
            //Получаем первый элемент массива
            var planeDetal = entityCollectionPart.First();
            //Создаем новый эскиз
            ksEntity iSketch =
                (ksEntity)iPart.NewEntity((short)Obj3dType.o3d_sketch);
            //Получаем интерфейс свойств эскиза
            ksSketchDefinition iDefinitionSketch = (ksSketchDefinition)iSketch.GetDefinition();

            //Устанавливаем плоскость эскиза
            iDefinitionSketch.SetPlane(planeDetal);
            //Создание эскиза
            iSketch.Create();
            //Создание нового 2Д документа
            ksDocument2D iDocument2D = (ksDocument2D)iDefinitionSketch.BeginEdit();
            //Получение радиуса рукоятки
            var rad = _modelelParameters.Parameter(ParametersName.HolderRadius).Value;

            //Создание кругов
            iDocument2D.ksCircle(0, 0, 3, 1);
            iDocument2D.ksCircle(0, 0, rad, 1);
            //Создание эскиза
            iDefinitionSketch.EndEdit();
            //Получение глубины выдавливания
            var depth = _modelelParameters.Parameter(ParametersName.HolderLength).Value;

            //Выполнение выдавливания
            ExctrusionSketch(iPart, iSketch, depth, true);
        }
示例#3
0
        /// <summary>
        /// Построение места для хвата
        /// </summary>
        private void CreateGrip(ksPart iPart, bool side)
        {
            //Объявление объекта плоскости
            ksEntity planeDetal = null;
            var      direction  = true;

            //Если длина гладкого места равна 0
            if (_modelelParameters.Parameter(ParametersName.ConnectionLength).Value == 0)
            {
                //Получаем интерфейс базовой плоскости ХОY
                planeDetal =
                    (ksEntity)iPart.GetDefaultEntity((short)Obj3dType.o3d_planeXOZ);
                if (side == true)
                {
                    direction = false;
                }
            }
            else
            {
                //Получаем массив граней объекта
                ksEntityCollection entityCollectionPart =
                    (ksEntityCollection)iPart.EntityCollection((short)Obj3dType.o3d_face);
                //Получаем длину гладкой части
                var Y = _modelelParameters.Parameter(ParametersName.ConnectionLength).Value / 2;
                //Сортируем грани по принадлежности к координатам
                if (side == false)
                {
                    entityCollectionPart.SelectByPoint(0, -Y, 0);
                }
                if (side == true)
                {
                    entityCollectionPart.SelectByPoint(0, Y, 0);
                }
                //Получение первой грани массива
                planeDetal = entityCollectionPart.First();
            }
            //Создаем новый эскиз
            ksEntity iSketch =
                (ksEntity)iPart.NewEntity((short)Obj3dType.o3d_sketch);
            //Получаем интерфейс свойств эскиза
            ksSketchDefinition iDefinitionSketch = (ksSketchDefinition)iSketch.GetDefinition();

            //Устанавливаем плоскость эскиза
            iDefinitionSketch.SetPlane(planeDetal);
            //Создание эскиза
            iSketch.Create();
            //Создание нового 2Д документа
            ksDocument2D iDocument2D = (ksDocument2D)iDefinitionSketch.BeginEdit();
            //Получение радиуса ручки
            var rad = _modelelParameters.Parameter(ParametersName.HandleRadius).Value;

            //Создание круга
            iDocument2D.ksCircle(0, 0, rad, 1);
            //Создание эскиза
            iDefinitionSketch.EndEdit();
            //Получение глубины выдавливания
            var depth = _modelelParameters.Parameter(ParametersName.GripLength).Value / 2;

            //Выполнение выдавливания
            ExctrusionSketch(iPart, iSketch, depth, direction);
        }