Поиск по документации
Введите не менее 2 символов
Введите не менее 2 символов
![]() |
CAE Fidesys 9.0 Руководство пользователя |
Команда "Разделить поверхность" делит одну или несколько поверхностей на несколько. Создание кривой для разделения поверхностей не требуется.
Разделение поверхности на ряд поверхностей может быть выполнено в следующих вариантах:
Для разделения линиями, проведенными через указанные точки:
Для этого варианта разделения поверхности применимы команды:
split surface <ID> across [pair] location <options multiple locs> [preview [create]]
split surface <ID> across location <multiple locs> onto curve <ID> [preview] create]]
Первый вариант команды разделяет поверхность с помощью сплайна, проведенного через указанные точки поверхности. Точки определяются, как это описано в подразделе Определение положений, направлений и осей. На Рис.1 показан пример такого разделения для случая задания трех точек (вершин 5, 6 и 7).
Для этого используется команда:
split surface 1 across location vertex 5 6 7

Рис. 1 - Разделение поверхности сплайном, проведенным через три точки
Параметр pair позволяет группировать точки для создания нескольких разделяющих линий, каждая из них определяется парой точек. Число вводимых указателей точек должно быть четным.
На Рис. 2 показан пример, соответствующий команде:
split surface 1 across pair vertex 5 7 6 8
Рис. 2 - Разделение поверхности двумя линиями, проведенными через две пары точек
Параметр preview обеспечивает предпросмотр результатов разделения. При использовании параметра create будет создан новый топологический объект - свободная линия (или несколько линий). Действие параметра onto curve состоит в том, что для каждой точки на одной стороне поверхности создается проекция на указанной кривой (например, противоположной стороне поверхности) и через эти точки проводятся разделяющие кривые.
На Рис. 3 представлен пример выполнения команды с таким параметром:
split surface 1 across vertex 5 6 onto curve 4
Рис. 3 - Разделение поверхности двумя линиями с использованием проекций точек на указанную кривую
Поверхность может быть разделена с помощью продолжения линии, лежащей на поверхности, до ее границ с помощью команды:
split surface <ID_list> extend [vertex <ID_list> | AUTO] [preview [create]]
На Рис. 4 приведен пример продолжения линии за вершину 2, как это указано в команде:
split surface 1 extend vertex 2

Рис. 4 - Разделение поверхности с помощью продолжения принадлежащей ей линии
Параметр auto обеспечивает автоматическое продолжение линий до границ поверхности в соответствии с настройками.
Пример выполнения команды с таким параметром представлен на Рис. 5:
split surface 1 extend auto

Рис. 5 - Разделение поверхности с помощью продолжения линии с использованием параметра auto
Действие параметров preview и create - то же, что описано выше.
Для настройки продолжения применимы следующие команды:
set split surface extend normal {on | OFF}
set split surface extend gap threshold <val>
set split surface extend tolerance<val>
Первая из них (использующая параметр normal) выполняет в случае включения (on) продолжение линии до пересечения с границей поверхности под прямым углом.
Соответствующий пример команд настройки и разделения приведен ниже, а их действие показано на Рис. 6:
set split surface normal on
split surface 1 extend vertex 2

Рис. 6 - Разделение поверхности с помощью продолжения линии с включенной настройкой normal
Вторая настройка (использующая параметр gap threshold) служит для управления продолжением линии при выборе параметра auto. Если расстояние между вершиной линии и пересекаемой при ее продолжении границей поверхности больше вводимого порогового значения gap threshold <val>, то линия продолжаться не будет. Пороговое значение по умолчанию равно бесконечности, введено же может быть любое. Для изменения ранее введенного значения на значение по умолчанию следует указать -1.0. Этот параметр применяется только при использовании ключевого слова auto.
Пример использования параметра gap threshold представлен в приведенных ниже командах, а их действие проиллюстрировано на Рис. 7:
set split surface gap threshold 2.0
split surface 1 extend auto

Рис. 7 - Разделение поверхности с помощью
продолжения линии с настройкой gap threshold = 2.0
(за вершину 1 линия не продолжается из-за превышения порогового значения)
Настройка с параметром tolerance может использоваться для предотвращения создания на границе поверхности коротких линий. При попытке продолжения линии до предполагаемой точки пересечения с границей поверхности, которая лежит на расстоянии менее заданного допуска (tolerance <val>) от какой-либо существующей вершины, продолжение проводится через эту вершину.
Соответствующий пример представлен следующими двумя командами и Рис. 8:
set split surface tolerance 1.0
split surface 1 extend vertex 2

Рис. 8 - Разделение поверхности с помощью
продолжения линии с настройкой tolerance 1.0
(продолжение проведено через Вершину 3, лежащую в пределах допуска от точки
пересечения)
Приводимая ниже команда разделяет одну или несколько поверхностей в автоматическом режиме. Этот вариант удобен, например, для разделения фасок и скруглений на деталях с целью последующей генерации сетки протяжкой.
Чтобы разбить кривую:
Чтобы разбить кривую можно использовать команду:
split surface <ID_list> [corner vertex <ID_list>] [direction curve <ID>] [segment | fraction | distance <val> [from curve <ID>]] [through vertex <ID_list>] [parametric <on | OFF>] [tolerance <val>] [preview [create]]
Объем, показанный на Рис. 9, был быстро подготовлен к генерации сетки протяжкой путем разделения поверхности скругления по линии, выделенной синим цветом.

Рис. 9 - Автоматическое разделение поверхности скругления для облегчения генерации сетки протяжкой
Поверхность всегда разделяется единственной линией, за исключением случая использования параметра segment. Линия разделении должна быть либо сплайном, либо дугой окружности, либо прямой.
Команда автоматического разделения анализирует поверхность или набор поверхностей, которые подлежат разделению, для построения логического прямоугольника, включающего четыре логические стороны и четыре логических угла. Каждая логическая сторона представляет собой либо точку, либо линию, либо несколько линий. Логические углы максимально близки к 90 градусам и ориентированы так, что поверхность будет разделяться параллельно самой длинной стороне. Если стороны логического прямоугольника строятся из последовательности линий, то в качестве логических углов выбираются два угла у начальной линии последовательности, близкие к 90 градусам, и два аналогичные угла у конечной линии. Разделение всегда производится в направлении следования линий.
Например, вершинами логического прямоугольника, показанного на Рис. 10, и, соответственно, вершинами его логических углов, выбранных алгоритмом разделения, являются вершины 1-2-5-6. Между этими вершинами определяются логические стороны - их список приведен в таблице 1. Линия разделения (выделена синим цветом) по умолчанию проводится от центра стороны 1 к центру стороны 5 параллельно самой длинной стороне.

Рис. 10 - Пример логического прямоугольника и разделения поверхности
Таблица 1 - Геометрические параметры логического прямоугольника, показанного на Рис.10
Логическая сторона |
Вершины логических углов |
Линии |
1 |
1 и 2 |
1 |
2 |
2 и 5 |
2, 3 и 4 |
3 |
5 и 6 |
5 |
4 |
6 и 1 |
6 |
На Рис. 11 для поверхности сложной формы представлены два варианта построения логического прямоугольника и разделения.

Рис. 11 - Два варианта построения логического прямоугольника и разделения одной и той же поверхности
В таблице 2 приведены примеры разделения различных поверхностей с помощью автоматически построенных логических прямоугольников. Следует отметить, что элементы поверхностей всегда нумеруются в направлении против часовой стрелки.
Таблица 2 - Примеры поверхностей и логических прямоугольников
Поверхность и линия ее разделения (синяя) |
Вершины логических углов (логического прямоугольника) |
|
1-2-3-4 (на основе соотношения сторон) |
|
4-1-2-3 (выбрано пользователем) |
|
1-2-5-6 |
|
2-5-6-1 |
|
1-2-3-4 (разделение всегда осуществляется вдоль последовательности поверхностей) |
|
1-2-3-4 (обратите внимание на треугольники вдоль последовательности) |
|
1-1-2-3 (сторона 1 логического прямоугольника стянута в точку; сторона 3 идет от вершины 2 к вершине 3) |
|
1-2-2-3 (сторона 2 логического треугольника стянута в точку) |
|
1-2-3-4 |
|
1-2-4-4 |
|
1-1-2-2 |
|
1-1-2-2 (выбрано автоматически) |
Если разделяется последовательность поверхностей, то они всегда будут разделяться в направлении их следования. При разделении одной поверхности, если не указано никаких опций, направление разделения определяется соотношением сторон (параллельно самой длинной стороне), а линия разделения проводится через средние точки каждой из двух других сторон. Направление и место разделения можно изменить, используя параметры команды: corner vertex (угловые вершины), direction curve (в направлении кривой), segment/fraction/distance from curve (положение относительно кривой) и through vertex (через вершины).
Примеры определения направлений разделения представлены в таблице 3. Перечисленные параметры рассматриваются более подробно ниже.
Таблица 3 - Примеры определения направлений разделения
Поверхность и линия ее разделения (синяя) |
Определение направления разделения |
|
Последовательность поверхностей всегда разделяется в направлении их следования |
|
Параллельно самой длинной стороне (по умолчанию) |
|
corner vertex 4 1 2 3 (Линия разделения всегда начинается на первой стороне логического прямоугольника: между первыми двумя указанными угловыми вершинами) |
|
direction curve 1 (в направлении Кривой 1) |
|
fraction 0.75 from curve 1 (на удалении 0.75 длины стороны от Кривой 1) distance 7.5 from curve 1 (на расстоянии 7.5 от Кривой 1) |
|
through vertex 5 6 (через Вершины 5 и 6) |
Параметр corner vertex (угловые вершины) позволяет определить углы, которые формируют логический прямоугольник, используемый алгоритмом выбора направления и места разделения поверхности. При анализе поверхности автоматически выбираются углы, наиболее близкие к 90 градусам. Разделение поверхности всегда начинается на стороне между двумя первыми выбранными углами и заканчивается на стороне между двумя последними. Параметр preview дает возможность предварительного отображения выбранных углов, и иногда для того, чтобы получить желаемое разделение, подходящие углы приходится выбирать вручную (см. Рис. 12).

Рис. 12 - Выбор подходящих углов логического прямоугольника
При задании углов логического прямоугольника с одной стороной нулевой длины (вырожденного прямоугольника, имеющего форму треугольника) линию разделения можно направить в угловую вершину, соответствующую нулевой стороне треугольника, путем выбора этой вершины дважды: в начале и в конце списка угловых вершин. Существует и упрощенный способ в виде задания трех вершин - при этом линия разделения будет направлена в сторону первой выбранной вершины. В случае всего двух угловых вершин (наличия двух сторон нулевой длины) линия разделения будет проведена между ними. Примеры такого разделения представлены в таблице 4. Алгоритм автоматически определяет углы треугольника на основании критерия нулевой длины сторон, если эти углы не подпадают под ограничения, заданные в настройках автоматического распознавания угловых вершин логического прямоугольника в случае его вырождения в треугольник.
Таблица 4 - Выбор углов при вырождении логического прямоугольника в треугольник
Поверхность |
Вершины логических углов |
|
1-2-4-4 или 4-4-1-2 либо 4-1-2 (упрощенный способ) |
|
1-1-2-2 или 2-2-1-1 либо 1-2 или 2-1 (упрощенный способ) |
Параметр direction curve позволяет задать направление разделения единичной поверхности путем определения линии (кривой или стороны) логического прямоугольника, параллельно которой должно быть проведено разделение. Такой способ имеет больший приоритет, чем задание направления с помощью порядка выбора угловых вершин логического прямоугольника. Параметр direction curve не применим для последовательности поверхностей. На Рис. 13 показан пример разделения поверхности в направлении, заданном кривой.

Рис. 13 - Разделение в направлении, заданном кривой
Опция segment <val> from curve обеспечивает разделение поверхности на 2 или более сегментов одинакового размера (<val> - число сегментов). С помощью опции fraction <val> from curve можно изменить относительный размер сегмента, ближайшего к выбранной кривой (по умолчанию <val> = 0,5) на другой, указанный пользователем. Опция distance <val> from curve дает возможность указать место разделения в абсолютных единицах (в этом случае <val> - расстояние от выбранной кривой). Идентификатор кривой (curve <ID>) указывает, какая сторона логического прямоугольника принята в качестве базовой для выбора места разделения. В таблице 5 приведены примеры использования этих опций.
Таблица 5 - Примеры использования опций segment/fraction/distance from curve
Поверхность и ее разделение (отмечено синим цветом) |
Опция команды автоматического разделения |
|
segment 6 from curve 1 |
|
fraction 3 from curve 1 |
|
distance 3 from curve 1 |
С помощью опции through vertex линию разделения поверхности можно провести через вершины, лежащие на границе поверхности в поперечном к ней направлении. Эта опция используется, если желаемое соотношение размеров сегментов изменяется от одной границы поверхности к другой или если разделение без такой опции прошло бы слишком близко к существующей кривой и привело к созданию новой короткой кривой. Описываемая опция может использоваться вместе с опцией fraction <val> from curve. Максимальное число задаваемых вершин равняется числу разделяемых поверхностей плюс одна. Выбранные вершины могут быть свободными. В таблице 6 приводятся два характерных примера разделения поверхности линией, проведенной через вершины.
Таблица 6 - Примеры применения опции through vertex
Поверхности и их разделение (отмечено синим цветом) |
Опции команды автоматического разделения |
|
fraction 3 from curve 1 through vertex 9 |
|
through vertex 5 6 7 8 |
По умолчанию место разделения поверхности определяется в трехмерном пространстве и проецируется на поверхность. В качестве альтернативы возможно определение места разделения при параметрическом представлении поверхности. Иногда это может приводить к более сглаженным результатам. Для разделения в параметрическом пространстве применима опция parametric {on | OFF}. Параметрическое определение места разделения возможно также с помощью команды настройки set split surface parametric {on | OFF}.
Для определения точности линий разделения поверхности используется абсолютное значение допустимой погрешности (допуска). При меньшем допуске требуется большее число точек интерполяции таких линий. Допустимая погрешность применяется также при разделении поверхности аналитической линией (например, дугой окружности или прямой) вместо разделения сплайном. Значение допуска по умолчанию равно 1.0. Для задания другого значения применима опция tolerance <val>. Еще одна возможность задания допуска состоит в использовании команды настройки set split surface tolerance <val>.
Рекомендуется задавать наибольшее возможное значение допуска для максимального использования аналитических линий разделения и сокращения числа точек на сплайнах. Это обеспечивает лучшее представление линий и меньший размер файла. С помощью параметра команды автоматического разделения preview точки интерполяции можно отобразить графически. В таблице 7 влияние допустимой погрешности проиллюстрировано на простых примерах.
Таблица 7 - Влияние допуска на представление линии разделения поверхности
Поверхность, линия разделения и точки интерполяции |
Значение допуска |
|
2.0 |
|
1.0 |
|
0.5 |
|
0.01 |
Параметр preview обеспечивает предварительный просмотр условий разделения поверхности в виде угловых вершин логического прямоугольника и полученных линий разделения. Одновременно можно увидеть и расположение точек интерполяции, с помощью которых определяются линии разделения в виде сплайнов. Если между концами линии разделения нет промежуточных точек, значит линия является аналитической. При задании параметра create создаются свободные линии, применимые для проецирования на поверхность. В таблице 8 представлены примеры отображения условий и результатов разделения при использовании параметра preview.
Таблица 8 - Примеры отображения условий и результатов разделения
Поверхность, угловые вершины*, линия разделения и точки интерполяции** |
Тип линии разделения |
|
Сплайн |
|
Дуга окружности (внутри линии нет точек интерполяции) |
*Отмечены красным
**Отмечены синим
Ниже приводятся команды, применимые для настройки автоматического разделения поверхностей. Для отображения текущих настроек можно использовать команду set split surface, в которой в качестве продолжения указываются настройки, представляющие интерес (без значений параметров).
Команда настройки точности линий разделения поверхностей имеет следующий вид:
Она позволяет изменить значение допустимой погрешности, принятое по умолчанию. Информация о команде приведена в пункте Определение линий разделения с допустимой погрешностью.
Для определения места разделения при параметрическом представлении поверхности используется команда:
Она переключает режим определения разделения с трехмерного на параметрический. Более подробные сведения представлены в пункте Параметрическое определение места разделения.
Приводимые далее команды служат для настройки автоматического распознавания угловых вершин логического прямоугольника в случае его вырождения в треугольник:
set split surface auto detect triangle {ON | off}
set split surface point angle threshold <val>
set split surface side angle threshold <val>
С помощью первой из этих команд возможно выключение автоматического распознавания, описанного в пункте Определение угловых вершин логического прямоугольника и действующего по умолчанию. При отказе от автоматических действий по умолчанию для распознавания треугольника используются два пороговых значения: point angle threshold (порог угла в точке) и side angle threshold (порог угла между сторонами), которые указываются в градусах. Угол в точке со значением, меньшим заданного с помощью point angle threshold, рассматривается как вершина треугольника (сторона логического прямоугольника нулевой длины). Углы между сторонами со значением от заданного side angle threshold до 180 градусов являются претендентами на удаление из логического прямоугольника. Для установления наличия треугольника одновременно должны удовлетворяться оба критерия. Значение по умолчанию для point angle threshold равно 45, для side angle threshold - 27. На Рис. 14 представлен пример вырожденного логического прямоугольника и два возможных варианта его разделения: с выключенным и включенным распознаванием треугольника.

Рис. 14 - Распознавание вырожденного логического прямоугольника и возможные варианты его разделения
Разделение поверхности с контролем скошенности выполняется с помощью команды:
split surface <ID_list> skew [preview] [create]
Эта команда позволяет разделить поверхность или несколько поверхностей таким образом, чтобы минимизировать возможную скошенность сетки из четырехугольных элементов. Команда использует алгоритм контроля скошенности для определения мест разделения поверхности. Ее использование эффективно только на поверхностях, предназначенных для генерации регулярных сеток. Эти поверхности не могут включать несколько замкнутых линий. На Рис. 15 показан пример разделения такой поверхности посредством команды:
split surface 1 skew

Рис. 15 - Разделение L-образной поверхности с контролем скошенности
Параметр preview обеспечивает предпросмотр разделяемой поверхности. Если задан параметр create, то создаются новые свободные линии.