2016-11-09 12 views

Antwort

0

Die Open-Source-Bibliothek FXyz hat genau das, was Sie suchen,: eine SVG3DMesh Klasse, die einen 2D-SVGPath (oder einen String mit seinem Inhalt) gegeben werden einen 3D-TriangleMesh, Extrudieren die 2D-Form zu einer bestimmten Höhe zurück.

Später können Sie dieses Netz in eine obj-Datei exportieren.

Dies ist ein Code-Schnipsel, wie Sie es verwenden können:

SVG3DMesh svg3DMesh = new SVG3DMesh("M40,60 C42,48 44,30 25,32", 10); 

SVG3DMesh

Sie das Netz zeigen:

svg3DMesh.setDrawMode(DrawMode.LINE); 
svg3DMesh.setCullFace(CullFace.NONE); 

oder zeigen ein solides 3D-Objekt mit der Farbe Sie möchten:

svg3DMesh.setTextureModeNone(Color.RED); 

Für das Netz zu obj exportieren:

OBJWriter writer=new OBJWriter((TriangleMesh) ((TexturedMesh) svg3DMesh.getMeshFromLetter("")).getMesh(), "svg"); 
writer.setMaterialColor(Color.RED); 
writer.exportMesh(); 

wird es svg.obj und svg.mtl erzeugen.

+0

Pereda, Vielen Dank für Ihre Kommentare. Dies wird mir wirklich helfen, den Prozess hinter der Konvertierung zu verstehen. – Sharan

+0

@ José Ist es auch möglich, ein flaches (nicht extrudiertes) Netz auf diese Weise zu erstellen? – mipa

+0

@mipa Ja, das ist der erste Teil davon, wie das 3D-Netz erzeugt wird: Der 2D-geschlossene Pfad verwendet Poly2Tri, um ein 2D-Netz zu erzeugen. Sie müssen eine API hinzufügen, um das Mesh aus SVG3DMesh zu entfernen ... –

Verwandte Themen