How to have graduated lengths as groups are copied


Hi folks,
First post here, so my apologies if I’m in the wrong section. I am building a marimba (like a wooden xylophone), and I am modeling the keys in Sketchup. So I am trying to figure out how to do two things:

  1. create a rectangle shape and then copy it and every time it is copied it is a set amount of length (let’s say 5/8") shorter than the copy before. There would be something like 35 keys, so I’m hoping to figure out a way to do this without having to adjust each one individually. I need to figure out how to graduate both length and width.

  2. Have a rectangle with one length (say 39") and then another with a length of 10" and choose a certain number of keys that will fit inbetween them and have sketchup automatically determine the lengths of those. Said another way: The first key is 39" long. The last key is 10" long. I want 35 keys in between those two keys. Can sketchup determine the lengths that they will be?

Thanks for any help!


There are a few plugins that would help you do this, but if it’s a one off you may as well do it manually.
Here I have drawn the shape and divided it equally to allow me to draw one key, that’s then pulled to length and the face copied along the angled line and pushed back to the uniform stop.
This is pure raw geometry, you could make the first key a component, array that then scale each to the line.
Plugin called grow by Tig would most likely do it, but I bet you’d spend longer fiddling the plugin to get it right. Worth doing if you plan to make 100 of these.

<img src="/uploads/default/original/2X/e/e5ab0db3b832204a206a45ac22a53ba5befc1aa9.gif"width=“499” height=“499”>

Nothing measured here, just by eye.


Su has a neat capability I do not see used very often. Component definition is invariant when it is moved, rotated , scaled, copied. It also has the capability to replace one component you select in your drawing with a different one from your component browser. Therefor , you can make proxies in your drawing using very simple component instances in your drawing ( I have used just simple line ( as component instance ) in past but who knows what has changed??) which are scaled, located , rotated etc. to how you want them installed, then select them all , go component browser and select the component you want to use as replacement, select replace selected. There is a plugin called comp spray that will randomly add component instances into your drawing at various scale etc. which some use for face me trees. The new item will replaced those selected at scale, location, rotation per their place in the drawing. Suggest you read help manual first.


Very cool. I love how in SU you can do the same thing in different ways and it really opens my eyes to other possibilities. One reason this may not work perfectly for my needs is that both long ends are tapered-like a long and skinney trapezoid. BUT this did get me thinking in this different way. Thank you!


Well you could make a component and just scale it, or even make groups and use the move tool to adjust the length while keeping the shape.

A quick late night scale version.


As long as you are not changing the component definition should be ok. That is the reason scaling works since definitions are invariant under that operation.


Just for fun I made a dynamic component that resizes copies of an initial block by an increment. Not quite finished but to give the idea.

increment.skp (137.9 KB)