안녕하세요.
설계를 하는데 워낙 부품수가 많다보니 품번 입력 리습을 찾고자 합니다.
현재 가지고 있는 리습은 시작 숫자와 원을 자동으로 그려주는 리습입니다.
이 리습에서 한가지 기능을 추가하고자 합니다.
문자를 하나 입력받아서 원하는 숫자부터 1씩 카운팅 해주는 겁니다.
현재도 원하는 숫자부터 1씩 카운터 기능은 있습니다.
즉, 원하는 문자를 받아서 숫자 앞에 같이 표기해 주는 리습입니다.
표기 방법은 A001, A002, P001, P002 이런식으로 4자리수 고정이었으면 합니다.
문자 주변은 원이어도 좋고 타원이면 더 좋습니다.
고수님들의 친절한 답변 부탁드리겠습니다.
(defun c:NT ()
(setq s_num (getstring “n 시작할 번호입력 : “))
(setq ts (getreal “n Text size : “))
(setq cs (* ts 1.5)) ; 원의 크기는 문자 크기의 1.5배
(if (= s_num “”) (setq s_num num) (setq num (itoa (1- (read s_num)))))
(while
(setvar “osmode” 0)
(setq txt_pt (getpoint “n Text insertion point: “))
(command “.text” txt_pt ts “” (if (not num) (setq num “0”) (setq num (itoa (1+ (read num)))))””)
(setq el (entlast))
(COMMAND “CHANGE” “L” “” “P” “C” “2” “”) ; 문자색상
(setq os (getvar “osmode”))
(setq ss (ssadd))
(ssadd el ss)
(setq k 0)
(setq en (ssname ss k))
(command “justifytext” en “” “mc”)
(setq en (ssname ss k))
(setq p1 (cdr (assoc 10 (entget en))))
(setq p2 (cdr (assoc 11 (entget en))))
(command “circle” p2 cs)
(COMMAND “CHANGE” “L” “” “P” “C” “2” “”) ;원의 색상
(setq k (+ k 1))
(setvar “osmode” os)
(princ)
)
)
공유
한번 사용해 보세요.