Пока мне это не сильно критично, но на всякий случай хочу поинтересоваться - нет ли какой-то заложенной в API возможности смены режима создания копии объекта с Extension Dictionary?Нет. И это очевидно. XData хранится вместе с самим объектом, а Extension Dictionary отдельно в другом объекте, на который ссылается только его ObjectId.
Это сильно усложняет задачу сохранения переопределенной отрисовки объекта!Читал уже: http://adndevblog.typepad.com/autocad/2013/10/accessing-extension-dictionary-of-an-overruled-entity-while-dragging.html ?
P.S. Опыты в AutoCAD2014 и 2015 показали, что при использовании команды _COPY, Extension Dictionary переносится в копию. Если же выполнять копирование через буфер - не переносится. XData же переносится в обоих случаях.Странно. На днях пробовал копирование через буфер обмена - у меня работало, т.е. Extension Dictionary вместе со всеми XRecord переносилось в новый чертеж). Нужно перепроверить.
Читал уже: http://adndevblog.typepad.com/autocad/2013/10/accessing-extension-dictionary-of-an-overruled-entity-while-dragging.html ?Нет, спасибо, буду изучать!
P.S.: Перепроверил - работает. Проще всего (чтобы не писать никаких программ) можно воспользоваться ARXDBG. В нём есть команда TESTEXTDICTADD для тестового добавления ExtDict и команда SNOOPENTS для просмотра свойств примитивов:Ха! В таком варианте действительно работает! А знаете, в чем проблема? У меня есть вложенные словари, а внутри них - моя Xrecord. А при копировании через буфер переносятся только данные "корневой" вложенности.
1) Рисуешь отрезок
2) запускаешь TESTEXTDICTADD
3) Запускаешь SNOOPENTS и убеждаешься что ExtDict есть.
4) Команда _COPYCLIP
5) Создаешь новый чертеж и в нём _PASTECLIP
6) Запускаешь SNOOPENTS и смотришь есть ли ExtDict. Должна быть.
Ха! В таком варианте действительно работает! А знаете, в чем проблема? У меня есть вложенные словари, а внутри них - моя Xrecord. А при копировании через буфер переносятся только данные "корневой" вложенности.Внимательно изучай: DBDictionary.TreatElementsAsHard - должно помочь.
Там комментарии появляются после одобрения автором, что ли?Вообще-то сразу. И поэтому у тебя их сразу два. Для убедительности. :)
Странно... Я из 3-х разных браузеров никаких комментариев не вижу :(На всякий случай:
Видать, это из-за "порезанного" интернета на рабочем месте.
т.е. Extension Dictionary вместе со всеми XRecord переносилось в новый чертежК XData это тоже относится?
XData является частью объекта, поэтому, XData объекта присутствует в любой его копии, даже если копируется в другой чертеж.Отлично. Буду пробовать