下面是"zml84"博客上的一个LISP程序.... 求助各位版主,,能否改进一下,让程序在运行的过程中支持"鼠标捕捉"功能! 多条橡皮筋.lsp
;|;;要求:
如同CAD中选择实体的“WP”功能,在绘制任意多边形时,鼠标在屏幕上拾取点的时候,
总是同时和上一点以及第一点相连,在任何时候看都是一个多边形。
;;;==============================================================================
(defun
C:TT
()
(if (and
(setq
PT1
(getpoint
"\n起始点: "))
(setq
PT2
(getpoint
PT1
"\n指定下一点: "))
)
(progn
(command
"_.pline"
"non"
PT1
"non"
PT2)
(setq
TEST
t)
(while
TEST
(setq
TMP
(grread
t
7
0))
(redraw)
(cond
((=
(car
TMP)
3)
;_左键
(setq
PT2
(cadr
TMP))
(command
"non"
PT2)
)
((=
(car
TMP)
11)
;_右键
(command
"c")
(setq
TEST
NIL)
)
((=
(car
TMP)
5)
;_移动
(setq
PT
(cadr
TMP))
(grdraw
PT
PT1
1
1)
(grdraw
PT
PT2
2)
)
)
)
;_结束 while
)
)
(princ)
)
|