A Question on GetActiveObject? [SOLVED]



  • On 07/11/2015 at 12:39, xxxxxxxx wrote:

    Hi Guys,
    A Question on GetActiveObject?
    I use GetActiveObject to Select active object, that is in the Object List.
    Now when i use doc.GetActiveObject it dont work right.
    It separate them and not group them.
    This What *Console* Said:
    AssertionError: Found next objects. Please add them separately.

    So I wanted It to generate with the selected object use choose and go under or become a child.

    Code:
        def Generator_TAXILINE(self) :

    doc = c4d.documents.GetActiveDocument()

    #--| Generate and SET NAMES |--#
            #Generate Sweep
            taxi_sweep_Name = c4d.BaseObject(c4d.Osweep)
            taxi_sweep_Name.SetName("TaxiLine")

    #User Custom TEMP     
            TEMP_Name = self.linkBox.GetLink()
            TEMP_Name.SetName("TAXILINE_TEMP")

    #Select User Custom Path
            selectedobject = doc.GetActiveObject() # <----| this Problem 
            selectedobject.SetName("User-Custom-Path")
            
            #Insert Objects To LIST!   
            doc.InsertObject(taxi_sweep_Name)
            doc.InsertObject(TEMP_Name)
            doc.InsertObject(selectedobject)

    # Objects Order!    
            parent = doc.SearchObject("TaxiLine")
            child_Temp = doc.SearchObject("User-Custom-Path")
            child_Temp.InsertUnder(parent)
            
            parent = doc.SearchObject("TaxiLine")
            child_Temp = doc.SearchObject("TAXILINE_TEMP")
            child_Temp.InsertUnder(parent)
            c4d.EventAdd()
            return True

    #--|C.O.M.M.A.N.D.S|-------------------------------------------------------#
        def Command (self, id, msg) :
            if (id == GEN_BUTTON) :
                self.Generator_TAXILINE()
    #-------------------------------------------------------------------------------------------------#
    This what is happen when excute with doc.GetActiveObject() :

    But If i use selectedobject = c4d.BaseObject(c4d.Osplinecircle) , IT WORKS FINE:

    Help or Tip,
    Cheers,
    Ashton,
    sorry for my English guys.



  • On 07/11/2015 at 14:02, xxxxxxxx wrote:

    In your code sample, you first select an object out of the existing tree:
    selectedobject = doc.GetActiveObject()
    and then you try to insert that somewhere else:
    doc.InsertObject(selectedobject)

    I suppose C4D doesn't like that much. You should cut that object from the tree first, to isolate it. Then you can insert it somewhere else.

    In your second sample,
    selectedobject = c4d.BaseObject(c4d.Osplinecircle)
    you create a new object, which naturally is not connected in the tree already, and insert that. This is uncritical, and therefore works.



  • On 07/11/2015 at 15:58, xxxxxxxx wrote:

    thanks man 
    IT  WORKS BRO!
    CODE:
        def User_Custom_Path(self) :
            doc = c4d.documents.GetActiveDocument()
            selectedobject = doc.GetActiveObject() 
            selectedobject.SetName("User-Custom-Path")

    def Generator_TAXILINE(self) :

    doc = c4d.documents.GetActiveDocument()

    self.User_Custom_Path()

    c4d.CallCommand(12298, 12298) # Model
            #--| Generate and SET NAMES |--#
            #Generate Sweep
            taxi_sweep_Name = self.linkBox2.GetLink().GetClone(c4d.COPYFLAGS_0)
            taxi_sweep_Name.SetName("TaxiLine")
            #User Custom TEMP     
            TEMP_Name = self.linkBox.GetLink().GetClone(c4d.COPYFLAGS_0)
            TEMP_Name.SetName("TAXILINE_TEMP")

    #Insert Objects To LIST!   
            doc.InsertObject(taxi_sweep_Name)
            doc.InsertObject(TEMP_Name)
            #doc.InsertObject(selectedobject)

    # Objects Oder!    
            parent = doc.SearchObject("TaxiLine")

    child_Temp = doc.SearchObject("User-Custom-Path")
            child_Temp.InsertUnder(parent)

    child_Temp2 = doc.SearchObject("TAXILINE_TEMP")
            child_Temp2.InsertUnder(parent)

    c4d.EventAdd()
            return True 
    #----------------------------------------------------------------------------------------#
     Thanks Cairyn
    Cheers,
    Ashton


Log in to reply