Как визуализировать 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 выход. Толщина линии была увеличена для ясности введите описание изображения здесь


1

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

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


Хорошо знать. Какая жалкая Google не делает версию для Linux. Попробую с VirtualBox.
января
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.