自动绘圆
框选图中所有多段线形成的多边形,并在每个角点绘制一个直径10的小圆研究研究多段线的组码吧 (defun c:plc (/ ss i lis name lit k)
(defun tcp (PLINE)
(equal (vlax-curve-getStartPoint PLINE)
(vlax-curve-getEndPoint PLINE)
1E-6
)
)
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(setq i 0)
;lis '())
(while (< i (sslength ss))
(if (tcp (setq name (ssname ss i)))
(progn
(setq lit (entget name))
(if (= (cdr (assoc 70 lit)) 1)
(progn
(foreach tem lit
(if (= (car tem) 10)
(entmakex (list '(0 . "CIRCLE") (cons 10 (cdr tem)) '(40 . 5.0)))
)
)
)
(progn
(setq lis '())
(foreach tem lit
(if (= (car tem) 10)
(setq lis (cons tem lis))
)
)
(setq k 0)
(repeat (- (length lis) 1)
(entmakex (list '(0 . "CIRCLE") (cons 10 (cdr (nth k lis))) '(40 . 5.0)))
(setq k (+ k 1))
)
)
)
)
)
(setq i (+ i 1))
)
)
页:
[1]