프로그램
캐드 분류

반복리습 while 적용

컨텐츠 정보

본문

(defun C:lof (/ lo cla)
      (setvar "cmdecho" 0)
       (princ " = LAYER OFF")
   (while  (setq lo (entsel))
       ;(setq lo (car lo))
       ;(setq lo (cdr (assoc 8 (entget lo))))
       (if lo
          (setq lo (cdr (assoc 8 (entget (car lo)))))
          (setq lo (strcase (getstring
                            "n>> If not, Type Layer Name :")))
       );;if
       (setq cla (getvar "clayer"))
       (if (= cla lo)
          (command ".LAYER" "s" "0″ "")
       );;if
       (command ".LAYER" "off" (setq lo lo) "")
       (setvar "cmdecho" 1)
       (prin1)
 ); while
)
리습은 인터넷에서 구해서 제가 약간 변형을 해서 사용을 하려합니다.  리습에 무한반복을 해서 사용을 하려합니다.  
while 이리습을 사용하면 반복되는거 같습니다. 
리습은 어떻게 해서 작동을 하는데 오류가 약간씩 발생합니다.
초보여서 정확히 어느위치에 넣는것인지 알수가 없네요. 부탁드립니다.  붉은색 부분이 제가수정한 곳입니다. 



명령: LOF  = LAYER OFF
객체 선택:  = LAYER OFF
객체 선택:
옵션 키워드가 유효하지 않음.
; 오류: 기능을 취소함
옵션 입력 [?/만들기(M)/설정(S)/새로 만들기(N)/이름바꾸기(R)/켜기(ON)/끄기(OFF)/색상(C)/선종류(L)/선가중치(LW)/투명도(TR)/재료(MAT)/플롯(P)/동결(F)/동결해제(T)/잠금(LO)/잠금해제(U)/상태(A)/설명(D)/조정(E)]:

관련자료

댓글 3

우기로기님의 댓글

"0″ 레이어가 현재 레이어이고 레이어 off 무한반복중 "0″ 레이어를 오프시켜야 하는 상황중에 발생하는 오류가 아닐까 생각합니다. (현재레이어는 끌수가 없거든요)

LEE Lisp님의 댓글

(defun C:lof (/ lo cla)
여분필드1 여분필드2 여분필드3
캐드 52 / 1 페이지
번호
제목
이름
알림 0