Login  Register

Re: Scaling issues

Posted by wiesi on Oct 26, 2011; 8:20pm
URL: https://forum.librecad.org/Scaling-issues-tp4936271p4941049.html

With "dimension" I meant the dimensioning text and arrows and extension lines ... (That was my fault. I think it's called "dimensioning" and not "dimension" in english. Correct me if that's wrong.)

Yes, using an additional abstraction layer of paper space is how it could be solved (e.g. AutoCAD does this, if I remember correctly). This way additional things like the title blocks (what I mean is e.g. this: http://www.roymech.co.uk/images1/title_block.gif if I got the english term wrong again) are solved, too.

Maybe the simplest workaround (from the implmentation point of view) would be to insert a scaling factor in the drawing preferences. If this was set to say 2:1 all values entered at command line would be multiplied by 2 and thus respecting that the printout should be twice as big as the original part (the print-scaling-factor has then to be 1:1, of course). All the internal drawing data would be twice as big in this case. The dimensioning texts inserted would have to do the reverse: Take the internal units (which are twice as big) and divide them by 2 to show the same values as entered by the user. The sizes of the dimensioning itself, set in the "Drawing Preferences" => "Dimensions" dialogue, are not multiplied and always drawn 1:1. This way the following is achieved:
1) The dimensioning on the paper is as big as set in the setting dialogue (because we print 1:1 later).
2) The linewidths on paper are as thick as set in the layer settings (because we print 1:1 later).
3) The user just enters all values 1:1 (because of the internal scaling of drawing and dimensioning) and doesn't have to worry about the scaling factor (apart from setting it in the preferences) while drawing like now.
I think the only things that would have to be changed to implement it this way would be the part that reads the input from the user (command line) and the one which draws/inserts the dimensions. Everything else could stay the same if I don't miss anything.

If the scaling factor could be set per layer, even something like title blocks could be done by just keeping the corresponding layers at 1:1, so the frame would always be printed 1:1 and the drawing itself would be rescaled according to the scaling factor in the layer settings. Shouldn't be much more complicated the the global approach described above.

I know, it sounds a bit confusing, just ask if something is not clear.

(Hopefully, I haven't mixed up dividing/multiplying, it's already a bit late now.)

The only drawback is, that the internal data must be rescaled if the scaling factor is changed later.