Set attribute manager mode

On 08/04/2017 at 07:09, xxxxxxxx wrote:

Hello,

Is it possible to set the attribute manager mode, via a script, for example?
Would it need to be active/in focus first?
It would be nice to have the modes as buttons or tabs for quicker/easier access.
Maybe this post would be better suited for the plugin requests, I wasn't sure.

On 08/04/2017 at 08:36, xxxxxxxx wrote:

This seems to work sometimes, I made this super minimalist script 
https://github.com/NNNenov/C4Dhandy/blob/master/scripts/setAttributeManagerWindow.py

In the cases it doesn't work, e.g. ACTIVEOBJECTMODE_TOOL;
I have an editable poly cube and I set the attribute manager to a mode other than tool mode, when I execute the script with id as
c4d.ACTIVEOBJECTMODE_TOOL

It shows project settings mode instead, noticed this happens with other modes too. Maybe I didn't set up the script properly and it defaults to project settings mode..

On 08/04/2017 at 08:58, xxxxxxxx wrote:

Basicly c4d help you and set the mode according to the op you pass throught it.
Here you have a quick exemple...

import c4d
  
  
def main() :
    #obj
    obj = op
    c4d.gui.ActiveObjectManager_SetObject(c4d.ACTIVEOBJECTMODE_OBJECT, obj, c4d.ACTIVEOBJECTMANAGER_SETOBJECTS_OPEN)
    
    #tag
    tag = op.GetTags()[0]
    c4d.gui.ActiveObjectManager_SetObject(c4d.ACTIVEOBJECTMODE_TAG, tag, c4d.ACTIVEOBJECTMANAGER_SETOBJECTS_OPEN)
    
    #mat
    mat = doc.GetActiveMaterial()
    c4d.gui.ActiveObjectManager_SetObject(c4d.ACTIVEOBJECTMODE_MATERIAL, mat, c4d.ACTIVEOBJECTMANAGER_SETOBJECTS_OPEN)
  
    #shader
    sha = mat.GetFirstShader()
    c4d.gui.ActiveObjectManager_SetObject(c4d.ACTIVEOBJECTMODE_SHADER, sha, c4d.ACTIVEOBJECTMANAGER_SETOBJECTS_OPEN)
    
    #tool
    tool = c4d.plugins.FindPlugin(doc.GetAction(), c4d.PLUGINTYPE_TOOL)
    c4d.gui.ActiveObjectManager_SetObject(c4d.ACTIVEOBJECTMODE_TOOL, tool, c4d.ACTIVEOBJECTMANAGER_SETOBJECTS_OPEN)
  
if __name__=='__main__':
    main()

On 08/04/2017 at 10:07, xxxxxxxx wrote:

Ahh I see, that makes sense! thanks a lot!