많은 도움을 받아 요정도까지만들었어요.
여기서
(setq ent (ssget)) 애는 명령어치고 선택해야하고
(setq ent (entlast) 애는 명령어치기 선택되어진 부제가 되는건데
전에 잡았던 객체중에 하나만 해당되더라구요 아마 프로그램상
가장 마지막에 잡혀있는 부재가 선택되어지는거라 판단되는데
명령어 치고 선택 할수도있고
선택하고 명령어쳐도 가능하게 끔
어떤식으로 수정해야하나요.
(defun c:vb (/ os ent bn ins )
(vl-load-com)
(command “-layer” “s” “0” “”)
(command “OSMODE” 16383)
(setq os (getvar “osmode”))
(setvar “cmdecho” 0)
(setq ent (ssget))
; (setq ent (entlast))
(command “chprop” ent “” “c” “bylayer” “lt” “bylayer” “la” “0” “”)
(command “-overkill” ent “” “D” )
(setq bn (getstring “n 블록 이름을 입력하세요 : “))
(setq ins (getpoint “n삽입점 : “))
(setvar “osmode” 0)
(command “block” bn ins ent “”)
(command “insert” bn ins 1 1 0)
(setq ent (entlast))
(if (= (tblsearch “layer” “!JK02_STR”) nil)
(command “-layer” “n” “!JK02_STR” “c” “2” “!JK02_STR” “l” “continuous” “1” “”)
(command “-layer” “c” “2” “!JK02_STR” “l” “continuous” “1” “”)
);endif
(command “chprop” ent “” “c” “bylayer” “lt” “bylayer” “la” “!JK02_STR” “”)
(prompt “nSet !JK02_STRLayer… “)
(command “-layer” “s” “!JK02_STR” “”)
(command “-layer” “off” “0” “”)
(setvar “osmode” os)
(princ)
) ;defun
(command “OSMODE” 16383) 요녀석 지우니까 되네요
(command “select” “p”)