프로그램
캐드 분류

레이어 관련 리습이 오류가 납니다

컨텐츠 정보

본문

아래 리습의 명령어를 입력하면

error: no function definition: STR_MEMB

라고 뜹니다.

어디를 수정해야 할까요?ㅠㅠ




;——– ON / OFF
; LON : 모든레이어 켜기
; LF  : 선택하여 레이어 끄기 (다중선택 가능)
; LEO  : 선택한 나머지 객체의 레이어 끄기 (다중선택 가능)
;——– LOCK / UNLOCK
; LUK  : 모든레이어 잠금 해제
; LK  : 선택한 객체의 레이어 잠그기 (다중선택 가능)
; LKK  : 선택한 나머지 객체의 레이어 잠그기 (다중선택 가능)



;Layer On —————————————————————————————————————————–
(defun c:LON(/ cla ss k la-lis ed la k)
(setvar "cmdecho" 0)
(princ "n ::::: Layer On :::::")
(command "layer" "on" "*" "")
(princ "n ::::: Layer On completion :::::")
(princ)
) ;defun


;Layer Off —————————————————————————————————————————–
(defun c:LF(/ cla ss k la-lis ed la k)
(princ "n ::::: Layer Off :::::")
(setq cla (getvar "clayer"))
(setq ss (ssget))
(setq k 0 la-lis '())
(setvar "cmdecho" 0)
(repeat (sslength ss)
  (setq ed (entget (ssname ss k))
        la (cdr (assoc 8 ed)))
  (setq la-lis (append la-lis (list la)))
  (setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command "undo" "be")
(foreach x la-lis (progn
  (if (= x cla) (command "layer" "off" x "y" "")
   (command "layer" "off" x ""))
)
(princ "n[")(princ x)(princ "] layer is off.")
) ;foreach
(command "undo" "e")
(princ "n ::::: Layer Off completion :::::")
(princ)
) ;defun


;Layer Except Off —————————————————————————————————————————–
 (defun c:LEO(/ cla ss k la-lis ed la k)
(princ "n ::::: Layer Except Off :::::")
(setq cla (getvar "clayer"))
(setq ss (ssget))
(setq k 0 la-lis '())
(setvar "cmdecho" 0)
(repeat (sslength ss)
  (setq ed (entget (ssname ss k))
        la (cdr (assoc 8 ed)))
  (setq la-lis (append la-lis (list la)))
  (setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command "undo" "be")
(command "layer" "off" "*" "y" "")
(foreach x la-lis (progn
(command "layer" "on" x "")
)
(princ "n[")(princ x)(princ "] layer is on.")
) ;foreach
(command "undo" "e")
(princ "n ::::: Layer Except Off completion :::::")
(princ)
) ;defun


;Layer Unlock —————————————————————————————————————————–
(defun c:LUK(/ cla ss k la-lis ed la k)
(setvar "cmdecho" 0)
(princ "n ::::: Layer Unlock :::::")
(command "layer" "u" "*" "")
(princ "n ::::: Layer Unlock completion :::::")
(princ)
) ;defun


;Layer lock —————————————————————————————————————————–
(defun c:LK(/ cla ss k la-lis ed la k)
(princ "n ::::: Layer Lock :::::")
(setq cla (getvar "clayer"))
(setq ss (ssget))
(setq k 0 la-lis '())
(setvar "cmdecho" 0)
(repeat (sslength ss)
  (setq ed (entget (ssname ss k))
        la (cdr (assoc 8 ed)))
  (setq la-lis (append la-lis (list la)))
  (setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command "undo" "be")
(foreach x la-lis
  (progn
  (command "layer" "lo" x "")
  )
(princ "n[")(princ x)(princ "] layer is lock.")
) ;foreach
(command "undo" "e")
(princ "n ::::: Layer Lock completion :::::")
(princ)
) ;defun


;Layer Except Lock —————————————————————————————————————————–
 (defun c:LKK(/ cla ss k la-lis ed la k)
(princ "n ::::: Layer Except Lock :::::")
(setq cla (getvar "clayer"))
(setq ss (ssget))
(setq k 0 la-lis '())
(setvar "cmdecho" 0)
(repeat (sslength ss)
  (setq ed (entget (ssname ss k))
        la (cdr (assoc 8 ed)))
  (setq la-lis (append la-lis (list la)))
  (setq k (1+ k))
) ;repeat
(setq la-lis (str_memb la-lis))
(command "undo" "be")
(command "layer" "lo" "*" "")
(foreach x la-lis (progn
(command "layer" "u" x "")
)
(princ "n[")(princ x)(princ "] layer is unlock.")
) ;foreach
(command "undo" "e")
(princ "n ::::: Layer Except Lock completion :::::")
(princ)
) ;defun

관련자료

댓글 0
등록된 댓글이 없습니다.
여분필드1 여분필드2 여분필드3
전체 72 / 2 페이지
번호
제목
이름
알림 0