Да, кубики были для примера, и чтобы понять, что вам уже известно. Ну тогда это выглядит как проблема вычислительной геометрии — сформулировать, доступен ли интерфейс, геометрически, и потом считать для интересующих сборок (геометрия которых получается из геометрий деталей и того как их можно соединять). Ну и как можно соединять, тоже как-то сформулировать, и тут на моих кубиках всё довольно просто и скучно, а для более сложного конструктора надо смотреть, общий совет вряд ли можно дать.
По крайней мере, теперь понятнее, в каком направлении следует двигаться. Так что, спасибо!