Как автоматически запускать лисп через определенные промежутки времени?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как автоматически запускать лисп через определенные промежутки времени?

Как автоматически запускать лисп через определенные промежутки времени?

Ответ
Поиск в этой теме
Непрочитано 03.08.2013, 14:06 #1
Как автоматически запускать лисп через определенные промежутки времени?
tt-21
 
Инженер-конструктор
 
Киев
Регистрация: 21.05.2007
Сообщений: 6

Есть определенная лисп программа. Как заставить автокад запускать ее через определенные промежутки времени, например через 5 минут? Может можно как-то прицепиться к автосохранению и запускать мой лисп вместе с ним? Есть какие-то идеи?
Просмотров: 4458
 
Непрочитано 03.08.2013, 19:45
#2
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Прицепиться к автосохранению-первое, что приходит на ум.
Найти как оно запускается и переопределить стандартную команду.

А, если не секрет, что за лисп? Может его можно исполнять в каком-либо другом контексте?

Еще можно сделать реактор на выполнение команды, который будет сверять текущее значение системной cdate (вроде так называется, должна отражать системное время) с ранее сохраненным временем последнего вызова.
Реактор должен реагировать на событие BeginCommand или EndCommand (кстати конец команды предпочтительнее)
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 04.08.2013, 01:09
#3
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от tt-21 Посмотреть сообщение
Как заставить автокад запускать ее через определенные промежутки времени, например через 5 минут?
Это невозможно в указанной постановке задачи. Советую сразу отказаться от этой идеи и подумать об альтернативных вариантах.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 04.08.2013, 21:19
#4
tt-21

Инженер-конструктор
 
Регистрация: 21.05.2007
Киев
Сообщений: 6


Спасибо за ответы.
Моя програмка не что иное как немного доработанная программа с диска, который шел в комплекте с книгой "Библия Autocad" еще 2007 года. При ее запуске она сохраняет в определенную папку бекап текущего файла, одновременно меняя имя на следующее name_201308050915.dwg, например.
А вообще истинный смысл моего вопроса следующий.
Я хотел насохранять файлов бекапа (в виде который приведен выше) определенного чертежа за все время работы над ним. Затем через печать преобразовать каждый чертеж в файл с расширением png и на основе этих рисунков смонтировать видеоролик моей работы над чертежем. Так, ради забавы, должно получиться интересно.
Если я поработаю над чертежом 5 дней по 6 часов, то в итоге у меня получится 900 рисунков (при сохранении каждые 2 минуты).
Так вот я и хотел сохранять их равномерно, через определенный интервал.
Сейчас кажется лучшим вариантом следующий.
Итак:
- выставляю автосохранение каждые 2 минуты;
- выставляю процент для быстрых сохранений равным 0 (каждый раз будет сохранятся в папку автосохранения полный файл);
- с помощью стороннего скрипта (скорее всего на Python) каждые 2 минуты буду проверять файл автосохранения вида name_a_b.sv$ на изменение;
- если файл изменился, т.е. я над ним сейчас работаю, то копировать его в определенную папку, одновременно переименовывая его в что-то типа 0001.dwg;
- по истечению работы над чертежом, запустить какой-то скрипт пакетной обработки файлов (самый сложный вопрос для меня), который (с помощью этого примера) и создаст мне этих 900 файлов вида 0001.png;
- используя видеоредактор, импортировать в него файлы рисунков и создать ролик, про который я писал выше.
Что скажите, есть у меня шансы это проделать? Или есть еще другие варианты?
tt-21 вне форума  
 
Непрочитано 04.08.2013, 22:38
#5
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Можно сделать с помощью AutoIT, проверять каждые 2 минуты, является ли активным автокад и какой конкретно файл.
И сразу делать скриншот экрана.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 04.08.2013, 23:17
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от tt-21 Посмотреть сообщение
При ее запуске она сохраняет в определенную папку бекап текущего файла, одновременно меняя имя на следующее name_201308050915.dwg, например.
Тынц.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 05.08.2013, 02:04
#7
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


А вариант "скалывания" экрана с заданным интервалом времени не рассматривается?
Александр Ривилис вне форума  
 
Непрочитано 05.08.2013, 06:46
#8
Fogel

люблю мастерить
 
Регистрация: 21.01.2005
Челябинск
Сообщений: 10,381


Регистрация экрана конечно проще (куча софта для создания подобных роликов) но не для Када... Вот если бы у него зума не было А так, выйдет "каша" - и курсор будет мельтешить и менюхи какие выпадать да и сам чертеж на месте держаться не будет.
Fogel вне форума  
 
Непрочитано 05.08.2013, 07:33
#9
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Fogel
НУ Видишь ли он и хочет сохранять именно файлы в формате dwg....
И уже с него делать распечатку, а не делать скрин окна, тогда мельтишения ни какого не будет...
Просто надо будет распечатывать определенную область чертежа...
С AutoIT получается именно то что ты говорил, сплошное мелькание не связанных рисунков, единственное что статично это расположение кнопок....
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 05.08.2013, 08:53
#10
Fogel

люблю мастерить
 
Регистрация: 21.01.2005
Челябинск
Сообщений: 10,381


DEM, это был ответ на предложение Александра Ривилиса. что распечатывать область потом будет, это и так понятно.
Fogel вне форума  
 
Непрочитано 05.08.2013, 09:35
#11
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


А автосохранение каждые 2 минуты не затормозит работу? С теми чертежами, что я работал, оно выполнялось несколько секунд. Поэтому, я ставил интервалы минимум по 10 мин, чтобы не раздражало.
Цитата:
Сообщение от Fogel Посмотреть сообщение
Регистрация экрана конечно проще (куча софта для создания подобных роликов) но не для Када... Вот если бы у него зума не было А так, выйдет "каша" - и курсор будет мельтешить и менюхи какие выпадать да и сам чертеж на месте держаться не будет.
Прерывание команд - зум нужного участка - снимок экрана - восстановление области видимости. Программно сделать можно.
Do$ вне форума  
 
Непрочитано 05.08.2013, 09:41
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
А вариант "скалывания" экрана с заданным интервалом времени не рассматривается?
Если предложенный вами вариант автора устроит, то здесь готовый пример.
Цитата:
А так, выйдет "каша" - и курсор будет мельтешить и менюхи какие выпадать да и сам чертеж на месте держаться не будет.
Ну так автор может получать уведомлялку о том, что пора делать очередной скрин, после чего подвинет всё так, как ему больше нравится, придвинет\переместит, затем сам же выберет область, скрин которой хотел бы получить в этот раз. Для такой уведомлялки ему достаточно запустить таймер в отдельном потоке.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 05.08.2013 в 11:13.
hwd вне форума  
 
Непрочитано 05.08.2013, 10:09
#13
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Как вариант, повесить на автосохранение фоновую печать в jpg заранее подготовленной области.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 05.08.2013, 10:25
#14
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Дима_
Ага и при каждом таком автосохранении будет комп тормозить....
Уж лучше точно обойтись сторонней прогой, которая висит в фоне и проверяет папку temp на наличие определенных файлов...
Ну и копировать эти фвйлы в другую папку.
Потом перименовать и обработать уже с помошью автогада...
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 05.08.2013, 10:48
#15
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от DEM Посмотреть сообщение
Ага и при каждом таком автосохранении будет комп тормозить....
Ну это зависит от соотношения производительность компа/размер*качество чертежа. В общем если подобный законченный есть - можно вначале посмотреть на сколько тормозить будет и если во время фоновой печати работать можно - то вопрос решаеться 3 строками на лиспе.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 05.08.2013, 22:56
#16
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Дима_
Ну мне кажется самая здравая мысль автора, это проверять файлы автосохранения и делать их копии...
Только делать это надо не с помощью автокада.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 05.08.2013, 23:47
#17
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


То Dem - ну с точки зрения ресурсов - наверное да (единственное я не вижу причин не делать этого с помощью автокада), просто потом на эту кучку *.dwg надо еще будет писать лиспик (ну или не лисп - не суть) который их всех к одинаковому масштабу приведет и снимет скрин - что по моему лишнее телодвижение.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как автоматически запускать лисп через определенные промежутки времени?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Как отразить звуки от распахнутого окна квартиры? trel Архитектура 44 18.06.2015 06:11
Бетонирование фундаментной плиты через большие промежутки времени endimion Технология и организация строительства 11 30.08.2010 17:12