# How to preserve the main dimension when adding space between elements

I’ll ask simple, then explain why I need it. Here’s the idea – There are 2 squares and rectangles next to them (image below).

The height is 1.795 and their combined width is 5.795. If we add spacing between each element the dimensions for the height and width will be preserved (image below).

Also, the space between the squares is the same length as the space between each rectangle. Now, the snapping tool works well for preserving the main dimensions (shown in orange), but how can I make the spacing the same length between each element? Yeah, I can bevel them, but the squares are supposed to be identical as well as the rectangles. I need this for creating kitchen cabinets where the main dimensions are already defined. This is sort of a practice where I’ll get serious later on and make some money. There’s no overlapping edges in real life and I believe this is an essential feature for architectural visualization, such as: Desks, Cabinets, Objects next to\on top of each other etc. Is there a way to make this in blender? Any workaround will be appreciated :).

• I'm having a hard time understanding how this differs from your other question blender.stackexchange.com/questions/27055/… Commented Mar 15, 2015 at 17:50
• I can honestly say that the other question is not about making the spaces equal (vertically and horizontally). I understand that they look too similar and I'll update it (the image was not supposed to include drawers, sorry about that) Commented Mar 15, 2015 at 17:54

let's start from your exemple with those objects (i'll call them Base):

1st, we create objects (i'll say Spacers), they don't need to have geometry but giving them a shape make them visible and selectable. The important thing here is their origin, it has to be in the middle of the space between the objects we want to control.

The horizontal Spacers on the right have to be rotated 90° on the Y axis in Object mode, because we'll use their local X axis.
Now select 1 of the Spacers RMB and the Base object touching it (in this order) Shift+RMB and enter Edit mode Tab. Select the face touching the Spacer, hit Spacebar to search for Hook to selected object, click it with LMB. Now your face is hooked to the spacer object. Get out of Edit mode Tab. You can move the spacer to check if the face is following as it should.

Repeat the same operations on every Spacers and their adjacent faces. There are 3 Base objects that needs to be hooked to the same spacer.

Now select the second Spacer, go in constraints tab and add a Copy Scale constraint. The Target has to be the 1st Spacer, the controller. Remove Y and Z axis, choose local space from in 2 Space menus. For this spacer, we'll use an Influence of 0.5. This is important because the concerned Base object will be affected by 2 spacers but the left Base object is affected by only 1, so the scale has to be 1/2.

This one needs an Influence of 1.
The selected Spacers have an influence of 0.5, the others have 1.

Now you can select the Controler Spacer and scale it on it's local X axis with S->X->X and all object should be modified to use the same space between them!

Here is the .blend file

• That's sort of what I need because the cabinets are not identical when scaled, as well as the drawers and that is a problem. Thanks for the Blend file, I learned something :) Commented Mar 15, 2015 at 18:32
• If it does I will :). Here's the problem - pasteall.org/pic/85270 Maybe they scale equally and I'm doing something wrong, but I need them to be equal. Commented Mar 15, 2015 at 18:41
• i see, i'll think about that Commented Mar 15, 2015 at 18:57
• That's exactly what I was looking for (the second file)! Can you briefly explain what you did, 'cause this is a sort of new to me. Thanks :) Commented Mar 15, 2015 at 19:53
• @Bithur please consider summarizing the steps taken, a new blend file might solve the issue in question, but might not help new users learn about the steps you took or the logic behind it.
– user1853
Commented Mar 15, 2015 at 23:47