8

I've got a ring of vertices. How can I add an edge from a newly added centre vertex, to every other vertex in the mesh (and then add faces between all of the new edges)?

enter image description here

ajwood
  • 10,063
  • 11
  • 60
  • 112

4 Answers4

6

Another method to create a face with a vertex at the centre.

  1. Select your vertices: select vertices

  2. Make Face F, this'll create a ngon: make face

  3. Poke Faces Alt+P, this'll create a single vertex at the centre: poke mesh

Aldrik
  • 9,720
  • 22
  • 56
CharlesL
  • 15,316
  • 7
  • 53
  • 88
5

It is not easy to extrude a single vertex multiple times to fit several others manually as you described it in your question, even using automated methods… gandalf3's method is the best way to do it if you want it that way. However, based on your comment above, I think these ways might be better… depending on how your mesh is set up.

  1. Use BMesh! Just hit F and fill the thing, this will create an ngonenter image description here

  2. Grid Fill (introduced in 2.68), if your mesh has the same number of vertices along two opposite edgeloops of a closed mesh and the same number on the other sides, you can use this to fill it. enter image description here enter image description here

iKlsR
  • 43,379
  • 12
  • 156
  • 189
1

Method one:

  • Deleting the center vertex, A select all, E extrude,

    enter image description here

    then Alt+M > Merge at center.

    enter image description here

    Extruding then scaling to zero would also work. (either with Auto-Merge Editing enabled or Remove Doubles afterwards)

Method two:

  • Using the Fill tool.
    Select all and press Alt+F

    enter image description here

    Note that this is with the Beauty enter image description hereoption off

    With Beauty on:

    enter image description here

gandalf3
  • 157,169
  • 58
  • 601
  • 1,133
  • I think the original method you posted that answered the question as OP asked it was ok, mine complimented it and merely offered alternatives. This updated one with the cross-referencing and inclusion is a bit confusing.. – iKlsR Jul 06 '13 at 03:29
  • @iKlsR Removed the bmesh bit that was the same as yours. BTW, it's thanks to your selecting the Fill tool instead of Make edges and Faces that I even thought of Fill.. ;) – gandalf3 Jul 06 '13 at 03:59
1

since you have dispensed with the limitation that there should be a central vertex connecting them all (this would be bad for more extreme concave polygon shapes anyway). Because you are writing a script anyway, example code (bmesh.ops.edgenet_fill) ?

import bpy, bmesh

# Get the active mesh
obj = bpy.context.edit_object
me = obj.data

# Get a BMesh representation
bm = bmesh.from_edit_mesh(me)
edges = [edge for edge in bm.edges if edge.select]

bmesh.ops.edgenet_fill(bm, edges=edges)

# recalculate n-gon tessellation and update viewport.
bmesh.update_edit_mesh(me, True)

enter image description here

zeffii
  • 39,634
  • 9
  • 103
  • 186