Cleanup: API docs
[blender.git] / doc / python_api / examples / bpy.types.BlendDataLibraries.load.py
1 import bpy
2
3 filepath = "//link_library.blend"
4
5 # load a single scene we know the name of.
6 with bpy.data.libraries.load(filepath) as (data_from, data_to):
7     data_to.scenes = ["Scene"]
8
9
10 # load all meshes
11 with bpy.data.libraries.load(filepath) as (data_from, data_to):
12     data_to.meshes = data_from.meshes
13
14
15 # link all objects starting with 'A'
16 with bpy.data.libraries.load(filepath, link=True) as (data_from, data_to):
17     data_to.objects = [name for name in data_from.objects if name.startswith("A")]
18
19
20 # append everything
21 with bpy.data.libraries.load(filepath) as (data_from, data_to):
22     for attr in dir(data_to):
23         setattr(data_to, attr, getattr(data_from, attr))
24
25
26 # the loaded objects can be accessed from 'data_to' outside of the context
27 # since loading the data replaces the strings for the datablocks or None
28 # if the datablock could not be loaded.
29 with bpy.data.libraries.load(filepath) as (data_from, data_to):
30     data_to.meshes = data_from.meshes
31 # now operate directly on the loaded data
32 for mesh in data_to.meshes:
33     if mesh is not None:
34         print(mesh.name)