Я попробую уточнить:
список блоков в чертеже.
Итак, не так давно я выкладывал блок рамки, но могу выложить снова.
1. Рамка имеет видимость A4 Вертикальный, А4 Горизонтальный, A3 Вертикальный ... и т.д. Все форматы в одном динамическом блоке. Грубо говоря, в зависимости от видимости формата, одни полилинии становятся видимыми, а другие скрытыми. В одном блоке очень много полилиниий, под каждый формат свои полилинии.
2. Имя у этого блока
Рамка_v4 (рис. выше)
3. Таких рамок в пространстве модели может быть множество и каждая из них может быть настроена свой формат. Допустим в модели 6 рамок с именем
Рамка_v4: где 1 рамка установлена на формат А4 Вертикальный, 2 рамки установлены на формат А3 Горизонтальный, 3 рамки на формат А2 Вертикальный. А также в пространстве модели еще к примеру 25 000 всевозможных объектов.
4. Исходя из Ваших слов, я понял, что с помощью
Dim acBlkTblRec As BlockTableRecord
acBlkTblRec = acTrans.GetObject(acBlkTbl("Рамка_v4"), OpenMode.ForRead)
я смогу определять внутри блока примитивы, из которого он состоит.
5. Перебирая объекты внутри блока, хочется определять их видимость, а затем и размеры. И так для каждой рамки в пространстве модели (в моем примере 6 штук).
6. Сейчас мне нужно понять как сделать так, чтобы не пробегать все до единого объекты (к ним я отношу линии, дуги, окружности, размеры, тексты, таблицы и т.д.) в пространстве модели, а только блоки (DXF код которых "INSERT"), так как процедура перебора объектов занимает много времени.