Part ShapeFromMesh/ru

Создать фигуру из полигональной сетки

Расположение в меню
Деталь → Создание фигуры из полигональной сетки...
Верстаки
Деталь
Быстрые клавиши
Нет
Представлено в версии
-
См. также
Преобразовать в твёрдое тело, Улучшить форму, Создать облако точек из геометрии

Введение

Команда Создать фигуру из полигональной сетки создаёт фигуры из сетчатых объектов. Объекты Сетки (Mesh) имеют ограниченные возможности редактирования в FreeCAD, преобразование их в фигуры (shapes) позволит использовать их с большим количеством булевых команд и команд модификации.

Обратная операция - это Создать полигональную сетку из фигуры... из Верстака Полигональлные Сетки (Mesh).

Применение

  1. Перед запуском этой команды следует проанализировать и исправить сетчатый объект, если это необходимо. Соответствующие инструменты для этой задачи доступны в Верстаке Полигональные Сетки.
  2. Выберите один или несколько сетчатых объектов.
  3. Выберите в меню Деталь → Создание фигуры из полигональной сетки.
  4. Откроется диалог Фигура из полигональной сетки.
  5. Опционально установите флажок Сшивание фигуры и укажите допуск:
    • Эта опция обычно не нужна. Она предназначена для объектов сетки, которые не являются водонепроницаемыми и имеют небольшие зазоры между краями.
    • Если опция выбрана, вместо соединения граней будет создано соединение оболочек.
    • Операция сшивания может потребовать больших вычислительных затрат.
  6. Нажмите кнопку OK.
  7. Для каждого выбранного объекта сетки создаётся Фигура в виде отдельного нового объекта.
  8. По желанию используйте Ушучщить геометрию на этих объектах.
  9. По желанию превратите полученные объекты в твёрдые тела с помощью Преобразовать в твёрдое тело.

Свойства

Смотрите также: Редактор свойств.

Команда Создать фигуру из полигональной сетки создёет объекты Конструктивный элемент без дополнительных свойств.

Написание скриптов

Создать Форму из Сетки можно с помощью метода makeShapeFromMesh из Топологической формы (TopoShape); вам нужно указать исходную сетку и допуск, а результат присвоить новому объекту Контруктивный элемент (Feature).

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

import FreeCAD as App
import Part

doc = App.ActiveDocument
mesh = doc.addObject("Mesh::Cube", "Mesh")
mesh.recompute()

shape = Part.Shape()
shape.makeShapeFromMesh(mesh.Mesh.Topology, 0.1)

solid = doc.addObject("Part::Feature", "Solid")
solid.Shape = Part.Solid(shape.removeSplitter())
solid.Placement.Base = App.Vector(15, 0, 0)
doc.recompute()

Ссылки