20 lines
1.1 KiB
Python
20 lines
1.1 KiB
Python
|
"""
|
||
|
File Loading & Order of Initialization
|
||
|
Since drivers are evaluated immediately after loading a blend-file,
|
||
|
using ``--python`` to populate name-space often fails to achieve the desired goal because the initial evaluation
|
||
|
will lookup a function that doesn't exist yet, marking the driver as invalid - preventing further evaluation.
|
||
|
|
||
|
Populating the driver name-space before the blend-file loads also doesn't work
|
||
|
since opening a file clears the name-space.
|
||
|
|
||
|
The driver name-space should be populated for newly loaded files using text-block registration.
|
||
|
|
||
|
Text blocks may be marked to execute on startup from the text editor *Text -> Register*.
|
||
|
Scripts that are registered will execute after a blend-file loads & before driver evaluation.
|
||
|
|
||
|
It's also possible to use run a script via the ``--python`` command line argument, before the blend file.
|
||
|
This can register a load-post handler (:mod:`bpy.app.handlers.load_post`) that initialized the name-space.
|
||
|
While this works for background tasks it has the downside that opening the file from the file selector
|
||
|
won't setup the name-space.
|
||
|
"""
|