вашей программой.

Теперь рассмотрим параметры операции выдавливания и способы их настройки.

1. Направление выдавливания в КОМПАС выбирается из раскрывающегося списка Направление на панели свойств (рис. 6.16).

Рис. 6.16. Выбор направления операции выдавливания

Программным аналогом направления является свойство directionType (тип – SmallInt) интерфейса ksBossExtrusіonDefіnіtіon (или ksBaseExtrusіonDefіnіtіon). Для него предопределены четыре значения:

• dtNormal (прямое направление) – направление добавления материала совпадает с направлением нормали к базовой плоскости (то есть плоскости, в которой размещается эскиз выдавливания);

• dtReverse (обратное направление) – направление выдавливания противоположно направлению нормали;

• dtBoth (в оба направления) – величина выдавливания задается отдельно для каждого направления;

• dtMіddlePlane (средняя плоскость) – выдавливание происходит в обе стороны от базовой плоскости на одинаковое расстояние, равное половине от указанной пользователем величины выдавливания.

Направление выдавливания устанавливается очень просто (листинг 6.3).

Листинг 6.3. Задание направления выдавливания

iBossExtrusion := ksEntity (iPart.NewEntity(o3d_bossExtrusion));

if (iBossExtrusion <> nil) then

begin

iBossDef := ksBossExtrusionDefinition(iBossExtrusion.GetDefinition);

if (iBossDef <> nil) then

begin

// задаем направление выдавливания

iBossDef.directionType := dtNormal;

end;

end;

2. Способ выдавливания (рис. 6.17).

Рис. 6.17. Выбор способа выдавливания

Для этого типа настроек в API системы также предусмотрены константы:

• etBlіnd (на расстояние) – проводит выдавливание на величину, заданную в поле Расстояние 1 (или Расстояние 2, если задано направление dtReverse или dtBoth);

• etThroughAll (через все) – при наличии другой геометрии (других формообразующих операций) выдавливание происходит через все тело детали; значение величины выдавливания игнорируется;

• etUpToVertexTo, etUpToVertexFrom (до вершины) – система переходит в режим ожидания указания пользователем вершины, до которой будет осуществлено выдавливание. Введенное значение величины выдавливания игнорируется. В программе эту вершину следует задать явно еще на этапе разработки проекта;

• etUpToSurfaceTo, etUpToSurfaceFrom (до поверхности) – аналогично режиму построения до вершины, в данном режиме система ожидает выбора пользователем трехмерной поверхности. Значение величины выдавливания также игнорируется. Как и для вершины, плоскость в программе следует указывать явно;

• etUpToNearSurface (к ближайшей поверхности) – выдавливание проводится к ближайшей поверхности, которую система автоматически определяет в направлении выдавливания.

3. Расстояние выдавливания – вводится пользователем в соответствующем текстовом поле (полях).

4. Угол наклона операции выдавливания. На панели свойств задается направление наклона (внутрь или наружу), а также сам угол наклона.

Параметры операции, описанные в пп. 2–4, устанавливаются с помощью единого метода интерфейса ksBossExtrusіonDefіnіtіon::SetSideParam (листинг 6.4).

Листинг 6.4. Задание способа, величины выдавливания, а также угла наклона

iBossExtrusion := ksEntity(iPart.NewEntity(o3d_bossExtrusion));

if (iBossExtrusion <> nil) then

begin

iBossDef := ksBossExtrusionDefinition(iBossExtrusion.GetDefinition);

if (iBossDef <> nil) then

begin

iBossDef.directionType := dtNormal;

// Если первый параметр имеет значение true,

// это значит, что все следующие параметры

// задаются для направления выдавливания dtNormal.

// Если установить значение параметра равным false,

// значит все следующие параметры

// определяются для обратного направления.

// Второй параметр задает способ выдавливания (etBlind);

// третий параметр – величина выдавливания (25 мм);

// четвертый параметр false – уклон вглубь (true – наружу)

// последний параметр – величина уклона в градусах

iBossDef.SetSideParam(true, etBlind, 25, false, 10);

end;

end;

5. На вкладке Тонкая стенка пользователь может управлять параметрами толщины и способа формирования тонкой стенки или установить режим выдавливания сплошного тела (рис. 6.18).

Рис. 6.18. Выбор режима построения тонкой стенки

В программе это задается следующим образом (листинг 6.5). В примере выполняется операция выдавливания без тонкой стенки.

Листинг 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. Мы приняли, что сам эскиз, как и упоминалось ранее, был создан до начала выполнения операции выдавливания.

Вы читаете КОМПАС-3D V10 на 100 %
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату