1. A method for editing curves in a variational system, the method performed by a data processing system and comprising: receiving a geometric model including plurality of entities by the data processing system; receiving existing conditions corresponding to the geometric model by the data processing system; receiving an operation to be performed on a selected entity of the geometric model by the data processing system; propagating through the geometric model from the selected entity to other entities of the geometric model, by the data processing system, according to the existing conditions, and adding the selected entities and the other entities to a variational system, wherein, during propagation, the data processing system also applies ordered optional constraints to achieve at least one preferred behavior selected from preferring tipping edges, preferring to maintain edges as horizontal or vertical, preferring edges not to move, preferring size and shape to remain constant, or localizing an area of change; and performing a variational solve of the variational system by the data processing system according to the operation to produce modified entities, including performing a geometric sweep wherein edges and vertices from the geometric model are represented as swept surfaces and lines, line edges are swept into planes, and circle or arc edges are swept into cylinders; performing a topological sweep according to the modified entities to create a three dimensional sheet model corresponding to the geometric model; applying the modified entities to the geometric model, by the data processing system, to produce an edited geometric model.