소수점자리 정리하는 리습입니다.
문제는 천단위표시(,)가 있는 숫자는 천단위 이후의 숫자를 인식을 못하네요.
예) 1,234.56 -> 1.00 으로 소수점 정리가 됩니다.
도와주세요. ^^
(defun c:dd (/ ss te i na lis typ text hi te1 te2 new newlis)
(setvar “dimzin” 1)
(princ “n>>> 텍스트 선택 하세요…”)
(setvar “dimzin” 1)
(princ “n>>> 텍스트 선택 하세요…”)
(setq ss (ssget))
(setq te (getint “n>>> 소숫점자리 설정값 입력 : “))
(setq i 0)
(while (ssname ss i)
(setq na (ssname ss i))
(setq lis (entget na))
(setq typ (assoc 0 lis))
(setq text (cdr typ))
(if (= text “TEXT”)
(progn
(setq hi (assoc 1 lis))
(setq te1 (cdr hi))
(setq te2 (rtos (atof te1) 2 te))
(setq new (cons (car hi) te2))
(setq newlis (subst new hi lis))
(entmod newlis)
) ;progn
) ;if
(setq i (+ i 1))
) ;while
(princ)
) ;defun
일단, 첨부는 VisualLISP 함수 적용해서 맹글어 본긴데… 참고하세요. (파일내에 주석 달아놨으니 LISP 에 조금이라도 지식이 있으시면 충분히 이해가 될 것입니다.)
아… 근데… 보다보니까… 숫자가 음수일 경우 문제가 있어서 수정해서 다시 첨부했습니다. 이 파일을 사용하세요.
안녕하세요 이 리습 쓰고싶은데