비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 99699
다음
진행 중
Lv.0
등록일: 2013-11-282013-11-28T15:02:04+09:00 2013-11-28T15:02:04+09:00카테고리: AutoCAD & CADian

lisp 파일로 저장좀 해서 다시 올려주실분 있나요??

1. 컴퓨터 사양 (간략히) : 인텔 제온 7560 @ 2.26Ghz, 가상화 pc 사용중


2. 캐드버전 과 종류 : 캐드 2013

3. 운영체제(윈도우)버전과 비트수
: 윈도우 7 프로 K 32비트

4. 보조프로그램 사용유무 : 드림 idwgtab


———————————————————————————————–

회사에 drm 무슨 프로그램 때문에 리습을 쓸수가 없는데요

신기하게도 여기 올라와있는 리습은 받아서 저장해서 로드하면 사용이 되는거에요;;

그래서 생각한게 리습 전문을 제가 올려서 그걸 다른분이 *.lsp 파일로 저장해서

다시 올려 주시면 제가 받아서 실행해보려고 합니다….작업은 많은데 정말 부탁드립니다.

———————————————————————————————

text.lsp <<<<<<로 저장 부탁드립니다..

———————————————————————————————
(defun c:tc ()


      ;(영역에서 글자 센터 맞추기)
      ;       (prompt “n*** Select Text to Change ***”)
 
              (setq a (ssget  (list (cons 0 “text”))))
 
              (setq pt1 (getpoint “nFirst point : “))


               (setq pt2 (getpoint pt1 “nSecond point : “))


               (setq ptx (/ (- (car pt2) (car pt1)) 2))


               (setq pty (/ (- (cadr pt2) (cadr pt1)) 2))


               (setq pt3 (list (+ (car pt1) ptx) (+ (cadr pt1) pty) 0.0))


               (setq fff (entget (ssname a 0)))


               (setq ppp (subst (cons 72 4) (assoc 72 fff) fff))


               (entmod ppp)


               (setq qqq (subst (cons 11 pt3) (assoc 11 ppp) ppp))


               (entmod qqq)


               (princ)
)


 


(defun c:tt (/ p l n e os as ns st s nsl osl sl si chf chm olderr)
 (setq olderr  *error* *error* myerror chm 0)
 (setq p (ssget (list (cons 0 “TEXT”))))
 (if p (progn
   (while (= 0 (setq osl (strlen (setq os (getstring t “nOld Text string : “)))))
   (princ “Null input invalid”)
   )
   (setq nsl
   (strlen (setq ns (getstring t “nNew Text string : “)))
   )
   (setq l 0 n (sslength p))
 (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 chf t)
        (setq si (+ si nsl))
    )
    (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))
 )
 )
 )
 (princ “Changed “)(princ chm)(princ ” text lines.”)
 (prin1)
)


 


(defun c:ttc (/ a b c d e)
       (prompt “n*** Select Text to Change ***”)
               (setq a (ssget (list (cons 0 “text”))))
               (setq b (sslength a))
               (setq c 0)
       (prompt “n*** Select Text to Target ***”)
               (setq e (ssget (list (cons 0 “text”))))
               (setq e (cdr (assoc 1 (entget (ssname e 0)))))
       (while (<= 1 b)
               (setq d (ssname a c))
               (if (eq (cdr (assoc 0 (entget d))) “TEXT”)
               (entmod (subst (cons 1 e) (assoc 1 (entget d)) (entget d))))
               (setq b (- b 1))
               (setq c (+ c 1))
               )
)


————————————————————————————————



————————————————————————————————

layer.lsp <<<<로 저장 부탁드립니다.

————————————————————————————————
;;;▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣
;;;▣———————————————————————————————
;;;▣ * 레이어 제어하기
;;;▣ * CMD
;;;▣ – QW : 모든 Layer을 On시킨다.
;;;▣ – WE : 선택된 LAYER만 ON시킨다.
;;;▣ – EW : 선택된 LAYER만 OFF시킨다.
;;;▣ – FQ : 변경하고자 하는 Layer를 선택하고 변경하고 싶은 Layer 선택하여 변경시킨다.
;;;▣ – FW : 선택 된 Layer을 Lock시킨다.
;;;▣ – ER : 모든 Layer을 UnLock시킨다.
;;;▣ – FV : 선택 된 Layer만 UnLock시킨다.
;;;▣ * by Joongsya(Kim Hae Joong, DMEC)
;;;▣ * Last Updating : 오전 8:50 2009-02-11
;;;▣———————————————————————————————
;;;◇———————————————————————————————
;;;◇ 모든 레이어를 ON시킨다 : QW
;;;◇———————————————————————————————
(defun c:test()
 (vl-load-com)
 (vla-sendcommand (vla-get-activedocument (vlax-get-acad-object) ) “3d2dnALLnn” )
 (princ)
)
(defun C:QW ()
(prompt “nAll Layer On!!”)
(command “layer” “on” “*” “”)
(princ)
)
(princ “nLoading Complete…… QW : 모든 Layer을 On시킨다.”)
(princ)
;;;◇———————————————————————————————
;;;◇ 선택된 레이어만 ON시킨다 : WE
;;;◇———————————————————————————————
(defun C:WE ()
(setvar “cmdecho” 0)
(setvar “clayer” “0”)
(prompt “nSelect Object(s) To Display!!”)
(setq ss (ssget ))
(setq num (sslength ss))
(setq index 0)


(command “layer” “off” “*” “y” “”)


(repeat num
     (setq entName (ssname ss index))
     (setq entList (entget entName))
     (setq entLayer (cdr (assoc 8 entList)))
     (setq index (+ index 1))
     (command “layer” “on” entLayer “”)
); <repeat>
     (command “layer” “s” entLayer “”)
(princ)
)
(princ “nLoading Complete…… WE : 선택된 LAYER만 ON시킨다.”)
(princ)
;;;◇———————————————————————————————
;;;◇ 선택된 레이어만 OFF시킨다 : EW
;;;◇———————————————————————————————
(defun c:EW (/ ss index layerlist DXF-list STR-layer-name OBJ-layer DXF-layer INT-color-no)
(Setq ss (ssget))
(Setq index 0
         layerlist ‘()
)
(Repeat (sslength ss)
(Setq DXF-list (entget (ssname ss index))
         STR-layer-name (cdr (assoc 8 DXF-list))
)
(if (not (member  STR-layer-name layerlist))
     (Setq layerlist (append layerlist (list STR-layer-name)))
);end if
(Setq index (+ index 1))
)
(foreach element layerlist
    (Progn
       (Setq OBJ-layer (tblobjname “layer” element)
               DXF-layer (entget OBJ-layer)
               INT-color-no (cdr (assoc 62 DXF-layer))
       )
       (if (>  INT-color-no 0)
         (Progn
           (Setq DXF-layer (subst (cons 62 (* -1 INT-color-no))(assoc 62 DXF-layer) DXF-layer))
              (entmod DXF-layer)
         );progn
       );end if
    )
)
(princ)
)
(princ “nLoading Complete…… EW : 선택된 LAYER만 OFF시킨다.”)
(princ)
;;;◇———————————————————————————————
;;;◇ Layer 스타일 덮어 씌우기 : FQ
;;;◇———————————————————————————————
(defun c:FQ (/ a1 a2 n index b1 b2 d1 d2 b3)
  (setvar “cmdecho” 0)
  (graphscr)
  (prompt “nSelect Layer To Change!!”)
  (setq a1 (ssget))
  (setq a2 (entsel))
  (setq n (sslength a1))
  (setq index 0)
  (setq b2 (entget (car a2)))
  (setq d2 (assoc 8 b2))
  (repeat n
    (setq b1 (entget (ssname a1 index)))
    (setq d1 (assoc 8 b1))
    (setq b3 (subst d2 d1 b1))
    (entmod b3)
    (setq index (+ index 1))
)
    (command “CHANGE” a1 “” “P” “C” “BYLAYER” “”)
    (princ)
)
(princ “nLoading Complete…… FQ : Layer 스타일 덮어 씌우기”)
(princ)
;;;◇———————————————————————————————
;;;◇ 모든 레이어를 UnLock시킨다 : ER
;;;◇———————————————————————————————
(defun C:ER ()
(prompt “nAll Layer UnLock!!”)
(command “layer” “unlock” “*” “”)
(princ)
)
(princ “nLoading Complete…… ER : 모든 Layer을 UnLock시킨다.”)
(princ)
;;;◇———————————————————————————————
;;;◇ 선택된 레이어를 Lock시킨다 : FW
;;;◇———————————————————————————————
(defun C:FW(/ la name)
 (setq olderr  *error* *error* myerror chm 0)
 (setq la (car (entsel “nt Pick an object to be –LOCK– layer | “)))
 (if la (progn (setq name (cdr (assoc 8 (entget la))))
    (command “layer” “lock” name “”))
    (progn (setq name (getstring “nt Enter te LOCK-LAYER’s to NAME ? | “))
    (command “layer” “lock” name “”)))
 (if name
    (progn (prompt “nt*lock-layer [“)(prin1 name)(prompt “]”)))(prin1)
 )
(princ “nLoading Complete…… FW : 선택된 LAYER만 LOCK시킨다.”)
(princ)
;;;◇———————————————————————————————
;;;◇ 선택된 레이어를 UnLock시킨다 : FV
;;;◇———————————————————————————————


(defun c:FV(/ la name)
       (setq la nil)
       (setvar “cmdecho” 0)
       (setq la(car (entsel “n Select an object Unlock For Layer : “)))
       (if (= la nil)
            (and (setq la2 (getstring “n Type for Unlock Layer name : “))
                 (if (= la2 “*”)
                     (command “layer” “unlock” la2 “”)
                 )
            )
       )
       (if la (progn (setq name (cdr (assoc 8 (entget la))))
                     (command “layer” “unlock” name “” “”)
              )
       )
       (PRINC)
)
(princ “nLoading Complete…… FV : 선택된 LAYER만 UNLOCK시킨다.”)
(PRINC)


————————————————————————————————-





————————————————————————————————–

cfd.lsp <<<<<<<<<<<<로 저장 부탁드립니다.

————————————————————————————————–
(defun c:cfd()
  (command “audit” “y” “”)
  (command “-purge” “a” “*” “n”)
  (command “deleteghost” “”)
  (command “deletelayerfilter” “y”)
  (command “elevremove” “all” “”)
  (command “-scalelistedit” “r” “y” “e”)
  (pdd)
  (pxx)
  (bdd)
  (tdd)
  (kdd)
  (command “qsave”)
(princ)
)



(defun pdd(/ a i al tt ke xy xy_list w_list k j)
(command “cmdecho” 0)
(command “undo” “g”)
(setq a (ssget “all” ‘((0 . “LWPOLYLINE”))))
(if (null a)
(setq a (ssget “x” ‘((0 . “LWPOLYLINE”))))
)
(if (null a) (exit))
(setq al (sslength a)
 i 0
 j 0
 tt 0
 )
(princ “n총처리 pline :: “)(princ al)(princ ” 중 중복된 POLYLINE을 지웁니다.n”)


(while (> al i)
 (setq en (ssname a i)
  ent (entget en)
  la (cdr (assoc 8 ent))
  i (1+ i)
  j (1+ j)
  w_list nil
 )


 (foreach k ent 
  (if (= 10 (car k)) (setq w_list (append w_list (list (cdr k)))))
 )
 (setq w_list (append w_list (list la)))
 (if (member w_list xy_list)
  (setq tt (1+ tt)
   a (ssdel en a)
   al (1- al)
   en (entdel en)
   i (1- i)
  )
  (setq xy_list (append xy_list (list w_list)))
 )
 (princ “현처리 pline :: “)(princ j)  (princ “r”)
)
(princ “n”)
(princ “지워진 pline :: “)(princ tt) (princ “n”)
(command “undo” “e”)
(princ)
)



(defun pxx( / a i al tt ke j k k1 en ent xy_end xy)
(command “undo” “g”)
(setvar “cmdecho” 0)
(setvar “osmode” 0)
(setq a (ssget “x” ‘((0 . “lwpolyline”))))
(if (null a) (exit))
(setq al (sslength a)
 i 0
 j 0
 k1 0
 tt 0
 )
(princ “n총처리 pline :: “)(princ al)(princ ” 중 2개의 중복된 VERTEX를 가진 LINE을 지웁니다.n”)


(while (> al i)
 (setq en (ssname a i)
  ent (entget en)
  j (1+ j)
  xy (cdr (assoc 10 ent))
  k1 0
 )


 (foreach k ent 
  (if (= 10 (car k)) (setq xy_end (cdr k) k1 (1+ k1)))
 )


 (if (and (<= k1 2) (equal xy xy_end))
  (setq tt (1+ tt)
   a (ssdel en a)
   al (1- al)
   en (entdel en)
  )
  (setq i (1+ i))
 )


 (princ “현처리 pline :: “)(princ j)  (princ “r”)
)
(princ “n”)
(princ “지워진 pline :: “)(princ tt) (princ “n”)
(command “undo” “e”)
(princ)
)



(defun BDD( / en ent xy ang i al tt ke j xy_list k w_list)
(command “undo” “g”)
(setvar “cmdecho” 0)
(setvar “osmode” 0)
(setq a (ssget “x” ‘((0 . “INSERT,TEXT”))))
(if (null a) (exit))
(setq al (sslength a)
 i 0
 j 0
 tt 0
 )
(princ “n총처리 Block,Text :: “)(princ al)(princ ” 중 중복된 BLOCK을 지웁니다.n”)


(while (> al i)
 (setq en (ssname a i)
  ent (entget en)
  j (1+ j)
  xy (cdr (assoc 10 ent))
  name (cdr (assoc 2 ent))
  w_list (list xy name)
 )
 (if (member w_list xy_list)
  (setq tt (1+ tt)
   a (ssdel en a)
   al (1- al)
   en (entdel en)
  )
  (setq xy_list (append xy_list (list w_list)) i (1+ i))
 )


 (princ “현처리 Block,Text :: “)(princ j)  (princ “r”)
)


(princ “n”)
(princ “지워진 Block,Text :: “)(princ tt) (princ “n”)
(command “undo” “e”)
(princ)
)


 


(defun tdd( / en ent a b bl bn i al tt ke j w_list )
(command “undo” “g”)
(setvar “cmdecho” 0)
(setvar “osmode” 0)
(setq a  (ssget “x” ‘((0 . “text”)(1 . “”))))
(if a (command “erase” a “”))
(setq a (ssget “x” ‘((0 . “TEXT”))))
(if (null a) (exit))
(setq al (sslength a)
 i 0
 j 0
 tt 0
 ke (ssadd)
 )
(setvar “cecolor” “bylayer”)
(setvar “celtype” “bylayer”)
(princ “n총처리 Text :: “)(princ al)(princ “n”)


(while (> al i)
 (setq en (ssname a i)
  ent (entget en)
  i (1+ i)
  xy (cdr (assoc 10 ent))
  handle (cdr (assoc 5 ent))
  layer (cdr (assoc 8 ent))
  ang (cdr (assoc 50 ent))
  size (cdr (assoc 40 ent))
  text (cdr (assoc 1 ent))
  xy0 (caadr (textbox ent))
  xy1 (polar xy ang xy0)
  xy2 (polar xy1 (+ (/ pi 2) ang) size)
  xy3 (polar xy (+ (/ pi 2) ang) size)
  xyc (polar xy (angle xy xy2) (/ (distance xy xy2) 2))
 )
 (command “zoom” “c” xyc (* xy0 2))
 (setq b (ssget “cp” (list xy xy1 xy2 xy3 xy) (list (cons 1 text)(cons 8 layer))))
 (if b (progn
  (setq bl (sslength b)
   j 0)
  (while (> bl j)
   (setq bn (ssname b j)
    bent (entget bn)
    bhand (cdr (assoc 5 bent))
    j (1+ j)
   )
   (if (/= bhand handle)
    (setq tt (1+ tt)
     j (1+ j)
     a (ssdel bn a)
     bn (entdel bn)
     al (1- al)
    )
   )
  )
 ))
 (princ “현처리 Text :: “)(princ i)(princ “r”)
)
(command “zoom” “e”)
(princ “n”)
(princ “지워진 Text :: “)(princ tt) (princ “n”)
(command “undo” “e”)
(princ)
)


(defun kDD()
(setvar “cmdecho” 0)
(command “undo” “g”)
(setq ss (ssget “x” ‘((0 . “TEXT”))))
(if (null ss) (exit))
(setq ssl (sslength ss)
 i 0
 k 0)


(princ “n 총처리 Text :: “)(princ ssl)(princ “n”)


(while (> ssl i)
 (setq en (ssname ss i)
  ent (entget en)
  tv1 (cdr (assoc 1 ent))
  tv tv1
  i (1+ i)
 )
(if (/= tv1 “”)(progn
 (setq tl 1)
 (while (= (substr tv tl 1) ” “)
   (setq tv (substr tv 2))
 )
 (if (= tv “”) (entdel en))
 (if (/= tv tv1)
  (setq ent (subst (cons 1 tv) (assoc 1 ent) ent)
   ent (entmod ent)
   k (1+ k))
 )
 (setq tv tv1)
 (setq tl (strlen tv))
 (while (= (substr tv tl) ” “)
   (setq tv (substr tv 1 (1- tl)))
   (setq tl (1- tl))
 )
 (if (= tv “”) (entdel en))
 (if (/= tv tv1)
  (setq ent (subst (cons 1 tv) (assoc 1 ent) ent)
   ent (entmod ent)
   k (1+ k)
  )
 )
)
(progn
 (setq k (1+ k))
 (entdel en)
))
(princ “r 현처리 Text :: “)(princ i) (princ ” 중:”)(princ k)(princ “수정 “)
)


(command “undo” “e”)
(princ)
)



—————————————————————————————————————

  • 0
  • 3 3 답변
  • 53 조회
공유
  • Facebook

    관련 있는 질문들

    • 블록 안에서 블록을 만들 수 있나요? 과거에는 됐었는데 2023부터 안되나요?
    • 캐드 2023 find 명령어가 너무 느립니다.
    • 폴리선 각도에 맞는 문자를 폴리선위에 올리고싶습니다. (관로선형에 위에문자올릴때)
    • mvsetup 및 align 안됨

    3 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2013-11-29T08:09:13+09:00답변 등록 답변 등록 일시 2013-11-29 8:09 am

      감사합니다ㅣ 제도의 기초님 ㅜㅜ

      정말 알수없는 캐드 바이러스 때문에 이만저만 고생이 아니었는데

      볼록님 덕분에 단축키 안되는것도 reinit하고 설정해서 쓰니 처음에만 좀 불편할 뿐이고

      포기했던 리습도 컴퓨터 자체에서 생성하면 안되고 다른 컴퓨터에서 리습 파일로 저장해서

      제가 받으면 실행이 되네요……ㅜㅜ 정말 감사합니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2013-11-28T21:20:33+09:00답변 등록 답변 등록 일시 2013-11-28 9:20 pm

      확인해 보세요

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. [Deleted User]
      2013-11-28T16:16:05+09:00답변 등록 답변 등록 일시 2013-11-28 4:16 pm

      텍스트 복사해서 메모장에 붙여넣고 저장할때 파일이름.lsp로 저장해서

      올려주시면 되는데….부탁드립니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved