A generalized framework for designing topological interlocking configurations. (March 2019)