;센타선그리기
(defun C:CE (/ olderr clay sblip scmde e cen rad d ts xx)
(princ “*** Circle ot Arc Center Line drawingn”)
(prompt “n*** Edit by Myeong Seon ENG.”)
(setq os (getvar “osmode”))
(setq la (getvar “clayer”))
(setq sblip (getvar “BLIPMODE”)) (setq cla (getvar “clayer”))
(setq scmde (getvar “CMDECHO”))(setvar “CMDECHO” 0) (setvar “osmode” 0)
(setq e nil xx “Yes”)(setq ts (tblsearch “LAYER” “C”))
(if (null ts)(prompt “n* Creating new layer – C”)(progn
(if (= (logand 1 (cdr (assoc 70 ts))) 1)(progn
(prompt “n* Layer CENTER is frozen. “)(initget “Yes No”)
(setq xx (getkword “nProceed (Y/N) <No>: “))
(if (= xx “Yes”)(command “LAYER” “T” “C” “”))))))
(if (= xx “Yes”)(progn (while (null e)
(setq e (entsel “n* Select arc or circle: “))
(if e (progn (setq e (car e))(if (and
(/= (cdr (assoc 0 (entget e))) “ARC”)
(/= (cdr (assoc 0 (entget e))) “CIRCLE”))
(progn (prompt “n* Entity is a “)
(princ (cdr (assoc 0 (entget e)))) (setq e nil))))))
(setq cen (cdr (assoc 10 (entget e))))
(setq rad (cdr (assoc 40 (entget e))))
(prompt “n* Radius is “)(princ (rtos rad))
(initget 7 “Length”)
(setq d (getdist “nLength/<Extension>: “))
(if (= d “Length”)(progn (initget 7)
(setq d (getdist cen “nLength: “)))
(setq d (+ rad d)))(setvar “BLIPMODE” 0)(command “LAYER” “M” “C” “”)
(command “LINE” (list (car cen) (- (cadr cen) d))
(list (car cen) (+ (cadr cen) d)) “” )
(command “LINE” (list (- (car cen) d) (cadr cen))
(list (+ (car cen) d) (cadr cen)) “” )))
(setvar “BLIPMODE” sblip) (setvar “CMDECHO” scmde) (setvar “osmode” osm) (setvar “clayer” la)
(princ))
제목 그대로 리습 시작할때 레이어가 w 였다면 실행후 w 로 끝나지 않고 지금은 c 로끝이나네요 계속…
공유
(setvar “osmode” os) 로 바꾸세요
감사합니다 ㅠㅠ