15

Alright, I'm totally new to Blender and am just looking for some good tutorials on how to use python to control it. I want to be able to add/remove/edit light sources via python methods... can this be done? Thanks for any advice.

innov83r
  • 443
  • 1
  • 4
  • 12

2 Answers2

21

Blender 2.80 broke the old API, most steps changed. Updated code below.

import bpy

# create light datablock, set attributes
light_data = bpy.data.lights.new(name="light_2.80", type='POINT')
light_data.energy = 30

# create new object with our light datablock
light_object = bpy.data.objects.new(name="light_2.80", object_data=light_data)

# link light object
bpy.context.collection.objects.link(light_object)

# make it active 
bpy.context.view_layer.objects.active = light_object

#change location
light_object.location = (5, 5, 5)

# update scene, if needed
dg = bpy.context.evaluated_depsgraph_get() 
dg.update()
onorabil
  • 361
  • 2
  • 3
12

Answer is Yes!

Look at the recent Python API.

The example below creates a new Lamp object and puts it at the default location (5, 5, 5) in the current scene:

(Blender 2.63)

The script should look like this:

import bpy

scene = bpy.context.scene

# Create new lamp datablock
lamp_data = bpy.data.lamps.new(name="New Lamp", type='POINT')

# Create new object with our lamp datablock
lamp_object = bpy.data.objects.new(name="New Lamp", object_data=lamp_data)

# Link lamp object to the scene so it'll appear in this scene
scene.objects.link(lamp_object)

# Place lamp to a specified location
lamp_object.location = (5.0, 5.0, 5.0)

# And finally select it make active
lamp_object.select = True
scene.objects.active = lamp_object
Gauthier Boaglio
  • 10,054
  • 5
  • 48
  • 85
  • Thanks! I'll try it out. I'm not running any version just yet but will probably just use the lasted release. – innov83r Jun 28 '13 at 13:49
  • I think I will, I'm not a big artist... so it should be a blast trying to get my creative side to come out :) Are there any really good resources to learning blender that you know of? – innov83r Jun 28 '13 at 14:02
  • @innov83r Also, there is a SE site for blender.. http://blender.stackexchange.com/ – iKlsR Jun 29 '13 at 00:00
  • Do you know how to add light in blender 2.80 python API. It seems the API has changed to Light, but I have not got it work yet. – Meta Fan Apr 02 '19 at 07:42