Возможно ли создать не удаляемый словарь в NOD средствами .net?Ничего не удаляемого создать нельзя. Но! Если твоё приложение загружено, то в обработчиках событий ты можешь попытаться скопировать в новую базу и свою информацию из NOD.
Ничего не удаляемого создать нельзя.Я имел ввиду не удаляемого при экспорте.
Аналогичная возможность в AutoCAD .NET API должна реализовываться Database.BeginDeepCloneTranslationДействительно, только таким способом и можно спасти данные. Проверял на _WBlock, Civil установлен на работе, поэтому реакцию на
создай невидимую точку и пиши все в нееЯ тоже думал об этом, хотя невидимый объект и не мешает при работе, но его тоже можно выбрать через _.QSELECT и случайно удалить ничего не подозревая.
Аналогичная возможность в AutoCAD .NET API должна реализовываться Database.BeginDeepCloneTranslationВ AutoCAD 2010 BeginDeepCloneTranslation даже не отреагировал на _WBLOCK, до этого проверял в AutoCAD 2014 -
Сейчас решил цеплять свои данные в словарь, который добавляю к ExtensionDictionary ModelSpace.У меня тоже была такая мысль. Я не вижу противопоказаний. Наверное можно цеплять и к BlockTable. Но! Что будет происходить при операции копирования из одного чертежа в другой? Как поступать в этом случае с твоими данными?
Но! Что будет происходить при операции копирования из одного чертежа в другой? Как поступать в этом случае с твоими данными?Не совсем понял вопрос. Если имелось ввиду при копировании примитивов из одного чертежа в другой, то мне как раз и нужно, чтобы мои данные не зависели от графики, они останутся привязанными к ModelSpace и будут использоваться только в конкретной базе данных для дальнейших расчетов на их основе. Если пользователь захочет экспортировать весь чертеж, то данные перейдут вместе с ним. Или имелось ввиду что то другое?
На этот случай, в справке к моей программе будет сказано, что в чертеже есть не только графика но и другие данные, которые не переносятся в другой чертеж простым копированием и если очень хочется так сделать, то нужно нажать соответствующую кнопочку (которая будет для этого предусмотрена).Согласен. Хотя практика показывает, что инструкцию почти никто не читает до того момента, пока не возникает проблема.
Но если моя программа вдруг не загружена, то очистить чертеж все-таки можно путем экспорта.А вот это уже я не понял.
А вот это уже я не понял.Ну я имел ввиду то что говорил выше, что пользователи иногда чистят чертеж при помощи _WBLOCK или _AecExportToAutoCAD..., так вот данные теперь не потеряются, если привязаны к ModelSpace.
Если мне не изменяет память (сейчас нет возможности посмотреть), то по моему есть возможность перехвата копирования в буфер, в общем имеет смысл добавить туда то же предупреждение, что и в инструкцию.Конечно. Это обычный командный реактор. Но представь себе как это предупреждение будет доставать пользователя. В любом случае в каждой операции копирования буфер этого делать не следует...