Rotating Dynamic Block

I posted this GIF of a dynamic block I created and someone asked how I did it, so I thought I would explain.

Column Tag

Other than block basics this will cover using block property tables, chain linking, and distance multipliers.

  • Setup Objects
  • Add Primary Rotation and Stretching
  • Set Text Point Move and Distance Multiplier / Chain Linking
  • Create Text Rotation and Block Table

Setup Objects

  • Add a point at 0,0
  • Add a line
  • Add a multiline attribute with bottom center justification

column setup objects

Add Primary Rotation and Stretching

  • Add rotation set while naming them appropriately
    • Add all objects to rotation set
  • Add linear stretch set while naming them appropriately
    • Add end of line to LENGTH set
  • Add linear move set while naming appropriately
    • Add the whole line, attribute, and LENGTH parameter set to the GAP set

Test your block.

Column Tag - Step 2

Set Text Point Move and Distance Multiplier / Chain Linking

In order to make sure that the text stays in the middle of the we add a Point Move Set and link it to the LENGTH parameter (chained) with a distance multiplier of 0.5, so it stays in the middle.

  • Add Point Move Set to the midpoint of the line
  • Add attribute to the POSTION1 set. Set show properties to NO, chain actions to YES, and # of grips to ZERO.
  • Add the POSITION1 parameter to the LENGTH set. Do NOT add the attribute to this set.
  • Set the POSITION1 action distance multiplier to 0.5.

Column - Step 3

Test it!

Create Text Rotation and Block Table

Ok now for the fun part. You should have a functioning block except for having the text appear correctly orientating itself for easy reading.

  • Add Rotation Set at mid-point of line
  • Add attribute to action
  • Add Rotation New Set to both the Primary Rotation Set and the GAP set actions.
  • Add Block Table with no grips. Add ROTATION variable. Add ANGLE1 variable.
  • Select ‘Block properties must match a row in the table’ option.
  • Populate table (I copied and pasted from excel). This will rotate the attribute in relation to the line using the input value from the primary ROTATION value and applying it to the local ANGLE1 value.
    • Rotation from 0-90 should be 90
    • Rotation from 91-269 should be 270
    • Rotation from 270-359 should be 90

Column - Step 4

That’s it. Test the block and enjoy!


9 thoughts on “Rotating Dynamic Block

  1. This is great! It’s 99% what I’m looking for! Instead of having the text stay in the middle of the line I’d like to have it at the end of the line from 0-90 degrees and at the beginning from 91-269 degrees and at the beginning again from 270-359 degrees. Can that be done?

    Thanks for all your help.

    1. You can have the text move to the inside or outside of the line fairly easy but you cannot change it’s internal alignment, from left to right. Does that make sense?

      1. When you say “move the text to the inside or outside of the line” do you mean the end of the line as per your column tag block example above? If so, how would you go about that? Also, I’m looking at creating another dynamic block to specify slopes, i.e. 1:1 with the same concept of rotating the block and have the text follow but I’m having no luck. It would look some like this:
        1 1
        1└ rotate 90 to ┘1 and then another 90 to ┐1 and finishing off with 1┌. I can get the text to
        1 1

        rotate, however it ends up incorrectly.

  2. Just whole numbers. Essentially it is just a vertical and horizontal line with a “1” below the horizontal line and a “1” beside the vertical line, indicating a 1 to 1 rise and run. I hope this makes more sense. Thanks for all your time.

    1. To do this you would just want to use a lookup table locked to integers. You would have one for the vertical and horizontal legs. So as you stretch it the dimension would snap to each integer.

  3. Hi i want to ask you if you can help me with this screen:

    I cant make the text be in right position i mean the 800 and 1970 thanks for help

Leave a Reply

Your email address will not be published.