Уникальный идентификатор файла чертежа

Автор Тема: Уникальный идентификатор файла чертежа  (Прочитано 7400 раз)

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

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Всем привет. Вопрос задаю для перестраховки - лучше лишний раз заранее спрошу  :D
В общем вопрос такой - какое свойство чертежа является постоянным и неизменным, начиная с самого его создания? Чтобы никакие действия с файлом не приводили к его изменению.
Мое предположение, что это Handle...

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

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

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

  • Administrator
  • *****
  • Сообщений: 13877
  • Карма: 1785
  • Рыцарь ObjectARX
  • Skype: rivilis
В общем вопрос такой - какое свойство чертежа является постоянным и неизменным, начиная с самого его создания? Чтобы никакие действия с файлом не приводили к его изменению.
Никакого.
Мое предположение, что это Handle...
Нет. Handle у объекта, а не у чертежа.

А для чего это тебе нужно?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Я вчера, когда написал вопрос и лег спать - еще подумал подумал... Ну да, логично, что уникального нет точно. Постоянный и неизменный - может быть...

Вообще задумка такая: есть функция, которая позволяет пользователю работать с определенными данными. Не графическими. Эти данные хранятся в отдельном xml-файле и функция просто позволяет с ними работать. Идея в том, что определенный набор данных должен иметь "привязку" к файлу чертежа: открыл функцию, поставил галку "для текущего чертежа" и функция отобразила имеющиеся данные.
Так вот функция должна каким-то образом иметь возможность идентифицировать текущий чертеж

Так-же пришла мысль, что самый логичный способ - "помечать" файлы самому, используя расширенные данные. Тогда я точно могу быть уверен в уникальности, постоянности и неизменности!
Просто хотел уточнить - может есть что-то "родное", что мне подойдет, чтобы не писать лишний код)

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Просто хотел уточнить - может есть что-то "родное", что мне подойдет, чтобы не писать лишний код)
Если чертежи изменяемые по времени и месту нахождения, то решение скорее всего сведется к оставлению специальной метки в самом чертеже и xml . А уже какими способами это делать - метаданными, xrecord это не важно.

А так можешь попробовать привязаться к названию файла и "неизменным свойствам" ...если их так можно назвать, используя свойства Database например время создания чертежа Tdcreate, Tducreate и если надо проверять не был ли чертеж изменен с последнего времени, например Tdupdate, Tduupdate. Чем Td от Tdu отличаются не помню, но в интернете находил когда-то.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
"помечать" файлы самому, используя расширенные данные
Если надо сохранять данные уровня чертежа - то лучше в NamedObjectDictionary.

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

  • Administrator
  • *****
  • Сообщений: 13877
  • Карма: 1785
  • Рыцарь ObjectARX
  • Skype: rivilis
Если надо сохранять данные уровня чертежа - то лучше в NamedObjectDictionary.
Можно и в Xdata для BlockTable.
Тогда я точно могу быть уверен в уникальности, постоянности и неизменности!
Постоянность и неизменность - да. Если кто-то специально программно не испортит. А вот с уникальностью - проблема. Достаточно скопировать чертеж или сохранить под другим именем и уникальность пропадает.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka ModisАвтор темы

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Достаточно скопировать чертеж или сохранить под другим именем и уникальность пропадает
В моем случае это даже не страшно - если при этом не меняется содержимое. Если меняется содержимое (есть такие умельцы - копируют файл, очищают и начинают в нем новую работу), то это уже проблема пользователя. Я в принципе не могу предусмотреть все возможные варианты издевательств над файлом, да и "важность" этой возможности в моей функции не будет столь великой, чтобы так "запариваться" =)
В общем - остановлюсь на варианте собственноручной пометки файла. Всем спасибо за участие в обсуждении