Techniques for representing criteria for blueprints as computer-readable
expressions, and evaluating blueprints based on computer-storable (or
readable) expressions are disclosed. A computer-storable expression can
be constructed based on one or more functions, parameters and operators
stored in respective libraries. A dynamic blueprint-evaluator can
interactively evaluate a blueprint as the blueprint is generated (e.g.,
drawn) and/or altered. The dynamic blueprint-evaluator evaluates
computer-storable expressions that represent various criteria for the
blueprint and can indicate when a criterion has not been meet (e.g.,
highlight a plan or a drawing). The dynamic blueprint-evaluator can be
implemented as or as a part of software used to generated blueprints
(e.g., CAD), thereby allowing blueprints to be automatically and
dynamically evaluated using a computer.