Solved GetDescription for Document Modelling Settings

Hi there!
I need to get c4d.DESC_NAME of choosen modelling settings parameter.
Here is a how it works for C4DAtom:

cube = doc.SearchObject('Cube')
description = cube.GetDescription(c4d.DESCFLAGS_DESC_0)       # Get the description of the cube object
for bc, paramid, groupid in description:                    # Iterate over the parameters of the description
   print (bc[c4d.DESC_NAME], bc[c4d.DESC_IDENT],paramid ,groupid) 

Also there is a Document Snap settings:

for bc in c4d.modules.snap.GetSnapSettings(doc):
    print bc

The result is:

(440000121, 1)
(440000120, 31.0)
(440000138, 0)
(431000002, 1.5707963267948966)
(431000020, 1)
(431000005, 1)
(440000131, 2.0)
(440000133, 0.08726646259971647)
(440000132, 0.05)
(440000134, 0.01)
(440000115, <c4d.BaseContainer object at 0x00000299A17F5690>)
(431000000, <c4d.BaseContainer object at 0x00000299A17F5F90>)
(431000001, <c4d.BaseContainer object at 0x00000299A17F5F60>)
(440000117, <c4d.BaseContainer object at 0x00000299A17F5750>)
(440000129, <c4d.BaseContainer object at 0x00000299A17F5AE0>)
(1007, 1)
(1008, 1)
(1011, 1)

There is a way to recive Description "container" for Modelling Settings?

Checkout my python tutorials, plugins, scripts, xpresso presets and more

Hi @mikeudin this can be done with the next code:

import c4d

def GetModelingNode():
    ID_SNAP_SCENEHOOK = 440000111
    snapSceneHook = doc.FindSceneHook(ID_SNAP_SCENEHOOK)
    for branch in snapSceneHook.GetBranchInfo(c4d.GETBRANCHINFO_NONE):
        if branch["name"] == "MdSH":
            if branch["head"] is not None:
                return branch["head"].GetFirst()
    raise RuntimeError("Unable to find the Modeling Node")

def main():

    mod = GetModelingNode()
    for bc, paramid, groupid in mod.GetDescription(c4d.DESCFLAGS_DESC_0):
       print (bc[c4d.DESC_NAME], bc[c4d.DESC_IDENT],paramid ,groupid) 

# Execute main()
if __name__=='__main__':


Great! Thank very much @m_adam!😎👍

Checkout my python tutorials, plugins, scripts, xpresso presets and more