Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с autolisp, Zero length line created 
:(
    Опции темы
dmalsh
Дата 17.4.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.4.2009

Репутация: нет
Всего: 1



Есть кусок кода:
Код
(defun C:MAKEPANEL (/ kA kB kC kD kt tkA tkB tkC tkD)

  (SETQ kA 500)
  (SETQ kB 1000)
  (SETQ kC 40)
  (SETQ kD 20)
  (SETQ kt 2)

  (setq kD (- kD kt))
  (setq kC (- kC (* 2 kt)))
  (setq kB (- kB (* 2 kt) (* 2 kD)))
  (setq kA (- kA (* 2 kt) (* 2 kD)))

  (setq tkA (rtos kA 2 4))
  (setq tkB (rtos kB 2 4))
  (setq tkC (rtos kC 2 4))
  (setq tkD (rtos kD 2 4))

  (COMMAND "_LINE" 
                  (strcat (rtos (+ kC (* 2 kD) 10) 2 4) ",10") ;point 1
                  (strcat "@-" tkD "," tkD)                    ;point 2
                  (strcat "@0," tkC)                           ;point 3
                  (strcat "@-" tkC ",0")                       ;point 4
                  (strcat "@-" tkD "," tkD)                    ;point 5
                  (strcat "@0," tkB)                           ;point 6
  ) 

  (COMMAND "")
  (COMMAND "_ZOOM" "_E")
)

При выполнении выдает:
Код
Command: MAKEPANEL
_LINE Specify first point: 82,10
Specify next point or [Undo]: @-18,18
Specify next point or [Undo]: @0,36 Zero length line created at (64.0000, 
28.0000, 0.0000)
Specify next point or [Close/Undo]: @-36,0 Zero length line created at 
(64.0000, 28.0000, 0.0000)
Specify next point or [Close/Undo]: @-18,18 Zero length line created at 
(64.0000, 28.0000, 0.0000)
Specify next point or [Close/Undo]: @0,960
Specify next point or [Close/Undo]:
Command: _ZOOM
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window/Object] <real time>: _E 
Regenerating model.
Command: nil

Иногда срабатывает правильно (в основном при первом запуске).
PM MAIL   Вверх
Cinot
  Дата 20.4.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



В команду "_LINE" передаются точки в виде списка (x y z) и "" в конце, а у вас - строки.
PM MAIL   Вверх
dmalsh
Дата 20.4.2009, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 17.4.2009

Репутация: нет
Всего: 1



Цитата(Cinot @ 20.4.2009,  17:00)
В команду "_LINE" передаются точки в виде списка (x y z) и "" в конце, а у вас - строки.

Да вы, батенька, еще больший дилетант, чем я smile
Не примите за оскорбление.
Почитайте курс лекций "Программирование на AutoLISP" Троицкого Д.И., конкретно, лекция 4.
Там про команду "_LINE" хорошо написано.
А проблема решилась установкой переменной "OSMODE" в 0.
PM MAIL   Вверх
Cinot
Дата 21.4.2009, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



Спасибо за советы, однако я прочитал куда более интересные книги по autolisp/visual lisp, и формы записи программ проектировщиками приводит меня в ужас.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LISP | Следующая тема »


 




[ Время генерации скрипта: 0.0642 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.