UserData Unique Parameter Group
-
On 05/05/2016 at 12:05, xxxxxxxx wrote:
Hello Forum,
I would like to create User Data with a custom Parameter Group that looks like this:
I can do it using Manage User Data:
But I would like to do it with Python.
This code:
group_bc = c4d.GetCustomDataTypeDefault(c4d.DTYPE_GROUP) group_bc[c4d.DESC_NAME] = "My Data" groupID = op.AddUserData(group_bc) id_bc = c4d.GetCustomDataTypeDefault(c4d.DTYPE_LONG) id_bc[c4d.DESC_NAME] = "ID" id_bc[c4d.DESC_ANIMATE] = c4d.DESC_ANIMATE_OFF id_bc[c4d.DESC_PARENTGROUP] = groupID id_udid = op.AddUserData(id_bc) op[id_udid] = 2048
Produces this:
How do I create a unique/custom Parameter Group with Python?
Thank you,
Joe Buck
-
On 05/05/2016 at 13:41, xxxxxxxx wrote:
I might have figured it out but I would like to check with Support to see if my solution is ok...
# create the group group_bc = c4d.GetCustomDataTypeDefault(c4d.DTYPE_GROUP) group_bc[c4d.DESC_NAME] = "Unique UserData Group" group_bc[c4d.DESC_SHORT_NAME] = "Unique UserData Group" group_bc[c4d.DESC_VERSION] = 3 group_bc[c4d.DESC_ANIMATE] = 0 group_bc[c4d.DESC_COLUMNS] = 1 group_bc[c4d.DESC_TITLEBAR] = True group_bc[c4d.DESC_DEFAULT] = 1 # pass empty DescID group_bc[c4d.DESC_PARENTGROUP] = c4d.DescID() groupID = op.AddUserData(group_bc) # create integer parameter int_bc = c4d.GetCustomDataTypeDefault(c4d.DTYPE_LONG) int_bc[c4d.DESC_NAME] = "Some Integer" int_bc[c4d.DESC_ANIMATE] = c4d.DESC_ANIMATE_OFF int_bc[c4d.DESC_PARENTGROUP] = groupID int_udid = op.AddUserData(int_bc) op[int_udid] = 2048
I passed an empty DescID to DESC_PARENTGROUP in the group BaseContainer. This seems like a hack that could cause other problems. Is my soloution ok?
Thank you,
Joe Buck
-
On 06/05/2016 at 01:39, xxxxxxxx wrote:
Hi Joe,
Your solution is fine. Setting an empty DescID for DESC_PARENTGROUP adds the User Data group at top level i.e as a tab group.
-
On 06/05/2016 at 11:40, xxxxxxxx wrote:
Thanks Yannick.