[Python] SendModelingCommand()



  • On 02/12/2016 at 13:21, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   18 
    Platform:     Mac  ;  
    Language(s) :       PYTHON  ;

    ---------
    Hi,

    there seems to be an issue with c4d.utils.SendModelingCommand() using MCOMMAND_JOIN as command ID in Release 18.048.

    import c4d
    from c4d import gui
    #Welcome to the world of Python
      
    def main() :
        
        olist = doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_0)   
        settings = c4d.BaseContainer()                 # Settings    
        res = c4d.utils.SendModelingCommand(command = c4d.MCOMMAND_JOIN,
                                            list = olist,
                                            bc = settings,
                                            doc = doc)
                                        
        doc.InsertObject(res[0].GetClone())    
        c4d.EventAdd()
        
        
    if __name__=='__main__':
        main()
    

    While with Release 17 the results are as expected. SMC connects all selected objects.
    In R18.028 the result contains only one object of the selected object.

    Greets
    Peter



  • On 05/12/2016 at 02:39, xxxxxxxx wrote:

    Hi Peter,

    For MCOMMAND_JOIN to always work the objects to join must be children of a parent object, a null for instance.
    Pass the list argument as [null] with null the parent null object variable.

    The command worked pre-R18 with multi-selection of objects but now the objects to join have to be arranged under a parent object.



  • On 05/12/2016 at 07:15, xxxxxxxx wrote:

    Hi Yannick,

    thank you for your explanation. I'll give it a try.
    Are there other Modeling IDs with a different behavior in R18?


Log in to reply