Добрый день! Не могу понять как получить каждый элемент ассоциативного массива. Мне нужно вокруг каждого из элементов построить габаритную рамку. Я нашёл как это сделать, но способ работает или с массивом целиком или с элементами, если его взорвать. Метод getItems возвращает ItemLocator[], как из этих локаторов получить непосредственно объекты я ума не приложу. SourceEntities опять не то, он возвращает оригинальный объект без трансформации:( помогите плз)
//StartTransaction
using (Transaction tr = db.TransactionManager.StartTransaction()) {
BlockTableRecord btr = (BlockTableRecord) tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
foreach (var id in acSSet) {
if (AssocArray.IsAssociativeArray(id)) {
//DBObject obj = tr.GetObject(id, OpenMode.ForRead);
AssocArray assocArray = AssocArray.GetAssociativeArray(id);
//Original entities
ObjectIdCollection items = assocArray.SourceEntities;
ItemLocator[] itemLocators = assocArray.getItems(true);
acDocEd.WriteMessage(items.Count.ToString());
for (int i = 0; i < itemLocators.Length; i++) {
ItemLocator itemLocator = itemLocators[i];
ObjectId entId = items[i];
}
}
}