What's the fastest way to turn a triangular face into three quads?enter image description here


Subdivide triangle. Select face of middle triangle. Repeat. Select inner vertices and use AltM to merge at centre.

My 5 cents. What's yours?

enter image description here

p.s. no need to go into vertex mode. Face select and AltM is enough.

  • $\begingroup$ It is also possible to: Select triangle in middle -> Poke Face -> Select All -> Tris to Quads $\endgroup$ – user38881 Jul 10 '17 at 18:54

Subdivision Surface modifier with Simple mode

Just add to your object a subdivision surface modifier from the list and choose the Simple option.

enter image description here

This method is obviously not good if you would like to subdivide only a subset of faces of your object as the modifier is being applied to the whole object (in this case made of a single face).

  • 3
    $\begingroup$ Still a nice one... $\endgroup$ – user38881 Jul 9 '17 at 19:07
  • $\begingroup$ This is actually the best solution I have seen so far, only requires like three button presses $\endgroup$ – sam1370 Sep 16 '18 at 1:33

I guess you could always use the shortcut and not model it all. :)

The Add Mesh Extra Objects Add-On has been updated in version 2.79 and now includes a triangle object. It is found under Add Mesh>Math Function>Triangle. There are options for 3 and 6 quad faces, and 3 tri faces.

If you do not have it enabled already, just enable it in user preferences with Ctrl+Alt+U and search for 'extra'.

enter image description here

Here is an example gif:

enter image description here


@Carlo presented the perfect solution IMO- the fastest one indeed. Here are my 5 cents though:

Subdivide the triangle with W-->Subdivide, then inset faces with I and input the proper scale value to place all the vertices in the center of the object. Press W-->Remove Doubles. Finally select some edges and get rid of them with X-->Limited Dissolve.
enter image description here

  • 1
    $\begingroup$ That's also nice. Tris to Quads also works as last step, btw. $\endgroup$ – user38881 Jul 10 '17 at 5:02

Bmesh script

enter image description here

  • Checks selected element is tri.
  • Removes tri face.
  • Bisects the edges.
  • Make edges from bisect verts to tri's median centre.
  • Fill new edges and bisect edges with contextual create (akin to F)

Select triangle face in edit mode run script.

import bpy
import bmesh

context = bpy.context
ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)

tri = bm.select_history.active
# poll .. do we have a tri
if isinstance(tri, bmesh.types.BMFace) and len(tri.verts) == 3:
    edges = tri.edges[:]

    c = tri.calc_center_median()
    ret = bmesh.ops.bisect_edges(bm, edges=edges, cuts=1)
    verts = ret['geom_split'][:3]
    c = bm.verts.new(c)
    geom = ret['geom_split'][3:] +  [bm.edges.new([c, v]) for v in verts]  
    bmesh.ops.contextual_create(bm, geom=geom)

Your Answer

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