本帖最后由 yeahyeah 于 2013-8-21 21:12 编辑
;;画多段线打断于交点处
(defun c:kk (/ LA P0 PT S PL A d)
(if (null *d*)
(setq *d* 0)
)
(setq d (getdist (strcat "\n打断距离:")))
(if (null d)
(setq d *d*)
(setq *d* d)
)
(setq d (* 0.5 d))
(setq xww (getvar 'Plinewid)) ;线宽
(setq la (getvar 'clayer))
(setq p0 (getpoint "\n第一点:"))
(while (setq pt (getpoint p0 "\n下一点:"))
(setq s
(ssget "f"
(list p0 pt)
(list (cons 0 "*line,LWPOLYLINE,arc,circle,ellipse")
(cons 8 la);只能在一个图层里
)
)
)
(if s
(progn
(setq pl ;我感觉问题就出在这个setq语句里
(vl-sort
(apply 'append ;apply function
(mapcar
'(lambda (x) (mapcar '