리습중 사칙연산 사용시 여러줄 문자 적용 안되는 문제 발생
컨텐츠 정보
- 536 조회
- 2 댓글
- 0 추천
- 0 비추천
- 목록
본문
리습 중 사칙연산 리습인데요
2015에서 선택 문자가 여러줄 문자일시에 계산이 안되고 0으로 나오고 있습니다.
선택문자가 "문자" 일경우는 제대로 연산이 되고요
현재 리습을 여러줄 문자에도 가능하게끔 변경이 가능할까요
또한 여러 숫자 한번에 – 연산이 가능한지도 궁금합니다.
100개의 숫자를 한번에 클릭하여 -한값을 클릭한 위치에 순서대로 나열이 가능한가요?
염치없지만 고수님들의 도움 부탁드립니다.
;*********************** ADDING THE NUMBERS PROGRAM ************************
(DEFUN C:+(/ z ss sno no tno sum x entity etype num h pt cc ly te hh dz)
;->*error* start
(defun *error* (msg)(princ "error: ")(princ msg)
(setvar "osmode" os)(setvar "blipmode" bl)(setvar "dimzin" dz)
(princ))
;-<*error* end
(SETVAR "CMDECHO" 0)
; (setq nd (getint "n>>>Number of digits to right of decimal point(0-8) : "))
(prompt "n>>> 숫자 더하기….")
(setq dz (getvar "dimzin") os (getvar "osmode") bl (getvar "blipmode"))
(setvar "dimzin" 0) ; 소수점이하 "0″을 표현함.
(setq nd 0)
(prompt "n……Select 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 nd))
(setq pt (getpoint "n>>> Text Point : "))
(setq cc (getvar "clayer"))
(setq ly (tblsearch "layer" "TEXT")) ;"레이어를 검색 없으면 레이어 생성
(if (= ly nil) (command "-layer" "m" "text" "c" "3″ "" "l" "continuous" "" "")
)
(setvar "clayer" "text") ;<= 현재 레이어를 변경한다.
(setq te (tblsearch "style" "HY울릉도L")) ;"style을 검색 없으면 style 생성
(if te (progn
(command "-style" "HY울릉도L" "H2WULL.TTF" "0″ "1″ "0″ "n" "n")
))
(SETQ Hh (GETVAR "LTSCALE"))
(setq h (* hh 3))
(SETQ H (GETVAR "TEXTSIZE"))
(prompt "n>>> Text Height <")
(princ H)
(princ "> : ")
(setq Z (getdist))
(if Z
(setq H Z)
)
(COMMAND "TEXT" "J" "R"
(SETQ Z PT)
(SETQ Z H)
(SETQ Z 0.0)
(SETQ Z sum)
)
(setvar "clayer" cc)
(setvar "osmode" os)(setvar "blipmode" bl)
(setvar "dimzin" dz)
(PRIN1)
)
;*********************** ADDING THE NUMBERS PROGRAM ************************
(DEFUN C:- (/ z ss sno no tno sum x entity etype num h pt cc ly te hh k s sn n tn su y entit etyp nu dz)
;->*error* start
(defun *error* (msg)(princ "error: ")(princ msg)
(setvar "osmode" os)(setvar "blipmode" bl)(setvar "dimzin" dz)
(princ))
;-<*error* end
(SETVAR "CMDECHO" 0)
; (setq nd (getint "n>>>Number of digits to right of decimal point(0-8) : "))
(prompt "n>>> 숫자 빼기 ….")
(setq dz (getvar "dimzin") os (getvar "osmode") bl (getvar "blipmode"))
(setvar "dimzin" 0) ; 소수점이하 "0″을 표현함.
(setq nd 0)
(prompt "n……Select A 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))
(prompt "n……Select B Text : ")
(setq s (ssget))
(setq sn (sslength s))
(setq n 0)
(setq su 0.0)
(setq tn 0)
(repeat sn
(setq y (ssname s n))
(setq etyp (cdr (assoc 0 (entget y))))
(if (= etyp "TEXT")
(progn
(setq entit (entget y))
(setq nu (cdr (assoc 1 entit)))
(setq nu (atof nu))
(setq su (+ su nu))
(setq tn (1+ tn))
)
)
(setq n (1+ n))
)
(setq tn (itoa tn))
(setq k (- sum su))
(setq k (rtos k 2 nd))
(setq pt (getpoint "n>>> Text Point : "))
(setq cc (getvar "clayer"))
(setq ly (tblsearch "layer" "TEXT")) ;"레이어를 검색 없으면 레이어 생성
(if (= ly nil) (command "-layer" "m" "text" "c" "3″ "" "l" "continuous" "" "")
)
(setvar "clayer" "text") ;<= 현재 레이어를 변경한다.
(setq te (tblsearch "style" "HY울릉도L")) ;"style을 검색 없으면 style 생성
(if te (progn
(command "-style" "HY울릉도L" "H2WULL.TTF" "0″ "1″ "0″ "n" "n")
))
(SETQ Hh (GETVAR "ltscale"))
(setq h (* hh 3))
(SETQ H (GETVAR "TEXTSIZE"))
(prompt "n>>> Text Height <")
(princ H)
(princ "> : ")
(setq Z (getdist))
(if Z
(setq H Z)
)
(COMMAND "TEXT" "J" "R"
(SETQ Z PT)
(SETQ Z H)
(SETQ Z 0.0)
(SETQ Z k)
)
(setvar "clayer" cc)
(setvar "osmode" os)(setvar "blipmode" bl)
(setvar "dimzin" dz)
(PRIN1)
)