Within AutoCAD there are actually two types of blocks… good old static blocks & dynamic blocks. What’s common between the two is that a block is a way of collecting and grouping objects into a single entity. As a single entity it becomes easier to select, to manipulate (move, copy, rotate, etc), and easier to share across multiple drawings. Using blocks leads to consistency and standardization as you and your company use the same symbol in all drawings.
The basic type of block becomes static when it is created. It can be moved, scaled, and rotated but the entire block needs to be adjusted. You cannot manipulate individual objects. Think of a door, the geometry representing the door is exactly the same if the door is 2’4 or 3′ wide. All that changes is the length of the door. With regular blocks you would require two blocks, with dynamic blocks you can build one “smart” block that allows for the switching between the two sizes.
When you create a block, the block definition is added to the drawing database. This is the same regardless if you are creating a block or a dynamic block. The difference is that with blocks each instance is exactly the same (even if scaled differently) whereas with dynamic blocks you can have different instances. Take for example the door, I can insert the same dynamic block but have one 2’4 wide and the other 3′ wide.
To create the geometry for the dynamic block you have two options: create, block, edit in block editor OR start the block editor and create the geometry.
When using the block command you can enable the Open in Block Editor option so that immediately after creating the block definition the block is automatically opened in the Block Editor. Alternatively right-click on the block and select Block Editor to open the block definition in the Block Editor.
The other option is from the Ribbon > Insert Tab > Block Definition Panel > select Block Editor…. create the geometry and when you save the block you will be prompted for the name.
Defining the dynamic components of the block can be accomplished using Parameters & Actions or by using Parametric Dimensions & Constraints. In many cases you will even use a combination of both. In this first post on Dynamic Blocks lets explore using Parametrics, we’ll look at Parameters & Actions in a future post.
Parametrics and Dynamic Blocks
Parametrics is applying rules (constraints) to define the behaviour of your geometry. If, for example, you add a horizontal constraint to a line nothing will take that line away from being horizontal, other than removing the rule.Parametric dimensions define the size of the object, which is the opposite of AutoCAD dimensions that read the existing size of the object. With AutoCAD objects you adjust the object to the desired size, with parametric dimensions you adjust the value of the dimension and let it adjust the size of the object.
- Saving & Testing the Dynamic Block
- Geometric Constraints
- Parametric Dimensions
- Block Table
- Block Authoring Palette – Constraints Tab
- Properties Palette
Within Dynamic Blocks adding constraints and parametric dimensions is no different than within the standard drawing area. What’s different is the additional properties that appear on the dimensions within the Block Editor. This includes visibility of the dimension and limiting the size.
In this example the tub geometry is Auto Constrained, an Equal constraint is added to the small fillets, and Linear Dimensions are added to define the Length, Width, and offset of the tub.
After the block is inserted into the drawing any added Parametric Dimension will be listed in the Properties Palette and can be adjusted to adjust the size of the block. Each dimension will additionally appear with a grip when the block is selected, allowing for the adjustment of the objects the dimension is applied to. Making the grip hot allows you to stretch the objects, changing the size, even though its a block…. the power of Dynamic Blocks!
Back within the Block Editor we can adjust the properties of the dimensions, Using the Number of Grips property you can adjust the value to 0 so that the grips do not appear for adjustment when the block is selected. The Show Properties option, when set to Yes, makes the parameter visible within the Properties Palette.
In the example of the Tub, the d1 value is a fixed value and should not be changed, meaning it should not appear as an option when the block is selected. With this dimension Show Properties is set to No and Number of Grips is set to 0.
The Tub block I’m building is only available in lengths of 12″ increments, meaning I do not want the user of the block to select anything but a multiple of 12. Additionally the smallest size available is 60-inches.The width is available in only 3-options: 30, 36, and 54.
Within the Properties of the dimension, the Value Set area provides the option to set the Distance Type. Using the Increment option you define the increment available on the dimension and optionally the minimum and maximum. If the user of the block attempts to set the value to something other than the increment allows the dimension value is rounded to the nearest incremented value. Using the List option you define a list of available options.
In many situations you will require set sizes of blocks, dimension values that go together. Perhaps the tub when 36″ wide only comes in a 72″ and 84″ long version but when the tub is 32″ wide it is available in 60″, 66″, and 72″ long versions. Building these set configurations is accomplished by the Block Table feature.
To build the configuration launch the Block Table dialog (Block Editor contextual Ribbon > Dimensional panel > Block Table). The first step is select the grip location. This grip is used to select the desired size when the block is selected. Once the grip is located the Block Table dialog appears. You add the parameters you want to manage, this can either be by selecting existing parameters or by creating new parameters. Once the parameters are created you add rows of values, defining each iteration.
TIP: Set the Number of Grips to 0 and Show Properties to No for all the dimensions within the dynamic block… allowing for individual dimension override defeats the purpose of the block table