라인 길이 합계 구하는 리습 찾다가.. 좋은걸 발견했는데..
mm 단위라서 한눈에 안들어오네요..
m단위로 소수점 첫째자리까지만 표현될 수 있도록 수정해주세요..
ex) 3852.55 >> 3.9 (반올림, 올림 상관 없습니다.)
(defun c:vvb (/ ent n dis ent_l #a #ad #as )
(setvar “cmdecho” 0)
(setq ent (ssget ‘((0 . “LINE,CIRCLE,ARC,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE”))))
(setq n 0 dis 0)
(repeat (sslength ent)
(setq ent_l (ssname ent n))
(command “lengthen” ent_l “”)
(setq dis (+ dis (GETVAR “PERIMETER”)))
(setq n (1+ n))
)
(setq #a(strcat “*선택 = “(rtos n)” 합계 = ” (rtos dis)))
(prompt (strcat “n” #a))
(vl-load-com)
(setq #ad(vla-get-activedocument(vlax-get-acad-object)))
(setq #as
(if (> (vla-get-activespace #ad) 0)
(vla-get-modelspace #ad)
(vla-get-paperspace #ad)
);;if
);;setq
(vla-addtext #as #a (vlax-3d-point(getpoint “n≫≫≫Pick text point:”))(* (getvar “textsize”)1.0))
(mapcar ‘vlax-release-object (list #as #ad))
(princ)
(setvar “cmdecho” 1)
)
공유