I am not very familiar with blender, more of a python programmer trying to use blender headless.
I want to import an STL to a scene and render an image from different angles. So I botched a code from here to do so, but I get a black picture.
This is my code:
import bpy import os from math import radians context = bpy.context #create a scene scene = bpy.data.scenes.new("Scene") camera_data = bpy.data.cameras.new("Camera") camera = bpy.data.objects.new("Camera", camera_data) camera.location = (-2.0, 3.0, 3.0) camera.rotation_euler = ([radians(a) for a in (422.0, 0.0, 149)]) scene.objects.link(camera) # do the same for lights etc scene.update() model_path = r"C:\Users\User\myfile.stl" scene.camera = camera path = os.path.join(models_path, model_path) # make a new scene with cam and lights linked context.screen.scene = scene bpy.ops.scene.new(type='LINK_OBJECTS') context.scene.name = model_path cams = [c for c in context.scene.objects if c.type == 'CAMERA'] #import model bpy.ops.import_mesh.stl(filepath=path) for c in cams: context.scene.camera = c print("Render ", model_path, context.scene.name, c.name) context.scene.render.filepath = r"C:\Users\User\myoutput.png" bpy.ops.render.render(write_still=True)
What am I doing wrong? Thanks!