치수선을 더해주는 리습을 사용하고 있습니다.
다른 때는 괜찮은데,
예를 들면, 123.45 이런식으로 소숫점 이하로 표기되는 숫자나 치수들은
“알 수 없는 명령 “5”. 도움말을 보려면 F1을 누르십시오.”
이라고 명령창에 뜹니다. 혹시 이걸 해결하기위해서는 어떻게 해야될까요?
도움 부탁드립니다.
(defun c:dn(/ lts th ss k sum ed x42)
(setq lts (getvar “ltscale”))
(setq th (* lts 3))
(setq ss (ssget (list (cons 0 “dimension”))))
(setq k 0)
(setq sum 0)
(repeat (sslength ss)
(setq ed (entget (ssname ss k)))
(setq x42 (cdr (assoc 42 ed)))
(setq sum (+ sum x42))
(setq k (1+ k))
)
(setq sum (rtos sum 2 2))
(command “text” (getpoint “n텍스트위치클릭:”) th “” sum)
(princ)
)
낭만파두목Lv.0
치수선 더해주는 리습 소숫점 오류
공유
(defun c:dn (/ lts th ss p)
(vl-load-com)
(setq acObj (vlax-get-acad-object))
(setq acDoc (vla-get-activedocument acObj))
(setq acSpc (vlax-get acDoc (if (= 1 (getvar ‘CVPORT)) ‘paperspace ‘modelspace)))
(setq lts (getvar “ltscale”))
(setq th (* lts 3))
(setq ss (ssget (list (cons 0 “dimension”))))
(setq p (getpoint “n 문자 위치: “))
(vlax-invoke acSpc ‘AddText
(rtos
(apply ‘+
(mapcar
(function (lambda (o)(vla-get-Measurement o)))
(mapcar ‘vlax-ename->vla-object
(vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))
)
)
) 2 2
)
p th
)(princ)
)
감사합니다^^ 근데, 문자높이가 1.5로 나오는데 이걸 좀더 크게 할 수는 없나요?
(setq lts (getvar “ltscale”)) ;<- 이 문장이 문자크기를 결정하는 요인입니다.
ltscale값에 곱하기 3이 문자크기입니다.
감사합니다. 도움이 많이 되었습니다.^^