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

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

Динамическая функция

Ответ
Поиск в этой теме
Непрочитано 04.11.2004, 13:16 #1
Динамическая функция
CooL
 
Сообщений: n/a

Помогите сделать функцию, которая с изменением положения курсора перерисовывала объект(ы). Или как следить за координатами курсора.
Мне надо, чтобы между двумя точками отрисовывались прямоугольники длиной равной растаянию между точками ввода поделенное на, допустим, 10. И хотелось, чтобы ето происходило динамически.
Просмотров: 4712
 
Непрочитано 04.11.2004, 18:55
#2


 
Сообщений: n/a


What do you mean ???

(while t (princ "Cursor position is : ")(princ(cadr(grread t)))(print))) ???
or
(while t (princ "Pick a point : ")(princ(getpoint))(print)))
???
 
 
Непрочитано 04.11.2004, 19:33
#3
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>Guest
It's difficult as for PC as AutoLISP programmer. He wants dynamicaly redraw rectangles between point and cursor with distance between rectangles POINT TO CURSOR/10. Do you want do him GRVECS matrix? ) May be may be, if AutoCAD can redraw it...

>Cool
Когда то эксперементировал с такими вещами, но даже не хочу продолжеть. Дорога тебе к ------> ObjectARX программистам.

[sm2200]
{Smirnoff} вне форума  
 
Непрочитано 05.11.2004, 02:44
#4


 
Сообщений: n/a


Not necessary on C

(defun c:recs ( / rectangles i step code p1 p2 x1 x2 y1 y2)
(setq rectangles (getint "\nHaw many rectangles :"))
(setq p1 (getpoint "\nSpecify first point:"))
(princ "\nSpecify second point:")
(while (/= code 3)
(setq code(car(setq p2(grread t))))
(redraw)
(setq p2 (cadr p2))
(setq x1 (car p1)y1(cadr p1)x2(car p2)y2(cadr p2))
(setq step (/(- x2 x1)rectangles))
(grdraw p1 (polar p1 0 (- x2 x1)) 7 1)
(grdraw p2 (polar p2 0 (- 0(- x2 x1))) 7 1)
(setq i 0)
(while (<= i rectangles)
(setq temp_point (list (+ x1 (* step i)) y1))
(grdraw temp_point (polar temp_point 1.5708 (- y2 y1)) 7 1)
(setq i (1+ i))
)
(print)
)
(redraw)
(command "RECTANGLE" p1 (list (+ x1 step) y2))
(repeat (- rectangles 1)
(command "COPY" (entlast) "" p1 (setq p1(polar p1 0 step)))
)
)
 
 
Непрочитано 05.11.2004, 11:07
#5
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


It's fine! Thank you for good example.
{Smirnoff} вне форума  
 
Непрочитано 05.11.2004, 11:29
#6
CooL


 
Сообщений: n/a


Спасибо! Очень помогло.
 
 
Непрочитано 05.11.2004, 11:38
#7
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,466


Действительно Cool!
Admin вне форума  
 
Непрочитано 05.11.2004, 19:34
#8
cadhelp


 
Сообщений: n/a


any time

Cadhelp, previously guest.
 
 
Непрочитано 05.11.2004, 20:20
#9
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Thaks
{Smirnoff} вне форума  
 
Непрочитано 06.11.2004, 19:15
#10
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


>>Fantomas
О чем ты думал, создавая предыдущий пост? [sm129]
Torino вне форума  
 
Непрочитано 06.11.2004, 21:42
#11


 
Сообщений: n/a


>Torino
Сначала я думал что общаюсь с англоязычным пользователем и даже догадываюсь откуда. Когда человек сказал свой ник, который пренадлежит (если не тёзка) русскоязычному пользователю, я таким образом сказал ему спасибо.

Отчего такой вопрос?

Пример он действительно привел хороший, я в свое время экспериментировал с этим и искал примеры. Но у меня ничего не получилось.
 
 
Непрочитано 06.11.2004, 21:45
#12
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Предыдущий пост мой.
{Smirnoff} вне форума  
 
Непрочитано 06.11.2004, 22:31
#13
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Таак...
Английский юмор не прошел
thaks~sex
Torino вне форума  
 
Непрочитано 08.11.2004, 11:13
#14
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Спасибо, за разъяснения
{Smirnoff} вне форума  
 
Непрочитано 08.11.2004, 20:42
#15
cadhelp


 
Сообщений: n/a


Я использую http://translit.ru . Но иногда на ето просто времени нет

пишите лиспов, хороших и много.
 
 
Непрочитано 26.11.2004, 12:45 Re: Динамическая функция
#16


 
Сообщений: n/a


Цитата:
Сообщение от CooL
Помогите сделать функцию, которая с изменением положения курсора перерисовывала объект(ы). Или как следить за координатами курсора.
Мне надо, чтобы между двумя точками отрисовывались прямоугольники длиной равной растаянию между точками ввода поделенное на, допустим, 10. И хотелось, чтобы ето происходило динамически.
Если знаешь LiSP - проследи логику, писать долго

(defun $SLEDIBOX (LBOX HBOX / TX KOD T0)
(setq TX (grread t))
(setq KOD (car TX))
(setq TX (cadr TX))
(BOX_SL_XX TX LBOX HBOX)
(setq T0 TX)
(while (/= KOD 3)
(setq TX (grread t))
(setq KOD (car TX))
(setq TX (cadr TX))
(if (and
(not (equal T0 TX))
(= KOD 5)
)
(progn
(BOX_SL_XX T0 LBOX HBOX)
(setq T0 TX)
(BOX_SL_XX TX LBOX HBOX)
)
)
)
(BOX_SL_XX TX LBOX HBOX)
(redraw)
T0
)
;;-------------------------------------
(defun BOX_SL_XX (TX LBOX HBOX / T0 T1 T2)
(setq T0 (polar TX (* 1.5 pi) HBOX))
(setq T1 (polar TX 0 LBOX))
(setq T2 (polar T0 0 LBOX))
(grvecs (list -300 TX T1 T1 T2 T2 T0 T0 TX))
)
 
 
Непрочитано 28.02.2005, 20:06
#17
sah-has


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


Всем кто привел примеры одну вещь скажу ("... только вы не обижайтесь ... " (Мимино))
GRREAD всем хорош когда хочется динамики, одно но !!!!!! нарушает главный принцип Автокада - возможность использовать привязки при указании точки.
Сам долго (относително) мучался, но плюнул )))) перешел на динамику с элементами маразма ))))) то "растяни" то "перенеси" с последующим "гетпоинтом"



Люблю лисп за то, что научил скобки правильно ставить ))))))
sah-has вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Динамическая функция

Опции темы Поиск в этой теме
Поиск в этой теме:

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