특정 단어가 들어가는 레이어 한번에 동결 및 동결해제 리습
페이지 정보
작성자 zwcad사용자 작성일 23-05-26 15:53 조회 2,335 댓글 3본문
캐드 프로그램 종류, 버전: zwcad 2023에서 테스트 완료
챗봇으로 만들어본 리습입니다
예시로 작성된 코드는 "BACK"이 들어가는 레이어를 전부 동결(단축키 B4) 및 동결해제(단축키 B5)하는 리습입니다
BACK 부분을 다른 특정 단어로 변경하여 사용하시면 됩니다
vla-put-Freeze 부분을 vla-put layeron으로 변경하면 레이어 on,off
vla-put-lock으로 변경하면 레이어 lock,unlock도 가능합니다
(defun C:B4 ()
(setq layers (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for layer layers
(setq name (strcase (vla-get-name layer)))
(if (/= (vl-string-search "BACK" name) nil)
(vla-put-Freeze layer :vlax-true)))
(princ "\nBACK 레이어 동결 완료.")
(princ)
)
(defun C:B5 ()
(setq layers (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for layer layers
(setq name (strcase (vla-get-name layer)))
(if (/= (vl-string-search "BACK" name) nil)
(vla-put-Freeze layer :vlax-false)))
(princ "\nBACK 레이어 동결해제 완료.")
(princ)
)
챗봇으로 만들어본 리습입니다
예시로 작성된 코드는 "BACK"이 들어가는 레이어를 전부 동결(단축키 B4) 및 동결해제(단축키 B5)하는 리습입니다
BACK 부분을 다른 특정 단어로 변경하여 사용하시면 됩니다
vla-put-Freeze 부분을 vla-put layeron으로 변경하면 레이어 on,off
vla-put-lock으로 변경하면 레이어 lock,unlock도 가능합니다
(defun C:B4 ()
(setq layers (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for layer layers
(setq name (strcase (vla-get-name layer)))
(if (/= (vl-string-search "BACK" name) nil)
(vla-put-Freeze layer :vlax-true)))
(princ "\nBACK 레이어 동결 완료.")
(princ)
)
(defun C:B5 ()
(setq layers (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for layer layers
(setq name (strcase (vla-get-name layer)))
(if (/= (vl-string-search "BACK" name) nil)
(vla-put-Freeze layer :vlax-false)))
(princ "\nBACK 레이어 동결해제 완료.")
(princ)
)
댓글목록 3
이자더님의 댓글
이자더 작성일
GPT 를 이용하시되, 최소한의 리습을 만들 수 있을 정도의 지식은 있으셔야 합니다.
저도 호기심에 몇번 해 보았는데, 그 자체로는 구동되지 않는 리습을 만들더라고요.
썸원님의 댓글
썸원 작성일우와!! 파일 원볼파일 레이서 설정 바꾸면 파일 하나하나 켜서 레이어하나하나 동결 시키느라 허비하는 시간이 많았는데, 정말 유용합니다!!