자꾸 물어보네요..
두가지 이상의 숫자를 곱하는 리습인데요..
곱해서 나온 결과 값을 어떤 문자를 바꾸면서 결과치가 나옵니다.
이렇게 말고 나온 값을 그냥 빈 공간에 클릭해서 결과 값이 나오게 수정 가능하나요?
(defun c:* (/ #a #b #index #c #d)
(vl-load-com)
(setq #a “”);;여기가 제외되는문자
(prompt “n≫≫≫곱셈할문자들을 선택:”)
(if (setq #b(ssget ‘((0 . “text”))))
(progn
(setq #index 0)
(repeat (sslength #b)
(setq #c(cons(atof(vl-string-subst “” #a(vla-get-textstring(vlax-ename->vla-object(ssname #b #index)))))#c))
(setq #index(1+ #index))
);;repeat
(setq #d(apply ‘* #c))
;;;(if(zerop(rem #d(fix #d)))
;;;(setq #d(itoa(fix #d)))
(setq #d(rtos #d 2 3)) ;소숫점 3자리까지 표현
;;;);;if
(vla-put-textstring(vlax-ename->vla-object(car(entsel “n≫≫≫ 교체될문자선택:”)))(strcat #a #d))
);;progn
);;if
);;defun
공유
(vl-load-com)
(setq #a “”);;여기가 제외되는문자
(prompt “n≫≫≫곱셈할문자들을 선택:”)
(if (setq #b(ssget ‘((0 . “text”))))
(progn
(setq #index 0)
(repeat (sslength #b)
(setq #c(cons(atof(vl-string-subst “” #a(vla-get-textstring(vlax-ename->vla-object(ssname #b #index)))))#c))
(setq #index(1+ #index))
);;repeat
(setq #d(apply ‘* #c))
;;;(if(zerop(rem #d(fix #d)))
;;;(setq #d(itoa(fix #d)))
(setq #d(rtos #d 2 3)) ;소숫점 3자리까지 표현
;;;);;if
;(vla-put-textstring(vlax-ename->vla-object(car(entsel “n≫≫≫ 교체될문자선택:”)))(strcat #a #d))
(Text (getpoint) 250 (strcat #a #d))
);;progn
);;if
);;defun
(entmakex (list (cons 0 “TEXT”)
(cons 10 pt)
(cons 40 hgt)
(cons 1 str))))
감사합니다!
죄송한데.. 결과 값의 문자 크기가 곱할 숫자의 동일한 크기로 나오게 할 순 없을까요?
(defun c:* (/ #a #b #index #c #d)
(vl-load-com)
(setq #a “”);;여기가 제외되는문자
(prompt “n≫≫≫곱셈할문자들을 선택:”)
(if (setq #b(ssget ‘((0 . “text”))))
(progn
(setq #index 0)
(repeat (sslength #b)
(setq #c(cons(atof(vl-string-subst “” #a(vla-get-textstring(setq #texth(vlax-ename->vla-object(ssname #b #index))))))#c))
(setq #testh (vla-get-height #texth))
(setq #index(1+ #index))
);;repeat
(setq #d(apply ‘* #c))
;;;(if(zerop(rem #d(fix #d)))
;;;(setq #d(itoa(fix #d)))
(setq #d(rtos #d 2 3)) ;소숫점 3자리까지 표현
;;;);;if
;(vla-put-textstring(vlax-ename->vla-object(car(entsel “n≫≫≫ 교체될문자선택:”)))(strcat #a #d))
(Text (getpoint) #testh (strcat #a #d))
);;progn
);;if
);;defun
(defun Text (pt hgt str)
(entmakex (list (cons 0 “TEXT”)
(cons 10 pt)
(cons 40 hgt)
(cons 1 str))))
최종 선택된 글자 크기를 따라갑니다~
감사합니다! 좋은 하루 되세요!