14에서 쓰던 리습인데요~
2002에서는 가능했었는데…
2004에서는 어떡게 적용을 해야할지….
알려주세용~~~
여기서…lo, lff,lf 이것만 사용해도 좋겠는데…어떡하믄 될까용???
;***************************
;degree to radian
(defun DTR(A)
(* Pi (/ A 180.0))
)
;***************************
(defun rtd (A)
(* 180.0 (/ A Pi))
)
;***************************
(DEFUN TAN (A)
(/ (SIN A) (COS A))
)
(setq env_var “C:\program Files\ishopdwg\”)
(load (strcat env_var “kbh”))
;—————————————————————————
***********Autocad commnad re-define***************************************
;—————————————————————————
(defun c:ss() (command “snap” “s” “s” “” “snap” “off”)(princ))
(defun c:si() (command “snap” “s” “i” “” “snap” “off”)(princ))
(DEFUN C:SA() (COMMAND “SAVE” “”)(PRINC))
(DEFUN C:DM() (COMMAND “DTEXT” “J” “MC”)(PRINC))
(DEFUN C:EI() (COMMAND “ELLIPSE” “I”)(PRINC))
(DEFUN C:UE() (COMMAND “UCS” “E”)(PRINC))
(defun S::STARTUP ()
(setvar “cmdecho” 0)
(setvar “cmdecho” 1)
(PRINC)
)
;***************************************************************
(defun C:ON()
(setvar “cmdecho” 0)
(princ ” OSNAP NONE”)
(command “osnap” “none”) (prin1))
(defun C:OM()
(setvar “cmdecho” 0)
(princ ” OSNAP MID”)
(command “osnap” “mid”) (prin1))
(defun C:OI()
(setvar “cmdecho” 0)
(princ ” OSNAP INT”)
(command “osnap” “int”) (prin1))
(defun C:OE()
(setvar “cmdecho” 0)
(princ ” OSNAP ENDP”)
(command “osnap” “endp”) (prin1))
(defun C:OC()
(setvar “cmdecho” 0)
(princ ” OSNAP CEN”)
(command “osnap” “cen”) (prin1))
(defun C:W()
(setvar “cmdecho” 0)(terpri)
(princ ” ^_~ ZOOM WINDOW”)
(command “zoom” “w”) (prin1))
(defun C:P()
(setvar “cmdecho” 0)(terpri)
(princ ” ~_^ ZOOM PREVIOUS”)
(command “zoom” “p”) (prin1))
(defun C:ZD()
(setvar “cmdecho” 0)(terpri)
(princ ” ~_~ ZOOM DYNAMIC”)
(command “zoom” “d”) (prin1))
(defun C:ZE()
(setvar “cmdecho” 0)(terpri)
(princ ” ^_^ ZOOM EXTENTS”)
(command “zoom” “e”) (prin1))
(defun C:B(/ ss sno pt1 pt2 no x)(princ ” = BREAK2P”)
(setq ss (ssget))
(setq sno (sslength ss))
(setq pt1 (getpoint “n>>> Enter 1st Point : “))
(setq pt2 (getpoint pt1 “n>>> Enter 2nd Point : “))
(setq no 0)
(repeat sno
(setq x (ssname ss no))
(command “break” x pt1 pt2)
(setq no (1+ no))
)(prin1))
(defun C:IB(/ z)(princ ” = Block Insert”)
(setq z (getstring “n>>>Block Name (or ?): “))
(if (= z “?”)
(command “insert” “?”)
(command “insert”
(setq z (strcat “c:/acad12/block/” z)))
)(prin1))
(defun C:BY()(princ ” = ByLayer”)
(setq ss (ssget))
(command “change” “p” “” “p” “lt” “bylayer” “c” “bylayer” “”)
(prin1))
;(defun hanKeystr (Tif msg / returncode buf buflen Loop)
; (setq Loop T)
; (repeat 80 (princ (strcat (chr 8) ” ” (chr 8))))(princ msg)
; (setq buf “” buflen 0 Inp (grread))
; (while loop
; (cond ((= (car Inp) 2)
; (cond ((= (cadr Inp) 8)
; (if (> (setq buflen (strlen buf)) 0)
; (progn
; (princ (strcat (chr 8) ” ” (chr 8)))
; (setq buflen (1- buflen))
; (setq buf (substr buf 1 buflen))
; )) )
; ((or (and (= Tif T) (= (cadr Inp) 32)) (and (= Tif T) (= (cadr Inp) 10)))
; (setq loop nil returncode buf))
; ((or (= (cadr Inp) 13) (= (cadr Inp) 10))
; (setq loop nil returncode buf))
; (T ; (and (>= (cadr Inp) 32) (<= (cadr Inp) 126))
; (princ (chr (cadr Inp)))
; (setq buf (strcat buf (chr (cadr Inp))))
; )
; )
; )
; )
; (if (/= Loop nil) (setq Inp (grread)))
; )
; (setq returncode buf)
😉
(defun c:CAT (/ ss sno st no x)
(setvar “cmdecho” 0)
(princ “n>> Select text : “)
(setq ss (ssget))
(setq sno (sslength ss))
(setq no 0)
(while (<= 1 sno)
(setq x (ssname ss no))
(if (eq (cdr (assoc 0 (entget x))) “TEXT”)
(progn
(redraw x 3)
(setq st (getstring (strcat “n New text string : <" (cdr (assoc 1 (entget x))) ">:”)))
(if (= st “”)
(setq st (cdr (assoc 1 (entget x))))
)
(entmod (subst (cons 1 st) (assoc 1
(entget x)) (entget x))
)
(redraw x 4)
)
)
(setq sno (- sno 1))
(setq no (+ no 1))
)
)
(setvar “cmdecho” 1)
(prin1)
(defun C:CT (/ p l n e os as ns st s nsl osl sl si chf chm olderr)
(setq olderr *error* ; Initialize variables
*error* chgterr
chm 0)
(setq p (ssget)) ; Select objects
(if p (progn ; If any objects selected
(while (= 0 (setq osl (strlen (setq os (getstring t “nOld string: “)))))
(princ “Null input invalid”)
)
(setq nsl (strlen (setq ns (getstring t “nNew string: “))))
(setq l 0 n (sslength p))
(while (< l n) ; For each selected object...
(if (= “TEXT” ; Look for TEXT entity type (group 0)
(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 chf t) ; Found old string
(setq si (+ si nsl))
)
(setq si (1+ si))
)
)
(if chf (progn ; Substitute new string for old
(setq e (subst (cons 1 s) as e))
(entmod e) ; Modify the TEXT entity
(setq chm (1+ chm))
))
)
)
(setq l (1+ l))
)
))
(princ “Changed “) ; Print total lines changed
(princ chm)
(princ ” text lines.”)
(terpri)
(setq *error* olderr) ; Restore old *error* handler
(princ)
)
(defun C:EP(/ ss sno no x)(princ ” = EXPLODE”)
(setq ss (ssget))
(setq sno (sslength ss))
(setq no 0)
(repeat sno
(setq x (ssname ss no))
(command “explode” x)
(setq no (1+ no))
)(prin1))
(defun C:HID()(princ ” = Hidden Linetype”)
(setq ss (ssget))(command “change” “p” “” “p” “lt” “hid” “”)(prin1))
(defun *ERROR* (st)
(terpri)
(princ “nerror: “)
(princ st)
(prin1)
)
(DEFUN C:LC(/ E EO EL NLA NO E ZO ZL OLD NEW)
(SETVAR “CMDECHO” 0)
(PROMPT “n>>> Select Entities To Change….. “)
(SETQ EO (SSGET))
(PROMPT “n>>> To What Entity?….. “)
(SETQ EL (entsel))
(IF EL
(SETQ NLA (CDR (ASSOC 8 (ENTGET (car EL)))))
(SETQ NLA (STRCASE (GETSTRING
“n>>> Otherwise, Say Me Layer Name : “)))
)
(SETQ NO 0)
(WHILE
(SETQ E (SSNAME EO NO))
(SETQ ZO (ENTGET E))
(SETQ OLD (ASSOC 8 ZO))
(SETQ NEW (CONS (CAR OLD) NLA))
(SETQ ZL (SUBST NEW OLD ZO))
(ENTMOD ZL)
(SETQ NO (1+ NO))
)
(PRIN1)
)
(defun C:LF (/ cmd ename elist lyr)
(setq cmd (getvar “cmdecho”))
(setvar “cmdecho” 0)
(setq ename (car (entsel “n Select an entity :”)))
(while (null ename)
(setq ename (car (entsel “n Select again :”)))
)
(setq elist (entget ename))
(setq lyr (assoc 8 elist))
(command “layer” “set” (cdr lyr) “”)
(command “layer” “off” “*” “” “”)
(prompt (strcat “n Now the current layer is ” (cdr lyr) “.”))
(setvar “cmdecho” cmd)
)
(prin1)
(defun c:lff (/ cmd)
(setq cmd (getvar “cmdecho”))
(setvar “cmdecho” 0)
(setq ename (car (entsel “n Select an entity :”)))
(while (null ename)
(setq ename (car (entsel “n Select again :”)))
)
(while (or (null ename)
(equal (cdr (assoc 8 (entget ename))) (getvar “clayer”))
)
(setq ename (car (entsel “n Select another entity :”)))
)
(setq elist (entget ename))
(setq lyr (assoc 8 elist))
(prompt (strcat “n This layer is ” (cdr lyr) “.”))
; (setq test (getstring “n Do you really want this layer off
; (if (or (equal test “Y”) (equal test “y”))
(progn (command “layer” “off” (cdr lyr) “”)
(prompt (strcat “n Now the layer ” (cdr lyr) ” is OFF”))
; )
)
(setvar “cmdecho” cmd)
(prin1)
)
(defun C:LO (/ cmd lyr ss test)
(setq cmd (getvar “cmdecho”))
(setvar “cmdecho” 0)
(command “layer” “on” “*” “”)
(prompt (strcat “n layer is all ON”))
(setvar “cmdecho” cmd)
(prin1)
)
(DEFUN C:LS (/ en)
(SETVAR “CMDECHO” 0)
(PROMPT “>>> Layer Set To ?….”)
(SETQ En (entsel))
(IF EN
(SETQ en (CDR (ASSOC 8 (ENTGET (CAR EN)))))
(SETQ en (STRCASE (GETSTRING
“n>>> Otherwise, Say Me Layer Name : “)))
)
(command “layer” “s” (setq en en) “”)
(prin1)
)
(DEFUN C:CC(/ EE OE NE NCO NO)
(SETVAR “CMDECHO” 1)
(PROMPT “n>>> Select Entities To Change….. “)
(SETQ OE (SSGET))
(PROMPT “n>>> To What Entity?….. “)
(SETQ NE (entsel))
(IF NE
(PROGN
(SETQ NCO (CDR (ASSOC 62 (ENTGET (CAR NE)))))
(IF (NULL NCO) (PROGN (SETQ NCO (CDR (ASSOC 8 (ENTGET (CAR NE)))))
(SETQ NCO (ATOI (SUBSTR NCO 1 1))))
)
)
(SETQ NCO (STRCASE (GETSTRING
“n>>> Otherwise, Say Me Color Number : “)))
)
(SETQ NO 0)
(WHILE
(SETQ EE (SSNAME OE NO))
(command “change” EE “” “p” “c” NCO “”)
(SETQ NO (1+ NO))
)
(PRIN1)
)
(defun C:LW (/ cmd)
(setq cmd (getvar “cmdecho”))
(setvar “cmdecho” 0)
(if (null dist)
(setq dist 1)
)
(setq d (getreal (strcat “n Enter offset distance <" (itoa (fix dist)) ">: “)))
(if (null d)
(setq d dist)
)
(if (null nlayer)
(setq nlayer “0”)
)
(setq lyr (strcase (getstring (strcat “n Enter layer name you want <" nlayer ">: “))))
(if (null (read lyr))
(setq lyr nlayer)
)
(while (null (tblsearch “LAYER” lyr))
(prompt (strcat “n Layer ” lyr ” does not exist.”))
(setq lyr (strcase (getstring “n Enter layer name again: “)))
)
(setq obj (entsel “n Select object: “))
(while (null obj)
(setq obj (entsel “n Select again: “))
)
(while (not (null obj))
(command “offset” d obj pause “”)
(setq ename (entlast))
(while (not (null obj))
(setq elist (entget ename))
(setq elist (subst (cons 8 lyr) (assoc 8 elist) elist))
(entmod elist)
(setq obj (entsel “n Select object: “))
(if (not (null obj))
(progn (command “offset” “” obj pause “”)
(setq ename (entnext ename))
)
)
)
)
(setq dist (fix d))
(setq nlayer lyr)
(prompt “nConverting offset is finished. “)
(setvar “cmdecho” cmd)
)
(defun C:ME (/ ce ss pt ls no)
(setvar “CMDECHO” 0)
(prompt “Select edges …”)
(setq ce (ssget))
(prompt “select object to extend :”)
(setq ss (ssget)
ls (sslength ss)
pt (getpoint “nEdges to extend :”)
no -1
)
(command “extend” ce “”)
(repeat ls
(setq no (1+ no))
(command (list (ssname ss no) pt))
)
(command “”)
(princ “nExtend end.”)
(princ)
)
;UDIST User interface distance function
(defun udist (bit kwd msg def bpt / inp)
(if def
(setq msg (strcat “n” msg ” <" (rtos def) ">: “)
bit (* 2 (fix (/ bit 2)))
)
(setq msg (strcat “n” msg “: “))
)
(initget bit kwd)
(setq inp
(if bpt
(getdist msg bpt)
(getdist msg)
)
)
(if inp inp def)
)
(defun upoint (bit kwd msg def bpt / inp)
(if def
(setq pts (strcat (rtos (car def)) “,” (rtos (cadr def))
(if (and (caddr def) (= 0 (getvar “flatland”)))
(strcat “,” (rtos (caddr def)))
“”
)
)
msg (strcat “n” msg ” <" pts ">: “)
bit (* 2 (fix (/ bit 2)))
)
(setq msg (strcat “n” msg “: “))
)
(initget bit kwd)
(setq inp (if bpt
(getpoint msg bpt)
(getpoint msg)
)
)
(if inp inp def)
);def upoint
(defun C:MF ( / ent spt tdist dist)
(setq tdist 0
ent (entsel “nSelect line to offset : “)
spt (upoint 1 “” “Which side” nil (cadr ent))
)
(while (and
(setq dist (udist 1 “” “nOffset distance (if END=0) ? ” dist nil))
(/= dist 0.0))
(setq tdist (+ tdist dist))
(command “offset” tdist ent spt “”)
)
(princ)
)
(defun C:MT (/ ce ss pt ls no)
(setvar “CMDECHO” 0)
(prompt “Select cutting edges …”)
(setq ce (ssget))
(prompt “select object to trim :”)
(setq ss (ssget)
ls (sslength ss)
pt (getpoint “nSide to trim :”)
no -1
)
(command “trim” ce “”)
(repeat ls
(setq no (1+ no))
(command (list (ssname ss no) pt))
)
(command “”)
(princ “nTrim end.”)
(princ)
)
(defun C:OO(/ z pt ss Q:LA)
(princ ” = OFFSET & CHANGE LAYER TO CURRENT..”)
(setq Q:LA (getvar “clayer”))
(if Q:ODIST
(progn
(prompt “nOffset distance or Through <")
(princ Q:ODIST)
(princ “> : “)
(setq z (getdist))
(if z
(setq Q:ODIST z)
)
)
(progn
(prompt “nOffset distance or Through
(initget (+ 1 2 4))
(setq Q:ODIST (getdist))
)
)
(setq ss (entsel “nSelect object to offset : “))
(while ss
(setq pt (getpoint “nSide to offset? “))
(command “offset” (setq z Q:ODIST)
(setq z (cadr ss)) (setq z pt) “”)
(command “change” “L” “” “P” “la” (setq z Q:LA) “”)
(setq ss (entsel “nSelect object to offset : “))
)
(setvar “cmdecho” 1)
(prin1))
(defun C:S()(princ ” = STRETCH”)(command “stretch” “c”)(prin1))
(defun C:XL (/ PT1 PT2 PT3 PT4)
(graphscr)
(setvar “osmode” 32)
(setq pt1 (getpoint “n Lower left corner : “))
(setq pt3 (getcorner pt1 “n Upper right corner : “))
(setq pt2 (list (car pt1)(cadr pt3)))
(setq pt4 (list (car pt3)(cadr pt1)))
(command “layer” “m” “open” “”)
(command “line” pt1 pt3 “”)
(command “line” pt2 pt4 “”)
(setvar “osmode” 0)
)
;————————-ACAD.LSP Original Copy——————————
(if (null @fname)
(progn
(setq @fname “”)
(princ “n n nLoading ACAD.LSP v10.41by GID, Modified by H.S.YU in January/93… “)
)
)
(setq @errfn *error*
@oitem “”
@loads “”
@resid “”
@clean “”
@cmark “”
@exec “”
@ffile “”
@msg “”
@cln “”
@wkp “”
@wkf “”
@wk “”
c:fload “”
c:aload “”
c:rload “”
c:cleanall “”
c:clean “”
)
(defun @ffile (@wkf / @wk)
(if (null (setq @wk (findfile (strcat @wkf “.lsp”))))
(setq @wk (findfile (strcat “c:/pass-cad/lisp/” @wkf “.lsp”)))
)
@wk
)
(defun @loads (@msg @cln @wkp / @wk)
(setq @resid @wkp)
(setq @wk (getstring (strcat (if @cln “Clean & ” “”) @msg ” Function” “<" @fname ">: ” )))
(if (/= “” @wk)(setq @fname @wk))
(if (setq @wk (@ffile @fname))
; (progn
; (if @cln (@clean ‘@@CMRK))
; (if (and @resid (= (car atomlist) ‘@@CMRK))
; (setq atomlist (cdr atomlist))
; )
(load @wk)
; )
(progn
(princ “Function not found”)
(prin1)
)
)
)
(defun @exec (/ @wk)
(setq @wk (read (strcat “c:” @fname )))
(if (eval @wk)
(eval (list @wk))
(prin1)
)
)
(defun C:fload ()
(@loads “Load” T nil)
(@exec)
)
(defun C:aload ()
(@loads “Append” nil nil)
(@exec)
)
(defun C:rload ()
(@loads “Reside” T T)
; (load (@ffile “@@CMRK”))
(load “acad”)
(@exec)
)
(defun @clean (@cmark / @wk)
(setq @wk 0
*error*
(lambda (@wk)
(setq *error* @errfn)
(princ “nFile Variable <")(princ @oitem)(princ "> erased. Try Again” )
(set @oitem nil)
(@clean @cmark)
)
)
(while (and
(/= (setq @oitem (nth @wk atomlist)) @cmark)
(/= @oitem ‘C:CLEAN)
)
(if (= (type (eval @oitem)) ‘FILE) (close (eval @oitem)))
(setq @wk (1+ @wk))
)
(if (and (= @oitem ‘C:CLEAN) (/= @cmark ‘C:CLEAN))
(princ “nSymbol ”@@CMRK” not found”)
(setq atomlist (member @cmark atomlist)
*error* @errfn
)
)
(prin1)
)
(defun c:cleanall ()
(@clean ‘C:CLEAN)
; (load (@ffile “@@CMRK”))
(load “acad”)
(prin1)
)
(defun c:clean ()
(@clean ‘@@CMRK)
(prin1)
)
;(if (not (@ffile “@@CMRK”))
; (progn
; (setq @wk (open “@@CMRK.LSP” “w”))
; (princ “(setq @@CMRK T)n” @wk)
; (close @wk)
; (princ “@@CMRK.LSP Created… “)
; )
😉
(setq @@CMRK T)
(prin1)