iBossExtrusion := ksEntity(iPart.NewEntity(o3d_bossExtrusion));
if (iBossExtrusion <> nil) then
begin
iBossDef := ksBossExtrusionDefinition(iBossExtrusion.GetDefinition);
if (iBossDef <> nil) then
begin
iBossDef.directionType := dtNormal;
iBossDef.SetSideParam(true, etBlind, 25, false, 10);
// первый параметр false указывает на то,
// надо ли строить тонкую стенку
// второй параметр задает направление выдавливания
// третий и четвертый параметры определяют толщину стенки
// в прямом и обратном направлениях соответственно
iBossDef.SetThinParam(false, dtNormal, 0, 0);
// устанавливаем эскиз операции
iBossDef.SetSketch(iSketch);
end;
end;
В этом фрагменте кода также был задан эскиз операции с помощью метода ksBossExtrusіonDefіnіtіon::SetSketch. Мы приняли, что сам эскиз, как и упоминалось ранее, был создан до начала выполнения операции выдавливания.
На вкладке Свойства можно также настроить цвет и оптические свойства создаваемого элемента. При программном построении элемента для этого сначала необходимо инициализировать еще один дополнительный интерфейс – ksColorParam. С помощью его свойств можно управлять визуальными характеристиками трехмерного элемента. Внесенные в функцию построения изменения показаны в листинге 6.6.
iBossExtrusion := ksEntity(iPart.NewEntity(o3d_bossExtrusion));
if (iBossExtrusion <> nil) then
begin
// присваиваем имя трехмерной операции,
// которое будет отображено в дереве построения
iBossExtrusion.name := “Программная операция выдавливания”;
// получаем указатель на интерфейс параметров цвета
// и оптических свойств
color := ksColorParam(iBossExtrusion.ColorParam);
// с помощью макроса RGB задаем цвет – красный
color.color := RGB(255, 0, 0);
// задаем уровень зеркальности (в долях единицы)
color.specularity := 0.8;
// и блеск
color.shininess := 1;
iBossDef := ksBossExtrusionDefinition(iBossExtrusion.GetDefinition);
if (iBossDef <> nil) then
begin
iBossDef.directionType := dtNormal;
iBossDef.SetSideParam(true, etBlind, 25, false, 10);
iBossDef.SetThinParam(false, dtNormal, 0, 0);
iBossDef.SetSketch(iSketch);
end;
end;
Теперь все свойства настроены нужным образом, и можно создавать саму трехмерную операцию выдавливания. В КОМПАС для этого необходимо нажать кнопку Создать объект, в программе – вызвать метод Create объекта интерфейса ksEntity. Окончательный вид функции приведен в листинге 6.7.