Как визуализировать 3D-модели в виде векторной графики SVG? (плоская проекция)

12

введите описание изображения здесь

Это изображение ( оригинал SVG из Википедии , общественное достояние) было создано с использованием следующей процедуры:

  1. Создать 3D-модель в Google SketchUp
  2. Экспортировать как PDF
  3. Импорт в Inkscape
  4. Сохранить как SVG

Есть ли простой способ создать такой SVG с программным обеспечением, которое (изначально) работает на Ubuntu? ( Пантограф , плагин Blender, имеет только неработающие ссылки для загрузки; VRM , другой плагин Blender, работает с Belnder 2.4x, но не с Blender 2.6x.)

январь
источник
Ну, все дело в тенях и светах ... это не сложно, а в Inkscape есть только 3D-инструмент - это прямоугольник.
Ури Эррера
Это вопрос света, теней и перспективы. Это довольно сложно сделать в Inkscape, если все ваши объекты не прямоугольные и не выровнены по осям изометрической («3D») сетки Inkscape.
Янв

Ответы:

6

У вас есть два варианта:

Опция 1

Первый требует недавних сборок Blender (доступно от Graphicall ), которые теперь могут использовать движок фристайла.

Freestyle - это программное обеспечение для нефотореалистичного рисования линий с 3D-сцен.

В Freestyle существует плагин SVGWriter , который может записывать сцены Blender в SVG. Инструкции по использованию доступны на этой странице. Ниже приведен пример его вывода:

Оригинальный рендер Blender: введите описание изображения здесь

Фристайл SVG выход: введите описание изображения здесь

Фристайл все еще находится в разработке, и вы можете следить за его прогрессом в их блоге .

Средство записи SVG неподвижных изображений в SVGWriter в настоящее время отображает только одно изображение, т. Е. Вы не можете отобразить каждый кадр в SVG. Я переписал скрипт, чтобы сделать это, и автор сообщил мне, что моя модификация будет интегрирована в основную загрузку в будущем обновлении. Вот модификация

Вариант 2

Второй вариант позволяет только визуализировать кривые Безье. Во-первых, вы должны установить svgwrite для Python 3. Вы можете сделать это, зайдя в папку и запустив

sudo python3 setup.py install

Вам может понадобиться скопировать папку svgwrite в .blender / version_number / python / lib / python3.2 /

Затем вам нужно скачать SVGwriter для Blender. Установите Git и затем запустите

git clone git://gitorious.org/blender-2-6-svg-export/blender-2-6-svg-export.git

Внутри загруженной папки вам нужно будет скопировать скрипты Python (заканчивающиеся на .py) и перезаписать те, которые находятся либо в ./blender/[version_number]/scripts/addons/io_curve_svg/, либо в / usr / lib / blender / scripts / addons / io_curve_svg /.

Наконец, в Blender нарисуйте кривую Безье и перейдите в Файл> Экспорт> SVG. Вот пример вывода

Оригинальная кривая Блендера введите описание изображения здесь

SVG выход. Толщина линии была увеличена для ясности введите описание изображения здесь

hellocatfood
источник
1

Существует множество бесплатных плагинов для Sketchup, и один из них делает то, что вам нужно, и вам не нужно покупать Sketchup Pro. Кстати, он может экспортировать многие типы 3D-форматов также с помощью бесплатных плагинов. Проверьте свою информацию, прежде чем давать плохой совет CS Cameron

Вот страница плагина для справки

Wibble
источник
Хорошо знать. Какая жалкая Google не делает версию для Linux. Попробую с VirtualBox.
января