Функции обработки времени в AutoLISP\Visual LISP

Автор Тема: Функции обработки времени в AutoLISP\Visual LISP  (Прочитано 8615 раз)

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

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
В справочнике "AutoLISP и Visual LISP в среде AutoCAD" безуспешно пытаюсь найти функции, позволяющие засечь время выполнения кода. Поиск в Интернете по фразам "lisp засечь время", "lisp время выполнения" и "autolisp time calculation" результатов пока так же не дал.

Есть ли в автокадовском лиспе такие функции? Мне нужны функции получения текущего времени, а так же функция, вычитающая одно время из другого, чтобы засечь время работы.
Извините, вам запрещён просмотр содержимого спойлеров.

Очень не хочется городить лишний огород с предварительной загрузкой через _.NETLOAD управляемой библиотеки, предоставляющей такие функции.

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Андрей Бушман 10-09-2015, 14:50:02

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Еще вариант отсюда: http://www.cadtutor.net/forum/showthread.php?55931&p=378976&viewfull=1#post378976
Код - Auto/Visual Lisp [Выбрать]
  1. (setq BenchStart nil)
  2. (defun BenchTime (start / millisecs)
  3.   (if start
  4.     (setq BenchStart (getvar "Millisecs"))
  5.     (if BenchStart
  6.       (progn
  7.         (princ (strcat "\nElapsed: " (rtos (* 0.001 (- (getvar "Millisecs") BenchStart)))))
  8.         (setq BenchStart nil)
  9.       )
  10.       (princ "\nThere's an error. The bechmark wasn't started yet.")
  11.     )
  12.   )
  13.   t
  14. )

Цитировать
Command: (progn (BenchTime t) <здесь твоя функция> (BenchTime nil))
Elapsed: <время в секундах>
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Николай Полещук

  • ADN
  • *
  • Сообщений: 33
  • Карма: 9
Можно также работать через системные переменные CDATE, TD*.