forked from xplan001/AutoCad-App
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path超级剪切(J)
48 lines (48 loc) · 1.03 KB
/
超级剪切(J)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
;;;超级剪切
(defun c:J (/ PT0 PTLIST PTLIST0 ss CMDECHO OSMODE)
(setq cmdecho (getvar "cmdecho")
osmode (getvar "osmode")
)
(while (and (setq ptlist0 (getpoint_list))
(> (length ptlist0) 1)
)
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(setq pt0 (car ptlist0)
ptlist (cdr ptlist0)
)
(command "trim" "")
(foreach pt ptlist
(command "f" pt0 pt "")
(setq pt0 pt)
)
(command "")
(if (setq ss (ssget "f" ptlist0))
(command "erase" ss "")
)
(setvar "osmode" osmode)
(setvar "cmdecho" cmdecho)
)
(princ)
)
(defun getpoint_list ( / DIS OUT PT)
(setq pt (getpoint "\n开始:"))
(princ "\n按任意键完成:")
(if (= (type pt) 'LIST)
(progn
(setq out (list pt)
dis (* 0.01 (getvar "viewsize")))
(while (= 5 (car (setq pt (grread t 4 0))))
(setq pt (cadr pt))
(if (> (distance pt (car out)) dis)
(progn
(grdraw pt (car out) 1)
(setq out (cons pt out))
)
)
)
)
)
(redraw)
(reverse out)
)