Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2016, 09:30   #1
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию Visual LISP, не отрабатывает код

Код:
(defun c:28 (/ rline rline2 rline3 rline4 rline5 rline6 rline7 cv fun vid prim file r1 r2 r3)

  (setq x 0)
  (while (= x 0)
     (initget "ПРимитив Точка Цвет Файл Рисовать выХод")
     (setq fun(getkword "Выбирете ?[ПРимитив/Точка/Цвет/Файл/Рисовать/выХод]"))

  	(cond
    		((= fun "ПРимитив") (initget "2d 3d")
	 		    (setq vid(getkword "Вид примитива ?[2d/3d]"))
	 		    (cond
			      ((= vid "2d")(initget "эЛЛипс Окружность Полилиния Шестиугольник")
			       		   (setq prim(getkword "Выбирите примитив ?[эЛЛипс/Окружность/Полилиния/Шестиугольник]")))
			      ((= vid "3d")(initget "Пиримида ПРизма УсечённыйКонус Куб")
			       		   (setq prim(getkword "Выбирите примитив ?[Пиримида/ПРизма/УсечённыйКонус/Куб]")))
			    )
  		)
		((= fun "Точка")(setq centr (getpoint "Задайте точку вставки:")))
		((= fun "Цвет")(setq cv (acad_colordlg 9 nil)))
		((= fun "Файл")(setq file (open (getfiled "Выбирете файл" "E:\\учёба\\3 курс\\ОСАП\\Готовые контрольные программы\\zadanie28\\file" "txt" 0) "r"))
  					  (setq rline (String->List (setq rline(read-line file)) " "))
 					  (setq rline1 (String->List (setq rline1(read-line file)) " "))
 					  (setq rline2 (String->List (setq rline2(read-line file)) " "))
 					  (setq rline3 (String->List (setq rline3(read-line file)) " "))
  					  (setq rline4 (String->List (setq rline4(read-line file)) " "))
  					  (setq rline5 (String->List (setq rline5(read-line file)) " "))
  					  (setq rline6 (String->List (setq rline6(read-line file)) " "))
  					  (setq rline7 (String->List (setq rline7(read-line file)) " "))
					  (close file))
		((= fun "Рисовать")(command "_color" cv "")
		 		   (if (= vid "2d")(command "ПСК" "в"))
		 		   (if (= vid "3d")(command "ПСК" "М"))
		 		   (setq x 1 )
		 		   (cond
				     ((= prim "эЛЛипс")(setq r1 (atof (nth 0 rline ))
	    						     r2 (atof (nth 1 rline )))
				      		       (setq r1 (list (+ (car centr) r1) (+ (cadr centr) r2)))
				     		       (command "_ellipse" "_c" centr r1 r2 ""))
				     ((= prim "Окружность")(setq r1 (atof (nth 0 rline )))
				      			   (command "_circle" centr r1 ""))
				     ((= prim "Полилиния")(setq r1 (list (atof (nth 0 rline2)) (atof (nth 1 rline2)))
	    							r2 (list (atof (nth 2 rline2)) (atof (nth 3 rline2)))
	    							r3 (list (atof (nth 4 rline2)) (atof (nth 5 rline2))))
				      			  (command "_pline" centr r1 r2 r3 ""))
				     ((= prim "Шестиугольник")(setq r1 (atof (nth 0 rline3 )))
				      			     (command "_polygon" 6 centr "в" r1 ""))
				     ((= prim "Пиримида")(setq r1 (atof (nth 0 rline4 ))
	    						       r2 (atof (nth 1 rline4 )))
				      			 (command "_pyramid" centr r1 r2))
				     ((= prim "ПРизма")(setq r1 (atof (nth 0 rline5 ))
	   						     r2 (atof (nth 1 rline5 ))
	    						     r3 (atof (nth 2 rline5 )))
				      		       (command "_pyramid" centr r1 "Р" r2 r3))
				     ((= prim "УсечённыйКонус")(setq r1 (atof (nth 0 rline6 ))
	   						     	     r2 (atof (nth 1 rline6 ))
	    						    	     r3 (atof (nth 2 rline6 )))
				      			       (command "_cone" centr r1 "Р" r2 r3))
				     ((= prim "Куб")(setq r1 (list (atof (nth 0 rline7)) (atof (nth 1 rline7))(atof (nth 2 rline7)))
	    						  r2 (list (atof (nth 3 rline7)) (atof (nth 4 rline7))(atof (nth 5 rline7))))
				      		    (command "_box" centr r2 r3))
				     (t (alert "Не выбрат примитив")(setq a 0))
				     
				   )
		 )
		((= fun "выХод")(setq a 1))
        )
    )
  
)

(defun String->List (_str _br / _pos);; Перевод строк в список
  (if (setq _pos (vl-string-search _br _str))
    (cons (substr _str 1 _pos)
          (String->List (substr _str (+ (strlen _br) _pos 1)) _br))
    (list _str)
  ))
Не могу понять почему не отрабатывает код, про ошибки программа не пишет.
Dima-91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код немного не отрабатывает задуманные действия :( PHP_DELETANT PHP 11 09.02.2016 00:37
Не отрабатывает условие Айвенго Microsoft Office Access 7 20.02.2015 09:43
setTimeout неправильно отрабатывает Mortimoro JavaScript, Ajax 4 03.05.2013 10:28
[LISP] Переделать код под использование цикла DO HostileZeth Помощь студентам 0 24.09.2011 20:25
jbutton.setEnabled не отрабатывает sashonk Общие вопросы по Java, Java SE, Kotlin 1 27.11.2010 07:04