제가 사용하는 숫자 더해주는 리습인데 매번 포인트랑 입력하려니 불편해서
그냥 명령어치고 더할 숫자들 클릭한 후 엔터누르면 상태창에 소수점 첫째자리나 둘째자리까지 길이가 바로 나오게 만들고 싶습니다.
어떻게 하면 될까요?
—————————————————————————————————————–
(defun c:tsum (/ 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))
(defun c:bcc()
;; / tr tp blist bn bsc ss con)
(setvar “cmdecho” 0)
(setq TR(entsel “nSelect tree to count:”))
(setq blist(entget (car TR)))
(setq bn (cdr(assoc 2 blist)))
(setq bsc(cdr(assoc 41 blist)))
(setq con(list (cons 2 bn)(cons 41 bsc)))
(setq ss (ssget “x” con))
(setq str (sslength ss))
(setq str (itoa str))
(setq ans (getstring “nNew or Change <C>: “))
(if (or (= ans “n”)(= ans “N”))
(progn
(setq tss (getvar “textsize”))
(setq p1 (getpoint “nPick the text point :”))
(command “text” p1 tss “” str)
)
(progn
(setq stt (entsel “nSelect text to change :”))
(adt str)
)
)
(princ “nType ‘bcc’ to Count Tree …”)
(princ)
)
(defun adt (str)
(setq ent (entget (car stt)))
(setq ass (assoc 1 ent))
(setq as1 (cdr ass))
(setq con (cons 1 str))
(setq sub (subst con ass ent))
(entmod sub)
(prin1)
)
(princ “nType ‘bcc’ to Count Tree …”)
(princ)
AutoCAD 2016 이니까… VLA 함수 적용해서 간단하게 만들었고, 주석 달아놨습니다.
참고해서, 필요한 부분 손 봐서 사용하시면 될 듯 합니다.
즐거운 시간 되세요.