Есть ли способ заблокировать описание блока от PURGE

Автор Тема: Есть ли способ заблокировать описание блока от PURGE  (Прочитано 6455 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн Дима_Автор темы

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Всем Здравствуйте. Сложно и долго рассказывать всю предисторию - в общем в основном проекте все описания блоков хранятся в SQL БД откуда успешно импортируются по мере надобности, но появилась необходимость держать простые "автономные" блоки в четреже, НО хранятся они (то есть ссылка на них) в сериализованном объекте в формате {имя блока,[имя дин. параметр или аттрибута*значение;...]}, откуда так-же по надобности либо извлекаются, либо просто отображаются (overrule). Весь вопрос в том, что надо каким-либо способом блокировать описание от удаление Purge'ром т.к., по "автокадовским меркам" ссылок на него вполне может нигде не быть. Причем желательно, чтоб не было необходимости для этого держать какую-либо загруженную dll (то есть чтоб описание "выживало" после любого смежника). Я думаю посмотреть в сторону куда-бы поместить вхождение, чтоб оно вроде было, но его не было. Пока вижу только "колхозный" вариант масштабирования до нуля с visible=false, но может есть более "культурные" методы.
з.ы. способ так-же должен быть не "крайне радикальным", чтоб когда описания на ссылки кончались и в "моих" объектах сериализованных в РД описание можно было "отпустить".
з.з.ы сериализовывать в РД двоичное описание блока - как-то совсем не хочется - но как крайняя мера может и пойдет.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
На невидимом (техническом) слое держать сигнальный экземпляр вхождения блока.

Оффлайн Дима_Автор темы

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
"Технический" - это просто заблокированный слой или я чего-то пропустил и есть возможность сделать слой недоступный юзеру (только с програмным доступом)?

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Под техническим я подразумевал обычный слой (предназначенный лишь для служебного пользования), но заблокированный и с отключенной видимостью.

Отмечено как Решение Дима_ 04-06-2015, 11:07:18

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
"Технический" - это просто заблокированный слой или я чего-то пропустил и есть возможность сделать слой недоступный юзеру (только с програмным доступом)?
Это может быть слой с LayerTableRecord.IsHidden == true (т.е. его не должно быть видно в списке слоёв).
Еще один вариант, который я не пробовал, но теоретически должен работать: http://www.theswamp.org/index.php?topic=41870.0
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дима_Автор темы

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
О - спасибо. Кнопки "2 решения" нет.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Кнопки "2 решения" нет.
Увы. Это ограничение движка (конкретного пакета) форума.
Кстати, каким из решений ты решил воспользоваться? Со слоем или со словарём и Xrecord?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дима_Автор темы

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Пока не знаю - надо доделать по другой части - начну со слоя - если что-то не понравится то вторым.