Reverse engineering eh? I mean that an envelope (related with the skin) Model is paramound in any decent BIM design procedure these days (for volume calculations, HVAC stuff and other building regulations related/derived requirements). Anyway … this is maybe “easy” or impossible (so to speak) depending on the case. Extensive use of code is a must (too many questions to ask … too many dead ends … few answers to get).
As usual I’m talking having real-life BIM building designs in mind AND some decent assembly/component approach applied to the whole master building 3D Model (in real-life: a heavily nested hierarcy of files containing 3D objects [+ their meta data] most of them as instance definitions). Have no idea what Revit can do on that matter (I guess not much).
Another option could be the mesh way and some top supdivision app (Modo is my favorite but try the temperamental free MeshLab as well) that could attempt to close the mesh (hope dies last).