I’ve decided to take a little detour from the Sheets Happen series to discuss dynamic blocks. Why? Because my current Sheet Set topics involve blocks and, although you don’t need to use dynamic block functionality to implement sheet sets and fields, you might want to!
Dynamic blocks enable you to reduce the size of your block libraries by combining block definitions and adding flexibility. For example, in AutoCAD 2005 I had ten callout block definitions to represent various architectural callouts. In AutoCAD 2006 I was able to combine all ten traditional block definitions into one dynamic block AND I added the flexibility to rotate the arrows at any 15 degree increment. My one dynamic block definition would require 55 traditional block definitions to offer the same options.
I won’t go into detail about creating dynamic blocks but I want to point you in the right direction using the callout block as an example. For the callout block, I use the Visibility Parameter with vour visibility states. The first state, which I named “Default” does not display an arrow. The second state displays the small arrow for the interior elevation. The third state displays the larger arrow for an exterior elevation. And, the fourth state displays four arrows pointing at 90 degree increments.
Visibility is one of the easiest parameters to use because it does not require a corresponding action. You simply create all the geometry that you want to use in the block, add visibility states, and then, for each state, make the appropriate geometry visible or invisible using the visibility tools in the Block Editor.
In this example, we want most of the block geometry (circle, attributes, horizontal line) to remain static while the arrow, when visible, rotates around the center of the circle. But how do you rotate the arrow? You guessed it, with the Rotation parameter! You add the rotation parameter with a basepoint at the center of the circle and then adjust the parameter properties so that the rotation angle is constrained to a specific increment. In my case I specified an angle of 15 degrees. Before the rotation parameter will work, you must add a rotate action and specify what objects you want to rotate. Since you have multiple visibility states, you must ensure that all the arrows are included in the selection set of the Rotate action and that the Rotation parameter is visible for all states that display an arrow.
By the way, you can also update your View Label block using a Linear parameter and Stretch action so that you can easily adjust the horizontal line for the length of the view name.
I hope this was enough information to motivate you to learn more about dynamic blocks. At the very least, when I refer to dynamic blocks in an upcoming Sheets Happen post, you’ll have some idea of what I’m talking about :-).