(defun c:++(/ ob n i a sum num t1 t2)
(setq ob (ssget ‘((0 . “TEXT”))))
(setq n (sslength ob))
(setq i 0)
(setq sum 0)
(setq t2 (cdr (assoc 40 (entget (ssname ob 0)))))
(while (< i n)
(setq a (cdr (assoc 1 (entget (ssname ob i)))))
(setq num (atof a))
(setq sum (+ sum num))
(setq i (+ 1 i))
);while
(setq t1 (rtos sum 2 5))
(command “Text”(getpoint “n 지점 선택”) t2 “” t1)
(princ)
)
더하는 리습입니다.
몇가지 부족한 부분들이 있어서요..
1. 먼저 캐드에서 예를 들어 3이란 숫자와 3,000이라는 숫자를 더하면 3,003이 나와야하는데
6.00000이 나옵니다. 자리수를 뜻하는 “,”가 영향이 있어요. 3,003이 나오게 할려면 어떻게 하는지..
2. MTEXT에 들어가 있는 숫자도 인식할 수 있게도 가능한가요?
이것도 예를 들면 “3(TEXT)” + “3(MTEXT)” -> 6이 나오게 하고 싶습니다.
3. “++”라는 명령어로 “3” + “3” = 6이라는 결과를 얻고, 다시 enter(space)를 눌러 재명령을 하면
6이 다시 입력이 됩니다. 왜 그런건지.. 그리고 다시 enter(space)를 누르면 재명령이 안됩니다.
.. 고수님들 한수 부탁드립니다!
맛있는돌김Lv.0
더하기 리습입니다. 수정이나 코멘트 좀 부탁드려요.
공유
1. 컴마가 있을수도 있고 없을수도 있는 경우의 수가 있네요 컴마있는수과 없는수의 더하기
제가 모르는 방식의 함수들이 추가되었네요.
공부 열심히 하겠습니다.
조언 감사드립니다!