23

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

5 Answers5

24

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.

sam1370
  • 208
  • 1
  • 9
Patdog
  • 3,978
  • 11
  • 23
  • It is also possible to: Select triangle in middle -> Poke Face -> Select All -> Tris to Quads –  Jul 10 '17 at 18:54
17

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

sam1370
  • 208
  • 1
  • 9
Carlo
  • 24,826
  • 2
  • 49
  • 92
10

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

Timaroberts
  • 12,395
  • 6
  • 39
  • 73
5

@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

Paul Gonet
  • 33,368
  • 17
  • 91
  • 171
2

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()
    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)
batFINGER
  • 84,216
  • 10
  • 108
  • 233