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 )
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 !