Evaluation of Interobject Relationships

When creating dynamic blocks, an AutoCAD drafter uses authoring elements to implement intelligent grip-editing behavior. These authoring elements include grips, parameters, and actions. Users define and manipulate authoring elements with the Block Editor feature. See the AutoCAD User's Guide for more information on authoring elements and the Block Editor.

To organize grip, parameter, and action elements into coherent functional units, block authors introduce dependencies between them. For example, a block author may want to allow users to scale a circle within a block reference about its center point, and to do so by moving a grip horizontally. To accomplish this, the author places a grip element, a width parameter, and a scale action in the block definition. The author then ties the motion of the grip to the right endpoint of the width, and ties the scale action to the change in the width parameter. Finally, the author specifies the base point of the scale action to be the center of the circle, and selects the circle as the object to scale.

When grip-editing an instance of the dynamic block, the user moves a grip. To reflect the effect of the grip movement, the framework evaluates the object relationships in a fixed sequence. First, it moves the grip. Next, it evaluates the dependent width parameter and updates its state. Finally, it evaluates the action that depends on the width parameter. In this example, the action calculates the percentage of change from the previous width, and scales the circle using the calculated percentage.

To consistently re-create the sequence of steps from grip movement to circle modification, the dynamic block framework creates a persistent model of the interobject relationships. The mechanism that supports such models is exposed through the graph evaluation classes.