2
$\begingroup$

I am using blender command line to render image . But before that I need to select active object as camera, which I am doing by calling bpy.ops.view3d.object_as_camera() .

However I am getting the wicked error Operator bpy.ops.view3d.object_as_camera.poll() failed, context is incorrect

Now when I do the following in Python Console in blender , the active camera is selected

bpy.data.objects['Camera001-5'].select = True
bpy.context.scene.objects.active = bpy.data.objects['Camera001-5']
bpy.data.scenes[0].camera = bpy.data.objects['Camera001-5']
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        override = bpy.context.copy()
        override['area'] = area
        bpy.ops.view3d.object_as_camera(override)
        break

But when I run the script using blender command line, it gives error again. What to do?

$\endgroup$

1 Answer 1

4
$\begingroup$

So it turns out -

I had to add area.spaces.active.region_3d.view_perspective = 'CAMERA' this in the loop.

Got my answer on http://blenderartists.org/. Just sharing for the community.

$\endgroup$
1
  • $\begingroup$ This saved me so much pain and frustration today. $\endgroup$
    – satishgoda
    Apr 2, 2020 at 22:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .