Тема: Как найти соответствующий объекту Xrecord?
Можно ли, зная идентификатор объекта(AcDbObjectId) найти соотвествую ему Xrecord запись, незная ее ключа?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → Как найти соответствующий объекту Xrecord?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Можно ли, зная идентификатор объекта(AcDbObjectId) найти соотвествую ему Xrecord запись, незная ее ключа?
> Andrey
А если к объекту "прикреплена" не одна Xrecord?
Тогда прочитать все Хrecord`s относящиеся к этому объекту.
> Andrey
////////////////////////////////////////////////////////////////////////// // Функция возвращает в ids массив AcDbObjectId для всех AcDbXrecord // для переданного id объекта и возвращает Acad::eOk если всё нормально ////////////////////////////////////////////////////////////////////////// static Acad::ErrorStatus GetAllXrecordsConnectedToObject(AcDbObjectId &id, AcDbObjectIdArray &ids) { ids.setLogicalLength(0); Acad::ErrorStatus es; AcDbObjectPointer<AcDbObject> pObj(id,AcDb::kForRead); AcDbObjectId idExtDict; if ((es = pObj.openStatus()) != Acad::eOk || ((idExtDict=pObj->extensionDictionary())==AcDbObjectId::kNull)) return es; AcDbDictionaryPointer pExtDict(idExtDict,AcDb::kForRead); if ((es = pExtDict.openStatus()) != Acad::eOk) return es; // Создаем итератор для прохода по всей AcDbDictionary. AcDbDictionaryIterator *pIter = pExtDict->newIterator(); if (pIter) { for (;!pIter->done(); pIter->next()) { // Проверяем AcDbXrecord ли это. AcDbObjectPointer<AcDbXrecord> pXrecord(pIter->objectId(),AcDb::kForRead); if (pXrecord.openStatus() == Acad::eOk) { ids.append(pIter->objectId()); } } delete pIter; } return es; }
> Александр Ривилис
Большое спасибо.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → Как найти соответствующий объекту Xrecord?
Форум работает на PunBB, при поддержке Informer Technologies, Inc