ObjectARX, AutoCAD. Среда программирования библиотеки C++



         

Группы и Словарь Группы


Группа - контейнерный объект, который обслуживает{*поддерживает*} упорядоченную{*заказанную*} коллекцию примитивов базы данных. О группах можно думать как названный постоянными наборами выбора. Они не имеют связи{*ссылки*} монопольных использований к примитивам, которые они содержат.

Когда примитив стерт, это автоматически удалено из групп, которые содержат это. Если примитив нестерт, это автоматически повторно вставлено в группу.

Используйте AcDbGroup:: newIterator () функция, чтобы получить iterator и шаг через примитивы в группе. AcDbGroup класс также обеспечивает функции для добавления в конец и prepending примитивов к группе, вставка примитивов по специфическому индексу в группе, удаление примитивов, и передачи примитивов от одной позиции в группе к другому. См. AcDbGroup в ObjectARX Ссылке.

Вы можете также назначать свойства на всех членов группы, использующей

setColor (), setLayer (), setLinetype (), setVisibility (), и

setHighlight () функции AcDbGroup класса. Эти операции имеют тот же самый эффект как открытие каждого примитива в группе и установке ее свойства непосредственно.

Группы должны всегда сохраняться в словаре ГРУППЫ, который может быть получен следующим образом:

AcDbDictionary* pGrpDict =

acdbHostApplicationServices()->working Database()->

getGroupDictionary(pGroupDict, AcDb::kForWrite);

Альтернативный способ получить словарь ГРУППЫ состоит в том, чтобы искать “ACAD_GROUP” в словаре имен объектов.

Следующие функции - часть приложения, что первые подсказки пользователь, чтобы выбрать некоторые примитивы, которые помещены в группу по имени “ASDK_GROUPTEST”. Тогда это вызывает функцию removeAllButLines () чтобы выполнить итерации по группе и удалять все примитивы, которые - не линии. Наконец, это изменяет{*заменяет*} остающиеся примитивы в группе к красному.

void

groups()

{

AcDbGroup *pGroup = new AcDbGroup("grouptest");

AcDbDictionary *pGroupDict;

acdbHostApplicationServices()->workingDatabase()




Содержание  Назад  Вперед