Hi,
I'm trying to set parameters from a json file but it gives an error of TypeError: GeListNode_ass_subscript expected Description identifier, not str
. How do I convert an str
data to GeListNode_ass_subscript
?
Thank you for looking at my problem
Here's the working code:
import c4d
# Description: Adds a tag to a selected object
# This default parameter sets the dynamics tag to a collider tag.
# Assume this is from an external JSON file hence all strings and integers
default_param = {
"collider_body": {
"alt": "Standard",
"shift": "Standard",
"param": {
"[c4d.RIGID_BODY_DYNAMIC]": 0,
"[c4d.RIGID_BODY_RESTITUTION]": 1,
"[c4d.RIGID_BODY_FRICTION]": 1,
}
}
}
def main():
tag_type = 180000102
tag_name = "collider_body"
tag = op.MakeTag(tag_type)
doc.AddUndo(c4d.UNDOTYPE_NEW, tag)
param_dict = default_param[tag_name]['param']
for key, value in param_dict.items():
# Gives an error of TypeError: GeListNode_ass_subscript expected Description identifier, not str
tag[key] = value #This should be equivalent as tag[c4d.RIGID_BODY_DYNAMIC] = 0/False,
c4d.EventAdd()
# Execute main()
if __name__=='__main__':
main()