为什么在我添加上角度之后反而不能终止循环呢?
 - (defun GX-003 (a)
- (* a (/ pi 180.000000)))
- (defun GX-001 ()
- (if (tblsearch "layer" "H-SOLID LINE")
- (setvar "clayer" "H-SOLID LINE")
- (command "layer" "m" "H-SOLID LINE" "c" "3" "" "l" "continuous" "" "lw" "0.09" "" "")
- )
- )
- (defun c:ssaa (/ p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 e ee eee eeee eeee curlay sc ang mouse)
- (setvar "cmdecho" 0)
- (setq curlay (getvar "Clayer"))
- (setvar "osmode" 0)
- (SETQ curlay(getvar "clayer"))
- (setq p1 (getpoint "插入点:"))
- (setq p11 (cadr (setq mouse (grread T 5 0))))
- (setvar "OSMODE" 0)
- (GX-001)
- (setq p2 (polar p1 (GX-003 90) 2.5))
- (setq p3 (polar p1 (GX-003 90) 3.5))
- (setq p4 (polar p1 (GX-003 90) 4.5))
- (setq p5 (polar p1 (GX-003 90) 5))
- (setq p7 (polar p4 (GX-003 -45) 1))
- (setq p8 (polar p3 (GX-003 -45) 1))
- (setq p9 (polar p2 (GX-003 -45)1))
- (setq p6 (polar p7 (GX-003 90) 0.5))
- (setq p10 (polar p9 (GX-003 -90) 0.5))
- (command "line" p1 p5 "")
- (setq e (entlast))
- (setq ss (ssadd))
- (ssadd e ss)
- (command "line" p4 p7 "")
- (setq ee (entlast))
- (ssadd ee ss)
- (command "line" p3 p8 "")
- (setq eee (entlast))
- (ssadd eee ss)
- (command "line" p2 p9 "")
- (setq eeee (entlast))
- (ssadd eeee ss)
- (command "line" p6 p10 "")
- (setq eeeee (entlast))
- (ssadd eeeee ss)
- (setvar "Clayer" curlay)
- (if (null (tblsearch "block" "molded")
- )
- (COMMAND "block" "molded" p1 ss "")
- (command "erase" ss "")
- )
- (setq sc (* 2 (getvar "ltscale")))
- (while (/= (car (setq mouse (grread mouse 5 0))) 3)
- (setq p11 (cadr mouse))
- (setq ang (angle p1 p11))
- (COMMAND "insert" "molded" "s" sc "r" ang p1 )
- )
- (setvar "osmode" 16383)
- (princ))
下面这个是没有增加角度的,程序可执行但提示有问题 - (defun GX-003 (a)
- (* a (/ pi 180.000000)))
- (defun GX-001 ()
- (if (tblsearch "layer" "H-SOLID LINE")
- (setvar "clayer" "H-SOLID LINE")
- (command "layer" "m" "H-SOLID LINE" "c" "3" "" "l" "continuous" "" "lw" "0.09" "" "")
- )
- )
- (defun c:ssaa (/ p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 e ee eee eeee eeee curlay sc ang mouse)
- (setvar "cmdecho" 0)
- (setq curlay (getvar "Clayer"))
- (setvar "osmode" 0)
- (SETQ curlay(getvar "clayer"))
- (setq p1 (getpoint "插入点:"))
- (setq p11 (cadr (setq mouse (grread T 5 0))))
- (setvar "OSMODE" 0)
- (GX-001)
- (setq p2 (polar p1 (GX-003 90) 2.5))
- (setq p3 (polar p1 (GX-003 90) 3.5))
- (setq p4 (polar p1 (GX-003 90) 4.5))
- (setq p5 (polar p1 (GX-003 90) 5))
- (setq p7 (polar p4 (GX-003 -45) 1))
- (setq p8 (polar p3 (GX-003 -45) 1))
- (setq p9 (polar p2 (GX-003 -45)1))
- (setq p6 (polar p7 (GX-003 90) 0.5))
- (setq p10 (polar p9 (GX-003 -90) 0.5))
- (command "line" p1 p5 "")
- (setq e (entlast))
- (setq ss (ssadd))
- (ssadd e ss)
- (command "line" p4 p7 "")
- (setq ee (entlast))
- (ssadd ee ss)
- (command "line" p3 p8 "")
- (setq eee (entlast))
- (ssadd eee ss)
- (command "line" p2 p9 "")
- (setq eeee (entlast))
- (ssadd eeee ss)
- (command "line" p6 p10 "")
- (setq eeeee (entlast))
- (ssadd eeeee ss)
- (setvar "Clayer" curlay)
- (if (null (tblsearch "block" "molded")
- )
- (COMMAND "block" "molded" p1 ss "")
- (command "erase" ss "")
- )
- (setq sc (* 2 (getvar "ltscale")))
- (while (/= (car (setq mouse (grread mouse 5 0))) 3)
- (setq p11 (cadr mouse))
- (setq ang (angle p1 p11))
- (COMMAND "insert" "molded" "s" sc p1 )
- )
- (setvar "osmode" 16383)
- (princ))
|