# broken script to bake keyframes from driver controlled shape keys

I found a script on the web that is supposed to set key frames for driver driven shape keys. however its giving me an error. I need this so i can remove the drivers for the render farm I use wont allow scripts. Here is the script.

Import bpy

context = bpy.context
scene = context.scene
object = context.object

frame = scene.frame_start

while frame <= scene.frame_end:
scene.frame_set(frame)
for fcurve in object.data.shape_keys.animation_data.drivers.valu es():
object.data.shape_keys.keyframe_insert(fcurve.data _path)
frame = frame + 1


The error I get when ran is below

Just some syntactic errors (missing indents, etc.). Should work like this:

import bpy

context = bpy.context
scene = context.scene
object = context.object

frame = scene.frame_start

while frame <= scene.frame_end:
scene.frame_set(frame)
for fcurve in object.data.shape_keys.animation_data.drivers.values():
object.data.shape_keys.keyframe_insert(fcurve.data_path)
frame = frame + 1

• This worked perfectly, however I now need to use this script to set key frames for shape keys on all frames of this animation. Do i just remove" _data. driver.drivers.values" from line 11? – Justin Solis Apr 24 '18 at 18:21
• Tried altering the script to get it to set keyframes for the shapekeys for all frames but the result did not get me what i wanted. here is what i tried. 'code' import bpy context = bpy.context scene = context.scene object = context.object frame = scene.frame_start while frame <= scene.frame_end: scene.frame_set(frame) object.data.shape_keys.keyframe_insert frame = frame + 1 – Justin Solis Apr 25 '18 at 16:03
• Sorry, but can you please specify your problem? The script sets all keyframes for the current object for all applied drivers, between the scene's start frame and its endframe. So it works for all frames. Or do you want it to make it for all objects? – Ectras Apr 25 '18 at 19:00
• All is well, figured a work around. You have been awesome. Thanks my man. – Justin Solis Apr 29 '18 at 16:28