Didnt like to consider that because the copy command is the cause of duplication slowing things up, but as its dealing with a block you say its ok, so I can go with that now.
Unrelated to the blocks issue, but related to copying things to points:
I have a button to do just that:
Select points to copy to
get object(s) to copy to the points
Select a reference point to be copied from.
The script on the button is this:
! _NoEcho _-Runscript (
Sub main
Pts=rhino.selectedobjects
if isnull(Pts) then Pts=rhino.getobjects("Points ?",1)
obs=rhino.getobjects("Objects ?")
rp=rhino.getpoint("Reference point ?")
rhino.enableredraw vbfalse
for each pt in Pts
if rhino.ispoint(pt) then
xyz=rhino.pointcoordinates(pt)
rhino.unselectallobjects
rhino.selectobjects obs
rhino.copyobjects obs,rp,xyz
End If
next
rhino.unselectallobjects
rhino.enableredraw vbtrue
end sub
main
)