The Blender Python Export Script
This Python export script dumps everything having to do with 3D models to a
readable external text file. It does not export animation data or information
on cameras, lights, or other scene features that are not themselves part of
your 3D models. At the moment, the script does not look to see what has been
selected in the Blender interface--it always exports everything in the the entire
.blend file. This goes fairly quickly, even for large models, and relies on
the File Splitter to split all the 3D elements
up into separate files for individual Jet objects in individual Indexed Mesh
files.
Last updated: 12/01/2001
Status
09/08/30: The script contains a lot of testing and debugging information
that should come out eventually, but is useful at this stage of the game. This
is a Version 2.12+ script using the API that Jan Walter developed while he worked
for NaN. At this point, it is not clear whether we should change it back to
the older API or not.
09/23/01: Added the following features to the export script
- Supports UV-Mapping
- Contains a GUI interface that offers the following options:
- Export only selected objects or all objects
- Export all object types or only mesh object types
- Define the name of the output file
- Define the name of the directory in which to place the output file
- A button to start the export process
- A button to exit from the script
- Supports the export of light and camera objects, but the details are not
yet implemented.
- Supports the Blender Python APIs, and runs with Blender V.14 and /Python
V2.1.
Known Problems:
- At this time, Blender does not appear to make texture information available
to the Python API, so we have to create texture files manually as a workaround
(more on this later).
- At this time, Blender does not appear to make bone, attachment, and other
articulated mesh information available to the Python API. No workaround has
been developed for this yet.
- This script uses a Python API that has been labeled a "dead end"
by the Blender developers, so this Python script is also a dead end and will
need to be redone. See some of the things that Green has posted on exporters
on the Blender Python forum as an example.
- Blender does not use a real-world scale, but uses generic "Blender
Units" instead. To set a specific scale, you need to create an empty
in the Blender file and label it with the scale information (more on this
later).
- Vertex normals did not seem to be right as exported from Blender (at least
by this script), so the file converter
utility recalculates them along with the face normals (which Blender does
not export).
- On occasion, running this script screws up some of my more complex Blender
meshes. Sometimes that affects the generated output file, but usually not.
I don't know if this is a problem with Blender, Python, or this script, but
make sure you save your work before running this script.
- The output of this script is matched directly to the file
splitter and file converter utilities.
There are other Blender export files for specific programs out there, but
you can't use them without somehow changing the format of the output to the
one created by this script. However, feel free to report anything that others
have done that appears to work better!
Files
I have not yet succeeded in setting up a full SourceForge project, but I do
have a zip file containing the files for this portion of the project. You can
download the BlenderExport.zip file here. Note:
this is a WinZip file, not a UNIX zip format.