Eh, currently the main things that difference .3d from .md3 are:
1. Face data and vertex data (of all frames) are in separate files.
2. You can have per-face render styles (plus additional flags, such as "flat shaded", "no texture smoothing" or "environment mapping").
3. It has no concept of groups (or surfaces as md3 calls them), texture indices are set per-face, and the limit is 256, rather than the surface limit of 32 in MD3 (UE1 itself can only handle 9 individual texture indices though).
4. One vertex can have multiple UVs, since they're set per-face too.
5. There are no tags. The only thing available for attachment is the "weapon triangle" flag that can be set to at most one face. (I go into more detail about this in the plugin documentation)
6. There are no embedded normals, they have to be calculated on mesh load.
7. The standard vertex format has 11 bits of precision for X and Y, and 10 for Z. This causes some noticeable precision loss (wobbly vertices), though not as much as MD2. However, there is an alternative vertex format, which Deus Ex uses, that has the same exact 16 bits per component precision as MD3 (I didn't add this yet to GZDoom since I didn't have any existing meshes in that format to test, but I'll try to get it in now).
8. UVs are bytes, so that's also very limiting in precision for texturing. Bear in mind this format is for an engine that initially couldn't handle textures larger than 256x256, so it makes sense.
9. Other limits: 65535 triangles, 65535 animation frames, 16383 vertices in standard format, 8191 vertices in deus ex format. XYZ for vertices is in the range -32768 to 32767 (in the blender plugin this currently translates to "-1 to 1")
Oh yeah, and I guess I can link the plugin,
here.