I have a 2d flat mesh that i would like to manipulate without any distortion to create a 3D shape. Typically for the pie below, joining the 2 edges together would make a 3D cone. Do you have any idea of which modifier to use ?
Managed to approximate this with Shape Keys, starting out with a cone, it's easier than starting out with a flat shape and bending it into your will.
- Add a cone mesh with whatever final dimensions you want it to have
- Move it in edit mode so it's center is on the center of the base (not mid height)
- Erase the left part and the bottom face and then add a Mirror modifier
- Add two new shape keys one is the base as it currently is, and another (Key 1) will be it's flat shape.
- Now some math, in edit mode check the length of one of the cone large side edges with the 3D view > Properties Region > Mesh Display > Length that will determine the radius of the final flat shape
- Add a new mesh circle object, it's radius should be the length of the previously measured edge, and it the number radius vertices should be 1 1/4 the number of vertices of the cone. So if by default a cone has 32 vertex so the circle should have 1.25 x 32 = 40 vertices.
- Erase one quarter of the circle's edges so that they are centered around the edge you ripped in Step 3
- Now with shape Key 1 selected enter edit mode on the cone, move the central vertex down until it is flat
- Scale all the vertex in the cone base so that they reach the circle radius (use snap for better precision)
- Press .(Period Key) to transform centered in 3D Cursor
- Hide all the cone vertex but the outer rim of the base, including the vertex at X=0
- With Proportional Edit set to Connected and the Fallof type set to Linear, select only the lower vertex and rotate them all 1/8 of a turn, so they snap to the open end of the circle. Adjust the Proportional Edit radius with the mouse wheel.
13.Profit! (Adjust progression with the shapekey Value Slider)
You may then give it a more natural or organic looking transition with some modifiers or with manually bending the shape a little with more shapekeys
Using a script to make the two shape keys. Change the r and h of result cone.
Example of radius 1, height 2, 1 and 0.5 cones.
import bpy import bmesh from mathutils import Vector from math import radians, sin, cos, sqrt from bpy import context # for testing r = 1 # radius of cone h = 1 # height of cone sectors = 16 l = sqrt(r**2 + h**2) # hypotenuse # sector will have angle theta = radians(360) * r / l dtheta = theta / sectors # build the base bm = bmesh.new() verts =  for i in range(sectors + 1): a = i * dtheta verts.append(bm.verts.new((l * cos(a), l * sin(a), 0))) topvert = bm.verts.new((0, 0, 0)) for i in range(sectors): bm.faces.new([verts[i + 1], topvert, verts[i]]) cone_mesh = bpy.data.meshes.new("Cone") cone = bpy.data.objects.new("Cone", cone_mesh) bm.to_mesh(cone_mesh) # add base as basis shape key basis_shape_key = cone.shape_key_add("Basis") # add second shape key cone_shape_key = cone.shape_key_add("Cone") offset = (radians(360) - theta) / 2 dtheta = radians(360) / sectors for v in verts: a = v.index * dtheta - offset cone_shape_key.data[v.index].co = ((r * cos(a), r * sin(a), 0)) cone_shape_key.data[topvert.index].co = (0, 0, h) # link to scene scene = context.scene scene.objects.link(cone) scene.objects.active = cone cone.select = True