How do i stretch specific part of a mesh

Hello guys,
I have a human head mesh with texture in .obj format. But the neck of the head mesh is too short,so we have to stretch the neck section for elongated neck.

What i tried ,

  1. Noted down the neck boundary vertices in clockwise using MeasureIt tool in Blender.
  2. we can also get the neck boundary edges similarly

Here is the reference mesh,

Now, I’m stuck at how to stretch those edges downward so that i can get elongated neck.

Extrude the edge?

Or select the bottom edge loop and use the proportional edit tool ( O key >> MMB to adjust influence then >> grab/move )

I’m trying the edge extrude with python script.


  1. Toggle into the EDIT Mode
  2. Go to the Edge Select Mode
  3. Select an edge in neck loop (predefined edge id corresponding to neck)
  4. Extrude by noted value corresponding to the selected edge

Note : The neck edge ids and the corresponding value to be extruded is noted manually.

bpy.ops.object.mode_set(mode = 'EDIT')
for i in range(len(neck_edges)):
    bpy.ops.mesh.extrude_region_move(MESH_OT_extrude_region={"use_normal_flip":False, "use_dissolve_ortho_edges":False, "mirror":False}, TRANSFORM_OT_translate={"value":neck_extrusion_value[i], "orient_type":'GLOBAL', "orient_matrix":((1, 0, 0), (0, 1, 0), (0, 0, 1)), "orient_matrix_type":'GLOBAL', "constraint_axis":(False, False, False), "mirror":False, "use_proportional_edit":False, "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "use_proportional_connected":False, "use_proportional_projected":False, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "cursor_transform":False, "texture_space":False, "remove_on_cancel":False, "release_confirm":False, "use_accurate":False, "use_automerge_and_split":False})

But the result is not as expected,

Thanks @Modron , your steps are working nice. But I want to just script it down.