An interactive design system includes a design application that creates
and models a geometry of an object. A programming language application
defines engineering rules that may be associated with the object. The
programming language application associates the geometry of the object
with the engineering rules such that any change made to the geometry is
automatically reflected in the engineering rules and any change made to
the engineering rules is reflected in the geometry. The programming
language application may also generate one or more knowledge features
that can be used to verify that associated parameter constraints have not
been violated as a result of a geometry or engineering rule change before
applying the desired changes.