(defun c:ts (/ z ss sno no tno sum x entity etype num h pt)
(setvar “cmdecho” 0)
(prompt “nSelect Text: “)
(setq ss (ssget))
(setq sno (sslength ss))
(setq no 0)
(setq sum 0.0)
(setq tno 0)
(repeat sno
(setq x (ssname ss no))
(setq etype (cdr (assoc 0 (entget x))))
(if (= etype “TEXT”)
(progn
(setq entity (entget x))
(setq num (cdr (assoc 1 entity)))
(setq num (atof num))
(setq sum (+ sum num))
(setq tno (1+ tno))
)
)
(setq no (1+ no))
)
(setq tno (itoa tno))
(setq sum (rtos sum 2 3))
(princ “nAdding “)
(princ tno)
(princ ” nTexts: “)
(princ “nThe Result is: “)
(princ sum)
(princ ” “)
(princ “nDo You Want Write it into the DWG? <y> “)
(setq z (strcase (getstring)))
(if (or (= z “”) (= z “Y”))
(progn
(setq pt (getpoint “nText Point: “))
(setq h (getvar “textsize”))
(prompt “nText Height: “)
(princ H)
(princ ” : “)
(setq z (getdist))
(if z
(setq h z)
)
(command “text”
(setq z pt)
(setq z h)
(setq z 0.0)
(setq z sum)
)
)
)
(setvar “cmdecho” 1)
(setvar “blipmode” 1)
(prin1))
텍스트합산 리습인데 혹시 소수점 1까지 표시하고 뒤에다가 m단위 붙을수있을까요?
공유
(setq sum (rtos sum 2 3))
-> (setq sum (strcat (rtos sum 2 1) ” m”))
감사합니다!