파이를 입력해주는 리습인데
현재 리습은 첫번째점 클릭후 두번째 점 클릭해야 치수가 기입이 되는데
엔터 한번 치면 첫점 두번째점 없이 바로 치수를 기입되게 하려고 하는데
리습 초보이다 보니 고수님의 도움이 필요합니다
도와주세요
(DEFUN C:VHD(/ a b) ;;;수직/수평 지름치수
(COMMAND “LAYER” “S” “사용자레이어이름” “”)(SETVAR “DIMTOL” 0)
(setq a (getpoint “n First point”))
(setq b (getpoint a “n Second point”))
(COMMAND “dimlinear” a b “t” “%%c<>” pause) )
공유
오늘에서야 확인했어요 고수님 덕분에 잘 해결했네요
초보로 설명이 다소 부족했던점 이해해 주시기 바랍니다. 감사합니다.
처음부터 이렇게 풀어서 상세하게 질문하셨어야….
고수님의 소중한 답변 감사합니다.
그런데 제가 원한 것은 위 리습을 툴바로 사용중인데 객체 선택을 첫번째점 두번째점 클릭해서 치수를 기입이 가능하고 DIMLINEAR 처럼 엔터 두번 클릭으로 한번에 객체를 선택하게 하는 것을 원하는 것입니다.
수고스럽지만 다시 부탁드립니다.
치수 와 문자에 모두적용
——————————————————————
(defun c:vhd(/ os ss sslen ass1 otxt ntxt elist k)
(setvar “cmdecho” 0)
(setq os (getvar “osmode”))
(setvar “osmode” 0)
(prompt “n파이(Ø) 넣기할 치수나 문자선택-> “)
(setq ss (ssget))
(setq sslen (sslength ss) k 0)
(while (< k sslen)
(setq elist (entget (ssname ss k)) )
(setq ass1 (assoc 1 elist) otxt (cdr ass1) )
(if (= otxt “”) (setq otxt “<>”))
(if (and (= (wcmatch otxt “%%c*”) nil) (= (wcmatch otxt “%%C*”) nil))
(progn
(setq ntxt (strcat “%%C” otxt ) elist (subst (cons 1 ntxt) ass1 elist))
(entmod elist)
)
)
(setq k (+ K 1))
)
(setvar “osmode” os)
(prin1)
)