import bpy
scene = bpy.context.scene
obj = scene.objects['Text']
font_curve = obj.data
#print(str)
def recalculate_text(scene):
Curve_length=1934
FrameNumber = scene.frame_current
#bpy.data.objects["Empty"].constraints["Follow Path"].offset_factor
AnimationData = bpy.data.objects['Empty'].animation_data.action.fcurves[0]
current = AnimationData.evaluate(FrameNumber)
print("current:",current)
previous = AnimationData.evaluate(FrameNumber-1)
print("previous:",previous)
difference=current-previous
meter_per_seconds=Curve_length*difference*30 #30frame
kilometer_per_hour=(meter_per_seconds*3600)/1000 #kph
str="%.2f Km/h" % kilometer_per_hour
font_curve.body = str
def register():
bpy.app.handlers.frame_change_post.append(recalculate_text)
def unregister():
bpy.
app.
handlers.
frame_change_post.
remove(recalculate_text
)
register()
aW1wb3J0IGJweQoKc2NlbmUgPSBicHkuY29udGV4dC5zY2VuZQpvYmogPSBzY2VuZS5vYmplY3RzWydUZXh0J10KZm9udF9jdXJ2ZSA9IG9iai5kYXRhCgojcHJpbnQoc3RyKQoKZGVmIHJlY2FsY3VsYXRlX3RleHQoc2NlbmUpOgogICAgQ3VydmVfbGVuZ3RoPTE5MzQKICAgIEZyYW1lTnVtYmVyID0gc2NlbmUuZnJhbWVfY3VycmVudCAKICAgICNicHkuZGF0YS5vYmplY3RzWyJFbXB0eSJdLmNvbnN0cmFpbnRzWyJGb2xsb3cgUGF0aCJdLm9mZnNldF9mYWN0b3IKICAgIEFuaW1hdGlvbkRhdGEgPSBicHkuZGF0YS5vYmplY3RzWydFbXB0eSddLmFuaW1hdGlvbl9kYXRhLmFjdGlvbi5mY3VydmVzWzBdCiAgICBjdXJyZW50ID0gQW5pbWF0aW9uRGF0YS5ldmFsdWF0ZShGcmFtZU51bWJlcikKICAgIHByaW50KCJjdXJyZW50OiIsY3VycmVudCkKCiAgICBwcmV2aW91cyA9IEFuaW1hdGlvbkRhdGEuZXZhbHVhdGUoRnJhbWVOdW1iZXItMSkKICAgIHByaW50KCJwcmV2aW91czoiLHByZXZpb3VzKQoKICAgIGRpZmZlcmVuY2U9Y3VycmVudC1wcmV2aW91cwogICAgbWV0ZXJfcGVyX3NlY29uZHM9Q3VydmVfbGVuZ3RoKmRpZmZlcmVuY2UqMzAgIzMwZnJhbWUKICAgIGtpbG9tZXRlcl9wZXJfaG91cj0obWV0ZXJfcGVyX3NlY29uZHMqMzYwMCkvMTAwMCAja3BoCiAgICBzdHI9IiUuMmYgS20vaCIgJSBraWxvbWV0ZXJfcGVyX2hvdXIKICAgIAogICAgZm9udF9jdXJ2ZS5ib2R5ID0gc3RyCgpkZWYgcmVnaXN0ZXIoKToKICAgIGJweS5hcHAuaGFuZGxlcnMuZnJhbWVfY2hhbmdlX3Bvc3QuYXBwZW5kKHJlY2FsY3VsYXRlX3RleHQpCgpkZWYgdW5yZWdpc3RlcigpOgogICAgYnB5LmFwcC5oYW5kbGVycy5mcmFtZV9jaGFuZ2VfcG9zdC5yZW1vdmUocmVjYWxjdWxhdGVfdGV4dCkKCnJlZ2lzdGVyKCk=