Scaling while retaining some features


Hello there,
This is a representation of a wooden structure I’m making.
I would like to be able to scale this to any size but keep the thickness of the frame as it is.
Is there a way to do this with sketchup?
All advice welcome.

Many thanks,



You can make a dynamic component that will do what you want.


Use component parts - where they share direction/size/cut-ends.
So in this case 3 components [4nr each].
So for example if you want to make it 1m wider…
Select and Move one end [4nr parts] to one side, by 1m
Now edit one of the other rails that are now too short [or long!] to span to the new position of the matching notches.
Use a fence to select the ‘end geometry’ inside that [i.e. all notched parts].
Move that selected geometry 1m in the appropriate direction [or snap to the previously relocated parts if easier].
The notches in all 4nr parts should now match up again.
If you are doing several versions of this ‘stick-cube’ inside the same model, then make a copy of the 12nr parts, select an edited component set [4nr parts] and use the context-menu > ‘make_unique’ to ensure changing them does not affect the originals…


thanks for taking p the time to respond, I think a dynamic compoent is a quicker option if it;s possible.
Still trying to crack this, all advice welcome.

Many thanks,



Thanks for that, I’d like to pick your mind further if I may.
I have tried starting from the base elements (attached image)

each frame is made of 12 sections with a rebate detail that joints in the corners.
I have tried to create these sections in three parts, so I can scale the length of the section but not change the dimension of the half lap joint. I have partial success. One end remains fixed when the length is changed BUT only when I scale by pulling the handle. When I scale to a given size, it distorts the rebate detail as well.
Is it possible to make a frame like this (12 components, joint and all) that I can then scale t size and keep the section thickness and lap joint details as they are? Where do i begin?

Many thanks for any advice,



Is there any specific reason to insist on using the ‘Scale’ tool. That would require to invest effort and time in setting up several assembled dynamic components, maybe even assembled themselfs into one parent dynamic component. (I don’t know if it’s possible though to create that overall parent component to get it to work as expected).

I think using just the ‘Move’ tool on the three different parts wouold be much easier.
Use this tool on one selected end (in editing context) to enlarge that part without distorting the joint. All similar parts will follow the changes.


Hi there,

I must resize hundreds of these ‘frames’ so setting up a parent component (like an assembly) seemed like the smart option. It’s also more intuitive to the design process, to name the overall size required.
I’ll have a bash at the move tool once I fail completely with the scale option.
thanks for the time,



Fredo’s FredoScale extension should be up for the job for this one.


I believe it’s possible, but it will be a lot of pieces (~24 pieces) nested into one parent. but you’re right that it’ll take a good amount to effort/time for him to learn how to do it.

Each piece will need to be 2 dynamic blocks that (one long and one short), nested together to keep the ends right. multiply this 11 more times. And then for assembly, using math to keep the ends connected (i.e.: Piece1!X = Piece2!LenY…etc)
Im sure it’ll work if you want to resize through the dynamic options, though I’m not sure if you use the scale tool if it’ll redraw automatically or require a forced redraw. @pcmoor might know this better.


Unless you need to change parametrically on a bulk basis you can use 3 cutting planes and you can then move to any size you want w/o affecting the joint or entity thickness. Conceptually is like a sliding joint in the middle of the stretchers and it uses the SU sticky nature of primitive geometry to follow along


Maybe you should rethink where the components’ boundaries are. If you’re just showing complete assemblies it shouldn’t matter.



FredoScale, you need to join forum - which can be done for free - to download. Do read up on it in the related forum thread for proper use.


Maybe this will be useful too:
3D Basecamp 2014: Dynamic Components, Greatest Hits, Vol. 1, Eric Schimelpfenig

[Youtube, 3D Bacecamp][1]

Edit: Actually Starts at ~t=10,00. (Don’t know why it starts at the wrong time!? )


create a cube and make say lenY, lenZ the same as LenX, restrict the scaling tool to the diagonal, add an attribute for thickness of frame. The cube faces and edges will initially use to place and rotate and eventually deleted

create a joint component where the joining lines/ surface is hidden.(double click the offending surface, right click, hide) then place it in the first component at the front bottom left edge. now tie the size of the joint to the thickness attribute of the first component (this can be done after the = by clicking the required variable cell, like using a spread sheet and then pressing enter…saves typing)

once the required attributes are filled, we copy and copy rotate the corner around the cube. The logic is similar to the concentric waves formed by a stone dropped in to a still pond. we want the axis of the corners on the circumference pointing inwards.
So move,copy the joint to the bottom right, then right click it, select flip. along the X-axis (assuming you are on the red axis) then select both, and rotate,copy, (Q, place center at the inference intersection of the two mid points , then control, 180 degrees) Then rotate copy all four corners to the other back face.
now if you open any of the corners, you will see the direction of axis, similar to normals of points on the pond ripple

next make you rail between the bottom left and right corner, hide only the offending lines at the ends, make this a component BUT. select or place the axis at the mid point of the bottom of the length, same x-axis,y, and z. This means any extension is even to both sides. Fill the required attributes, thickness to lenY, lenZ and the first component lenX - twice the thickness to lenX. Now rotate, select center of square (mid point reference) copy(control) 90 degs, then array x 3. .Rotate and copy until all sides are filled.

its important to use rotate copy so the axis naturally change, if you do find one is incorrect the try flipping

Now triple click the cube to select all its raw geometry but leaving the corners and rail components, and delete.

cube frame.skp (129.7 KB)

this is probably the quickest and most economical way of achieving an architectural representation. Though dynamic its SIM not BIM
to create a BIM, require more work which maybe unnecessary for your profession, Having said that (simple information model) SIM is a good starting point, and a detailer or engineer can swap it for a more complex model. Which is all good in keeping file sizes manageable and keeping others employed


thanks for the mention, was in Singapore so couldnt respond “strait” away


Thanks for all the advice, very thorough indeed.
This is some accelerated learning curve for me, much appreciated.



this is a modified version of the simpler cube, such that it accounts for frame depth as well as thickness, i made the four sides, and the four stiles unique so now can build rectangle frames. I further added an alert call out, triggered with the interact finger, to show some more information

The first effort took about 1 hr, this modification two…so can see as we progress towards a more detailed model, the expenses increases which is hard to justify unless you have many to complete, so 100, still makes it economical.

when detailing the items in layout, one can use the new smart tags to read any attribute, so written (dynamic) data can be viewed

rectangle frame.skp (96.9 KB)
version 8 (purged)