The following diagram shows the relationships between the different parts of an MDL application.
Dialog boxes and tool boxes comprise the user interface. Dialog boxes are generally used to collect settings used by command processing routines. Tool boxes are used to start commands graphically.
Primitive commands reference settings variables to create or modify elements. Primitive commands can also access a database or resource file to obtain parameters for a specific type of element. Although primitive commands are mainly used for interactive placement and manipulation of elements, they are not limited in the number or type of MDL functions that they can call.
Commands can create and display elements without writing them to the design file. Utility commands are can make references to settings variables and design files. In fact, a utility command could access any type of file.