Cannot assign a 'dict' value to the existing 'cloudrig_component' Group IDProperty, when mirroring components of copying on metarig #157

Closed
opened 2024-07-26 18:47:01 +02:00 by Harpiart · 2 comments

System Information
Operating system: Windows 11

Blender Version: 4.2.0
CloudRig Version: 2.1.7

Short description of error

When I try to mirror bones' components of the metarig, it gives me this error.

Traceback (most recent call last):
File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 62, in execute
num_mirrored += copy_cloudrig_component(
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 149, in copy_cloudrig_component
to_bone['cloudrig_component'] = recursive_mirror(param_dict)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
TypeError: Cannot assign a 'dict' value to the existing 'cloudrig_component' Group IDProperty
Error: Python: Traceback (most recent call last):
File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 62, in execute
num_mirrored += copy_cloudrig_component(
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 149, in copy_cloudrig_component
to_bone['cloudrig_component'] = recursive_mirror(param_dict)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
TypeError: Cannot assign a 'dict' value to the existing 'cloudrig_component' Group IDProperty

Also, when copying bone components to selected.

Error: Python: Traceback (most recent call last):
File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 115, in execute
num_copied += copy_cloudrig_component(
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 151, in copy_cloudrig_component
to_bone['cloudrig_component'] = param_dict
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
TypeError: Cannot assign a 'dict' value to the existing 'cloudrig_component' Group IDProperty

The components actually mirror most of the times, but with this error message.

Exact steps for others to reproduce the error

  • New armature;
  • Set up a bone chain with a component spine IK/FK;
  • Set up a pair of arms and add .L and .R suffix;
  • Set components of arms to limb:generic.
  • On top of the viewport, CloudRig -> Symmetrize Components for first error.
  • For second error, select two bones, the passive to receive the component. CloudRig -> Copy Component.

Based on the default human metarig or a simplified attached .blend file.

**System Information** Operating system: Windows 11 Blender Version: 4.2.0 CloudRig Version: 2.1.7 **Short description of error** **When I try to mirror bones' components of the metarig, it gives me this error.** Traceback (most recent call last): File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 62, in execute num_mirrored += copy_cloudrig_component( ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 149, in copy_cloudrig_component to_bone['cloudrig_component'] = recursive_mirror(param_dict) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ TypeError: Cannot assign a 'dict' value to the existing 'cloudrig_component' Group IDProperty Error: Python: Traceback (most recent call last): File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 62, in execute num_mirrored += copy_cloudrig_component( ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 149, in copy_cloudrig_component to_bone['cloudrig_component'] = recursive_mirror(param_dict) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ TypeError: Cannot assign a 'dict' value to the existing 'cloudrig_component' Group IDProperty **Also, when copying bone components to selected.** Error: Python: Traceback (most recent call last): File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 115, in execute num_copied += copy_cloudrig_component( ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\danie\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\cloudrig\operators\copy_mirror_components.py", line 151, in copy_cloudrig_component to_bone['cloudrig_component'] = param_dict ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ TypeError: Cannot assign a 'dict' value to the existing 'cloudrig_component' Group IDProperty The components actually mirror most of the times, but with this error message. **Exact steps for others to reproduce the error** - New armature; - Set up a bone chain with a component spine IK/FK; - Set up a pair of arms and add .L and .R suffix; - Set components of arms to limb:generic. - On top of the viewport, CloudRig -> Symmetrize Components for first error. - For second error, select two bones, the passive to receive the component. CloudRig -> Copy Component. Based on the default human metarig or a simplified attached .blend file.
Author

I just tested with the version from this webiste and works fine, 2.1.8. The version I was testing previously was from blender extensions.

I just tested with the version from this webiste and works fine, 2.1.8. The version I was testing previously was from blender extensions.

Yep, thanks, this was fixed by 68cf229b29. It was an unintended python API breakage introduced in 4.2 on Blender's side. Might affect other add-ons too, if they try to copy paste their own data.

Yep, thanks, this was fixed by https://projects.blender.org/Mets/CloudRig/commit/68cf229b2991ec64230bcb250a347128435de8fa. It was an unintended python API breakage introduced in 4.2 on Blender's side. Might affect other add-ons too, if they try to copy paste their own data.
Sign in to join this conversation.
No description provided.