3
$\begingroup$

I select a point in edit mode, and it gives me some reasonable xyz Vertex values in the "Transform" area (for example 955, -455, 100).
I select another point and I also get reasonable values (for example 517, -471, 76), 100s of units from the first point. When I go to Grease Pencil/ Tools/ Ruler Protractor and try to draw a ruler between these two points to get the exact distance, I get a very small value instead (like .652). Shouldn't the ruler be giving me the difference between the vertices? I thought this might have to do with some local vs. global coordinate issue but I can't make any progress on that.

First point: first point Second point: second point Ruler, showing unexpected value: ruler

[Since I am prohibited from posting a comment I'm not sure how to add information to my question, aside from editing my initial post, so that is what I am doing.]

I have attached another image showing that the scale of the mesh object appears to be 1.0. Since the mesh object scale is 1.0 I cannot understand why this is a local vs. global scale issue (even though that's what I suspected this problem ultimately would be related to).

Generally, even if this is a global vs. local scaling issue, how could I get the ruler to show distances using the object's own scale? I don't see any option in the Ruler/Protractor that would tell it to use the object's own scale for measurement.

Here is an image that I think shows that the scale of the object is 1.0: scale
(source: interstice.com)

Based on Carlo's suggestion I examined the object hierarchy more closely. The meshes I was looking at have a scale factor of 1.0, but the meshes are part of a 'Model', and the Model does have a scale factor of .001 associated with it, as this screenshot shows:

scale
(source: interstice.com)

The model was imported from an Autodesk .3ds file, by the way, and that is how this scale factor was introduced into Blender during import.

So at this point I am at least comfortable that I understand what is going on, though I'm still not sure how to make Blender do what I want. I may try to figure out how to rescale the object to a factor of 1.0 so that my blender units agree with my model and the ruler will give me "real" values.

Blender v2.78

$\endgroup$
  • $\begingroup$ Welcome to Blender.SE. Yes, it should give you the exact distance as expected. Did you correctly snapped the ruler to the vertices? could you post a test scene proving your issue? also the images you mentioned could be useful... $\endgroup$ – Carlo Sep 20 '16 at 19:47
  • 1
    $\begingroup$ Editing the question is the right way for adding more information. I see something strange going on: if the scale is 1,1,1, and the overall bounding box Dimensions have a max value of 2,985...how can a vertex location be higher than that value? currently I'm thinking about a Child relationship...so your mesh is maybe inheriting the trasformation from another mesh with altered scale. Could this be the case? $\endgroup$ – Carlo Sep 21 '16 at 6:12
  • $\begingroup$ apply the scale on the 'Model' object (Ctrl + A) so the scale values will be set to 1.0, then ruler and vertex position should start to line up. $\endgroup$ – aliasguru Sep 21 '16 at 17:07
  • $\begingroup$ If your object was sacked in object mode the units will not correspond to the world's. Apply transformations using Ctrl+A $\endgroup$ – cegaton Sep 21 '16 at 20:35
  • $\begingroup$ related: blender.stackexchange.com/questions/47318/… and blender.stackexchange.com/questions/7298/… $\endgroup$ – cegaton Sep 22 '16 at 4:40
1
$\begingroup$

Ruler use the Global coordinates

As you already pointed out in your question, the difference comes from the using of Local coordinates instead of Global.

While the Global coordinate of the vertex is its "true position" in the 3D space, Local coordinates are giving you the position of the mesh component as if it would not be affected by the object's transformation.

If we consider for example a 200x200 square plane, and set the object's scale to 0.01, the Global position of the corner vertices would be something like (1;1;0)... while the Local position will stay untouched (object's scale is uneffective) resulting in something like (100;100;0).

The rulere is giving the "real" distance bewtween two points, located where they currently are in the scene, so by comparing the Global coordinates, not the Local.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.