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).
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). В примере выполняется операция выдавливания без тонкой стенки.