|
Расположение в меню |
---|
Деталь → Соединить → Соединить объекты |
Верстаки |
Деталь |
Быстрые клавиши |
Нет |
Представлено в версии |
0.16 |
См. также |
Внедрить тонкостенные объекты, Вырезать в тонкостенном объекте, Булевы операции, Толщина |
Описание
Инструмент Соединить тонкостенные объекты соединяет внутренности двух объектов со стенками (например, труб). Он также может соединять оболочки и кривые.
Применение
- Выберите объекты, которые необходимо соединить. Порядок выделения не важен, так как действие инструмента симметрично. Достаточно выделить по одному элементу геометрии каждого объекта (например, грани). Также можно выбрать группу (compound), содержащую все соединяемые фигуры, например Draft OrthoArray (Ортогональный массив Черновика).
- Есть несколько способов вызвать инструмент:
- Нажмите кнопку
Соединить тонкостенные.
- Выберите из меню Деталь → Соединить →
Соединить объекты.
- Нажмите кнопку
- Создаётся параметрический объект Connect. Исходные объекты скрываются, а результат соединения отображается в 3D виде.
Свойства
Соединить
- ДанныеОбъекты (Objects): Список объектов, которые необходимо соединить. Как правило, требуется не менее двух объектов, но подойдет и один, содержащий соединяемые фигуры. (начиная с FreeCAD v0.17.8053, это свойство не отображается в Редакторе свойств, и доступ к нему можно получить только через скрипты на Python).
- ДанныеУлучшить (Refine): Устанавливает, применять или нет операцию Улучшить форму к конечной форме. Значение по умолчанию определяется флажком 'Автоматическое уточнение формы после выполнения булевой операции' в Настройках ПроектДетали (PartDesign).
Пример
- Создайте трубу, применив толщину к цилиндру:
- Создайте ещё одну трубу меньшего диаметра, и разместите её так, чтобы она проникала сквозь одну стенку первой трубы:
- Выберите первую и вторую трубу и нажмите кнопку «Соединить объекты» на раскрывающейся панели инструментов Объединить объекты...
- Используйте какой либо инструмент для создания сечений. Например: (Плоскость сечения, Архитектура Плоскость Сечения, Архитектура Секущая плоскость) чтобы показать внутренние детали. На рисунке ниже используется плоскость сечения верстака Архитектура (Arch).
Алгоритм
Алгоритмы, лежащие в основе инструментов Объединить, довольно просты, но их понимание важно для правильного использования инструментов. Алгоритм Соединить (Connect), в частности, немного сложнее других, но в целом достаточно думать о нём как о симметричном варианте алгоритма Внедрить (Embed).
1. Каждый объект разбивается на части пересечениями с другими объектами. (см. Фрагменты булевой операции)
2. Из частей предмета сохраняется только самая большая, все остальные выбрасываются.
3. К результату добавляются фрагменты пересечения, которые касаются как минимум двух объектов. Затем эти части соединяются вместе, чтобы получить результат команды Соединить (Connect).
Примечания
- Если на шаге 1 каждый объект остается целым, результат Соединения будет эквивалентен обычному объединению объектов.
- Теперь все предоставленные соединения разгруппировываются перед соединением. Это означает, что самопересекающиеся соединения, которые недопустимы для всех других булевых операций, допустимы для Соединения . (Это может быть изменено в будущем.)
- «Самый большой» фрагмент - это тот, который имеет наибольшую массу. То есть, для твёрдых тел сравниваются объёмы, для оболочек и граней - площади, и так далее.
- Начиная с FreeCAD v0.17.8053, и если версия OCC 6.9.0 и выше, Соединение выполняется почти так же быстро, как и все остальные булевы операции. В более ранних версиях Соединение работает примерно в 5 раз медленнее, чем обычные булевы операции, и работает только на твёрдых телах.
Написание скриптов
Инструмент Соединить можно использовать в макросах и из консоли Python с помощью следующей функции:
BOPTools.JoinFeatures.makeConnect(name)
- Создает пустую функцию Connect. Свойство 'Objects' должно быть назначено явно, после чего.
- Возвращает только что созданный объект.
Соединить также можно применять к обычным фигурам, без необходимости иметь объект документа, с помощью:
Part.BOPTools.JoinAPI.connect(list_of_shapes, tolerance = 0.0)
Это может быть полезно для создания пользовательских функций на основе скриптов Python.
Пример:
import Part
j = Part.BOPTools.JoinFeatures.makeConnect(name= 'Connect')
j.Objects = FreeCADGui.Selection.getSelection()
Сам инструмент реализован на Python, смотрите /Mod/Part/BOPTools/JoinFeatures.py (ссылка Github) в разделе, где установлен FreeCAD.
Эта страница получена от https://wiki.freecad.org/Part_JoinConnect