이 건 선택이 안되는 것입니다.
(defun c:zz ( / sl-ens fl p1 p3 ls hi temp layers ss layer_a laylist layer_l)
(defun sl-ens (ss) (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(defun foo (layers)
(ssget "x" (append (list (cons -4 "<OR")) (mapcar '(lambda (l) (cons 8 l)) layers) (list (cons -4 "OR>"))))
)
(setvar "cmdecho" 0)
(command "_.undo" "_be")
(princ " = LAYER ALL OFF")
(setq laylist (ai_table "LAYER" 4))
(foreach layer_a laylist
(if (eq 4 (logand 4 (cdr (assoc 70 (entget (tblobjname "LAYER" layer_a))))))
(setq llayers (cons layer_a llayers))
)
)
(sssetfirst)
(princ "\n객체 선택: ")
(while (and (not fl) (= 3 (car (setq p1 (grread nil 12 2)))))
(if (setq temp (ssget (setq p1 (cadr p1))))
(progn
(foreach en (sl-ens temp)
(setq layer (cdr (assoc 8 (entget en))))
(if (and (not (vl-position layer layers)) (not (vl-position layer llayers))) (setq layers (cons layer layers)))
)
(if (setq ss (foo layers)) (foreach en (sl-ens ss) (redraw en 3)))
)
(progn
(princ "\n반대 구석 지정: ")
(while (= 5 (car (setq p3 (grread t 13 0))))
(redraw)
(setq p3 (cadr p3))
(setq ls (list p1 (list (car p3) (cadr p1) (caddr p1)) p3 (list (car p1) (cadr p3) (caddr p1))))
(setq hi (if (< (car p1) (car p3)) 0 1))
(mapcar '(lambda ( a b ) (grdraw a b -1 hi)) ls (append (cdr ls) (list p1)))
)
(if (listp (setq p3 (cadr p3)))
(if (setq temp (ssget (if (< (car p1) (car p3)) "_W" "_C") p1 p3))
(progn
(foreach en (sl-ens temp)
(setq layer (cdr (assoc 8 (entget en))))
(if (and (not (vl-position layer layers)) (not (vl-position layer llayers))) (setq layers (cons layer layers)))
)
(if (setq ss (foo layers)) (foreach en (sl-ens ss) (redraw en 3)))
)
)
(setq fl t)
)
(redraw)
)
)
)
(redraw)
(if layers
(progn
(command "_.LAYER" "_off" "*" "y" "")
(foreach layer layers
(command "_.LAYER" "_on" layer "")
)
)
)
(command "undo" "e")
(setvar "cmdecho" 1)
(if (setq ss (ssget "x")) (foreach en (sl-ens ss) (redraw en 4)))
(princ)
)
댓글
댓글 리스트-
작성자아름이 작성시간 15.03.09 위 플그램은 layer all off 문구만 나오고 캐드화면은 아무 변화가 없습니다.
객체를 선택할때 (ssget ":L") 기능처럼 잠긴객체는 선택조차 안되게 하고 싶습니다. -
작성자서언호 작성자 본인 여부 작성자 작성시간 15.03.09 헐.. 그럼 작동을 안하는 거네요?
그럼.. zz 로 실행하면.. layer all off 만 나타나고.. "객체선택" 부터 작동되지 않고, 아무 반응이 없다는 말씀이세요?
오랜 만에 테스트까지 해보고 올린 건데..ㅠㅠ
혹시 몰라서 본글의 맨 아래 zz.lsp 를 올려 두었습니다.
작동이 되냐 안되냐는 수정할 방향과 상관있기 때문에.. 한번 더 테스트 부탁드릴 께요.. 저는 확실히 잘 됩니다. -
작성자아름이 작성시간 15.03.09 퇴근후 집에서 테스트해볼께요^^
-
작성자아름이 작성시간 15.03.09 언호님..오~~정말 잘되네요..너무 신기해요^^신기해서 여러번 테스트해보고 있습니다. 가끔 부탁드릴게요..(Your Winner!~이십니다.)
언호님..그런데.~객체선택후 엔터 안치고 ESC해도 HIGHLIGHT(점선)이 그대로 남아 있네요..regen을 해야 점선이 없어지네요..
ESC하면 점선이 없어지면 더 좋겠지만요^^ -
작성자서언호 작성자 본인 여부 작성자 작성시간 15.03.09 그건 원본을 최대한 존중해서 만들다 보니 그리 된 것입니다. 원본에도 그 현상은 있었거든요..
말씀하신 사항을 수정해서 답글로 올려 놓았습니다. 확인해 보시고 말씀해 주세요..