Comment rendre des modèles 3D en graphiques vectoriels SVG? (projection planaire)

12

entrez la description de l'image ici

Cette image ( SVG original de Wikipedia , domaine public) a été créée en utilisant la procédure suivante:

  1. Créer un modèle 3D dans Google sketchup
  2. Exporter au format PDF
  3. Importer dans Inkscape
  4. Enregistrer en SVG

Existe-t-il un moyen simple de produire un tel SVG avec un logiciel qui s'exécute (nativement) sur Ubuntu? ( Pantograph , un plugin Blender, n'a que des liens de téléchargement rompus; VRM , un autre plugin Blender fonctionne avec Belnder 2.4x, mais pas avec Blender 2.6x.)

Jan
la source
Eh bien, tout est une question d'ombres et de lumières .. pas difficile à faire, et Inkscape a un outil 3D seulement c'est un rectangle.
Uri Herrera
C'est une question de lumière, d'ombres et de perspective. C'est assez difficile à faire dans Inkscape à moins que tous vos objets soient rectangulaires et alignés avec les axes de la grille isométrique ("3D") d'Inkscape.
Jan

Réponses:

6

Vous avez deux options:

Option 1

Le premier nécessite une version récente de Blender (disponible auprès de Graphicall ), qui peut désormais utiliser le moteur de rendu Freestyle

Freestyle est un logiciel de rendu de dessin au trait non photoréaliste à partir de scènes 3D.

Dans Freestyle, il existe un plugin, SVGWriter , qui peut écrire des scènes de Blender dans des SVG. Les instructions d'utilisation sont disponibles sur cette page. Voici un exemple de sa sortie:

Rendu Blender d'origine: entrez la description de l'image ici

Sortie SVG Freestyle: entrez la description de l'image ici

Le freestyle est toujours en développement et vous pouvez suivre ses progrès sur leur blog .

Le graveur d'images fixes SVG dans SVGWriter ne rend actuellement qu'une seule image, c'est-à-dire que vous ne pouvez pas rendre chaque image en SVG. J'ai réécrit le script pour ce faire, et l'auteur m'a informé que ma modification sera intégrée dans le téléchargement principal dans une future mise à jour. Voici la modification

Option 2

La deuxième option vous permet uniquement de rendre les courbes de Bézier. Tout d'abord, vous devez installer svgwrite pour Python 3. Vous pouvez le faire en allant dans le dossier et en exécutant

sudo python3 setup.py install

Vous devrez peut-être copier le dossier svgwrite dans .blender / version_number / python / lib / python3.2 /

Vous devez ensuite télécharger SVGwriter pour Blender. Installez Git, puis exécutez

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

Dans le dossier téléchargé, vous devrez copier les scripts Python (ceux se terminant par .py) et écraser ceux situés soit dans ./blender/[version_number / addons / io_curve_svg /.

Enfin, dans Blender, tracez votre courbe de Bézier puis allez dans Fichier> Exporter> SVG. Voici un exemple de sortie

Courbe du mélangeur d'origine entrez la description de l'image ici

Sortie SVG. L'épaisseur du trait a été augmentée pour plus de clarté entrez la description de l'image ici

hellocatfood
la source
1

Il existe de nombreux plugins gratuits pour Sketchup et l'un d'eux fait exactement ce dont vous avez besoin, et vous n'avez pas besoin d'acheter Sketchup pro. Soit dit en passant, il est également capable d'exporter de nombreux types de formats 3D via des plugins gratuits. Vérifiez vos informations avant de donner de mauvais conseils CS Cameron

Voici la page du plugin pour référence

Wibble
la source
Bon à savoir. Quel pitoyable Google ne fait pas une version Linux. Va essayer avec VirtualBox.
Jan