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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Можно прорисовать объект по движению мыши в реальн. времени

Можно прорисовать объект по движению мыши в реальн. времени

Ответ
Поиск в этой теме
Непрочитано 15.08.2006, 13:30 #1
Можно прорисовать объект по движению мыши в реальн. времени
Варгин
 
belarus
Регистрация: 15.08.2006
Сообщений: 3

Подскажите плз, можно ли средствами лиспа прорисовывать объект по движению мыши, как например черчение окружности, элипса и т.д., но своей собственной геометрии. Если нельзя, то может кто-нибудь подскажет на чём нить другом можно. А если всё-таки можно, то с помощью каких функций, и если можно, ссылочку, где об этом написано.

Задача в создании тулбара, и хотелось бы, чтобы юзер видел конечный результат до окончательного ответа.

Извините за ламерство, ибо не программист!
Просмотров: 7817
 
Непрочитано 15.08.2006, 13:51
#2
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Задача не из простых. Особенно елси Вы мало знакомы с лиспом.

Тем не менее если говорить о задаче "прорисовать объект по движению мыши" то предложу осмотреть тему в следующей ссылке:
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=20084JC
AY вне форума  
 
Автор темы   Непрочитано 16.08.2006, 11:18
#3
Варгин


 
Регистрация: 15.08.2006
belarus
Сообщений: 3


Задача была решена успешно не без неоценимой помощи AY.

Спасибо большое.
Варгин вне форума  
 
Непрочитано 16.08.2006, 11:51
#4
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Вот пример противоположной задачи - стирать все, что попадет под курсор, без лишних нажатий кнопок. Можно рассматривать как простой пример использования grread. При желании можно использовать как скелет для создания еще более полезных (или более бесполезных действий).

Код:
[Выделить все]
(defun C:RUB (/ key mode point selection *error*)

  (defun *error* (msg)
    (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object)))
    (vl-cmdf  "_.U")
    (princ "\nСтирание отменено\n")
    (princ)
  ) 

(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
  (setq key 3
        mode t
  )
  (while (or (= key 3) (= key 5))
    (cond ((= key 3)
           (princ
             (if (setq mode (not mode))
               "\nРежим ЛАСТИК (клик = приостановить стирание) <Выход>"
               "\nУкажи точку для запуска режима ЛАСТИК <Выход>"
             )
           )
          )
          ((not mode))
          (t
           (if (setq selection (ssget (cadr point)))
             (entdel (ssname selection 0))
           ) 
          )
    ) 
    (setq key (car (setq point (grread t 4 2))))
  ) 
  (princ "\nРабота команды завершена.")
  (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object)))
  (princ)
)
ShaggyDoc вне форума  
 
Непрочитано 16.08.2006, 12:29
#5
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


>Варгин В чем уж такая неоценимость помощи в толк не возмьу :) расказали б лучше как собственно все решилось.

>ShaggyDoc Интересный эфект: у меня при повторном вызове команды rub правым кликом работа заканчивается не начавшись. Может это grread успевает перехватить правый клик?
AY вне форума  
 
Непрочитано 17.08.2006, 08:23
#6
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от AY
>ShaggyDoc Интересный эфект: у меня при повторном вызове команды rub правым кликом работа заканчивается не начавшись. Может это grread успевает перехватить правый клик?
Возможно. Механизм реализации grread неизвестен, да и что Автокад делает с буфером устройств ввода неизвестно.

Я такого эффекта ранее не замечал, SHORTCUTMENU всегда не 0, поэтому по правому клику появляется контекстное меню, а не выполняется сама команда. При SHORTCUTMENU=0 действительно правый клик проскакивает.

Как бороться (и стоит ли) пока не соображу.
ShaggyDoc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Можно прорисовать объект по движению мыши в реальн. времени

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

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