The attached file contains a block representing a fillet weld symbol. The symbol has multiple visibility controls (thanks to tricks picked up in this forum), so you can display an extra arrow and show additional symbols or attributes. But the problem is that the movements are not bulletproof.
If you try to move the control point the block may fall apart. This appears for a certain movement, but not if you do the same in 2 steps as shown on the attached drawing. Also if you make a change to any of the visibility controls or flip the block, and then move if works as it should, also if you return to the original state. This does not seem logical to me, and I would like to know if there is an explanation to this.
If you flip the block, and then add attributes for length and description, it will not be positioned correct, but it works if you first add the attributes and then flip.
It would also be nice to have the grips for the lookups act more logic for the users.
I realize that this may be a tough question, since this is a block with many parameters, but I guess there are some tough AutoCAD users out there who like a challenge.
To avoid a very long post I haven’t explained about the parameters in the block, but will be happy to when needed.
Any help is much appreciated, and I also hope that this block may serve as a useful inspiration for other users.
Solved! Go to Solution.
Solved by Libbya. Go to Solution.
Your constraints are causing the movement issues. I would eliminate the constraints and do the block with only dynamic parameters and actions. I would use polar stretch in order to keep the correct arrow point direction. You may have trouble getting more than one arrow to behave correctly with the flip action added, though.
Attached shows how I would handle the arrows and flip instead of using constraints. Be aware that the base point is part of the flip action selection set and that your input parameters for your multiple visibility states are relative the base point position. With the flip action you would need to move the input parameters the same amount as the basepoint is moved. The easy way would be to add a gripless invisible point move to the base point location. Add the point move to the flip selection set (and any other selection sets that move the base point) and add your input parameters to the selection set of the point move. Take care if you attempt to move the base point location within the block as the polar parameters have a bug that causes them to react poorly when the base point is moved by other parameters.
I think I got all the issues sorted or at least pretty much the way that I would do it. See the attached file. There is still an issue with the text writing on top of the rest of the block if the description attribute is changed when the flip is in the flipped state.
Yup, when working on the block I considered adding the auto-flip. Unfortunately, it seems the angle calculation is buggy or at least is on my version of 2015 and the angle where the flip occurs is not consistent.
To avoid the issue of the description text writing on top of the block if the length is increased when the block is in the flipped state, you can create a second description attribute (use a unique name) with a Right Middle justification. You can then place it in the correction location for the flipped state and create the appropriate visibility states so that when flipped and displaying the description, it displays the right justified version. Then you can insert an object field as the defualt for that attribute and direct the field to read the block reference value of the original description attribute. A regen is required to update the field when changes are made.
I have a couple of question regarding this dynmaic block, as shown in the pictures attached. Hope someone can help give answers.
Thanks.
Flag is not flipping and would be nice to have more fillet symbols, like bevel and others...
Make it however you want it. It seems like you may have misinterpreted the function of this forum. It is not a place where you submit a request for specific block behavior and others on here get busy to give you what you want. It is a place where some people give their free time to assist people in learning how to work with the software to make what they want to make.
Can't find what you're looking for? Ask the community or share your knowledge.