2
$\begingroup$

I am trying to create a shelf that scales properly. Each board in the shelf must be 1/2" thick and ideally I would be able to scale the depth, height and or length without affecting the 1/2" thickness of the boards. I have been able to achieve my goals by having separate objects for each board, selecting them together and scaling them (with the 1/2 dimension locked).

shelf

My question is: can I have a mesh that scales as desired? Or can I link these objects to scale as desired?

I have tried parent/child relationships, but they seem to ignore the 1/2 dimension lock. Also groups just seem to help you select the items within the group.

Are there any other suggestions? Thanks

$\endgroup$
4
  • $\begingroup$ Try blender.stackexchange.com/a/66086/29586 for positioning and scaling the shelves automatically - you'd just need to position the top and bottom ones and the rest would be filled in. For the sides you could use Copy Location and Stretch To constraints so that they automatically fit to the sides. $\endgroup$ Commented Nov 11, 2016 at 10:32
  • 1
    $\begingroup$ Parent them all to a single empty and scale the empty would be my suggestion. $\endgroup$
    – batFINGER
    Commented Nov 11, 2016 at 10:48
  • $\begingroup$ Parent them all to a single empty object didn't work (the object was the parent). That seems have a similar result to parenting to just one of the boards. $\endgroup$
    – fcimeson
    Commented Nov 11, 2016 at 13:41
  • $\begingroup$ Ideally I would not have to rebuild the shelf every time I want a different size, so although the distribute evenly suggestion is good, I don't think it fits my needs. Thanks $\endgroup$
    – fcimeson
    Commented Nov 11, 2016 at 13:43

2 Answers 2

0
$\begingroup$

I add this as another answer, instead of editing the above, because the method is completely different, more complete but also way more complex... you could choose this or the other method (or some other too) depending on different desired usage...

That said, this method:

  • use separate meshed instead of a single one
  • involves several and complex parenting and contraints
  • allows "shelf scaling" on any axes X,Y,Z
  • provides a separate "driver" mesh to enable the scaling on the "shelf" object

Because of the complex setup and being composed of separate meshes, this could be difficult to manipulate as a whole single "shelf" object... imho.

This is the example "shelf" (7 separate objects), and below you see the blue "driver" plane. To "scale" you MUST scale ONLY the "driver", along X, Y or Z.

enter image description here

here is the "scaling" along Z:

enter image description here

enter image description here

here is the "scaling" along X:

enter image description here

enter image description here

and here the "scaling" along Y:

enter image description here

enter image description here

here is the example .blend:

Note: due to the complex parenting/constraint setup, I think, sometimes the scaling can produce weird results, like separated planes, etc. In my experience you can "recover" those syncronization error issuing an "undo" step (CTRL+Z) just after it happens.

Maybe someone can improve this, but it seems to do what you were looking for, imho.

$\endgroup$
1
$\begingroup$

If I got it right, what you could do is using hook to move one side of the shelf, like this

  1. In edit mode, select all vertices of one side of the shelf, then, hook (CTRL+H) them to an empty like this

enter image description here

  1. then you can select the empty

enter image description here

  1. and moving it (here on Y) will "scale horizontally" your shelf like this:

enter image description here

enter image description here

Other setups are possible, this is just to give you the idea

$\endgroup$
4
  • $\begingroup$ This looks pretty helpful. But I'm not sure I understand completely, is this a single mesh? $\endgroup$
    – fcimeson
    Commented Nov 12, 2016 at 11:14
  • $\begingroup$ Thanks for your help, do you have an idea of how I could then scale the shelf vertically? $\endgroup$
    – fcimeson
    Commented Nov 12, 2016 at 11:30
  • $\begingroup$ yes it is a single mesh: this works to preserve vertical dimensions while "scaling" horizontally. vertical is more difficult, for this kind of object. I think it could perhaps be done (differently) but I need to elaborate an example... $\endgroup$
    – m.ardito
    Commented Nov 12, 2016 at 11:59
  • $\begingroup$ I added another answer (!) since I found a way, but quite different and more complex... hth. $\endgroup$
    – m.ardito
    Commented Nov 12, 2016 at 14:16

You must log in to answer this question.

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