Ejemplo n.º 1
0
        public void Fillet(ksPart iPart, int index, double radius, TeaPotParams teaPotParams)
        {
            // Получение интерфейса объекта скругление
            ksEntity entityFillet = (ksEntity)iPart.NewEntity((int)Obj3dType.o3d_fillet);
            // Получаем интерфейс параметров объекта скругление
            ksFilletDefinition filletDefinition = (ksFilletDefinition)entityFillet.GetDefinition();

            // Радиус скругления
            filletDefinition.radius = radius;
            // Не продолжать по касательным ребрам
            filletDefinition.tangent = true;
            // Получаем массив граней объекта
            ksEntityCollection entityCollectionPart = (ksEntityCollection)iPart.EntityCollection((int)Obj3dType.o3d_face);
            // Получаем массив скругляемых граней
            ksEntityCollection entityCollectionFillet = (ksEntityCollection)filletDefinition.array();

            entityCollectionFillet.Clear();

            //ksEntity ENT = entityCollectionFillet.GetByIndex(0);

            // Заполняем массив скругляемых объектов
            entityCollectionFillet.Add(entityCollectionPart.GetByIndex(index));

            // Создаем скругление
            int X = Convert.ToInt32(teaPotParams.TeaPotHandleColor);

            entityFillet.SetAdvancedColor(X, 2, 2, 2, 2, 1, 2);
            entityFillet.Create();
        }
Ejemplo n.º 2
0
            public override ksEntity Execute()
            {
                _extrudeHandleCmd.Execute();
                ksEntity           fillet           = Part.NewEntity((short)Obj3dType.o3d_fillet);
                ksFilletDefinition filletDefinition = fillet.GetDefinition();

                filletDefinition.radius  = 1;
                filletDefinition.tangent = false;
                ksEntityCollection facesToFillet = filletDefinition.array();

                facesToFillet.Clear();
                ksEntityCollection partFaces = Part.EntityCollection((short)Obj3dType.o3d_face);

                for (int i = 0; i < partFaces.GetCount(); i++)
                {
                    facesToFillet.Add(partFaces.GetByIndex(i));
                }

                fillet.Create();
                return(fillet);
            }
Ejemplo n.º 3
0
        /// <summary>
        /// Скругление
        /// </summary>
        private void Filled(ksEntity ksEntity)
        {
            const int grayColor      = 16777215;
            ksEntity  ksEntityFilled = (ksEntity)_ksPart.NewEntity(
                (short)Obj3dType.o3d_fillet);
            ksFilletDefinition ksFilletDefinition =
                (ksFilletDefinition)ksEntityFilled.GetDefinition();

            ksFilletDefinition.radius  = 2;
            ksFilletDefinition.tangent = false;
            ksEntityCollection ksEntityCollectionPart =
                (ksEntityCollection)_ksPart.EntityCollection(
                    (short)Obj3dType.o3d_edge);
            ksEntityCollection ksEntityCollectionFillet =
                (ksEntityCollection)ksFilletDefinition.array();

            ksEntityCollectionFillet.Clear();
            ksEntityCollectionFillet.Add(ksEntityCollectionPart.GetByIndex(1));
            ksEntityCollectionFillet.Add(ksEntityCollectionPart.GetByIndex(0));
            ksEntityFilled.useColor = 0;
            ksEntityFilled.SetAdvancedColor(grayColor, 0.9, 0.8,
                                            0.7, 0.6, 1, 0.4);
            ksEntityFilled.Create();
        }