Разрезать
Part Slice |
Системное название |
---|
Part Slice |
Расположение в меню |
Деталь → Split → Slice |
Верстаки |
Part |
Быстрые клавиши |
Нет |
Представлено в версии |
0.17 |
См. также |
Part Boolean Fragments, Part XOR, Part Join features, Part Boolean |
Описание
Part Slice, так же известный как "Разделить в компаунд", это инструмент, используемый для разделения фигур через пересечение с другими фигурами. Например, для куба и плоскости создаётся компаунд из двух тел.
Выше: части были впоследствии раздвинуты вручную, чтобы показать разрез
Имеются две команды для разделения фигуры: Slice apart и Slice to compound. Они оба создают параметрический объект «Срез», который объединяет разрезанные части в компаунд. В то же время Slice Apart разбивает полученное соединение на отдельные объекты. «Slice to compound» полностью параметрический, и не имеет проблем при изменении количества частей. «Slice apart» не будет обновлять количество объектов при изменении числа частей.
Итоговая форма занимают то же место, что и оригинал. Но она разделена там, где пересекается с другими формами. Разделенные части складываются в компаунд (или композит), поэтому кажется, что объект остается одним целым. Вам нужно взорвать соединение, чтобы получить отдельные части. Если вы хотите получить доступ к отдельным частям параметрическим способом, вы можете использовать для этой цели Part CompoundFilter. Для быстрого, непараметрического доступа используйте Downgrade.
Инструмент имеет три режима: «Standard», «Split» и «CompSolid». Формы выбора нет, они предопределены, но доступны после операции на уровне результирующих срезов.
«Standard» и «Split» различаются действием инструмента на рёбра, оболочки и составные тела: если «Split», они разделяются; если «Standard», они остаются вместе (получают дополнительные сегменты).
Составная структура в режимах «Standard» и «Split» следует за составной структурой разрезаемой формы.
В режиме «CompSolid» на выходе получается compsolid (или соединение compsolids, если полученные твердые тела образуют более одного острова связности). Compsolid - это набор тел, соединенных гранями; они связаны с твердыми телами, как полилинии связаны с ребрами, а оболочки связаны с гранями; название, вероятно, является сокращённым словосочетанием «композитное твердое тело».
Общее действие инструмента очень похоже на Boolean Fragments, за исключением того, что в результате получаются части только из первой формы.
Применение
- Сначала выберите объект для нарезки, а затем несколько объектов чтобы резать.
Порядок выбора важен. Соединения с самопересечениями не допускаются (самопересечения иногда можно учесть, передав соединение через BooleanFragments) - Вызвать команду Part Slice одним из способов:
- Нажмите кнопку Part Slice на панели инструментов Part
- Используйте пункт Деталь → Разделить → Slice apart в меню Деталь
- Примечаниеː Объекты для разрезания должны полностью разделять объект, который нужно нарезать. Таким образом, куб не может быть разрезан проволокой, а может быть разрезан, например, плоскостью, полученной экструдированием проволоки.
Создается параметрический объект Slice. Исходные объекты скрываются, а результат пересечения показываются в Окне трёхмерного вида.
Древовидная структура Slice
Команда Slice создаёт нарезанный объект. В следующем примере куб разрезается гранью.
Создаётся ннарезка, и каждый её фрагмент объединяется в компаунд.
Свойства
Slice
- ДанныеBase: объект для нарезки.
- ДанныеTools: список объектов для нарезки. (начиная с FreeCAD v0.17.8053, это свойство не отображается в редакторе свойств и доступно только через Python).
- ДанныеMode: «Standard», «Split» или «CompSolid». "Разделить" по умолчанию. Стандартный и Разделить отличаются действием инструмента на фигуры типа агрегирования: если Разделить, они разделяются; в противном случае они хранятся вместе (получаются дополнительные сегменты).
- ДанныеTolerance: значение "нечеткости". Это дополнительный допуск, который следует применять при поиске пересечений в дополнение к допускам, сохраненным во входных формах.
̈Примечаниеː Свойства доступны на внутреннем объекте срезов, а не на уровне результата.
Пример
Создание головоломки
- Переключитесь на Sketcher Workbench
- Переключитесь на Верстак Part.
- Вернитесь к верстаку Sketcher
- Вернитесь к Верстак Part.
- Выделите эскиз разделителя и используйте Part Boolean Fragments. Это вставит вершины в места пересечения линий эскиза разделителя. Их наличие необходимо для работы на следующем этапе.
- Выделите эскиз разделителя и используйте Part Boolean Fragments. Это вставит вершины в места пересечения линий эскиза разделителя. Их наличие необходимо для работы на следующем этапе.
- Выберите прямоугольную грань и BooleanFragments эскиза разделителя и используйте Part Slice.
- Используйте Part ExplodeCompound к разрезанной грани, чтобы разбить соединение, созданное Part Slice, на отдельные части.
Примечание: Шаги 5 и 6 можно выполнить одним щелчком мыши, используя Part SliceApart
Примечания
- Инструмент был представлен в FreeCAD v0.17.8053. FreeCAD необходимо скомпилировать с OCC 6.9.0 или новее; иначе инструмент будет недоступен.
- ̈Свойства доступны на внутреннем объекте срезов, а не на уровне результата.
- Нарезающие объекты должны полностью разделять объект, который нужно нарезать. Таким образом, куб не может быть разрезан проволокой, а может быть разрезан, например, плоскостью, полученной из экструдированной проволоки.
- Нарезанный объект должен пройти проверку BOP. См. Part CheckGeometry.
Программирование
Инструмент можно использовать в макросах и из консоли Python, используя следующую функцию:
BOPTools.SplitFeatures.makeSlice(name)
- Создает пустую функцию Slice. Свойства 'Base' и 'Tools' должны быть назначены впоследствии явно.
- Возвращает вновь созданный объект.
Slice также может применяться к простым формам, без необходимости наличия объекта документа, с помощью:
BOPTools.SplitAPI.slice(base_shape, tool_shapes, mode, tolerance = 0.0)
Это может быть полезно для создания пользовательских сценарных атрибутов на Python.
Пример:
import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeSlice(name= 'Slice')
j.Base = FreeCADGui.Selection.getSelection()[0]
j.Tools = FreeCADGui.Selection.getSelection()[1:]
Сам инструмент выполнен на Python, смотрите /Mod/Part/BOPTools/SplitFeatures.py (GitHub link) внутри каталога установки FreeCAD.
Учебники
- FreeCad 0.18 Part WB using Slice and Slice Apart (English language), author: Ha Gei
- FreeCAD Slice und Slice Apart und andere Tricks (German language), author: Ha Gei
- Примитивы: Куб(Параллелограмм), Конус, Цилиндр, Сфера, Тор, Полый цилиндр,Примитивы, Связующие формы
- Создание и правка: Выдавливание, Построение фигуры вращения, Отражение, Скругление, Фаска, Создать плоскость из граней, Ruled Surface, Профиль, Sweep, Section, Cross sections, 3D Offset, 2D Offset, Создать полый объект, Projection on surface, Прикрепление
- Булевы операции: Соединить, Разорвать связь, Compound Filter, Булевы операции, Cut, Fuse, Common, Connect, Embed, Cutout, Boolean fragments, Slice apart, Slice, XOR
- Измерительные: Measure Linear, Measure Angular, Measure Refresh, Clear All, Toggle All, Toggle 3D, Toggle Delta
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework