OK, thanks to David for sending versions of his .OBJ file that did and didn’t work. This turns out to be an interesting problem, but not one I can easily solve given the Radiance triangle mesh architecture. His model consists of long, skinny triangles (or quads) connecting smaller, denser regions. This causes obj2mesh to create patches in the dense regions, which then need to be joined to other patches via these many long triangles. The general assumption in the RTM data structure is that most of the geometry is local, which is not true in this model. If you have more non-local than local triangles associated with a patch, then the mesh cannot be represented with the RTM structure. I don’t think this can be fixed without a ground-up redesign, which would end up being much less efficient for most models, so I don’t think it is worth it.
Instead, I recommend the workaround of converting to a frozen octree using:
obj2rad model.obj | oconv - > model.oct
This can then be instanced in the same way one would an RTM, the only disadvantages being that it will take up more memory and won’t have local texture coordinates available.
A P.S. to this – I managed to massage the code used by obj2mesh so it would work on at least the one failing model you sent me, by being more judicious about which patch it added double-joining triangles to. I don’t know if this is a general solution, but you could try it on your more finely tessellated exports to see if it works on those as well.