Читаем КОМПАС-3D V10 на 100 % полностью

Листинг 6.5. Задание параметров тонкой стенки

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.

Листинг 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.

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже