예전에 라인(곡선 포함)길이 합 구하는 리습 찾으시는분 계셔서 다른분이 올려주신 리습입니다…제도 염치불구하고 사용해보려고 했는데 약간 이상한점이 있어서……
첫번째로….LINE 선택시 TEXT(글씨)가 포함되면 값이 달라지는점과….
두번째로….PLINE 은 잘 되는데 LINE을 FILLET 명령어로 Radius값을 주어 곡선 부분을 만들어서 전체를 잡으면 값이 달라지는점….
이 두가지를 보완(수정?) 할수는 없을까요? 많은 고수님들 부탁드립니다..
(defun c:lp(/ ss en n n1 k tot dis dis1)
(prompt “nCommand: Line Plus…”)
(prompt “n더하고자하는 line을 선택-> “)
(setq ss (ssget))
(setq n1 (sslength ss))
(setq n n1 k 0)
(setq tot 0 dis 0 dis1 0)
(while (<= 1 n)
(setq en (ssname ss k))
(setq stype (cdr (assoc 0 (entget en))))
(if (= stype “LINE”)(progn
(setq spt (cdr (assoc 10 (entget en))))
(setq ept (cdr (assoc 11 (entget en))))
(setq dis1 (distance spt ept))
(setq dis (/ dis1 1000.0))(prin1 dis)
))(terpri)
(if (= stype “LWPOLYLINE”)(progn
(command “area” “e” en)
(setq dis1 (getvar “perimeter”))
(setq dis (/ dis1 1000.0))
))
(setq tot (+ tot dis))
(setq n (- n 1))
(setq k (+ k 1))
)(terpri)(prompt “총”)(prin1 n1)(prompt “개의 라인…”)
(prompt “전체길이 : “)(prin1 tot)(prompt ” m”)
(prin1)
)