Module Library
The Blender.Library submodule.
Library
This module provides access to objects stored in .blend files. With
it scripts can append from Blender files to the current scene, like the
File->Append menu entry in Blender does. It allows programmers to
use .blend files as data files for their scripts.
Warning:
This is a new, still experimental module.
Example:
import Blender
from Blender import Library
def f(name):
open_library(name)
def open_library(name):
Library.Open(name)
groups = Library.LinkableGroups()
for db in groups:
print "DATABLOCK %s:" % db
for obname in Library.Datablocks(db):
print obname
if 'Object' in groups:
for obname in Library.Datablocks('Object'):
Library.Load(obname, 'Object', 0) # note the 0...
Library.Update()
Library.Close()
b.Redraw()
b.Window.FileSelector(f, "Choose Library", "*.blend")
Function Summary |
|
Close ()
Close the currently open library file, if any. |
|
Datablocks (group)
Get all datablock objects of the given 'group' available in the
currently open library file. |
string
|
getName ()
Get the filename of the currently open library file. |
list of strings
|
LinkableGroups ()
Get all the linkable group names from the currently open library
file. |
|
Load (datablock,
group,
update)
Load the given datablock object from the current library file |
bool
|
Open (filename)
Open an existing .blend file. |
|
Update ()
Update all links and display lists in Blender. |
Close()
Close the currently open library file, if any.
-
|
Datablocks(group)
Get all datablock objects of the given 'group' available in the
currently open library file.
-
- Parameters:
group -
datablock group, see LinkableGroups .
(type=string)
|
getName()
Get the filename of the currently open library file.
-
- Returns:
-
The open library filename.
(type=string)
|
LinkableGroups()
Get all the linkable group names from the currently open library
file. These are the available groups for linking with the current
scene. Ex: 'Object', 'Mesh', 'Material', 'Text', etc.
-
- Returns:
-
the list of linkable groups.
(type=list of strings)
|
Load(datablock,
group,
update=1)
Load the given datablock object from the current library file
-
- Parameters:
datablock -
an available object name, as returned by Datablocks .
(type=string)
group -
an available group name, as returned by LinkableGroups .
(type=string)
update -
defines if Blender should be updated after loading this
object. This means linking all objects and remaking all display
lists, so it is potentially very slow.
(type=bool)
Warning: If you plan to load more than one object in sequence, it is
definitely recommended to set 'update' to 0 in all calls to this
function and after them call Update .
|
Open(filename)
Open an existing .blend file. If there was already one open file, it
is closed first.
-
- Parameters:
filename -
The filename of a Blender file.
(type=string)
- Returns:
-
1 if succesful, 0 otherwise.
(type=bool)
|
Update()
Update all links and display lists in Blender. This function should
be called after a series of Load (datablock, group, 0) calls to
make everything behave nicely.
-
Warning: to use this function, remember to set the third Load
parameter to zero or each loading will automatically update Blender,
which will slow down your script and make you look like a lousy
programmer. Enough warnings :)?
|