Component swap possible without geometry distortion?

Does anyone know if there is an extension or a way to swap out geometry within a component without distortion? I am trying to fine a way to swap out flat kitchen doors for Shaker style… or other styles, but I’m not sure it’s possible in Sketchup. It would be a valuable addition to us kitchen manufacturers if there was! Attached video shows the problem faced.Thanks.

Scale would be the wrong tool for resizing a frame and panel door like that because it scales the width of the rails, as you show. For something like you are trying to do, you’d need a lot more gymnastics. It wouldn’t be a simple swap.

1: Take the shaker door original, double click into the group, lasso select the upper geometry (the top rail), and move it up to the correct height (the stiles will stretch in length). This is one way of keeping the correct proportions.


2: Learn dynamic components and create a scaleable shaker door out of 9 sub components. Rails and stiles would need to have formulas controlling their width; and where they meet each other in the corners there would need to be separate square components, also with controlled dimensions, with hidden lines making them appear as one with the rest of the door structure.


3: go to sketchup 3D warehouse and search ‘dynamic shaker door’ and I’m pretty sure you’ll find one or two ready made! Then, if you do want to learn more about dynamic components you can try reverse engineering them - inspect the formulas using ‘component attributes’ (if you have Sketchup Pro.)

Thanks for reply but I’m trying to swap out all doors in one go. Scaling individual with Fredoscale streach tool is perfect for individual.

I agree re gymnastics! If a developer could make it work there would be a pot of gold at the end of it… Cheers Dave.

1 Like

You just need to swap it with a dynamic shaker door. A few developers are doing this and much more, see

Interesting! Thanks for that Alastair, I’ll see if I can make it work.

Unfortunately, the dynamic swap doesn’t work. Stretches geometry in component copies regardless of dynamic properties. Back to the drawing board…

Maybe you will need to place the dynamic component within another wrapper component before doing the swap to retain it’s scaling properties. I’d be surprised if it can’t be made to work.

You can set up DCs to swap and update to the previous instance attributes, it depends on the complexity of the DC. For low level DCs, you establish a common size at design, then it will scale to the current, on more than one replacement you may need to do a redraw, can use Dan’s re-draw-all script. For complex DCs, you set up the saveas definition with the current formula and add an intermediate component this and control the DC geometry, then use “swap” in right context menu or with ThomThom’s component replacer.

Many thanks. I have no experience whatsoever with dynamic components but I think now is the time to experiment. Cheers