Я использовал метод Explode и определял границы получившихся примитивов. Конечно, есть варианты, когда способ метод может дать неправильный результат, но в моем случае меня устроило. А иначе, нужно: перебрать все примитивы внутри, проверить их видимость (есть какое-то свойство для этого), трансформировать координаты примитива в соответствии с настройками блока...