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



         

Обработка жестких ссылок к AcDbEntities в течение WblockClone (): СЛУЧАЙ 1 - часть 7


4 endInsert() примитивы теперь были преобразованы и были добавлены в конец к блоку. Если это - ВСТАВКА*, они - теперь в пространстве модели и имеют их графику. Они могут использоваться в наборах выбора. Однако, если это - ВСТАВКА, они только были добавлены в конец к записи таблицы блоков; та запись еще не была добавлена к таблице блоков. В этом случае, Вы должны ждать до commandEnded() уведомления, чтобы использовать эти примитивы в наборе выборов.

Типовой код в этой секции использует beginDeepCloneXlation() функция уведомления. Эта выборка иллюстрирует, как Вы могли записывать реактор, чтобы добавить поведение к команде WBLOCK, чтобы сообщить этому включать все текстовые стили в новый рисунок, вместо только текстовые стили, которые упомянуты примитивами.

Это таким образом показывает, как использовать wblock с небытием.

AcDbIdMapping имеет функцию, deepCloneContext (), который возвращает контекст, в котором глубокая клонируемая функция была вызвана. Контексты - следующее:

kDcCopy

Копирование в пределах базы данных; использует COPY, ARRAY, MIRROR (если Вы не удаляете оригинал), приобретение LEADER, или копия INSERT

kDcExplode

EXPLODE блок-ссылки

KDcBlock

BLOCK создание

kDcXrefBind

XREF Связывают, и XBIND

kDcSymTable

XREF Слияние Присоединяются, DXFIN, и IGESIN (только записи таблицы идентификаторов клонированы здесь)

kDcSaveAs

SAVEAS, когда VISRETAIN установлен в 1 (только записи, таблицы идентификаторов клонированы здесь)

kDcInsert

ВСТАВКА рисунка

kdcWblock

 WBLOCK

kDcObjects

AcDbDatabase:: deepCloneObjects ()

AcEditorReactor::abortDeepClone() функция вызвана, когда запрос к AcDbDatabase::abortDeepClone() сделан.

Следующий код использует переходного редактора реактор, полученный из AcEditorReactor и перегружает beginDeepCloneXlation () функция для реактора.

// С тех пор AcDbDatabase::wblock() только поддерживает AcDbEntities в его массиве ID,

// этот код демонстрирует, как добавить дополнительные объекты в течение beginDeepCloneXlation




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