AutoCAD: Pull/Push Viz States
What I am going to show you is a way to have a LOT of different visibility combinations without a Visibility State in a dynamic block. You should be familiar with AutoCAD scaling of entities as that is how this works.
There are so many different combinations available. Using visibility states would be a really long list and not that easy to use compared to this way.
I am going to do a fillet weld symbol for this lesson as it is what I first developed this system for. In the block editor we start with the horizontal line and then we draw the lines for a fillet weld onto the bottom of it as shown. Make this the actual size you want it to be when plotted. In this case it is 1/4" (0.250).
Next add a Linear Parameter from the Block Authoring Palette. Make sure you pick the endpoints of the line. Pick top #1 of the vertical line first and then the bottom #2.
Now we are going to choose an Action for the Linear Parameter. We are going to pick Scale and then select our parameter. Then we select the two lines (L1 & L2) that represent the fillet weld symbol. When you select the grip for this action those are the lines that will be acted upon.
Back to the Properties Palette and select the fillet parameter (1). We are going to make several changes. Let’s start at the very bottom and change “Grips” (2) from 2 to 1. We only want the lower grip to show as you will see.
Now go up to the “Properties Labels” (3) where we will change the “Distance name” & “Distance description” to a name that makes sense “Fillet” as that is what it is. Then we go down to the “Value Set” (4) section and we choose the “Dist type” and change that from “None” to “List”. As soon as you choose List things change. Below the “Dist type” is a “Dist value list”. That value is the length of the line you added the parameter to. In this case it is the 1/4” (0,250). Pick on the box (5) with the 1/4” or (0.250) showing and on the right is a drop down arrow. Select the arrow and a dialog box pops up. At the top of the box (6) you can add another distance that this fillet symbol will display at. In the box you will enter 0.001 which sounds dumb but hang on. If we can change this 1/4” block so it is only 0.001” tall that is smaller than your default line width. When plotted the symbol is smaller than the line width and so it will never show. So even though the symbol is still there and shows correct if you zoom in a bunch it is only .001” tall.
Now you want to use the test block and select the block and then the grip. Drag the grip up towards the horizontal line and release. The symbol will no longer show. That is provided you moved the grip more than half of the distance between the two values
in your list of distances. So you have it either pulled out and displaying or pushed in and still displaying but so small it will never show when plotted. How sweet is that?
This picture is the final weld symbol that I created. I have copied it and modified it showing just a few of the many combinations possible. I don’t know how to calculate how many there actually would be. There are 13 different parts you can pull out or push in. Along with the attributes for sizes and you can see there are a bunch of combinations. I am sure it would be over 100 different visual styles or combinations. More than you could easily manage using Visibility States.
There are attributes to type in values for the size of the welds and spacing parameters. They also have grips to move them around if needed. Standard dynamic block tools you have probably used before. This lesson is only about creating lots of different combinations of entities or objects that are visible without having a long list of visibility states.
This also allows many more combinations and especially for something like weld symbols. For example, you can have one type of weld on the near side and another type of weld on the far side. Something not possible with separate blocks for each type of
weld symbol.
In the above picture I have all of the grips displayed so you can see the large flexibility provided. The text can be moved if needed. The overall length can be changed.
This simple method could be used for much larger items. Different types of tables, cabinets, equipment, whatever. You could have a table that is 10 feet long when pulled out and have it be 0.001 tall pushed back in. It would never show when plotted so it
doesn’t hurt anything if it is still there.
Extra tip: If you put multiple symbols over top of each other separate them by layers until done. As the picture shows there is so much going on. It is a mess to work with unless you can turn some things off and on. Create a layer for each one so you can
easily keep them separated by turning layers on and off. Unlike visibility states which can use a line in multiple states each of these are separate entities. When you are done you can put all of them onto layer 0. This allows them to take on the properties of
the layer they are inserted on. Creating a complex dynamic block like this is when it can get difficult.
Also notice that even though some lines are drawn over top of lines the parameters are off to the side. I was surprised that I could do such. This then allowed me to space out the grips so they were easy to access. You also can see text beneath each of the grips that describes what the grip is for. This text is placed on a “No Plot” and it can also be turned off. This is not necessary if in the Properties you enter a name for Distance description in the properties as suggested earlier. Thanks to KaDe for this tip.
I hope you find this helpful and can see there is a large amount of combinations of entities that you can have displayed at any one time. It really is not a lot of extra work. It only gets difficult when you have objects over top of similar objects.
You might have one of these combinations that is very popular and used a lot. Having to pull out and enter values every time becomes work. When I have this condition I will take a blank dwg and insert the block and adjust what I want to display. I then save
the dwg and give it a name that means something. Now when I insert this dwg I make it be inserted exploded. What I have is the block the way I want it that I can copy to use elsewhere or copy and change as required.
I am only suggesting doing this for the few combinations that will be the most popular. Otherwise, you would have lots of blocks that you could have just created with all the different entities showing. This would not make any sense.
As I was creating this lesson I had another wild idea that someone might want to do. You could take something like this with everything in one AutoCAD layer state. You could then have another layer state and you could have a lot of push/pull to display objects in that layer state. You could have one lone block be a large symbol library. Probably not a good idea but with all the super smart AutoCAD users who knows what someone might do. I never thought I would create this method but I did and it works great.