안녕하세요.
찾다 찾다 너무 힘들어서 도움을 요청합니다.
제가 원하는 리습은 치수선을 여러개 선택했을때 그 합을 구하는 것입니다.
단순히 치수의 합을 구하는 리습은 이곳 게시판에서도 쉽게 찾을 수 있었습니다.
하지만 제가 하는 일의 특성상 치수를 강제로(문자재지정) 기입하는 경우가 있는데요.
강제로 기입한 치수는 원래 측정단위로 계산이 되더라구요.
그래서 제가 원하는 리습은 실제치수값과 강제치수값을 구분하여 더 할 수 있는 리습이
있었으면 합니다. 많은 고수님들의 도움 부탁드립니다.
공유
답변 너무 감사합니다.
위에것은 클릭선택 요건 드래그 선택용
(defun c:ff(/ ss en sum txs a1 a42 pt n)
(setq sum 0)
(setq txs(getvar ‘textsize))
(setq ss(ssget (list(cons 0 “DIMENSION”))) n 0)
(repeat (sslength ss)
(setq en(entget (ssname ss n)))
(setq a1(cdr(assoc 1 en)) a42(cdr(assoc 42 en)))
(if (eq a1 “”)(setq sum(+ a42 sum))(setq sum (+ (atof a1)sum)))
(setq n (1+ n))
)
(setq pt(getpoint “n문자를 표시할 위치:”))
(command “_text” pt txs “0” (strcat “합계= ” (rtos sum 2 2)))
(princ)
)
명령어는 알아서 바꾸세요
(defun c:ff(/ e en sum txs a1 a42 pt)
(setq sum 0)
(setq txs(getvar ‘textsize))
(while (setq e(car(entsel “n치수선택:”)))
(setq en(entget e))
(setq a1(cdr(assoc 1 en)) a42(cdr(assoc 42 en)))
(if (eq a1 “”)(setq sum(+ a42 sum))(setq sum (+ (atof a1)sum)))
)
(setq pt(getpoint “n문자를 표시할 위치:”))
(command “_text” pt txs “0” (strcat “합계= ” (rtos sum 2 2)))
(princ)
)