# What's the fastest way to turn a triangular face into three quads?

What's the fastest way to turn a triangular face into three quads?

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

My 5 cents. What's yours?

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

• It is also possible to: Select triangle in middle -> Poke Face -> Select All -> Tris to Quads – marcus 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.

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).

• Still a nice one... – marcus Jul 9 '17 at 19:07
• This is actually the best solution I have seen so far, only requires like three button presses – 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'.

Here is an example gif:

@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.

• That's also nice. Tris to Quads also works as last step, btw. – marcus Jul 10 '17 at 5:02

Bmesh script

• 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()
bm.faces.remove(tri)
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)
bmesh.update_edit_mesh(me)