I thought I would and a post this here on the sticky Max tips thread, since the question has come up a couple times recently. These tips will get most .3ds files exported by AutoDesk 3D Studio Max to load in the proper position and orientation when using the jPCT's Loader class.
1) Set the rotation pivots for all objects in the Max scene to the origin (0,0,0).
Click the "Select by Name" button (looks like a list with a small mouse curser). There will be a list of all the objects in your scene. Should look something like this:
Scene Root
--Group01
--Mesh01
--Mesh02
--Geo01
--Group 02
--SubGroup1
--Cube01
Notice each element in your scene (not groups or subgroups). For the above example, jPCT's Loader class would load 4 Object3Ds: Mesh01, Mesh02, Geo01, and Cube01. Select the first one (Mesh01 in this example), and click OK. Go to the "Hierarchy" tab (looks like one large square with three smaller squares under it, next to the "Modify" tab). Choose the "Affect Pivot Only" button (important!). Select the "Move" tool. At the bottom of the window under the X,Y, and Z fields, enter the coordinates 0,0,0. Repeat this process for each element in the scene (Mesh02, Geo01, and Cube01 in this example).
2) Make sure the views are correct for your Max scene.
In the pannel labled "Top" make sure you are looking at the top of the model, not the bottom. "Front" should also be looking at the front of the object, not the back. It can be difficult sometimes to tell the difference when you are just looking at wireframes, so one thing you can do is right-click on "Perspective" in the perspective panel, and choose "Views->Front". This will show you the front view of the rendered model, and you can rotate your model if it is wrong. You would do the same for "Views->Top".
3) Make sure the model's center-of-mass (or whatever relative point you want the object to pivot around in jPCT) is positioned at the origin.
Select all objects in the scene with "Edit->Select All". In the "Heirarchy" tab, choose "Affect Object Only". Choose the "Move" tool, and place the model where you want it in relation to the origin.
4) Recheck the rotation pivots one final time (repeat step 1)
It is possible the rotation pivots may have shifted while you were playing with the scene's position and orientation, so check one more time to be sure.
(Export your .3ds file)
5) Perform two mesh rotations on the objects in jPCT immediately after loading.
Use the following code on the array of Object3Ds returned by the Loader class:
for( int x = 0; x < objs.length; x++ )
{
objs[x].rotateX( (float) Math.PI / 2 );
objs[x].rotateZ( (float) Math.PI );
objs[x].rotateMesh();
objs[x].setRotationMatrix( new Matrix() );
}
99% of the time, these steps will get your .3ds models loaded in the proper placement and rotation. When added to the world, the model's origin will initially be positioned at (0,0,0), the "Top" of the object will be pointed "up" (-y), and the "Front" of the object will be pointed "into the screen" (+z).