연속출력 캐드 리습 사용중인데
아래와 같이 플롯박스 만드는 리습에서
P_BOX 레이어를 플롯 안되게 하고 싶습니다.
어떻게 수정하면 플롯 안되는 레이어로 만들 수 있을까요…
작성 후에 수작업으로 플롯을 꺼도 되지만 리습에 포함시키면 편할 것 같아서요…
;;;
;;;
;;; 플롯박스 만들기
;;;
;;; P_BOX layer에 4각 폴리곤을 작성한다.
;;; 4각 폴리곤을 도면폼 외곽에 씌우면 차후에 일괄출력에 활용가능하다.
;;;
;;;
(defun c:mb()
(setq cla (getvar “clayer”))
(if (= (tblsearch “layer” “P_BOX”) nil)
(progn
(command “-layer” “n” “P_BOX” “c” “3” “P_BOX” “”)
(setvar “clayer” “P_BOX”)
)
(setvar “clayer” “P_BOX”)
)
(setq pt1 (getpoint “원점-?”))
(setq pt2 (getcorner pt1 “대각선점-?”))
(command “rectangle” pt1 pt2)
(setvar “clayer” cla)
)
저랑 비슷한 리습을 만들고 계시네요…
아이디어에 대한 도움을 조금 드리자면,
레지스트리를 이용해서, 마치 환경변수처럼 작동하는 키를 만드는 것을 추천합니다.
(defun c:patho ()
(vl-registry-write “HKEY_CURRENT_USER\Software\VB and VBA Program Settings\myapp\PlotOp” “PathPlot” “O” ) ;
);
(defun c:pathx ()
(vl-registry-write “HKEY_CURRENT_USER\Software\VB and VBA Program Settings\myapp\PlotOp” “PathPlot” “X” ) ;
);
대충 저런식으로, 명령어 2개를 만들어 주신 다음에…
(setq fppp (vl-registry-read “HKEY_CURRENT_USER\Software\VB and VBA Program Settings\myapp\PlotOp” “PathPlot”))
(if (= fppp nil) (setq fppp “”) )
플롯 실행 코드 초반에 위 코드를 삽입해줍니다.
그러면 fppp 변수값에 따라서, 플롯여부를 결정할 수 있습니다.
아래는 제 유튜브의 플롯리습 동영상 링크입니다. 도움 되실 듯 하여 링크합니다.
https://www.youtube.com/watch?v=_rqw_tjrw1o