В общем случае, задача довольно замороченная.
Возможно, тебе подойдёт упрощенный вариант, если ты работаешь с extrusion-ами, тогда можно пересобрать контур основания, см. методы CurveLoop.CreateViaOffset. Тут опять же, если контур выпуклый - проблем не будет, если нет - надо проверять, что не будет самопересечений