diff --git a/05_animate_using_vdb.py b/05_animate_using_vdb.py new file mode 100644 index 0000000..51fcbd4 --- /dev/null +++ b/05_animate_using_vdb.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +""" +Created on Tue Jun 20 15:47:22 2023 + +@author: fische_r +""" + +import bpy +import os + +baseFolder="/mpc/homes/fische_r/NAS/DASCOELY/processing/04_membrane_ML/3II/crack_vdb/" #for vdb +outfolder="/mpc/homes/fische_r/NAS/DASCOELY/processing/04_membrane_ML/3II/crack_cathode_camera_png_test/" #for png + +material = 'crack' #'Crack' + + +if not os.path.exists(outfolder): + os.mkdir(outfolder) + +#delete old reference object +name = 'reference' +bpy.ops.object.select_all(action='DESELECT') +bpy.data.objects[name].select_set(True) +bpy.ops.object.delete(confirm=False) + +mat = bpy.data.materials[material] + +def load_and_render_stl(filename, baseFolder=baseFolder, mat=mat, outfolder=outfolder): + name = filename[:-4] + outfile = os.path.join(outfolder, ''.join([name,'.png'])) + if not os.path.exists(outfile): + + bpy.ops.import_mesh.stl(filepath=os.path.join(baseFolder, filename), axis_up='-Z') + + bpy.ops.object.volume_import(filepath="/mpc/homes/fische_r/NAS/DASCOELY/processing/04_membrane_ML/3II/crack_vdb/"+name+".vdb", + directory="/mpc/homes/fische_r/NAS/DASCOELY/processing/04_membrane_ML/3II/crack_vdb/", + files=[], + align='WORLD', location=(0, 0, 0), scale=(1, 1, 1)) + + + bpy.data.objects[name].data.materials.append(mat) + bpy.context.scene.render.filepath = outfile + bpy.ops.render.render(write_still=True) + + #clean up + bpy.ops.object.select_all(action='DESELECT') + bpy.data.objects[name].select_set(True) + bpy.ops.object.delete(confirm=False) + +filenames = os.listdir(baseFolder) + +for filename in filenames: + if filename[-3:]=='stl': + load_and_render_stl(filename) \ No newline at end of file