This is an awesome design! From looking at your pictures, it seems like you need multiple models for each polygon (because the sides with 2 and 3 teeth can be distributed differently). It is possible to do this with 3 teeth on each side instead (and moreover with each side identical). The big advantage is having only one model per polygon. To see an example, do a google image search for "zaks". The idea is that each side should have trough, peak, trough, peak, trough, peak (with the alternation continuing as one goes around). Joining polygons, which are part of an orientable surface, will always work as if by magic.