T amo! o ... casi xD
He hecho algunas cosillas entiendo que toDelete hay q definirlo vacío antes, por que sino peta,
que con "XSI.DeleteObj(",".join(toDelete))" lo que haces es entrar en toDelete y borrar la primera entrada
perooooo... No se repite! Solo hace el primer obj de la lista y luego toca el banjo.
XSI = Application
toDelete = []
OBJB = XSI.PickObject()("PickedElement")
if OBJB:
for i in XSI.Selection:
copy = XSI.Duplicate(OBJB)(0)
copy.Kinematics.Global.Transform = i.Kinematics.Global.Transform
toDelete.append(i.FullName)
XSI.DeleteObj(",".join(toDelete))