2
$\begingroup$

I'm working on a project for some architects. I have following requirement:

  • The maximal allowed error is 1cm.
  • Many people will work on that plan for some years. I think every Object/Vertex may be moved maximal 1000 times, so the maximal error per move shouldn't be above a 1/100th of mm.
  • The project is 15km big on each side.

Questions:

  1. Should I take a special value for the world scale instead of the default 1BU = 1m to ensure that precision over the years?

  2. Are object on the border (7,5km away from origin) more problematic because of the floating point value system ?

  3. Blender stores vertex as 32bits float as far as I know. Is that per dimension (32bit x, 32bit y and 32bit z) or the total?

$\endgroup$
3
  • $\begingroup$ I think Blender can/does store data as 64bit float. Which pretty much eliminates any precision problem at the scale you are working on. atmind.nl/blender/mystery_ot_blend.html $\endgroup$
    – Mike Pan
    Commented Feb 5, 2014 at 17:23
  • $\begingroup$ Campbell says 32bit here : blender.stackexchange.com/questions/3168/… Who is right ? Edit : I can't find the 64bit float you speak about on that page. Which sentence is that? $\endgroup$
    – matali
    Commented Feb 5, 2014 at 17:26
  • $\begingroup$ In the link, it mentions 32/64bit pointers. Which I assumed meant the precision of all floats. If Campbell says it's 32bit only, I am inclined to believe him. $\endgroup$
    – Mike Pan
    Commented Feb 5, 2014 at 19:28

1 Answer 1

2
$\begingroup$

Based upon my experience, there are three things be required in the project you describe to ensure a minimal precision of 1 cm. First, Blender has a maximum order of magnitude of a dimension of 10,000 units, so for your 15 km project, you're going to want the project centered about the origin point so the minimum x, y, and z dimensions are a negative 7.500 km and the maximum x y and z dimensions are plus 7.500 km.

Next, it will be good practice to break the project down into multiple objects spread across multiple scenes. If there will be a checkpoint (guard shack) at the entrance located (to pull a location out of the air for the discussion) at 4.7 km in the positive x direction, and 5.9 miles in the positive y direction, make that guard shack as one or more independent object. As an independent object, you can track the dimensions of the guard shack / checkpoint to within 1 cm (actually smaller than that) more easily than tracking the four corners of the shack from the center point. Treating the guard shack separately also allows the guard shack to be constructed as multiple objects. This will be a necessity if at some point it is necessary or desirable to make some of the parts—sliding windows, or swinging doors, for example—movable. It is possible, of course, to collect all of the bits of the guard shack, and its accompanying devices (like entry gates) into a blender Group.

There is a precedent for making smaller groups of objects, not just within the main file, but moving some objects into other ~.blend files. Even if done on a full architectural plan, the architectural materials detailing the construction of the guard shack are going to e separate from the overall site plan. Putting some elements of the plan into other groups, or blend files is simply an extension of that already standard practice.

Third, Blender allows the movement of vertices (and groups of vertices) by changing values in the numeric boxes in the transform panel of the properties (N) shelf. If you change the location of a vertex (or a set of vertices) using these numeric values, you can help maximize the chances of the precision you want. There are two caveats to this. First the numbers displayed in the dimension boxes of the Transform depend a bit upon the width of the button. If the Properties shelf is too narrow to accommodate a ten digit number (with decimal point), it will truncate (or round) the number to fit. Second you might not get the precision for each set of corner vertices of the hypothetical guard shack referred to above if you choose to use global attributes. However, you can get the center of the guard shack to within a centimeter from the global center, and if you switch to local transformation orientation for the guard shack, you can certainly come within a one centimeter level of precision in the local object or group of objects.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .