Dumping the game contents get's you a "hier.him" file for each plane together with the mesh files.
Here's the beginning of an A6M3 hier.him file as an example:
[_ROOT_]
VisibilitySphere 7.23321
CollisionObject sphere 7.23321 0.0 0.0 0.0
[CF_D0]
Mesh CF_D0
Parent _ROOT_
Attaching 0 1 0 -1 0 0 0 0 1 -0.62727 0 0.14734
CollisionObject xcf1
CollisionObject .xxmgun01
CollisionObject .xxammor
CollisionObject .xxmgun02
CollisionObject .xxammol
CollisionObject .xxcontrols3
CollisionObject .xxtank3
Let's take a look at the "CF_D0" mesh (the main fuselage part that is).
The relevant line is the "Attaching" one.
"0 1 0 -1 0 0 0 0 1" defines the coordinate system.
The first 3 digits "0 1 0" define the direction of the original "x" coordinate.
The 2nd 3 digits "-1 0 0" are the original "y" coordinate.
The 3rd 3 digits "0 0 1" are the original "z" coordinate.
If you don't know about coordinate system rotation, you can use Kumpel's Matrix tool and enter the coords matrix "0 1 0 -1 0 0 0 0 1", then click "calculate angles" to get the result.
Either way, here the coordinate system has been rotated 90° counter-clockwise around the z Axis.
Do the same to the obj when you import it to your 3D program in order to align/rotate it properly.
The last 3 digits "-0.62727 0 0.14734" indicate the position of the mesh in the coordinate system.
Again, enter this to your 3D program so the position of the object is right.
Now comes the tricky part: All of this is relative to the "Parent". Here the parent mesh is "_ROOT_" which is the "center of the 3D world", but subsequent parts will usually have a different parent, most prominently "CF_D0", so all the rotation and location is based on how CF_D0 got rotated and positioned.
Mike