(defun c:lle (/ 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-s “lengthen” ent_l “” “” “”)
(setq dis (+ dis (GETVAR “PERIMETER”)))
(setq n (1+ n))
)
(setq #a(strcat “***** 선택 객체수 = ” (rtos n) ” 길이합계 = ” (rtos (*0.001 dis)2 2))
(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)
)
(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-s “lengthen” ent_l “” “” “”)
(setq dis (+ dis (GETVAR “PERIMETER”)))
(setq n (1+ n))
)
(setq #a(strcat “***** 선택 객체수 = ” (rtos n) ” 길이합계 = ” (rtos (*0.001 dis)2 2))
(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)
)
이 리습 사용하면 길이 합계가 나오긴하는데,
12550.000으로 나오는데,
이걸 12.55 이렇게 소수점 찍히도록 나오게 응용이 안되네요 ;
12550.000으로 나오는데,
이걸 12.55 이렇게 소수점 찍히도록 나오게 응용이 안되네요 ;
(setq #a(strcat (rtos dis 2 0))) => (setq #a(strcat (rtos (* 0.001 dis) 2 0)))
감사합니다!!
혹시 123456이면 123.45 소수점 까지 나오게 할수는 없을까여 ?ㅠㅠ
(setq #a (strcat (rtos (* 0.001 dis) 2 2)))
(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-s “lengthen” ent_l “” “” “”)
(setq dis (+ dis (GETVAR “PERIMETER”)))
(setq n (1+ n))
)
(setq #a(strcat “***** 선택 객체수 = ” (rtos n) ” 길이합계 = ” (rtos (*0.001 dis)2 2))
(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)
)
12550.000으로 나오는데,
이걸 12.55 이렇게 소수점 찍히도록 나오게 응용이 안되네요 ;