5
$\begingroup$

I have downloaded car models where each model consists of multiple meshes including some modifiers. I would like to determine the dimension of the set of all these objects (window, bumper, trunk, ...). I know I can get the dimension of a single object in the transform panel. And I know I can apply all modifiers, join the objects and get the dimension of the resulting object and then undo the joining etc. But isn't there a more straight forward way?

In the end I would like to position the car model such that the center of it's bounding box coincides with the origin. Doing a plain Object > Transform > Geometry to Origin and then selecting "Bounds Center" usually destroys the model unless I apply modifiers and join the objects first.

$\endgroup$
4
  • $\begingroup$ I've got a feeling you might need a script to do this effectively $\endgroup$
    – J Sargent
    Apr 28, 2015 at 15:01
  • 2
    $\begingroup$ parent them to something at the center then move it to the origin $\endgroup$
    – Chebhou
    Apr 28, 2015 at 15:08
  • $\begingroup$ @Chebhou Indepedent of that I do need the dimension of the set of all objects. $\endgroup$ Apr 29, 2015 at 7:35
  • $\begingroup$ you don't need it for this just select all and snap cursor to selected , if you wan't the dimension of all objects : Shift+D then Ctrl+j and you'll have the dimension in the property panel $\endgroup$
    – Chebhou
    Apr 29, 2015 at 21:43

1 Answer 1

3
$\begingroup$

As Chebhou already pointed out in his comment, what people usually do when transforming a disjoint model is have an EMPTY at the centre or wherever you want it (you can use it as a pivot), and then PARENT all objects with the empty. Then you would simply transform the empty and everything should stay in the same position relative to it.

You can have a hierarchy of empties if you want to be able to move some objects separately (say wheels, doors, etc.)

I am not sure how getting the dimensions of all objects would help you solve your problem, but if that is what you want you will have to write a simple script (something like that):

for each object in selected
  print object.getDimensions()

But then you will have to go through them manually unless you don't attach it to some other script.

$\endgroup$
7
  • $\begingroup$ Ok this would solve the original problem. However, I do need the overall dimension - not just the dimension of each component. $\endgroup$ Apr 28, 2015 at 16:12
  • $\begingroup$ Oh you can do that, by getting the bounding box of the selected objects, and it will have the overall dimension. $\endgroup$ Apr 28, 2015 at 16:19
  • $\begingroup$ And how does this work for multiple selected objects? $\endgroup$ Apr 29, 2015 at 6:23
  • $\begingroup$ If blender doesn't still support this feature out of the box, then have a look at this excellent answer by gandalf3 blender.stackexchange.com/a/6131/5341 , you need it as far as getting the dimensions of each object. You don't need to actually construct the box. Have an array of the extreme values, eg: zMin, yMin, xMin, zMax, yMax, xMax, and simply compare the current object's values against these extremes, if the object has a 'more extreme' value, then save it in these extreme variables... at the end you will have the dimensions of bbox around your selected objects. $\endgroup$ Apr 29, 2015 at 8:27
  • $\begingroup$ I know what you mean. However, since these bounding boxes are rotated, the overall bounding-box will most likely be a bit larger than necessary. $\endgroup$ Apr 30, 2015 at 7:07

You must log in to answer this question.

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