Accurate dimensions in annotative block?

Accurate dimensions in annotative block?

Herph
Participant Participant
1,890 Views
12 Replies
Message 1 of 13

Accurate dimensions in annotative block?

Herph
Participant
Participant

Is there a way to have a dimension within an annotative block display the correct dimension for the scaled entity?

Attached is a simple example of the problem.  I need to create a block using object at an arbitrary length which will be dynamically stretched to fit when inserted and I'd like to include a dimension string in the block.  The goal is to be able to make this block usable at a variety of scales.

I can get the text to read correctly, but I can't get the dimension to not always display the length of the item at 1:1 scale.  Thoughts?

0 Likes
Accepted solutions (1)
1,891 Views
12 Replies
Replies (12)
Message 2 of 13

Libbya
Mentor
Mentor

Why do you want the entire block to scale?  I would think that you would want the linework within the block to remain a consistent size and have only the dimension be annotative which is easy to accomplish - just use a non-annotative block with an annotative dimension within it.  

0 Likes
Message 3 of 13

Herph
Participant
Participant

Fair question. I'm trying to develop some simple tools that allow me to do more of my structural takeoff within AutoCAD.  As tools, they'll be diagrammatic linework, but I occasionally work in 1/8", 3/16", 1/4" and 1/2" scale drawings and I'd like to make one tool that works (appears the same size when printed) for all scales.  One of these tools will be a line that represents a beam.  My idea is that it will start out at some arbitrary length and I'll stretch it to give the overall length.  Clearly I could just snap a dimension on a line, but I'd like the tool to contain other attribute info, like beam I.D., point loads amounts and locations, etc.

0 Likes
Message 4 of 13

Libbya
Mentor
Mentor

I'm still just scratching my head wondering what you want and why.   

 

Why do you want the LINE that represents the beam to scale with changes to the annotation scale?  What advantage does that serve as opposed to having the line stay the specific size you stretch it to and then having the dim text  and arrows change size with anno scale changes?  Why do you even have a dimension with the beam if it the beam is scaling with anno scale changes?  I don't get it. 

 

If the line representing the beam is being dimensioned, then should stay a consistent length in model space regardless of anno scale.  The dim text and arrows should scale with anno scale changes.  That proper behavior is easy to produce and described in my last post. 

0 Likes
Message 5 of 13

Herph
Participant
Participant

I totally get your confusion and I agree that, typically, you wouldn't want the geometry to change when the annotation scale changes.  In my case, I never view any given insertion of a block under a different annotation scale.  Accordingly, the fact that the geometry would also change isn't an issue.  What does happen is that I will insert that block into drawings of different annotation scales and want the geometry and annotation to both scale accordingly.

 

Here's a block we use that does this.  Yes, if the annotation scale of the drawing were to change, or if we were to view it through a viewport with a different annoscale, it would be a total mess however, this is never the condition.  What is important is that the non-dynamic connection symbols and annotation look the same at 3/16" scale, say, as they do at 1/4".

0 Likes
Message 6 of 13

Herph
Participant
Participant

I just realized that I didn't specifically answer your questions.  I don't "want" the beam to change length, I just don't care that it does.  Every insertion gets adjusted to length and, since it's only ever viewed under one annotative scale, once it's inserted it stays at that length.  What I want is to have the dynamically adjusted length of that insertion to display its inserted length at that annoscale.

0 Likes
Message 7 of 13

Libbya
Mentor
Mentor

Ok.  To answer your initial question I do not know of (or believe there is) any way to have a dimension within an annotative block display the dimension value as though it were outside the block.  Bear in mind that coordinate system within a block remains consistent when the entire block is annotative and is scaled annotatively.  The annotative scaling does not change the internal values of an annotative block when it is scaled.  

 

One workaround would be, as you mentioned, to simply dimension the block externally.  The other option, as I mentioned, would be to make the block non-annotative with an annotative dimension within it and stretch the block to the desired length for the drawing (and anno scale) you are working with.   If you work with tool palettes, you could create individual tools for each anno scale that would insert the block with the beam line 'pre-stretched' to the desired length for that scale.  It would not resize the beam with changes to anno scale, though.  It would just resize the dim text and arrows. 

0 Likes
Message 8 of 13

Libbya
Mentor
Mentor

@Herph wrote:

I just realized that I didn't specifically answer your questions.  I don't "want" the beam to change length, I just don't care that it does.  Every insertion gets adjusted to length and, since it's only ever viewed under one annotative scale, once it's inserted it stays at that length.  What I want is to have the dynamically adjusted length of that insertion to display its inserted length at that annoscale.


 

 

If you don't specifically want the beam to change size with changes of annoscale, then I don't see what downside there is to having the block be non-annotative with an annotative dimension within it.  The only differences between that and an annotative block is that the dimension will display the actual length (desired) and that in a scaled viewport the beam length will not always appear the same size with changes to anno scale.  Considering that you want to specifically stretch the beam to varying lengths I don't see why that is an issue.  In either case, the dim will display correctly (correct text size and correct arrow size).    

0 Likes
Message 9 of 13

Herph
Participant
Participant

You're absolutely correct that, if the block geometry were just a line, your solution would be (nearly) perfect.  The problem I face is that I need some of the geometry to scale annotatively.  This is a function of our drawings being largely diagrammatic. If you look at the attached drawing you'll see the issue.  Imagine that it's important that the circles behave annotatively and select an annotative scale other than 1/2" (1/8" to 3/4" are all set up).

 

The circles of Thingy1, which is a non-annotative block with an annotative dimension, fail to adjust to the scale.  It also requires that you set each dimension distance above the geometry individually to have it read correctly.

 

To solve the first problem, in Thingy2 I made the circles themselves annotative blocks and inserted them into essentially Thingy1 in other regards.  Except for the dimensional alignment issue, it appears to solve the problem (and in my particular case does).  However if you do stretch the block and then change the annotative scales, it blows up with the circle going back to the original location.  It's interesting to note that the added dimension doesn't associate with the circles as it does with Thingy1 (same with Thingy3).

 

Thingy3 is my desired approach - an annotative block.  Everything behaves wonderfully for me except the dimension value.  Yes, changing the annoscale makes the line length wig out, but the dimension stays at the same relative place, the circles update and the circles at least stay at the end of the line when you change scales.  If you could only tell me how to get the dimension to work I'd be happy.  Clearly, I could adjust the block's dimscale to match the annoscale when I bring it into a drawing, but I was just hoping there would be a better way. 

0 Likes
Message 10 of 13

Libbya
Mentor
Mentor
Accepted solution

@Herph wrote:

 

To solve the first problem, in Thingy2 I made the circles themselves annotative blocks and inserted them into essentially Thingy1 in other regards.  Except for the dimensional alignment issue, it appears to solve the problem (and in my particular case does).  However if you do stretch the block and then change the annotative scales, it blows up with the circle going back to the original location.  It's interesting to note that the added dimension doesn't associate with the circles as it does with Thingy1 (same with Thingy3).

 


A function of dynamic blocks that would help with the construction of Thingy 2 is that if you use a Move action on a nested annotative block it moves it for all annotative scales.  If you use a Stretch action to move a nested annotative block it will move it for only the current annotative scale.  Add a move action for your circle and remove it from the stretch action and it behaves correctly when switching annotative scales - circles scale correctly and stay where you put them.  See screencast. 

 

Are there further issues that make the Thingy 2 version unworkable? 

 

 

 

Message 11 of 13

Libbya
Mentor
Mentor

Screencast didn't post...

 

 

0 Likes
Message 12 of 13

Herph
Participant
Participant

Fantastic! To answer your question, no.  I think the Move in lieu of Stretch there will solve the only issue with that approach.  Thank you very very much!

0 Likes
Message 13 of 13

Libbya
Mentor
Mentor

Excellent.  Glad to help.  

0 Likes