Different Annotative attributes for a Block do NOT resize

Different Annotative attributes for a Block do NOT resize

Civil3DReminders_com
Mentor Mentor
2,268 Views
15 Replies
Message 1 of 16

Different Annotative attributes for a Block do NOT resize

Civil3DReminders_com
Mentor
Mentor

So I'm trying to create a block with annotative attributes that will let me have different sized text depending on what annotative viewport scale is. Essentially I want the 1/4"=1" to be a different size text than the 1/8"=1' annotative scale. I think I have everything that I need to work except for the behavior of the annotative attributes. It looks like I can only have one attribute scale applied to all of the block attributes. Is this correct?

 

In the attached drawing I'm showing what I am seeing. The annotative Mtext within the drawing works as I expect, the block attributes not so much. Even though I've set different annotative scales to the attributes they end up showing only at the 1/4"=1' annotative scale and not in the 1/8"=1' annotive scale. 

 

If the attributes cannot have different scales is there a way to have the Mtext reflect what the LookUp Value is?  

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
2,269 Views
15 Replies
Replies (15)
Message 2 of 16

Charles_Shade
Mentor
Mentor

Done anything with Double Lookups before?

 

It amy be that you can set your texts in their own Vis States and then use a Lookup (my gut says Double Lookup) to call the appropriate Vis state depending on another parameter within your Block. i.e The parameter that changes that has the need for the different text size.

You will still need to change it manually though I believe. Maybe a start?

0 Likes
Message 3 of 16

Civil3DReminders_com
Mentor
Mentor

I have not used the double lookup table, but I don't think that will solve my issue since I'm still stuck with doing a lot of work I shouldn't have to do if the attribute annotation worked as I expect. There will be a large list of beam sizes so I was trying to avoid having four text components for each one and then have to manage all of them. I could end with 200 text objects that only change in their contents. Plus I'd have to add them to some grip moves.

 

It doesn't look like there is a way to control the mtext contents with expressions to link to a lookup table or visibility state, unless there is something I'm missing.

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
0 Likes
Message 4 of 16

Charles_Shade
Mentor
Mentor

I too agree that an Annotative scale will apply to the Block as one entity and that you cannot have multiple Annotative scales within the Block.

0 Likes
Message 5 of 16

Civil3DReminders_com
Mentor
Mentor

Ok, I think I overlooked the obvious solution of just putting the attributes on two different layers and turn off the one I don't want to see in the viewport. Not ideal, but it will cut down on the work.

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
0 Likes
Message 6 of 16

Libbya
Mentor
Mentor

I don't understand what you are trying to do.  Do you want just the text size to change when the annotation scale changes or do you want different text displayed for the different annotation scales?  It seems like you are trying to accomplish the former in which case you could just use a single annotative attribute with both scales and when the annotation scale of the viewport is changed, the attribute text size will update accordingly.  If you are trying to accomplish the latter, then visibility states and/or lookups would be an easier solution than layer management.  

0 Likes
Message 7 of 16

Civil3DReminders_com
Mentor
Mentor

I want the text size to change when the annotative scale changes, but not uniformly. So I want the paper space text size to be 4" at lets say 1/8"=1' and it to be 2" when the annotative scale is 1/4"=1'. So I'm attempting to use the annotative scales as an off/on switch. Unfortunately I'm finding that AutoCAD doesn't honor the annotation scale values if the block attributes for a block uses more than one annotative scale in any of the block attributes.

 

So instead of just showing the attributes with a scale of 1/4"=1' AutoCAD shows all of the attributes of the block instead regardless of what annotation scales are assigned or not assigned to the attribute and conversely if the controlling attribute doesn't have the current annotation scale it doesn't draw any of the other block attributes that do have current annotation scale.

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
0 Likes
Message 8 of 16

Libbya
Mentor
Mentor

If a non-annotative attribute in a non-annotative block is displayed as 2" at 1/4"=1' then it will be displayed as 4" at 1/8"=1'.  Is that not what you are after?

 

If you want a custom non-linear scale, I believe the easiest out-of-the-box solution is to use a gripless linear parameter and various independent scale actions coupled to a lookup to scale the desired attributes.  The lookup would then give the user a pulldown menu for the desired scale.  

0 Likes
Message 9 of 16

Civil3DReminders_com
Mentor
Mentor

Ok, my example was poor. Lets say I wanted it displayed as 2" at 1/4"=1' then it will be displayed as 6" at 1/8"=1'

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
0 Likes
Message 10 of 16

Charles_Shade
Mentor
Mentor

That is what the Double Lookup can allow you to do.

Maybe even a single. The attached block changes doors based on a certain parameter combination. Offered as an example of background manipulation

(might be a bit wonky. I have been messing with it recently and did not evaluate)

 

0 Likes
Message 11 of 16

Libbya
Mentor
Mentor

Just a single lookup, single linear parameter, a single attribute for each displayed text value and an independent scale action for each attribute would give the desired effect and be easier than layer management.

0 Likes
Message 12 of 16

Civil3DReminders_com
Mentor
Mentor

Does this work if I want to show the same block at two different scales in two different viewports on the same layout tab? I totally see this working if I wanted to just show it in one, I'm not seeing where I can pull the annotation value and mulitply it by the scale factor to get the correct size for different viewports at the same time. Got any screen shots or links showing where I need to look?

Civil Reminders
http://blog.civil3dreminders.com/
http://www.CivilReminders.com/
Alumni
0 Likes
Message 13 of 16

Libbya
Mentor
Mentor

Nope, it would only work in one viewport.  If you want the same block at different scales in more than one viewport at the same time you will be relegated to layer management and multiple attributes.  

0 Likes
Message 14 of 16

Anonymous
Not applicable

I have a similar problem as yours and haven't found any solution in Autodesk Comunity or any place else...

 

What I want to do is a Dynamic Block, with annotative behaviour, for a Section Symbol.

The problem is: when scale changes, it resizes accordingly, moving the marks from their original place.

To avoid this I have made the block non-annotative and a nested block annotative containing the section arrows.

If it would be possible to acess the attributes of a nested block, this would be solved, OR, as you mentioned, if the attributes could behave as a Text or MText being annotative it would be solved too.

 

I have even created another possible solution: a Text with a field pointing for the Attribute value, but this field doesn't regen as the value changes, it only reads the inicial value inside the block.

 

I have attached my two possible solutions for the problem, and I hope that somehow my example can help you with a solution.

Also hope that Autodesk could "fix" this attribute annotative behaviour... I don't see any reason not to behave like a Text or MText behaves when annotative..

 

Thnaks,

0 Likes
Message 15 of 16

Libbya
Mentor
Mentor

I think you should start another thread.  It is not the same issue.  The OP in this thread would like different scales that do *not* match the annotative scale.  If you make another thread, I will offer a potential solution to your issue.

0 Likes
Message 16 of 16

Libbya
Mentor
Mentor

Here's the potential solution I mentioned.  You can get an attribute value to scale correctly from whatever point you would like and still let it be 'accessible' for editing, but the process is VERY finicky.  See attached.  To get the attribute value to scale correctly, you must place its justification point at the point from which you would like it to scale.  You can then get the text to appear in the appropriate location by inserting spaces or hitting enter to adjust the text away from the justification point.  You can even do fine adjustment by changing the size of a line.  Unfortunately, it seems that the field defition can't withstand redefining the block.  If you open and save the block in block editor, the fields will not survive.  It seems that the only way to make them work is to do the field definition last and then save.  If the field is broken, the only way I have found to fix it is to delete the field from the multiline attribute and then save/exit the attribute definition.  Then re-enter the attribute definition and insert the field...  Quite finicky, but it can be made to work.  In order to prevent other users from disrupting the attribute formatting, I used an invisible attribute and a field in each of the visible attributes referencing the invisible one.

0 Likes