• S sverchok
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Задачи 148
    • Задачи 148
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 21
    • Запросы на слияние 21
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • nikitronn
  • sverchok
  • Запросы на слияние
  • !4803

CAD->bisect node. Fix fill holes on complex objects (ex. torus).

  • Ревью изменений

  • Скачать
  • Почтовые патчи
  • Простое отличие
Слиты nikitronn запросил слияние cad_bisect_fix_fill в master Дек 08, 2022
  • Обзор 8
  • Коммиты 1
  • Конвейеры 0
  • Изменения 1

Created by: satabol

Windows 11, Blender 3.3.1, Sverchok-master

ex. #4799 (closed) if replay with Bisect then result is unexpected too:

image

But Blender do bisect well:

image

What the problem? The part of problem is in operator bmesh.ops.bisect_plane. The Bisect Operator does not fill holes! (Unexpected!). See:

https://github.com/blender/blender/blob/3780a402651aeac0caa86767f823a8517a6f8bae/source/blender/editors/mesh/editmesh_bisect.c#L322-L333

image

But how Blender do fill? It do fill later with triangle_fill operator (https://docs.blender.org/api/current/bmesh.ops.html#bmesh.ops.triangle_fill)!

https://github.com/blender/blender/blob/3780a402651aeac0caa86767f823a8517a6f8bae/source/blender/editors/mesh/editmesh_bisect.c#L346-L355

image

But how Sverchok do fill on bisect [see line 49]?

https://github.com/nortikin/sverchok/blob/9ff8f36eab43ccb926840123dff58469c50bff6b/nodes/modifier_make/bisect.py#L44-L49

I think this is a problem. So I try replace bmesh.ops.edgeloop_fill to bmesh.ops.triangle_fill. And I got next result that look good:

image

Bisect 001

With joined mesh:

Bisect 002

Suzanne tomography:

Bisect 003

Suzanna has non-manifold geometry so glitches are expected.

for test this pull request: https://gist.github.com/78671a6264b9255acbb3883779fefc73

Ответственный
Назначить
Проверяющие
Запросить ревью
Оценка трудозатрат
Исходная ветка: cad_bisect_fix_fill