Выполнение new blockReference(blockName).BoxMin
не приведет к регенерации блока.Получите блок, который уже вставлен в область просмотра, и отметьте ограничивающий прямоугольник этого объекта.
Допустим, имя блока - "Block1", которое вы можете сделать:
var br = viewportLayout1.Entities.OfType<BlockReference>()
.FirstOrDefault(b => b.BlockName == "Block1");
if(br != null)
{
var boxMin = br.BoxMin;
var boxMax = br.BoxMax;
}
Причина, по которой вам нужноблок в ViewportLayout
состоит в том, что BoxMin
и BoxMax
выровнены по мировой оси, поэтому необходимо знать положение в мире, чтобы вычислить прямоугольник.Если вы поворачиваете или переводите BlockReference
, BoxMin
и BoxMax
будут другими.