This is not obvious or easy in Mathematica, because Import[... , "OBJ"] does not preserve Winged-Edge mesh topology. So, you have to go through considerable effort to associate doubly-connected mesh edges back to polygons to compute the equivalent normal vector to the surface located at the vertices.
Stewart Dickson, [email protected]
January 30, 1990
Abstract
A computer-aided method of modular hull construction is presented which uses a novel means for orienting its component parts, based on the geometrical and topological attributes of Platonic Solids. The results of the construction can be seen to be an extension of the Geodesic Dome to a non-spherical surface topology; i.e., a topology containing many handles. The ability to build a closed surface of non-spherical topology with a regular polygon tiling is an improvement over previous modeling methods.
...
2. A Data Structure Supporting Manifold Connectivity
A version of this code dating from 1989 can be downloaded from:
http://www.netlib.org/poly2/readme
struct topology {
...
struct edges {
int vertno[2];
int faceno[2];
float length;
float theta;
} **edge;
...
};
See also: Glassner, Andrew, Maintaining Winged-Edge Models, Graphics Gems II, p. 191-201. James Arvo (editor), Academic Press, 1991, ISBN: 0120644819.
See also surface Thickening software at the SourceForge: https://sourceforge.net/projects/dotsplus3d/