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

Sverchok-Extra addon

Created by: portnov

We talked about this several times, and I finally started it.

There is an addon: https://github.com/portnov/sverchok-extra (I think I will move the repo under Sverchok organization later).

It provides several nodes that can work only with specific libraries installed into Blender's python ecosystem.

NOTE: Sverchok-Extra is currently in early development stage; there are many things that can change in future. So, please do not depend on this addon in your production projects yet. But you can already test it and play with it.

At the moment, this addon includes the following nodes for Sverchok:

At the moment, this addon includes the following nodes for Sverchok:

  • Curve category:
    • Minimal (interpolation) Curve (uses [SciPy][4])
    • Catenary Curve (uses [SciPy][4])
    • NURBS Curve (uses [Geomdl][3] library)
    • NURBS Interpolation Curve (uses Geomdl library)
    • NURBS Approximation Curve (uses Geomdl library)
    • Circlify (pack a set of circles into another circle) (uses [Circlify][15] library)
    • Blend Curves (by BSpline curve, uses [Geomdl][3] library)
    • Marching Squares (uses [Scikit-Image][5] library)
    • Intersect Surface with Plane (uses [SciPy][4])
    • Orthogonal Projection onto Curve (uses [SciPy][4])
    • Nearest Point on Curve (usess [SciPy][4])
  • Surface category:
    • Smooth Bivariate Spline (uses [SciPy][4])
    • NURBS Surface (uses Geomdl)
    • NURBS Interpolation Surface (uses Geomdl)
    • NURBS Approximation Surface (uses Geomdl)
    • Quads to NURBS (uses Geomdl)
    • Minimal Surface (uses SciPy)
    • Minimal Surface from (closed) Curve (uses SciPy)
    • Curves to Surface (optionally uses SciPy and/or Geomdl)
    • Marching Cubes (optionally uses either [PyMCubes][8] or [Scikit-Image][5]; has slower implementation in pure Python)
    • Nearest Point on Surface (uses SciPy)
    • Raycast onto Surface (uses SciPy)
    • Raycast onto Implicit Surface (scalar field iso-surface) (uses SciPy)
    • Orthogonal Projection onto Surface (uses SciPy)
    • Implicit Surface Solver / Wrap (no dependencies, experimental node)
  • Spatial category:
    • Voronoi 3D (uses SciPy)
    • Spherical Voronoi (uses SciPy)
    • Delaunay 3D (uses SciPy)
  • Field category (please refer to the [wiki page][11] about used concept of the field; most of these nodes do not use external libraries, except for numpy):
    • Mesh Nearest Normals Field (optionally uses SciPy)
    • Minimal Scalar Field (uses SciPy)
    • Minimal Vector Field (uses SciPy)
    • Scalar Field Graph (uses [Scikit-Image][5])
  • Exchange category:
    • NURBS In (input Blender's NURBS curve or surface objects into Sverchok tree)
    • NURBS to JSON (uses Geomdl to represent NURBS surfaces or curves in JSON format which can be converted to Rhino's 3dm by [rw3dm][12]
    • JSON to NURBS (uses Geomdl to read NURBS surfaces or curves from the same JSON format)

Later, there will be more features. Also, later there can appear some kind of "booster" library, written specifically for Sverchok in C or C++, which we could use to improve performance of nodes that Sverchok already has.

Sverchok-Extra uses some extensions of Sverchok's API (#2836) to register it's nodes in Sverchok's menus and panels.

I think, the policy should be: if we want some feature in Sverchok, that requires user to compile or install anything, that should go into Sverchok-Extra. If someone wants some feature working in Sverchok, but most of the contributors think Sverchok would not benefit of it, then a separate addon should be created.

@zeffii @Durman @vicdoval @nortikin any thoughts on this?

Ответственный
Назначить
Оценка трудозатрат