Selecting all children in a Root Null-Object
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 26/11/2012 at 01:34, xxxxxxxx wrote:
Selecting all children in a Root Null-Object.
I was trying to make it happen but I guess this is a logic problem I need your help.
at the moment i use the callcomand but i guess this is not the fasted solution to select all children in a Null-Object.
op.SetBit(c4d.BIT_ACTIVE) c4d.CallCommand(100004768) # Unterobjekte selektieren - select children c4d.CallCommand(16768) # Objekte verbinden + Löschen Connect and delete
kind regards
mogh -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 26/11/2012 at 10:50, xxxxxxxx wrote:
If you need to select all children you need to
use a recursive function such as below.
To keep the selection to the hierarchy of the
selected object, you add a obj.GetNext() so it
knows where to stop (or it would select everything
from selected object to the end of the OM.Cheers
Lennartimport c4d from c4d import gui def selchildren(obj,next) : # Scan obj hierarchy and select children while obj and obj != next: doc.AddUndo(c4d.UNDOTYPE_CHANGE_SMALL,obj) obj.SetBit(c4d.BIT_ACTIVE) selchildren(obj.GetDown(),next) obj = obj.GetNext() c4d.EventAdd() return True def main() : try: obj = doc.GetActiveObjects(False)[0] except: return True # Nothing Selected doc.StartUndo() if selchildren(obj,obj.GetNext()) : c4d.CallCommand(16768) #Connect And Delete doc.EndUndo() if __name__=='__main__': main()
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 26/11/2012 at 23:53, xxxxxxxx wrote:
Thanks tcastudios, this is about 60% faster then the callcomand exactly what i needed.
works perfect.
just to understand your code: you are calling the function from itself? with different parameters? thats crazy stuff
also this line buffles me : try: obj = doc.GetActiveObjects(False)[0]
does this read like "Try to set OBJ, and if 0 set to False"much more to learn young jedi
kind regards mogh