1. A method for flattening a 3D surface into a 2D piece, comprising: constructing a plurality of wire-patches by feature curves on a surface patch of the 3D surface, wherein each of feature curves comprises a plurality of wire-nodes; computing an optimal 2D angle for each of said wire-nodes of the constructed wire-patches; determining an optimal position for each of said wire-nodes based on the computed optimal 2D angles thereof, respectively; and laying out each of said feature curves in 2D based on the determined optimal position.