Thanks for posting this one!
I've had a go at integrating it but have hit a stumbling block, does anyone know why this line might fail?
Mesh tmpD3dMesh = new Mesh(Core.DXInternals.GetD3DMesh(tvmesh.GetIndex()));
It gives me an AccessViolation every time. The TVMesh is loaded correctly, the GetD3DMesh returns a pointer, but the construction of the Mesh object seems to not like the pointer im giving it?