Редактирование прокси-примитивов
Степень, к которой прокси-примитивы могут быть отредактированы, определена родительским приложением. Это определение{*намерение*} сделано, когда класс создан с макрокомандой ACRX_DXF_DEFINE_MEMBERS. Параметр PROXY_FLAGS определяет типы редактирований, которые могут быть сделаны к примитиву, если это становится полномочным. Имеющие силу опции для PROXY_FLAGS, и их связанных значений, перечислены в следующем
Таблица.
Полномочные опции флажков
Опция |
Значение | ||
KNoOperation |
0 | ||
KEraseAllowed |
0x1 | ||
KTransformAllowed |
0x2 | ||
KColorChangeAllowed |
0x4 | ||
KLayerChangeAllowed |
0x8 | ||
KLinetypeChangeAllowed |
0x10 | ||
KLinetypeScaleChangeAllowed |
0x20 | ||
KVisibilityChangeAllowed |
0x40 | ||
KAllAllowedBits |
0x7F |
Обратите внимание, что kNoOperation не означает ни один из других опций, перечисленных здесь.
Вы можете логически опции OR PROXY_FLAG, чтобы разрешать комбинацию редактирования операций.
Поскольку прокси-примитивы только формируют данные ниже уровня базовых классов AcDbEntity, любые изменения, сделанные, чтобы окрасить, уровень, linetype, linetype масштаб, и видимость будет выписан как часть данных прокси-примитива. Твердые преобразования тела (типа перемещения, масштаба, и вращаются) не может применяться, пока родительское приложение не присутствует. Когда преобразование применяется к полномочному, преобразование сделано к графическому метафайлу, и копия матрицы преобразования сохранена в заказной записи в словаре расширений полномочного примитива. Если множественные преобразования выполнены, матрица модифицирована, чтобы отразить совокупное преобразование. Когда заказной примитив возвращен памяти с его родительским приложением, AutoCAD вызывает transformBy() примитива, передает этому данные матрицы преобразования, и удаляет заказную запись хранения данных от словаря расширения. В действительности, преобразование задержано, пока родительское приложение не присутствует, чтобы применить преобразование к заказному примитиву.