Ultra-Fast Duplicate?

The copy function in Rhino is not always fast–yet ALT dragging a copy is almost instant under any circumstances. For medium to large projects, it often takes seconds to copy, alone. I just copied a surface that took 13 seconds; it can be ALT-drag copied so fast the screen doesn’t even pause.

Is there a way to write a script to drag-copy an object, and then move the object back to its original position? (Effectively making a copy in place.)

Perhaps a [CTRL]+[D] kind of thing?

Hello - this is the Copy command, correct, not CopyToClipboard & Paste? I am not aware of Copy being slow…


And don’t forget the _InPlace option in_Copy…


Using [CTRL]-[c] and copy [CTRL]-[v] is way slow when working with medium-large files. I don’t think it was always that way.

1 Like

@Helvetosaur, yes, the _Copy command itself seems quick. I am not sure how to force an option from a keyboard shortcut. Thank you : )

When trimming one thing with another and vice-versa, I tend to that this a lot.

! Copy Pause InPlace.

I am confused about what is slow…


1 Like

Using ctrl-c takes seconds. Thank you, @pascal : )

Hello- that is why I asked, above if you are using the Copy command or CopyToClipboard, The latter is expected to be slower.


Thank you both, I bound it to a CTRL-D key, and it works great!

BTW, @pascal I have used the Dragline point setter you made for me, hundreds, if not thousands of times. Thank you. I was going to recommend that it be somewhere in V7, but I cannot find it in the forum. I still have a copy of the code and the icon.

Hi All,

there is another possibility added in Rhino 7 WIP:
Drag: DragCopy - New command (RH-53561 )

It works while Gumballing or dragging, and acts as multiple copies while dragging. Pretty cool and seems very fast. The best way to use it is to bind it to some key shortcut [here: F12] so its an one-shot when dragging. Can do many copies and then select them all once done with SelLast…


1 Like

Hi Brenda… I am searching among the cobwebs but apparently that was too long ago for me - can you remind me what it does?


Here is the DragCopy in action:


sorry, I did not read this part correctly. Please ignore my input, I did not realized you need to copy in place.

1 Like

@pascal, you have helped so many people you cannot keep them all straight.

The script let the user draw a line between two points, and set a point in the middle. I also use a modified version that let me set a point at the end, to set a point at a certain length. This is the original.

OMG! It’s 8 years old!!!

Option Explicit
'Script written by <insert name>
'Script copyrighted by <insert company name>
'Script version Tuesday, March 02, 2010 4:32:48 PM

Call Main()
Sub Main()
	Dim blnSuccess: blnSuccess=Rhino.Command ("_Line")
	If Not blnSuccess=True Then
		Exit Sub
	End If
	Rhino.EnableRedraw False
	Dim strLine: strLine=Rhino.LastCreatedObjects
	Dim arrEndPoint: arrEndPoint=Rhino.CurveEndPoint(strLine(0))
	Call Rhino.AddPoint(arrEndPoint)
	Call Rhino.DeleteObject(strLine(0))
	Rhino.EnableRedraw True
End Sub

Dragline Two

There is the Rhino Option > Files > Clipboard > Allow copy and paste to version 5.0
which may slow down the process. But 13 seconds is quite looong…

I am making a lighthouse, and the mountain it rode in on. Still, I think that 13 seconds is a little long.

hm. This looks like it lets you draw a line and then drops a point at the end,… not sure what that gets you but I don’t think I did this… if it were Rhino.CurveMidPoint() I could start to see some utility, but
! _Point Between
is simpler.


The tool is handy because it works from curved quads, rectangles, or anything you can span with a line. The endpoint variation is handy just for setting a point at the end of a measured distance.

[In the late 1980s, I wrote a drawing program from scratch, with scratch made pull-down menus, which had a similar command.]

I used the CTRL-D duplicate at 4 last times, already : )

It should also be the right mouse button on the Copy button (in the default workpace)

This is because Rhino copies every material to memory (a ‘bug’ in my world) each time you copy any object to memory with ctrl-c (Even a curve with no material) So big textures are the cause as far as I know.

1 Like