(defun c:ed() 익스플로드
(setvar “qaflags” 1 )
(setq ss (ssget))
(command “_.explode” ss “”)
(setvar “qaflags” 0 )
(princ)
);defun
;————————————————————
익스플로드 리습인데요
qaflags 변수가 1로변했다가 그다음 익스플로드를 하고, 그다음 qaflags 0으로 바뀌는 리습인데요..
현재 명령어 입력후에 캔슬눌러 취소하면 qaflags 변수가 1로 바뀌더라고요 …
*errer* 함수를 이용해서 취소 했을 시에도 0을 유지하고 싶습니다..
그리고 도중취소 하지 않은경우에도 명령어로 익스플로드 한 이후에 undo로 뒤로 돌아가서 블록이 꺠지기 전으로 돌아갈경우 qaflags 변수가 1로 바뀌어 버리더라구요 ㅜㅜ….
명령어 취소를 하던, undo를 하던 어떤경우에도 qaflags 변수를 0으로 유지하고싶습니다 ..
고수님들 도와주세요 ㅠㅠㅠㅠ 가장 많이 쓰는 명령어인데 문제가 있어 너무 슬프네요 ㅠㅠㅠㅠ
공유
제가 이리저리 만져보다가
(setvar “qaflags” 1 )
(setq ss (ssget))
이 두가지를 위치를 바꿔보았더니 실행취소 시에는 qaflags 변수가 1로 바뀌지 않네요 아마 다중선택 이후에 변수가 변경되는 함수가 들어가서 그런것 같습니다 …
그치만 undo 시에 qaflags1 을 거치지 않고 undo 하고싶네요 조언부탁드립니다 … ㅜㅜ
제 생각에는 (command “_.explode” ss “”) 이 줄에 qaflags 변수가 한줄에 들어가야 undo가 한번에 될것 같은데요 ㅠㅜㅜㅜㅜ 독학이라 잘 모르겟네요 ㅜㅜㅜㅜ
(defun *error* (msg)(princ “error: “)(princ msg)
(setvar “qaflags” 0)
(princ))
맨 밑에 붙여넣기하세요~
undo 시에도 qaflags변수가 0으로 유지되게 할순 없을까요 ???
1번 undo 하면 qaflag 변수가 1이되면서 블록이원상복구 되고,
2번째undo 해야만 qaflag 변수가 0으로 바뀝니다 .. ㅜㅜ
undo에 관란 리습문을 만들면 될듯한데 …
이것으로 테스트해보세요~
감사드립니다!! 이렇게하니까 해결되었습니다.!