How would you go about reading a .blend file? I mean all of a .blend file, not just the .obj information
One way is to use Blender's bpy python module.

import bpy
dir(bpy.data)


As you will see from the output, you can access everything from object data to materials to screen layout. Here is the API for BPY.

The bpy module is typically built into Blender, but there are ways to compile it into a standalone Python module that you can load from a regular python file.



Someone has also taken the effort to write and open source a .blend reader in Java here http://homac.cakelab.org/projects/JavaBlend/index.html.