I've done various things to convert objects to what ever type i wanted.
E.g. one example is to use anim8or to export the .3ds to .obj, then I already have written something that converts .obj to what ever I want.
Why use .obj? because it's easy to read, it simply has the data types: v vn vt f
v = vertex position
vn = vertex normal
vt = vertex texture
f = face of triangle using v/vn/vt for 3 points of the triangle
You can read up on the .x format and decide weather you can write your own object converter from .3ds straight to .x if you desire.
I've written my converters in Darkbasic because of it's easy string manipulation and file handling, could have done it in any language really though
My advice is to store all the information in arrays, then simply create a small function to export it in the desired way