2
$\begingroup$

When in object mode with wireframe display, Blender only draws edges between non-coplanar faces, or edges which only belong to one face. For example this image shows switching between object and edit mode:

object mode vs edit mode

Using the python API, is there a way to access the object mode preview mesh, or some other way to tell if an edge would be rendered in object mode? i.e., without having build a list of faces for each edge and then check whether every pair of faces is coplanar?

I don't want to display all edges in object mode, so option "Draw all edges" is of no use. In fact that is the exact opposite of what I want. I want to export only the edges which are shown in object mode, using a python script.

$\endgroup$
  • 1
    $\begingroup$ Do you want to have a real mesh only consisting of the shown edges, or just a render? PS good call flagging this. $\endgroup$ – David Jul 25 '17 at 3:43
  • $\begingroup$ A real mesh, to export to another format. $\endgroup$ – Alistair Buxton Jul 25 '17 at 10:34
  • $\begingroup$ I don't think a way exists. What you are seeing is the result of culling the opengl draw commands, not any actual mesh generation. The draw all edges option bypasses the culling. $\endgroup$ – sambler Jul 25 '17 at 10:56
  • $\begingroup$ For mostly flat meshes like your example, this script makes a simplified wireframe mesh, the more curves, the more edges are included. Is that something like what you are after? $\endgroup$ – sambler Jul 25 '17 at 13:57
  • $\begingroup$ @sambler yes, that's what I am after. I wondered if there was a way to do it without recalculating the angle between every pair of faces. $\endgroup$ – Alistair Buxton Jul 25 '17 at 14:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.