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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > таракан

таракан

Ответ
Поиск в этой теме
Непрочитано 23.06.2006, 16:25 #1
таракан
Паша П.М.
 
проектировщик
 
г. Владимир
Регистрация: 19.06.2006
Сообщений: 535

друзья, переписал я лисп-бегающий таракан, а он не бегает
Просмотров: 6502
 
Автор темы   Непрочитано 23.06.2006, 16:26
#2
Паша П.М.

проектировщик
 
Регистрация: 19.06.2006
г. Владимир
Сообщений: 535


вот он
[ATTACH]1151065608.zip[/ATTACH]
Паша П.М. вне форума  
 
Автор темы   Непрочитано 23.06.2006, 16:36
#3
Паша П.М.

проектировщик
 
Регистрация: 19.06.2006
г. Владимир
Сообщений: 535


помогите, он не бегает
Паша П.М. вне форума  
 
Непрочитано 23.06.2006, 16:40
#4
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,283


вот мой, бегающий и не забудь выключить перед запуском osnap
[ATTACH]1151066434.rar[/ATTACH]
asys вне форума  
 
Непрочитано 23.06.2006, 16:47
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


1. перед всеми командами ставь "_.", а перед опциями - "_"
2. В опциях (ssget) Тоже пропущен "_"
3. После выхода состояние измененных системных переменных должно быть восстановлено.
С логикой программы не разбирался - некогда просто. Проверь в (command) "" - по-моему, там встречаются лишние (но не уверен).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.06.2006, 16:20
#6
nikolaev

конструктор
 
Регистрация: 28.08.2003
Мос. область
Сообщений: 119


Господа! Вы меня простите, но вынужден заявить, что именно я являюсь создателем упоминаемого Вами насекомого персонажа, о чем есть и соответствующая запись в анналах Autokad'a.
Мне дороги его шустрый облик и веселый нрав.
nikolaev вне форума  
 
Непрочитано 26.06.2006, 16:47
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Вот я про что говорил:
Код:
[Выделить все]
(defun c:tarakan (/ *error* _cmdecho_ _osmode_)
;;; Автор - nikolaev (www.dwg.ru)

  ;; Обработка возможной ошибки выполнения
  (defun *error* (msg)
    (if	_cmdecho_
      (setvar "cmdecho" _cmdecho_)
      ) ;_ end of if
    (if	_osmode_
      (setvar "osmode" _osmode_)
      ) ;_ end of if
    (princ msg)
    (princ)
    ) ;_ end of defun

  (setq	_cmdecho_ (getvar "cmdecho")
	_osmode_  (getvar "osmode")
	) ;_ end of setq
  (mapcar 'setvar '("osmode" "cmdecho") '(0 0))
  (command "_.limits" '(50 50) '(300 200))
  (command "_.zoom" "_all")
  (setq	p0  '(100 100.7)
	p1  '(100 100)
	p2  '(100 97.5)
	p3  '(100 95)
	p4  '(97.5 106)
	p5  '(97.5 100.7)
	p6  '(97.5 97.5)
	p7  '(97.5 95)
	p8  '(102.5 106)
	p9  '(102.5 100.7)
	p10 '(102.5 97.5)
	p11 '(102.5 95)
	p12 '(158 200)
	p13 '(158 160)
	p14 '(158 120)
	p15 '(158 80)
	) ;_ end of setq
  (command "_.pline"	 p0	"_w"   0      3	     p1	    p2	   "_w"
	   3	  1	 p3	""     "_.pline"     p12    "_w"   40
	   40	  p13	 ""	"_.pline"     p14    p15    ""
	   ) ;_ end of command
 ;_ end of command
  (command "_.line" p5 p2 p9 "" "_.line" p6 p1 p10 "" "_.line" p7 p2 p11 "")
  (command "_.arc" p1 "_e" p4 "_a" 30 "_arc" p1 "_e" p8 "_a" -30)
  (while (/= (getvar "cmdactive") 0) (command nil))
  (setq	nab1 (ssget "_W" '(70 70) '(130 130))
	nab2 (ssget "_X" '((0 . "ARC")))
	) ;_ end of setq
  (repeat 100 (command "_.rotate" nab2 "" p1 -0.3) (command "_.delay" 10))
  (repeat 100 (command "_.rotate" nab2 "" p1 0.6) (command "_.delay" 10))
  (repeat 100 (command "_.rotate" nab2 "" p1 -0.3) (command "_.delay" 10))
  (repeat 80
    (setq p2 (polar p1 (/ pi 2) 1))
    (command "_.move" nab1 "" p1 p2)
    (command "_.delay" 20)
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.rotate" nab1 "" p1 -90)
  (repeat 50
    (setq p2 (polar p1 0 1))
    (command "_.move" nab1 "" p1 p2)
    (command "_.delay" 20)
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.copy" nab1 "" p1 (polar p1 0 11))
  (setq	p3 (polar p1 (/ pi 4) 40)
	p4 (polar p1 (* (/ pi 4) 5) 25)
	) ;_ end of setq
  (setq nab3 (ssget "_W" p3 p4))
  (command "_.rotate" nab3 "" p1 -90)
  (repeat 80
    (setq p2 (polar p1 (* (/ pi 2) 3) 1))
    (command "_.move" nab3 "" p1 p2)
    (command "_.delay" 20)
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.rotate" nab3 "" p1 -90)
  (setq	p5 (polar p1 (/ (* pi 2) 3) 15)
	p6 (polar '(100 100) 0 10)
	) ;_ end of setq
  (command "_.copy" nab3 "" p1 p1)
  (command "_.scale" "_p" "" p5 0.5)
  (command "_.mirror" "_p" "" '(100 100) p6 "")
  (setq	p7 (polar p1 (/ pi 4) 20)
	p8 (polar p1 (* (/ pi 4) 5) 40)
	) ;_ end of setq
  (setq nab4 (ssget "_W" p7 p8))
  (repeat 50
    (setq p2 (polar p1 pi 1))
    (command "_.move" nab4 "" p1 p2)
    (command "_.delay" 20)
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.rotate" nab4 "" p1 -90)
  ;; Восстановление системных переменных
  (setvar "cmdecho" _cmdecho_)
  (setvar "osmode" _osmode_)
  (princ)
  ) ;_ end of defun
===
Добавлен автор исходного кода.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.06.2006, 17:43
#8
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,283


Цитата:
Сообщение от nikolaev
Господа! Вы меня простите, но вынужден заявить, что именно я являюсь создателем упоминаемого Вами насекомого персонажа, о чем есть и соответствующая запись в анналах Autokad'a.
Мне дороги его шустрый облик и веселый нрав.
спасибо вам уважаемый, nikolaev с того места где я его взял о вас ничего не сказано :? А продолжение будет? Пожалуйста :roll:
asys вне форума  
 
Непрочитано 27.06.2006, 08:36
#9
nikolaev

конструктор
 
Регистрация: 28.08.2003
Мос. область
Сообщений: 119


Я тогда опубликовал еще одну анимашку, называется "pisez".
Но поддержки широкой общественности тема не получила.
Но, может, теперь мы стали жить веселее,
и не обьявить ли конкурс на лучшую анимашку. Условия могут быть такими:
1. Всё в одном файле
2. Всё средствами голого Акада
3. Вес файла не более 1Кб
Ау. мужики! Оторвите, наконец, ноздри от экрана. ведь жизнь состоит не из одной халтуры!
nikolaev вне форума  
 
Непрочитано 27.06.2006, 12:15
#10
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,283


Цитата:
Я тогда опубликовал еще одну анимашку, называется "pisez".
Знаю это там палец свет тушит respect
asys вне форума  
 
Непрочитано 01.04.2019, 10:02
#11
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,326


Уважаемые коллеги, что-то в AutoCAD 2014 таракан не бегает, но может размножаться.
Отсюда- тоже не бегает
Просьба к гуру: почините, пожалуйста.

Последний раз редактировалось Хмурый, 01.04.2019 в 10:54.
Хмурый вне форума  
 
Непрочитано 01.04.2019, 10:59
2 | #12
frostmourn


 
Регистрация: 23.04.2015
Сообщений: 163


У меня 2016, и ему чем-то delay-и не понравились, попробуйте так
Код:
[Выделить все]
 
(defun c:tarakan (/ *error* _cmdecho_ _osmode_)
;;; Автор - nikolaev (www.dwg.ru)

  ;; Обработка возможной ошибки выполнения
  (defun *error* (msg)
    (if	_cmdecho_
      (setvar "cmdecho" _cmdecho_)
      ) ;_ end of if
    (if	_osmode_
      (setvar "osmode" _osmode_)
      ) ;_ end of if
    (princ msg)
    (princ)
    ) ;_ end of defun

  (setq	_cmdecho_ (getvar "cmdecho")
	_osmode_  (getvar "osmode")
	) ;_ end of setq
  (mapcar 'setvar '("osmode" "cmdecho") '(0 0))
  (command "_.limits" '(50 50) '(300 200))
  (command "_.zoom" "_all")
  (setq	p0  '(100 100.7)
	p1  '(100 100)
	p2  '(100 97.5)
	p3  '(100 95)
	p4  '(97.5 106)
	p5  '(97.5 100.7)
	p6  '(97.5 97.5)
	p7  '(97.5 95)
	p8  '(102.5 106)
	p9  '(102.5 100.7)
	p10 '(102.5 97.5)
	p11 '(102.5 95)
	p12 '(158 200)
	p13 '(158 160)
	p14 '(158 120)
	p15 '(158 80)
	) ;_ end of setq
  (command "_.pline"	 p0	"_w"   0      3	     p1	    p2	   "_w"
	   3	  1	 p3	""     "_.pline"     p12    "_w"   40
	   40	  p13	 ""	"_.pline"     p14    p15    ""
	   ) ;_ end of command
 ;_ end of command
  (command "_.line" p5 p2 p9 "" "_.line" p6 p1 p10 "" "_.line" p7 p2 p11 "")
  (command "_.arc" p1 "_e" p4 "_a" 30 "_arc" p1 "_e" p8 "_a" -30)
  (while (< (getvar "cmdactive") 0) (command nil))
  (setq	nab1 (ssget "_W" '(70 70) '(130 130))
	nab2 (ssget "_X" '((0 . "ARC")))
	) ;_ end of setq

  (repeat 100 (command "_.rotate" nab2 "" p1 -0.3) (setq q (getvar 'millisecs))(while (< (getvar 'millisecs) (+ q 10))))

  (repeat 100 (command "_.rotate" nab2 "" p1 0.6) (setq q (getvar 'millisecs))(while (< (getvar 'millisecs) (+ q 10))))

  (repeat 100 (command "_.rotate" nab2 "" p1 -0.3) (setq q (getvar 'millisecs))(while (< (getvar 'millisecs) (+ q 10))))
  (repeat 80
    (setq p2 (polar p1 (/ pi 2) 1))
    (command "_.move" nab1 "" p1 p2)
(setq q (getvar 'millisecs))(while (< (getvar 'millisecs) (+ q 20)))
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.rotate" nab1 "" p1 -90)
  (repeat 50
    (setq p2 (polar p1 0 1))
    (command "_.move" nab1 "" p1 p2)
(setq q (getvar 'millisecs))(while (< (getvar 'millisecs) (+ q 20)))
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.copy" nab1 "" p1 (polar p1 0 11))
  (setq	p3 (polar p1 (/ pi 4) 40)
	p4 (polar p1 (* (/ pi 4) 5) 25)
	) ;_ end of setq
  (setq nab3 (ssget "_W" p3 p4))
  (command "_.rotate" nab3 "" p1 -90)
  (repeat 80
    (setq p2 (polar p1 (* (/ pi 2) 3) 1))
    (command "_.move" nab3 "" p1 p2)
(setq q (getvar 'millisecs))(while (< (getvar 'millisecs) (+ q 20)))
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.rotate" nab3 "" p1 -90)
  (setq	p5 (polar p1 (/ (* pi 2) 3) 15)
	p6 (polar '(100 100) 0 10)
	) ;_ end of setq
  (command "_.copy" nab3 "" p1 p1)
  (command "_.scale" "_p" "" p5 0.5)
  (command "_.mirror" "_p" "" '(100 100) p6 "")
  (setq	p7 (polar p1 (/ pi 4) 20)
	p8 (polar p1 (* (/ pi 4) 5) 40)
	) ;_ end of setq
  (setq nab4 (ssget "_W" p7 p8))
  (repeat 50
    (setq p2 (polar p1 pi 1))
    (command "_.move" nab4 "" p1 p2)
(setq q (getvar 'millisecs))(while (< (getvar 'millisecs) (+ q 20)))
    (setq p1 p2)
    ) ;_ end of repeat
  (command "_.rotate" nab4 "" p1 -90)
  ;; Восстановление системных переменных
  (setvar "cmdecho" _cmdecho_)
  (setvar "osmode" _osmode_)
  (princ)
  ) ;_ end of defun
frostmourn вне форума  
 
Непрочитано 01.04.2019, 11:19
#13
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,326


frostmourn, спасибо!
Хмурый вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > таракан

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск