This paper presents a new capability for performing a special type of shape optimization. Traditional shape optimization is often performed by using perturbation vectors that are linked with grid coordinates and design variables which an optimizer can change. In this work, these shape perturbation vectors are split so that each grid, and/or a set of nearby grids, and/or a set of grids linked by a manufacturing constraint, has its own design variable. This split produces great variability in the answers. In this work, possible distortions that could happen during an optimization run are prevented with automatically generated distortion constraints and/or by mesh smoothing. To distinguish this capability from standard shape optimization, we named this capability freeform optimization. This capability could be seen as a generalization of topography optimization since it can reproduce most of topography results, but it is different than topography optimization since it can be used to design any type of structure including solids and trusses whereas topography is mostly used for shell structures. Several examples which show the application of freeform are presented. One example will show the use of freeform optimization to find optimal rib locations in a solid structure. Other examples will demonstrate the use of freeform optimization to find optimal bead locations in shell structures.