I have a schematic of a raspberry pi that is completely flat, no solid faces, just connected vertices.

Is it possible to render these lines somehow, so that it looks like a 2D drawing?

Maybe with freestyle?


7 Answers 7


Note: This answer is for 2.79 only. For 2.8+ you will have to look at some of the other answers.

The simplest way to render an object that has no faces is to change the material type in the internal renderer to a 'Wire' material:

enter image description here

The mesh on the left, when rendered, looks like the image on the right:

enter image description here

I also changed it to be 'Shadeless' in the shading panel of the material so that it wouldn't be affected by shadows and would be lit equally.

  • $\begingroup$ Thanks, this is exactly what I need, I'll accept that as an answer. Just out of curiosity is freestyle capable of that also, or it needs to have a solid mesh? $\endgroup$
    – marchello
    Commented Oct 2, 2013 at 15:02
  • $\begingroup$ @marchello I'm afraid I'm unsure of that, I did try it (and failed) but I don't use freestyle enough to know for sure. $\endgroup$ Commented Oct 2, 2013 at 15:14
  • 2
    $\begingroup$ Is it possible to change the rendered edge width? Thanks. $\endgroup$
    – ollydbg23
    Commented Apr 20, 2015 at 7:50
  • $\begingroup$ How do I set this after the major UI overhaul in Blender 2.81? I can't find it in Materials Settings... $\endgroup$ Commented Feb 7, 2020 at 17:48
  • 1
    $\begingroup$ @RayMairlot What other answers? $\endgroup$ Commented May 25, 2020 at 21:00

It seems as if freestyle doesn't care for wireframe meshes. Even faces aren't recognized if they have 0 surface area (edge extruded and escaped).

If you want to achieve that effect with freestyle then assign a material to your mesh (with faces) that has Z Transparency enabled. Alpha and Specularity should be set to 0.0.

To make the flat edgelines visible for freestyle, just extrude them all away from the camera. Then select the edges that you want to keep seeing with a Border Select and hit CtrlE - Mark Freestyle Edge. Set freestyle to render nothing but Edge Mark. The transparent material will hide the surplus geometry.

enter image description here

Alternatively you can set the material to Cast Only in the Shadow panel. It works if your scene doesn't have shadows.

Or you can disable Solid in the Layer panel of the Render Layers. Then nothing gets rendered except the freestyle pass. I get the best results if I disable Chaining and set the Caps to Round in the Freestyle Line Style panel.

The advantages: You don't have to display every edge. You can control line thickness and line style very creatively. Dashed lines are possible, to name just one option.

blender wireframe freestyle comparison


For the sake of completeness, there is also the possibility to use the skin modifier. It removes faces (if present) from your mesh and builds tubes intersecting at all vertices.

Below a screenshow showing original mesh (manually deleted faces), with skin modifier and last with skin modifier and subdivision modifier.

You can scale the tubing thickness at each vertices (use ctrl+A in edit mode).

Skin modifier screenshot

  • 2
    $\begingroup$ You can reduce the polycount adding a decimate modifier set to Planar. In you exemple, I used 5°, from 15k vertices to 1700 without important quality loss. $\endgroup$
    – Bithur
    Commented Mar 19, 2015 at 13:06

You can also convert a faceless collection of vertices and edges into a curve:

alt-c convert mesh to curve

Then create, say, a simple circle curve then after reselecting your original curve object, set the bevel object to the circle curve.


Blender 2.9

(presumably also valid for 2.8 versions)

Two-part anwser:

  • Use Cuves
  • Use Skin Modifier


A simple way is to convert the mesh into curves, then bevel it, what gives the resulting "wire" a solid appearance. In Object mode:

  1. select object and in top menu go to Object > Convert to > Curve
  2. in the Properties Tab under Curve select Geometry > Bevel > Depth. Set a meaningful radius here.

The resulting object can be rendered in any way using the material of your choice.

Pretty easy and fast way.

enter image description here

Skin Modifier

If you really need flat lines to be rendered, I suggest to rather not using curves. Instead, in Object mode apply the Skin Modifier as suggested above by Gunslinger. This way is a bit more complicated in order to achive "flat" lines similar to a 2D drawing. Because the resulting skin first appears like a bold tube. But this can be changed in Edit mode:

  1. Select all
  2. go to Sidebar > Item > Transform. Here change either Mean Radius X or Mean Radius Y so that it gives the desired flat look.

However, this method seems to be computationally demanding for big meshes with lots of edges (compared to the other method) so that it may be slow when it comes to rendering.


In blender 2.8+ :

If you have an edge only mesh like for instance :

enter image description here

Disable all the overlays but the edges :

enter image description here

Setup your animation keyframes :

enter image description here

Resize and frame your viewport as it was a camera :

enter image description here

Set your output as if it was a regular render :

enter image description here

Render the animation with View > Viewport Render Animation :

enter image description here

Result :

enter image description here


Freestyle is unable to output edges, only faced mesh objects are supported. Here is a simple workaround, tested in Blender 3.5:

  • Convert your object (whether consisting only of edges) to Grease Pencil in Object Mode
  • Set your view as you like, no camera needed
  • Optionally set thickness of lines in GPencil Object Data Properties > Layers > Adjustments > Stroke Thickness
  • File > Export > Grease Pencil as SVG.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .