diff --git a/animation_rotobezier.py b/animation_rotobezier.py index c49a72eb83c4dfec6a2cdfaf06b3986b8f0d8d7a..ef2054b75367efc7b44c4e4f72b5e37eedf05a93 100644 --- a/animation_rotobezier.py +++ b/animation_rotobezier.py @@ -146,17 +146,27 @@ class CURVE_OT_insert_keyframe_rotobezier(bpy.types.Operator): bpy.ops.object.editmode_toggle() Data = Obj.data - for Splines in Data.splines: - for CVs in Splines.bezier_points: - if context.window_manager.key_points: - CVs.keyframe_insert('co') - CVs.keyframe_insert('handle_left') - CVs.keyframe_insert('handle_right') - if context.window_manager.key_bevel: - CVs.keyframe_insert('radius') - if context.window_manager.key_tilt: - CVs.keyframe_insert('tilt') - + for Spline in Data.splines: + if Spline.type == 'BEZIER': + for CV in Spline.bezier_points: + if context.window_manager.key_points: + CV.keyframe_insert('co') + CV.keyframe_insert('handle_left') + CV.keyframe_insert('handle_right') + if context.window_manager.key_bevel: + CV.keyframe_insert('radius') + if context.window_manager.key_tilt: + CV.keyframe_insert('tilt') + + elif Spline.type == 'NURBS': + for CV in Spline.points: + if context.window_manager.key_points: + CV.keyframe_insert('co') + if context.window_manager.key_bevel: + CV.keyframe_insert('radius') + if context.window_manager.key_tilt: + CV.keyframe_insert('tilt') + if Mode: bpy.ops.object.editmode_toggle() @@ -189,17 +199,27 @@ class CURVE_OT_delete_keyframe_rotobezier(bpy.types.Operator): bpy.ops.object.editmode_toggle() Data = Obj.data - for Splines in Data.splines: - for CVs in Splines.bezier_points: - if context.window_manager.key_points: - CVs.keyframe_delete('co') - CVs.keyframe_delete('handle_left') - CVs.keyframe_delete('handle_right') - if context.window_manager.key_bevel: - CVs.keyframe_delete('radius') - if context.window_manager.key_tilt: - CVs.keyframe_delete('tilt') - + for Spline in Data.splines: + if Spline.type == 'BEZIER': + for CV in Spline.bezier_points: + if context.window_manager.key_points: + CV.keyframe_delete('co') + CV.keyframe_delete('handle_left') + CV.keyframe_delete('handle_right') + if context.window_manager.key_bevel: + CV.keyframe_delete('radius') + if context.window_manager.key_tilt: + CV.keyframe_delete('tilt') + + elif Spline.type == 'NURBS': + for CV in Spline.points: + if context.window_manager.key_points: + CV.keyframe_delete('co') + if context.window_manager.key_bevel: + CV.keyframe_delete('radius') + if context.window_manager.key_tilt: + CV.keyframe_delete('tilt') + if Mode: bpy.ops.object.editmode_toggle()