라인과 폴리라인 아무거나 선택해도 연장이 나오는 리습임다..
여러 라인을 동시에 선택하면 그 연장값들이 더해져서 나오는 리습..
그렇게 잘 짜여진 리습은 아니지만.. 님들께서 약간의 수정을 해서
사용하신다면.. 캐드사용에 있어 좀 편해지리라봅니다…. 그럼..^^*
(defun c:len()
(setq a (ssget))
(setq al (sslength a)
i 0
length1 0 length2 0 length 0)
(while (> al i)
(setq en (ssname a i)
ent (entget en)
xy1 nil
k 0)
(setq zz (cdr (assoc 0 ent)))
;============================================
(if (= zz “LWPOLYLINE”)
(while (nth k ent)
(if (= 10 (car (nth k ent)))
(progn
(setq xy (cdr (nth k ent)))
(if xy1
(setq length1 (+ length1 (distance xy xy1))))
(setq xy1 xy)
))
(setq k (1+ k))
)
)
;============================================
(if (= zz “LINE”)(progn
(setq yx (cdr (assoc 10 ent))
yx1 (cdr (assoc 11 ent)))
(setq length2 (+ length2 (distance yx yx1)))
))
;==================================================
(setq length (+ length1 length2))
(setq i (1+ i))
)
(princ length)
(princ)
)
;==========================================================