def remove_ik(self, armature_object): """Remove rig helpers for arms and hands based on the settings that were provided when constructing the class, and information about the current status of the armature object.""" _LOG.enter() self._bone_info = RigService.get_bone_orientation_info_as_dict(armature_object) mode = str(RigHelpersProperties.get_value("arm_mode", entity_reference=armature_object)).strip() _LOG.debug("mode is", mode) include_shoulder = False if mode == "LOWERUPPERSHOULDER": include_shoulder = True if mode == "SHOULDERCHAIN": include_shoulder = True bpy.ops.object.mode_set(mode='POSE', toggle=False) bones_to_clear = self.get_reverse_list_of_bones_in_arm(True, True, True, include_shoulder) for bone_name in bones_to_clear: _LOG.debug("Will attempt to clear constraints from", bone_name) RigService.remove_all_constraints_from_pose_bone(bone_name, armature_object) self._show_bones(armature_object, bones_to_clear) bpy.ops.object.mode_set(mode='EDIT', toggle=False) ik_bones = [ self.which_arm + "_hand_ik", self.which_arm + "_elbow_ik", self.which_arm + "_shoulder_ik" ] for bone_name in ik_bones: bone = RigService.find_edit_bone_by_name(bone_name, armature_object) if bone: armature_object.data.edit_bones.remove(bone) bpy.ops.object.mode_set(mode='OBJECT', toggle=False) _LOG.debug("Done")
def remove_ik(self, armature_object): """Remove rig helpers for hips, legs and feet based on the settings that were provided when constructing the class, and information about the current status of the armature object.""" _LOG.enter() mode = str( RigHelpersProperties.get_value( "leg_mode", entity_reference=armature_object)).strip() _LOG.debug("mode is", mode) include_hip = mode == "LOWERUPPERHIP" bpy.ops.object.mode_set(mode='POSE', toggle=False) bones_to_clear = self.get_reverse_list_of_bones_in_leg( True, True, True, include_hip) for bone_name in bones_to_clear: _LOG.debug("Will attempt to clear constraints from", bone_name) RigService.remove_all_constraints_from_pose_bone( bone_name, armature_object) self._show_bones(armature_object, bones_to_clear) bpy.ops.object.mode_set(mode='EDIT', toggle=False) ik_bones = [ self.which_leg + "_foot_ik", self.which_leg + "_knee_ik", self.which_leg + "_hip_ik" ] for bone_name in ik_bones: bone = RigService.find_edit_bone_by_name(bone_name, armature_object) if bone: armature_object.data.edit_bones.remove(bone) bpy.ops.object.mode_set(mode='OBJECT', toggle=False) _LOG.debug("Done")
def remove_ik(self, armature_object): """Remove rig helpers for eyes based on the settings that were provided when constructing the class, and information about the current status of the armature object.""" _LOG.enter() bpy.ops.object.mode_set(mode='POSE', toggle=False) for bone_name in [self.get_eye_name(True), self.get_eye_name(False)]: RigService.remove_all_constraints_from_pose_bone( bone_name, armature_object) bpy.ops.object.mode_set(mode='EDIT', toggle=False) for bone_name in ["left_eye_ik", "right_eye_ik", "eye_ik"]: bone = RigService.find_edit_bone_by_name(bone_name, armature_object) armature_object.data.edit_bones.remove(bone) bpy.ops.object.mode_set(mode='OBJECT', toggle=False) _LOG.debug("Done")
def _clear_all_finger_constraints(self, armature_object): bpy.ops.object.mode_set(mode='POSE', toggle=False) for finger_number in [1, 2, 3, 4, 5]: bones_to_clear = self.get_reverse_list_of_bones_in_finger(finger_number) for bone_name in bones_to_clear: RigService.remove_all_constraints_from_pose_bone(bone_name, armature_object)