Some people (like me) have been known to ask: why, oh why, does SU not have a dedicated Copy command like pretty much every other CAD system? And then some chip in to observe that the SU way, involving a modifier key is absolutely fine, muscle memory, etc.
My argument is that something you do over and over again in a single session should be made as easy as it can possibly be and that even an extra key press is significant when multiplied up.
So I asked AI to ride to the rescue and it came up with this:
I have only just started using it. I assigned it to a keystroke (one only!). It seems to work but I would be interested to know if anyone else who might find it useful comes across any glitches.
So you install in the usual way. Then the command appears in the Extensions Menu. You can invoke it from there. If you assign a keyboard key to it, you can invoke it that way.
I only have a Mac, so yes, it was designed for Mac. I daresay that I could ask AI to create one for PC too.
Once you have ity installed, you can either invoke the tool and then select an object or do it the other way around. And the modifier key for repeat copies works if you hit it once you see the plus sign.
It’s very simple. It conflates the Move Command with the modifier key required to turn it into a Copy Command. Otherwise it works (or should) exactly as it does when you use the two keystrokes required natively in SU.
I imagine anyone with AI could turn it into a PC version. I won’t bother because I don’t have a PC to test it on.
Could you post a video of it working. I’m genuinely intrigued to know what it does because I have never understood the various requests for a copy command when one already exists?
First thing to say is that I have already found some instability in the posted version so I had to go back to the drawingboard (as it were). The new version is here but I will admit straight away that I haven’t road tested it long enough to be confident about it. But then, that is part of the reason for posting it here and seeing if others have problems.
@kevin58 Unless it is different on a PC, on a Mac, if I want to copy something, I have to use the Move tool and apply a modifier to turn it into a Copy tool. So if you are using shortcuts, you hit M (say), then Option, ie. two keystrokes. You cannot map a shortcut to that combination. Hence the attraction (to me) of a dedicated key to do the job. The SU way is fine for a lot of people, so I am not trying to convert anyone!
With the native move tool if you select an object, then type M to begin the move, then you type CTRL it will start the copy, and if you type CTRL twice you get stamp. Is this what you are trying to achieve with your tool. So it eliminates the typing M and the CTRL twice? It starts off in stamp mode?
You have what I identify as the problem in a nutshell right there: “type M to begin the move, then you type CTRL it will start the copy”. In other words, two key strikes.
In CAD systems that have separate Move and Copy commands (most I imagine), you can map a shortcut to each. SU prevents you from doing that because Copy is a species of Move. Maybe it was easier to program it that way.
So until today, I had the Move command mapped to W on my keyboard (because it is easier to invoke quickly with my left hand than M when my right is on the mouse), then I had to hit Option (Ctrl in PC lingo). Now I have the new tool mapped to F1, still convenient to my left hand. I only have to strike Option if I want multiple copies (which I can live with).
The thing that makes this Mac-only is its use of the cliclick executable, which is a utiility to simulate the user pressing keys or clicking buttons. I haven’t studied the rest of the code, but from this I deduce that it is almost certainly just generating the same sequence of keystrokes prior posts have noted that you could use. So yes, perhaps a timesaver for you, but nothing fundamental going on.
This thread has been useful as it has exposed the difficulties inherent in achieving what I wanted. When I put the defects to ChatGPT, this is what it suggested I wrote here:
One-key shortcut for native Move+Copy on macOS
I’m trying to create a very small Ruby extension for SketchUp (currently 2026 on macOS) whose only purpose is to replace the normal sequence:
Move tool → hold Option
with a single keyboard shortcut.
The intention is not to replace SketchUp’s Move tool or write a custom copy tool. I want to hand off to the native Move tool as quickly as possible and retain all native behaviour afterwards.
My ideal workflow is:
Select any geometry (raw edges/faces, groups, components, mixed selections, etc.).
Press my shortcut (e.g. F1).
SketchUp enters the native Move tool already in Copy mode.
Everything else behaves exactly as if I had manually pressed Option:
raw geometry works,
Groups and Components work,
inference is unchanged,
x5, x24, /7, etc. continue to work,
subsequent Option presses behave normally.
What I’ve tried
Using:
Sketchup.send_action("selectMoveTool:")
works, but only activates the native Move tool. It doesn’t enter Copy mode.
I also experimented with a macOS helper (cliclick) to simulate the Option key immediately after activating Move. It appeared to work initially but proved unstable, occasionally causing SketchUp to beachball, so I’ve abandoned that approach.
As an alternative, I wrote a Ruby command that duplicates the selected entities first and then invokes the native Move tool. That is stable, but it isn’t a true replacement because:
it originally only handled Groups/Components,
the Move tool no longer knows it’s in native Copy mode,
therefore native array commands (xN and /N) are lost.
My question
Is there any supported API (or other reliable mechanism) to activate the native Move tool already in Copy mode, without simulating keyboard input?
If not, is it fair to conclude that this simply isn’t possible with the current SketchUp API?
I realise Sketchup.send_action is now deprecated, so if there is a newer supported mechanism for activating native tools generally, I’d also be interested to know that.
Ah, so its the M and single CTRL (Opt) click in a single step. Gotcha. You might add the Stamp feature as another command that can be assigned to a shortcut. Then you have both options: single or multi copy