Как получить Boxmin Boxmin в поле зрения
Я добавляю некоторую сущность в блок и добавляю ссылку в область просмотра. Я кодировал "новый blockReference(blockName).boxmin", и он будет ловить исключение "NullReferenceException". какой еще код мне нужно добавить? Или есть другой способ получить размер группы объектов.
1 ответ
Делать 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
будет другим.