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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > 1)привязать угол ведения линии 2)отследить нажатие левой кн

1)привязать угол ведения линии 2)отследить нажатие левой кн

Ответ
Поиск в этой теме
Непрочитано 06.09.2007, 22:55 #1
1)привязать угол ведения линии 2)отследить нажатие левой кн
DFooz
 
учащийся
 
Москва
Регистрация: 25.03.2007
Сообщений: 44

1)В АКАде задаётся через "<"

Как программно можно реализовать?
Как-нибудь по простому можно это осуществить? Мне на ум идёт только геометрические вычисления с проекцией точки курсора на 2-е плоскости, вычисление расстояний до них, т.п. и постоянной перерисовкой отрезка.

2)есть цикл, кот. должен действовать до нажатия левой кнопки мыши
делаю
Код:
[Выделить все]
(while ( /= (car (grread)) 3)
...действия
);
Не работает.

Если же вместо знака неравенства поставить равенство, то действие происходит по нажатию левой кнопки. Значит, по идее при ненажатии должно происходить невыполнение равенства... а оно не происходит :?
Просмотров: 2468
 
Непрочитано 06.09.2007, 23:33
#2
Кулик Алексей aka kpblc
Moderator

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


По второму: посмотри, что возвращает (grread). К примеру, так:
Код:
[Выделить все]
(defun test ()
  (while (/= (car (setq gr (grread 1 15 0))) 3)
    (princ (strcat "\r" (vl-princ-to-string gr)))
    ) ;_ end of while
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.09.2007, 12:58
#3
Zouss


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


вот пример работающего (иногда ) цикла, возвращающего в переменной pt2 координаты точки, где была нажата левая кнопка мыши
Код:
[Выделить все]
(setq
  grinp	(grread T 4 0)
  pt2	(car (cdr grinp))
  E	T
) ;_ setq
(while E				; цикл пока не нажата кнопка мыши 
  (progn
    (setq pt2 (car (cdr grinp))) ;_  setq
    (setq E (/= (car (setq grinp (grread T 4 0))) 3))
    ...действия
  ) ;_ progn 
) ;_ while 
pt2
а по первому я ничего не понял... вам команда _lengthen с опцией DYnamic никак не подойдет?
Zouss вне форума  
 
Автор темы   Непрочитано 07.09.2007, 21:19
#4
DFooz

учащийся
 
Регистрация: 25.03.2007
Москва
Сообщений: 44


(/= (car (setq gr (grread 1 15 0))) 3)
Спасибо. Это условие работает.

Zouss, спасибо, не знал. Это и нужно. Сам отрезок изменяет размеры, но ещё появляется линия соединяющая конечную точку с курсором. От неё можно как-то избавиться?
DFooz вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > 1)привязать угол ведения линии 2)отследить нажатие левой кн