I am making a python script that replace lights by spheres (to get the Blender light positions in Unity) for Dark Blender, but the script Cursor to Active command is specific to the 3d view so it does not compile from the text editor. What code should i write to make it work?
1 Answer
If a 3d view is not in local mode then bpy.ops.view3d.snap_cursor_to_active()
is the equivalent of
context.scene.cursor_location = context.active_object.location
Could also just get the location from the lamps in the scene
import bpy
context = bpy.context
scene = context.scene
lamps = [o for o in scene.objects if o.type == 'LAMP']
for l in lamps:
# add sphere
bpy.ops.mesh.primitive_uv_sphere_add(location=l.location)
# unlink from scene (could bpy.ops.delete or bpy.data.remove )
scene.objects.unlink(l)
or pre select the lamps and use
lamps = context.selected_objects