Reuseable model components and their sizing

I have a library of standard 3d objects as a set of *.blender files like
windows, doors, chairs, walls etc.

I want to use a “window” object from the library in my
new model but the problem is that the “window” has another horizontal
size for my model. In case I scale the “window” horizontally the window’s
frame will be resized as well however I need to resize it so that window
become wider but it’s frame width remained with size same.

Are there any standard approaches for solving similar problems?

Other than box-selecting the right frame parts and moving them?
No I guess not.

It depends on how exact you want to be. Usually, frames and support members increase in size proportionally to the size of the overall object, within reason. So, you should be able to scale in the Z direction in object mode and make them higher, but yes, the frame will be thicker across the top and bottom, by a slight amount.

If you want it perfect, you will have to go into scaling the individual components, and saving them (after that work) as a new reusuable model. So, for example, in edit mode you would Grab the top frame and move them up to where they should be, and work your way down the window, taking sets of horizontal slices as you go, and repositioning them.

In certain case you might want to use hooks. You can find a parametric frame that is based on this technique at .

BeBraw, that’s really looks what I need to. Could you give some more info about how to use this technique?
So in general I want to have a set of reusable components and the components may have a kind of layout management for resizing (like in Java).

I’ve found info about hooks myself:
really cool feature. Thanks a lot to BeBraw.

BeBraw, in your model you have directed hooks as “Single Arrow”. I can not find how to specify the direction of that arrow. Could you help?

You can specify the direction of the arrow by rotating the empty. Rotating will cause the frame to deform but you can fix this by resetting the hook on the object. There is a reset button in the hook modifier for this.