1. A method of obtaining a three-dimensional digital model of an artificial object, the artificial object made up of a plurality of two-dimensional geometric primitives, the artificial object being in a single two-dimensional photograph or drawing in a plane, the method comprising: defining a two-dimensional outline of said artificial object within the photograph or drawing; interactively allowing a user to define cross-sectional profiles of successive ones of said geometric primitives within said artificial object, said cross-sectional profiles being perpendicular to said plane, thereby defining a third dimension relative to said photograph or drawing; interactively allowing a user to provide sweep input to define sweeps of respectively defined cross-sectional profiles along extents of corresponding ones of said two-dimensional geometric primitives within the artificial object, said sweeps being defined in respective directions parallel to said plane; carrying out sweeping of said cross-sectional profiles along said extents parallel to said plane according to said sweep input; dynamically adjusting said profiles using a pictorial context on the photograph or drawing and automatically snapping photograph lines to said profiles during said sweeping; said sweeping generating successive thee-dimensional model primitives from existing detected edges of said corresponding two-dimensional geometric primitives and said sweeping of said respective profiles; and aligning said plurality of three-dimensional model primitives to form said three-dimensional model.