From: pressure (PEER)
Working on some drawings here and am wondering if there's a way to scale annotation text size along with some lines and rectangles. I've got a title block containing text of various sizes and want to scale the whole thing while maintaining the proportions between the title block lines and the text.
- Peer
From: Michael Gibson
Hi Peer, if you set it to have Scaling: "By model units" instead of Scaling: "By screen size" there will be a Height: property shown just after Scaling: and the text will scale the same as model geometry when you zoom in and out instead of remaining a fixed size on screen.
The down side to that is the text won't automatically be a constant size on the printed page when you make print output.
With Scaling: "By screen size" 14pt text will be 14pt on screen and 14pt on the page for PDF output. But that's quite different than how model geometry behaves.
- Michael
Image Attachments:
DimScaling.png
From: pressure (PEER)
Hi Michael,
Scaling: "By screen size" is great for quick and dirty measurements while modelling. It's a pretty cool idea you came up with. But for outputting drawings it's just too unpredictable. So, Scaling: "By model units" is what I use.
A typical title block is attached to give an idea of the problem.
There are several different sizes of text, so scaling manually means selecting each size and applying a calculated scale factor to it. This needs to be done afresh for each drawing since the title block and sheet frame must be scaled to fit around the dimensioned objects.
- Peer
Image Attachments:
title block.PNG
From: Michael Gibson
Hi Peer, ok I think I understand now, you want the "Height:" property to be scaled when you do a transform like Transform > Scale on the annotation object. I'll set that up.
- Michael
From: pressure (PEER)
Hi Michael,
Re:
> you want the "Height:" property to be scaled when you do a transform like Transform > Scale
Yes exactly. It would be nice if this behavior applies to all the annotation size properties like arrowLengthModelUnits, arrowGapModelUnits, textBoxPaddingXModelUnits, etc. That would allow things like switching between mm and inches without messing up the annotations.
- Peer
From: Michael Gibson
Hi Peer,
re:
> That would allow things like switching between mm and inches without messing up the annotations.
That opens up some other problems though. Like if you now draw a new dimension after the unit system change the new one will have different sized arrowheads than the ones that were created before the unit system change. Even though you never modified any arrowhead properties directly.
I think that's why Rhino/AutoCAD doesn't scale these properties for transforms, because they want the sizes to be controlled by a dimstyle and not have different values for individual objects unless an override is specifically set up.
In Rhino it appears that a text annotation object will scale its height for transforms but other dimensions do not.
I'll have to see how some other apps behave.
- Michael
From: pressure (PEER)
Hi Michael,
I'm glad you're thinking through the implications.
Re:
> if you now draw a new dimension after the unit system change the new one
> will have different sized arrowheads than the ones that were created
> before the unit system change. Even though you never modified any
> arrowhead properties directly.
That particular problem could be fixed by scaling the preset properties on a unit system change, no?
Re:
> they want the sizes to be controlled by a dimstyle and not have
> different values for individual objects...I'll have to see how some
> other apps behave.
The situation is different in apps with a paper space environment. In those programs there isn't this ever-present scaling issue, so presets are much cleaner: figure out what works for a given size of paper once and then use that for all future drawings on that size paper. Here the scale of annotations is different for every drawing, so it's not possible to reuse a preset from a previous drawing unless there's some way of scaling it.
What would be cool is a way of selecting an existing annotation and using that as a template / dimstyle / preset for annotations that I add subsequently. Problem is, not all annotations have all the properties, like radialDimensionCrossSizeModelUnits is defined only on radius dims. Maybe you'll have some ideas for dealing with this obstacle.
- Peer
From: Michael Gibson
Hi Peer,
re:
> That particular problem could be fixed by scaling the preset properties on a unit system change, no?
The "Default" preset is global so I don't think that would work.
I can certainly set up an option to have all the model units properties on annotation objects scale with transformations as a start. I'm just not sure if that can be the default behavior.
- Michael
From: pressure (PEER)
Hi Michael,
Maybe it's better to attack this from the other direction. I've been keeping the objects that are the subject of the drawing at their true size so I can dimension them. That forces me into scaling all of the annotation properties for each new drawing. You've brought up some good points about problems with scaling annotations.
What about adding a scale factor property on presets and existing linear dimensions instead? The scale factor would be a constant that multiplies the numerical text value of the annotation. That way presets will be reusable across drawings because the scene units will be paper space units. It would add a paper space environment to MoI by just working in a new file.
This will be good for others things too like detail views that are at a different scale from the rest of the drawing and for diameter dimensions from a centerline when only half of a revolved part is drawn.
- Peer