Render to Scale in Blender using the Render to Print addon !

A few months ago me and a friend came up with a mathematical formula for automatically making the camera render to scale when it is used with the orthographic mode on.

Basically it uses the ortographic scale to render scenes but more like CAD programs where you need something to scale to put dimensions on, only this time by actually rendering the image in one of the top/bottom/right/left/front/back camera positions so you could for instance do elevations or sections by directly rendering them from BI/Cycles/etc rendering engines and using the camera clipping options. Some cool stuff can be made with this. Dunno if it actually works with maxwell/octane/etc but with cycles and BI it does.

So this is how it goes ( you can verify yourself if you think it’s wrong I don’t explain the entire thinking in it because it’s too long and I’m lazy :stuck_out_tongue: )

First, convention numbers for understanding what is what :

O = Orthographic Scale number that has to be entered to achieve desired result !

1.3648 = a number that relates to the aspect ratio of the camera resolution a constant. Tested only with standard aspect ratios A1,A2,A3,A4 etc no custom formats.

A = The Width value ( vertical length of the paper format in reality such as A4 standard 21x29.7 cm in landscape mode, or always parallel to the width or vertical length of the object that is inside the drawing or rendering ) for example 21 in the case of A4.

Lv = The number value of the width in reality. Like if you have a geometric shape with the width ( vertical length between topmost points = 8 m ). For instance a plan of a building.

Lr = The number value of the width in scale on paper ( 1:50/1:100/etc )

So If you want to print out on a A4 paper a plane shape in Blender of lets say 2x3 m at the scale of 1:50. You would use this script. You would chose a custom size from the drop down that is A4 chose the amount of DPI you want for the print quality and set the render dimensions to match the size calculated automatically by the script. Don’t forget to set the page orientation to Landscape so as to preserve the camera aspect ratio to the shape in the scene.

After you would have to do this mathematical formula:

O = 1.3648 x [ A x Lv ] / Lr so 1.3648 times [ A times Lv ] divided by Lr

So in our case we have to work in meters otherwise it does not work :

O = 1.3648 x [ 0.21 x 2 ] / 0.04 m = 14.3304

So this number 14.3304 goes into the camera orthographic scale input inside Blender camera settings and it should work for this particular case. You can print out a test and do a ruler check on the shape that is printed and it should be accurate.

As far as I know, so far this method is not universally applicable as I don’t know how it behaves with non custom formats. However if someone has any ideas or finds some other easier method is welcome to post here so we see if it works better.

If anyone would deem this worthy for a script then that would be great as it would allow us to better integrate this with the render for print addon.

oh and just to be clear this is in no way a substitute for classic CAD drawing to scale but just a way to do things different if you feel so.

Thanks !

Re-opened by request

Thank you Fweeb …

Unfortunately I didn’t realise that the thread was reopened and in the meantime I have problems remembering my questions to reC but I’m very happy you reopened it. Edit: I remember I was of the shortest or longest side. I used the longest side while reC spoke
Ah here:

A = The Width value ( vertical length of the paper format in reality such as A4 standard 21x29.7 cm in landscape mode, or always parallel to the width or vertical length of the object that is inside the drawing or rendering ) for example 21 in the case of A4.

I came to a slightly different solution that solved the magic of the number 1.3648 that reC used.

Now a problem occurred in my addon now according to the post of reC: http://blenderartists.org/forum/showthread.php?317930 .

Edit: Now it’s clear to me again. The number 1.3648 is the ratio, okay for me it is a little different but finally using the aspect ratio instead of this magic number works. The mentioned problem only occurred in the portrait mode and it is fixed now in the render_to_print.py Version 0.4.

hey look a quick fix ! thanks so much for that !

will try and see if it works !

as far as I know you’re the only person to have scripted this in Blender ! I would like to know if other people found this idea or your contribution useful or not.

for a while there I forgot about this thread as no one answered and I thought it was just a wasted effort !