Отследить общее время редактирования чертежа AutoCAD

Автор Тема: Отследить общее время редактирования чертежа AutoCAD  (Прочитано 10694 раз)

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

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

  • ADN Club
  • **
  • Сообщений: 94
  • Карма: 1
Доброго времени, эксперты!


Задача состоит в том, чтобы отследить время редактирования чертежа. В одном приложении AutoCAD может быть открыто несколько чертежей. В свойствах (Файл/Свойства чертежа) чертежа (не приложения) во вкладке "Статистка" нашел пункт "Общее время редактирования". Провел эксперимент с двумя чертежами. Оказалось, что общее время редактирования на самом деле это время между открытием чертежа и закрытием. Т.е. чертеж находящийся в неактивном режиме в момент просмотра свойств покажет общее время, а не время именно редактирования, или хотя бы время активного режима.

Тестировал надстройки для отслеживания времени, но это тоже свойство с более красивым интерфейсом.

Вопрос 1: можно ли как то изменить правило отслеживания "общего времени" в этом свойстве? Или прошу подсказать иной способ фиксации времени активного (редактируемого) чертежа?

Также обнаружил, что при выполнении команды "ВРЕМЯ" или "TIME" получаю более расширенную информацию. Вопрос 2: как программно считать ее?
Заранее премного благодарен


Сколько голов, столько умов. Но голов больше

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Вопрос 1: можно ли как то изменить правило отслеживания "общего времени" в этом свойстве?
Нет. И вообще советую отказаться от этой задачи. Этот вопрос неоднократно обсуждался на dwg.ru и caduser.ru
Проектировщик открыл чертеж и пошел курить/обедать и т.д. Что будет означать время редакторования?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • **
  • Сообщений: 94
  • Карма: 1
абсолютно с вами согласен. Задача - запрос клиента. Поэтому и должен придумать решение. Если бы приложение фиксировало время именно по активности пользователя - другое дело. Писать свой обработчик событий на чертеже, коих может быть 50 открытых, не хочется.


Спасибо
Сколько голов, столько умов. Но голов больше

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Остаётся или убедить клиента в непродуктивности его идеи, или писать свой обработчик. Причем, подозреваю, что возможностей VBA будет недостаточно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • **
  • Сообщений: 94
  • Карма: 1
Возможностей VBA действительно будет достаточно, проблема в возможной перегрузке AutoCAD'a обработчиком. Может быть открыто до 50 чертежей. Каждые 5-10 минут запроса активности  провереки изменения на конкретном чертеже - это серьезно)
Сколько голов, столько умов. Но голов больше

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Запрос активности можно делать хоть каждую секунду. А вот находить изменения - это конечно перебор. Впрочем, есть ещё события базы данных (добавление/изменение/удаление примитивов). Что из этого есть в VBA я на память не помню, а компа со справкой рядом нет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • **
  • Сообщений: 94
  • Карма: 1
Спасибо за советы, Александр. Постараюсь что-нибудь придумать.
Сколько голов, столько умов. Но голов больше

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Заодно уточни у клиента что он понимает под "общим временем редактирования". Могут быть совершенно неочевидные нюансы.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • **
  • Сообщений: 94
  • Карма: 1
Клиенту необходимо фиксировать время только редактирования файлов, т.е. суммарное время изменения файла. Диапазон  между открытием и закрытием не интересен.
Сколько голов, столько умов. Но голов больше

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Я, конечно, извиняюсь, а если был запущен какой-то макрос, который блокирует доступ к чертежу этак на полчаса - эти полчаса считать как время редактирования? А пакетная печать - это попадает под понятие редактирования? :) А открытие внешней ссылки в контекстном режиме - это редактирование текущего чертежа или чертежа внешней ссылки? В общем, вопросов многовато...
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

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

  • ADN Club
  • **
  • Сообщений: 94
  • Карма: 1
Алексей, это идея принадлежит клиенту. Я не сторонник подобного контроля за деятельностью сотрудников
Сколько голов, столько умов. Но голов больше

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Так я и не спорю :) Я бы помимо всего остального еще и эти вопросы заказчику задал. ;)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1096
  • Карма: 172
Добавлю: иногда бывает так, что заказчик либо отказывается от идеи, либо приводит ее к более-менее внятному виду.
P.S. Как общая идея: повесить обработчик на смену активного документа, получить имя и путь текущего документа, записать соответствующие данные во внешнюю БД. А потом уже средствами БД строить отчеты. Но лично мне подобное решение не нравится в силу многих причин.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Извините что влезаю, но работник не только чертить должен, но и думать. Считать какие то параметры и конструкции, конструировать и прорабатывать варианты, как с этим соотносится продуктивность в виде времени редактирования, понять вообще невозможно.
А если так уж интересно, чем заняты сотрудники, то существует масса программ, которые делают скриншоты экрана с заданным интервалом и считают сколько времени открыта та или иная программа.