Hi @baca, you are right you should remove the OBJECT_INPUT but this imply you need to handle them correctly.
I'm not able to reproduce the delay you mention here my code
def GetVirtualObjects(self, op, hierarchyhelp):
orig = op.GetDown()
if orig is None:
return None
dirty = False
trans = c4d.AliasTrans()
if not trans or not trans.Init(op.GetDocument()):
return False
dic = op.GetAndCheckHierarchyClone(hierarchyhelp, orig, c4d.HIERARCHYCLONEFLAGS_ASPOLY, True, trans)
trans.Translate(True)
if not dic["dirty"]:
return dic["clone"]
if not dic["clone"]:
return None
main = None
clone = dic["clone"]
if clone.CheckType(c4d.Onull):
main = clone
else:
main = c4d.BaseObject(c4d.Onull)
clone.InsertUnder(main)
orig.Touch()
return main
Cheers,
Maxime.