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

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

функции лиспа перестали автоматически выполняться и требуют клика

Ответ
Поиск в этой теме
Непрочитано 29.06.2012, 09:15 #1
функции лиспа перестали автоматически выполняться и требуют клика
SNIIP
 
Регистрация: 04.05.2010
Сообщений: 338

есть часть кода:
Код:
[Выделить все]
(command "_mirror3d" katet katet2 nizhtrav "" (list 0 0 (/ h 2)) (otn 0 10) (otn 10 10) "Н")	 
(command "_copy" bolt bolt2 bolt3 bolt4  "" '(0 0 0) (list 0 0 ( - (- H (+ visotatr RmuSuh (/ Rsuh 2))) (* visotatr 0.2) )))  	 
(command "_copy" bolt bolt2 bolt3 bolt4  "" '(0 0 0) (list 0 0 ( - (- H (+ visotatr RmuSuh (/ Rsuh 2))) (* visotatr 0.4) )))
(command "_copy" bolt bolt2 bolt3 bolt4  "" '(0 0 0) (list 0 0 ( - (- H (+ visotatr RmuSuh (/ Rsuh 2))) (* visotatr 0.8) )))
(command "_ucs"	"_zaxis" (list (* -1 (+ Bpr (/ dpr 2))) (* -1 apr ) (+ h 30)) (list (* -1 (+ Bpr (/ dpr 2))) (* -1 apr ) (+ h 31)) )
(command "ящик" (list (+ bpr (/ dpr 2)) 0 0) (list (* -1 (+ bpr (/ dpr 2))) hpr 0) 20)	 
(command "_torus" (list 0 (/ hpr 2) 20) bpr 10)
;;;верхняя траверса
(command "_ucs"	"_zaxis" (list 0 0 50) (list 0 0 51))	 
(command "ящик" (list (+ bpr (/ dpr 2)) (* -0.2 apr) 0) (list (* -1 (+ bpr (/ dpr 2))) (+ (* 0.2 apr) hpr) 0) -20)
(command "_copy" katet katet2  "" (list 0 0(* -1 (+ h 110))) '(0 0 0) )
(command "-ВСТАВИТЬ" (strcat put "верхняятраверса2.dwg") (list (* -0.5 dpr) (* 0.5 hpr) 0) "1" "" "0" "")
;;;(setq nizhtrav (entlast))
;;;(command "_mirror" nizhtrav "" (list 0 0) (otn 0 50) "Н")
;;;(setq krisha 3000.0)
;;;(setq ugol (atan (/ krisha ( / prolet 2))))	 
;;;(setq vistr (* (cos ugol ) hpr1))	 
;;;(command "ящик" (list (* 0.5 dpr) 0 0) (list (* -0.5 dpr ) (hpr) 0) (+ 130 vistr))	 
	 
	 
;;; возврат на место ПСК	 
(command "_ucs"	"_zaxis" (list (+ Bpr (/ dpr 2)) apr (* -1 (+ h 80))) (list (+ Bpr (/ dpr 2)) apr (+ h 31)) )
так вот... весь код до этого и этот выполняется все как нужно, но когда начинает выолняться закоментарреный код:
Код:
[Выделить все]
;;;(setq nizhtrav (entlast))
;;;(command "_mirror" nizhtrav "" (list 0 0) (otn 0 50) "Н")
;;;(setq krisha 3000.0)
;;;(setq ugol (atan (/ krisha ( / prolet 2))))	 
;;;(setq vistr (* (cos ugol ) hpr1))	 
;;;(command "ящик" (list (* 0.5 dpr) 0 0) (list (* -0.5 dpr ) (hpr) 0) (+ 130 vistr))
каждая команда выполняется только после клика мыши в любом месте... в чем дело не пойму.. ничего не менялось.. такие же обычные операторы.. может кто сталкивался? подскажите?




КАК ВЫЯСНИЛОСЬ ПОСЛЕ НЕКОТОРОГО ТЕСТИРОВАНИЯ КОСЯЧАТ ИМЕННО ФУНКЦИИ SETQ МОЖЕТ В ЛИСПЕ ЕСТЬ КАКОЕ-ТО ОГРАНИЧЕНИЕ НА КОЛИЧЕСТВО ПЕРЕМЕННЫХ?? КОНЧАЕТСЯ ПАМЯТЬ?? лЮДИ КТО ЧТО ЗНАЕТ?

Последний раз редактировалось SNIIP, 29.06.2012 в 11:57.
Просмотров: 2128
 
Непрочитано 29.06.2012, 13:03
#2
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Цитата:
Сообщение от SNIIP Посмотреть сообщение
;;;(command "_mirror" nizhtrav "" (list 0 0) (otn 0 50) "Н")
Может стоит поменять на "_N"?
ытя вне форума  
 
Автор темы   Непрочитано 29.06.2012, 13:13
#3
SNIIP


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


попробовал.. не выходит... вообще закоментарил это зеркало и вставку блока предыдущего... все равно стопорит на setq. кликаю, делает все дальше.. и с полным кодом стопорит только на setq... причем операторов 30-40 операторов setq до этого проходят нормально... есть еще идеи?
SNIIP вне форума  
 
Непрочитано 29.06.2012, 13:27
#4
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


А что в командной строке пишет?
gomer вне форума  
 
Непрочитано 29.06.2012, 13:36
#5
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


SNIIP, мне кажется что дело не в setq, а в предыдущей строчке, т. е. (command "-ВСТАВИТЬ" (strcat put "верхняятраверса2.dwg") (list (* -0.5 dpr) (* 0.5 hpr) 0) "1" "" "0" "")
У блока верхняятраверса2.dwg, есть атрибуты, если нет, то по-моему последный "" лишний
Код:
[Выделить все]
(command "-ВСТАВИТЬ" (strcat put "верхняятраверса2.dwg") (list (* -0.5 dpr) (* 0.5 hpr) 0) "1" "" "0" "")
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 29.06.2012, 20:23
#6
SNIIP


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


Все, решил проблему.. просто одна скобка попала лишняя в коде задоолго до этого места, а среагировало именно тут... не знаю как связанно но компилятор не ругался а изменив все заработало, за вс еответы спасибо)
SNIIP вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > функции лиспа перестали автоматически выполняться и требуют клика