Problems with 3DS Export I have encountered

I'd like to mention a couple of problems I have encountered which are almost certainly down to my old copy of MAX 2.0 being twitchy with 3DS export, which is why I'm placing this note on a separate page.

I have found that when exporting as 3DS that some of the meshes are moved out of position (something about which that at least one website states "If this happens then you must be using MAX 2.0 or earlier") and some meshes (which have been created by mirroring another mesh) have inverted face-normals and appear inside-out. Both of these problems are solvable in OPTech as positions can be changed and face-normals flipped, though it is better to flip face normals before import so that the wire-frame view is correct as well.

I have been informed, by Corwyn Kalenda, that this is still a problem even with later versions of 3DS MAX so this page may be useful even to those of you who have decided to use more up to date software. From his experience MAX 4.1 and even MAX 5 suffer from the same sort of problems, and this is caused by MAX maintaining "a number of extra bits and pieces of information" when various common operations (including mirroring and rotating meshes) are performed. These extra bits of information seem to be used within MAX and when saving as a MAX but when the model is exported as a DXF or 3DS this extra information is not used (or not used correctly).

Using my Strike Cruiser model which I knew had these problems I tried reimporting the 3DS into MAX to see what it looked like in there and found that the meshes (three turrets and two of the engine blocks) whose face-normals were flipped when viewed in the other packages were displayed as inside out in MAX as well but the bow-mesh that was displaced when viewed in the other packages was in its correct place.
I then tried re-exporting this model and then re-importing it as 3DS (so I had now exported it as 3DS, re-imported it into MAX as a 3DS, and now had exported this and then re-imported it) and this time the meshes with inverted face-normals now had these correctly aligned, but I found that two of the turrets had been rotated. As previously the bow mesh was displaced.
I then tried re-exporting and re-importing as 3DS again (so it had been imported back into MAX and re-exported as a 3DS twice) and found that it was back to how it had been when exported from the MAX file. The turrets were correctly aligned rather than rotated, but had inverted face-normals, and of course the bow section was displaced.

This is probably just me but if it isn't then I should share the four solutions to the problem I managed to find, which is used depends on the situation.

As has been suggested by Corwyn Kalenda the first thing you should do is to select all the meshes in the scene and then use the Make Unique button which in MAX 2.0 (and 3 and 4) is found just under the modifier stack (the list of what modifiers, such as taper or bend, have been applied to the mesh). This will make all meshes in your scene independent seperate objects rather than any of them being linked to another as a reference or instance of that other mesh.
Using references and instances means the filesize of a MAX scene with several duplicate objects will be much smaller and can mean that rather than having to modify each copy seperately that some modifications will be passed on so that all instances of the mesh will be changed at once. Both of these could be useful but as Corwyn Kalenda says a number of problems can result from exporting instanced geometry.

The first solution I tried was the simplest if you have done the texturing (or at least some of it or, in the case of complicated meshes, have been using material IDs to "bookmark" what part is what) and if not many of the meshes are displaced when imported into OPTech via 3DSOPZ.
Simply make a note of which meshes have inverted face-normals and invert them in MAX to the opposite of the other meshes before exporting as 3DS and then once imported move the displaced meshes about in OPTech by entering values into the X/Y/Z boxes. This method of moving the meshes is a little fiddly but is accurate as you can look at the vertex positions of the displaced and undisplaced mesh and calculate how much to change values.

Second solution is the simplest if you have not done the texturing or it doesn't matter if you lose the material IDs.
This solution is to export as DXF and then reimport into MAX before you texture the model.
Although this does destroy any texturing you might have applied it also seems to give you a clean model that won't suffer from having meshes displaced when exported as 3DS. I can't be 100% sure that this would absolutely prevent whatever causes meshes to be displaced from recurring somewhere when working further on the model but this has worked for me as a solution.

Third solution is a little fiddly but seems to work, preserves the texturing, and allows you to move the displaced meshes in MAX rather than OPTech.
Do the same as the first solution but rather than moving the meshes in OPTech save as an OPT. Then convert this OPT back into a 3DS, reimport it into MAX, and move the meshes about in there.
Then export as 3DS, convert back to OPZ, copy the textures that have been extracted to an OPTech folder (since this 3DS/OPZ will be set to use those texture names rather than the originals), and continue working in OPTech.

A fourth solution had also presented itself but Corwyn Kalenda has suggested what would probably be a more direct means of achieving the same goal. In the Heirachies tab there will be buttons labelled Reset: Transforms and Reset: Scale which will, as their names suggest, re-allign all the pivots so that meshes that have been rotated / moved / etc. will be stored, as Corywn Kalenda says, more like "a mesh centered around x,y,z that has not been transformed" rather than as "a mesh centered around 0,0,0 and translated to x,y,z". This clears out the extra information that does not translate when the model is exported and replaces it with information that does.

However when I tried this on my Strike Cruiser model I got strange results with meshes having vanished or been strangely affected.

Therefore I am still listing my old method which worked for me.

I had begun to wonder why a DXF would work but a 3DS would not. This seemed vaguely similar to how if you want to strip unwanted formatting from text that rather than pasting it directly into WinWord you could instead you could paste this text into Notepad to reduce it to plain text before copying and pasting this version. I wondered if a similar thing was happening with the DXF and that as this is in some ways the modelling equivalent to plain text (a format with minimal information) that whatever was causing the problems with 3DS export was being "cleaned" from the model when it was saved as this.
The first thing I did was to try reimporting a DXF of the Dominator Interdictor to compare the meshes in the MAX model with those that had been exported and reimported. There seemed little difference in their properties other than their pivots which seemed to be orientated differently, the green, red, and blue arrows were not pointing in the same directions in corresponding meshes.
From earlier experimentation I knew that fiddling with the pivots could affect how much the meshes were displaced, using the various orient to... options moved them to different incorrect locations and could even cause them to be rotated as well as translated. This seemed like a dead end though as although I could rotate or move the pivots I couldn't find a method of mirroring them which in some case would be required to make them match.
I might have experimented more with this but I had another idea to try, if the DXF meshes were "clean" and would not be displaced then perhaps by using Boolean Union to join corresponding meshes, converting to an Editable mesh, and then deleting the vertices/faces that had been the DXF mesh I could transfer whatever it was about the DXF mesh that made it work. This seemed to work well, by having the DXF mesh as Mesh A in the operation it was its pivot point that was the one for the unified mesh and by giving the corresponding meshes the same material before using Boolean Union I avoided losing all the material ID settings.
Unfortunately I was too neat for my own good and used Affect Pivot Only...Centre Pivot to Object so that the fixed pivot points were nicely centred. The effect of this moving of the pivot points was to cause the entire model to appear well over to one side in OPTech but I was very pleased to see even if by moving the pivot points one way I had moved the model the other way that almost everything was correctly positioned relative to each other.
(The exceptions were the Hull and Trenches where the pivot points on the DXF had not been centred to those meshes and so when they were centred to the other meshes they had moved slightly differently than the other pivot points had moved.)
So I did it all again, but this time leaving the pivot points alone and this time it worked. The model was nicely centred and everything was in the right place and without having to do a lot of maths or redefining of material IDs.
A side effect of this seemed to be to also solve problems with meshes having inverted face normals, possibly because I had inverted to correct the imported DXF meshes before I started combining these with the others.