Excel To Blender Data Comparison Full Script
Excel To Blender Data Comparison Full Script
import math
import pandas as pds
context = bpy.context
scene = context.scene
excel_file_path = r"C:\MyTest\Database.xlsx"
font_file_path = r"C:\MyTest\Arialbd.ttf"
name_column = 2
data_column = 3
display_data_column = 4
display_pic_column = 5
anim_speed_factor = 5 # Enter a value between 1 (slow) and 10 (fast)
anim_start_frame = 10
camera_start_frame = 30
data_start_position = 0
distance_bet_data = 3
duration_fac_1 = 4
duration_fac_2 = 6
data_norm_factor = 5
min_diff_factor = 20
data_height = normalized_data_list[data_counter]
data_name = name_list[data_counter]
display_data = str(display_data_list[data_counter])
display_data = str(display_data_list[data_counter])
# Animate the height of the cube and also move the empty & the camera
obj.dimensions = [1.5,1,0]
obj.keyframe_insert(data_path="scale", frame = anim_curr_frame)
anim_curr_frame += anim_length
obj.dimensions = [1.5,1,data_height+0.25]
obj.keyframe_insert(data_path="scale", frame = anim_curr_frame)
anim_curr_frame += 10
obj.dimensions = [1.5,1,data_height]
obj.keyframe_insert(data_path="scale", frame = anim_curr_frame)
empty.location = [data_start_position+0.25,0,data_height-0.7]
empty.keyframe_insert(data_path="location", frame = anim_curr_frame +
anim_interval)
camera.location = [data_start_position+0.25,-15,data_height]
camera.keyframe_insert(data_path="location", frame = anim_curr_frame +
anim_interval)
if (data_counter == 0):
empty.location = [data_start_position-0.25,0,data_height-0.7]
empty.keyframe_insert(data_path="location", frame = camera_start_frame)
camera.location = [data_start_position-0.25,-15,data_height]
camera.keyframe_insert(data_path="location", frame = camera_start_frame)
camera.location = [data_start_position-0.25,-25,data_height]
camera.keyframe_insert(data_path="location", frame = anim_start_frame)
ob.location = [data_start_position,-0.7,data_height-1.1]
ob.scale = [0.4, 0.4, 0.1]
ob.rotation_euler = [math.radians(90),0,0]
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
#bpy.ops.object.convert(target='MESH')
ob.location = [data_start_position,-0.7,data_height-1.4]
ob.scale = [0.35, 0.35, 0.1]
ob.rotation_euler = [math.radians(90),0,0]
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
#bpy.ops.object.convert(target='MESH')
ob.location = [data_start_position,-0.7,data_height-0.5]
ob.dimensions = [1.5, 0.9, 1]
ob.rotation_euler = [math.radians(90),0,0]
bpy.ops.object.transform_apply(location=False, rotation=True, scale=True)
# Clean-up work
# Reset 3D cursor location back to the original
scene.cursor.location.xyz = saved_cursor_loc
context.active_object.select_set(False)