아래는 동수아버님께서 주신 모따기 치수기입 리습입니다
그런데 여기다가 레이어를 추가 하고 싶은데요
(setq clay (getvar “clayer”)) -> 현재 레이어 저장
(setvar “clayer” “dim”) -> 레이어 변경
(setvar “clayer” clay) -> 원래대로
이런 문구를 넣어서 레이어를 추가하고 원래대로 복귀 시키려고 하는데
적용이 안되는군요 무엇이 문제 일까요?
(defun c:det (/ dch_sp1 dch_mp2 Now&orthomode)
(prompt “n ** << 모따기 자동 치수 기입 리습 >> **”)
(vl-load-com)
(setq Now&orthomode (getvar “orthomode”))
(vl-cmdf “dimtvp” “1” )
(setvar “dimzin” 0)
(setq Ent (nentsel))
(if (= (length Ent) 2)
(progn
(setq EntityList (entget (car Ent)))
(setq Pt1 (cdr (assoc 10 EntityList)))
(setq Pt2 (cdr (assoc 11 EntityList)))
)
(progn
(setq EntityList (entget (car Ent)))
(setq Pt1 (mcs->wcs (caddr Ent) (cdr (assoc 10 EntityList))))
(setq Pt2 (mcs->wcs (caddr Ent) (cdr (assoc 11 EntityList))))
)
)
(setq DimensionText (strcat “C” (rtos (* (distance Pt1 Pt2) (cos (/ (* 45.0 pi) 180.0))))))
(setq dch_sp1 (midp Pt1 Pt2))
(setvar “orthomode” 0)
(setq dch_mp2 (getpoint dch_sp1 “n Position Point:”))
(counter)
(vl-cmdf “_leader” dch_sp1 dch_mp2 “” “” “” DimensionText “” “”)
(setvar “dimtvp” 0)
(setvar “orthomode” Now&orthomode)
(princ)
)
(defun midp (pint1 pint2)
(setq midpx (/ (+ (car pint1) (car pint2)) 2.0)
midpy (/ (+ (cadr pint1) (cadr pint2)) 2.0)
)
(list midpx midpy)
)
(defun mcs->wcs (matrix edata / point pt1 pt2)
(setq pt1 (+ (* ((eval ‘CAR) (nth 0 matrix))(car edata))
(* ((eval ‘CAR) (nth 1 matrix))(cadr edata))
(* ((eval ‘CAR) (nth 2 matrix))(caddr edata))
(car (nth 3 matrix))))
(setq pt2 (+ (* ((eval ‘CADR) (nth 0 matrix))(car edata))
(* ((eval ‘CADR) (nth 1 matrix))(cadr edata))
(* ((eval ‘CADR) (nth 2 matrix))(caddr edata))
(cadr (nth 3 matrix))))
(setq point (list pt1 pt2))
point
)
(defun counter ( / qty)
(prompt “n☞NowChamfer[“) (prinC DimensionText)
(setq qty (getstring “] Q’ty? <1> : “))
(if (or (= qty “”) (= qty nil) (= qty “0”) (= qty “1”))
(setq DimensionText DimensionText)
(setq DimensionText (strcat qty “-” DimensionText))
)
)