아래 내용은 저희 사무실에서 쓰고 있는 리섭의 일부입니다.
이것 또한 다른곳에서 퍼온것을 수정해서 사용하고 있습니다만..
이번에 새로 레이어를 타회사와 맞추기 위해 레이어 변경을 하게 되었습니다.
기존에는 만약 1번 명령과 1번 레이어 명이 동일시에는 대상을 지정하고 1번치고 엔터
치면 바로 1번 레이어로 바뀌었습니다만…
1번 레이어 이름은 바뀐후에는 1번 명령이 사용이 안되더군요..
텍스트 말구 숫자만 사용되는것인지…궁굼하군요..
보시면 알겠지만 만약 1번을 명령했을때…Loewr-continuous 란 이름의 레이어로
바로 바뀌게 할려면 어떻게 해야하는지 고수님의 지도 바랍니다.
(예)))))))일부분입니다.
(defun c:y77() (command “layer” “s” “Pnl_adri” “”)(princ))
(defun c:y8() (command “layer” “s” “Center” “”)(princ))
(defun c:y88() (command “layer” “s” “Panel” “”)(princ))
(defun c:y9() (command “layer” “s” “Cam-continuous” “”)(princ))
(defun c:y99() (command “layer” “s” “Cam-hidden” “”)(princ)) —->이명령어는 사용이 되며 이해가 갑니다..
(defun c:1() (ssget) (command “change” “p” “” “p” “la” Loewr-continuous “”)) —-> 여기서 부터 명령어가 실행 안됩니다.
(defun c:11() (ssget) (command “change” “P” “” “P” “LA” Lower-hidden “”))
(defun c:2() (ssget) (command “change” “P” “” “P” “LA” Upper-continuous “”))
(defun c:22() (ssget) (command “change” “P” “” “p” “la” Upper-hidden “”))
(defun c:3() (ssget) (command “change” “P” “” “P” “la” Pad-continuous “”))
(defun c:33() (ssget) (command “change” “p” “” “p” “la” Pad-hidden “”))
(defun c:4() (ssget) (command “change” “p” “” “p” “la” Insert-continuous “”))
(defun c:44() (ssget) (command “change” “p” “” “p” “la” Insert-hidden “”))
(defun c:5() (ssget) (command “change” “p” “” “p” “la” Std-continuous “”))
(defun c:55() (ssget) (command “change” “p” “” “p” “la” Std-hidden “”))
(defun c:6() (ssget) (command “change” “p” “” “p” “la” Phantom “”))
(defun c:66() (ssget) (command “change” “p” “” “p” “la” Note-dim “”))
(defun c:7() (ssget) (command “change” “P” “” “P” “LA” Pro-file “”))
(defun c:77() (ssget) (command “change” “P” “” “p” “la” Pnl_adri “”))
(defun c:8() (ssget) (command “change” “p” “” “p” “la” Center “”))
(defun c:88() (ssget) (command “change” “P” “” “P” “LA” Panel “”))
(defun c:9() (ssget) (command “change” “P” “” “p” “la” Cam-continuous “”))
(defun c:99() (ssget) (command “change” “p” “” “p” “la” Cam-hidden “”))
;
(defun c:th (/ s l chk index l1 s2 high olderr ) —->여기서 부터 함수가 이뤄지는것 같은데 어렵군요…
(setq olderr *error*
*error* chgterr)
(setq s (ssget))
(if (/= s nil)
(progn
(setq l (sslength s))
(setq high (getreal “Enter change Text high : “))
(setq index 0)
(setvar “cmdecho” 0)
(command “undo” “group”)
(repeat l
(setq s2 (entget (ssname s index)))
(setq index (1+ index))
(setq chk (cdr (assoc 0 s2)))
(if (= chk “TEXT”)
(progn
(setq s2(subst (cons 40 high) (assoc 40 s2) s2))
(entmod s2)
)
)
)
(command “undo” “end”)
(setvar “cmdecho” 1)
)
)
(setq *error* olderr)
(princ)
)
; CHGTEXT.LSP: CHANGE TEXT PROGRAM
(defun c:ct (/ p l n e as os ns st s osl nsl sl si chi chf chm)
(setq p (ssget))
(if p
(progn (setq osl (strlen (setq os (getstring “nOld string: ” t))))
(setq nsl (strlen (setq ns (getstring “nNew string: ” t))))
(setq l 0 chi 0 chm 0 n (sslength p))
(if (/= os “”)
(progn
(while (< l n)
(if (= “TEXT” (cdr (assoc 0 (setq e (entget (ssname p l))))))
(progn
(setq chf nil si 1)
(setq s (cdr (setq as (assoc 1 e))))
(while (= osl
(setq sl (strlen (setq st (substr s si osl)))))
(if (= st os)
(progn
(setq s (strcat (substr s 1 (1- si))
ns (substr s (+ si osl))))
(setq si (+ si (- nsl 1)))
(setq chf T)
(setq chi (1+ chi))
)
)
(setq si (1+ si))
)
(if chf
(progn
(setq e (subst (cons 1 s) as e))
(entmod e)
(setq chm (1+ chm))
)
)
)
)
(setq l (1+ l))
)
)
)
)
)
(terpri)
(princ “Chnaged “)(princ chi)
(princ ” place(s) on “) (princ chm)
(princ ” text line.”)
(princ)
)
(defun c:sk (/ st ang sz nm pt1 pt2)
(setvar “cmdecho” 0)
(graphscr)
(setvar “blipmode” 1)
(setvar “osmode” 512)
(setq st (getpoint “nStart point: “)
ang (getangle st “nEnter angle or point: “)
sz (getdist st “nEnter size: “)
nm (getint “nEnter number of samkak: “)
)
(setvar “osmode” 0)
(setvar “blipmode” 0)
(repeat nm
(setq pt1 (polar st (+ ang (dtr 60)) sz)
pt2 (polar pt1 (+ ang (dtr 180)) sz))
(command “line” st pt1 pt2 “c”)
(setq st (polar st ang sz))
)
(setvar “blipmode” 1)
(setvar “cmdecho” 1)
(princ)
)
(defun c:varsav()
(setq curcol (getvar “cecolor”))
(setq curlay (getvar “clayer”))
(setq curlt (getvar “celtype”))
(setq cursnp (getvar “snapmode”))
(setq curcrd (getvar “coords”))
(setq curape (getvar “aperture”))
(setq curpik (getvar “pickbox”))
)
(defun c:varres()
(command “color” (read curcol))
(command “layer” “s” curlay “”)
(command “linetype” “s” curlt “”)
(setvar “orthomode” curoth)
(setvar “coords” curcrd)
(setvar “aperture” curape)
(setvar “pickbox” curpik)
)
(defun c:clear(/ i item)
(setq i 0)
(while (not (equal (setq item (nth i atomlist)) ‘c:clear))
(if (= (type (eval item)) ‘file)
(close (eval item)))
(setq i (1+ i))
)
(setq atomlist (member ‘c:clear atomlist))
(princ)
)
(vmon)
(defun kang( )
(command “layer” “n” “1” “n” “2” “n” “3” “n” “4” “n” “5” “n” “6” “”)
(command “layer” “c” “7” “0” “c” “3” “1” “c” “2” “2” “c” “1” “3” “c” “5” “4” “c” “6” “5” “c” “4” “6” “”)
(command “layer” “l” “hidden” “2” “l” “center” “3” “l” “phantom” “4” “”)
)
(vmon)
(defun c:no( )
(graphscr)
(setq olderr *error* *error* newerr)
(setq oblip(getvar “blipmode”))
(setq ocmd (getvar “CMDECHO”))
(setq osp1 (getvar “osmode”) olay(getvar “clayer”))
(setvar “blipmode” 0)
(setvar “cmdecho” 0)
(setvar “osmode” 0)
(kang)
(setq kdang(dtr 9))
(setq kds4 8.0)
(setq kds2(getpoint “nPick start point of Arrow line :”))
(setq kds3(getpoint “nPick center point of circle:”))
(setq kdist(distance kds2 kds3))
(setq kdang1(angle kds2 kds3))
; (prompt “nDiameter of circle ? <“)(princ kds1)(princ “> :”)(princ)
; (setq kds4(getreal))
(setq kdtxt(getstring “nEnter numbering :”))
; (if (= kds4 nil)(setq kds4 kds1)(setq kds1 kds4))
(setq kdist(- kdist (/ kds4 2.0)))
(setq kdang2(- kdang1 kdang) kdang3(+ kdang1 kdang))
(setq kpt1(polar kds2 kdang2 3.0) kpt2(polar kds2 kdang3 3.0))
(setq kpt3(polar kds2 kdang1 kdist))
(setq kh(* (/ 3.0 8.0) kds4))
(command “layer” “s” “1” “”)
(command “circle” kds3 “d” kds4)
(command “solid” kpt1 kds2 kpt2 “” “”)
(command “line” kds2 kpt3 “”)
(command “layer” “s” “0” “”)
(command “text” “mc” kds3 kh “0” kdtxt “”)
(setvar “blipmode” oblip)
(setvar “osmode” osp1)
(setvar “CMDECHO” ocmd) ; Restore saved mode
(command “layer” “s” olay “”)
(setq *error* olderr) ; Restore old *error* handler
(prin1)
)