비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 105700
다음
Lv.0
등록일: 2015-12-152015-12-15T21:48:37+09:00 2015-12-15T21:48:37+09:00카테고리: AutoCAD & CADian

LISP 을 하면 반응이 없습니다.

 어떤 도면에는 작동하고 어떤 도면에는 리습이 작동하지 않는것 같습니다.
 아니라면 처음 한번은 작동하는데 그 후부터는 반응이 없습니다.
 왜 그런지 당최 알 수가 없습니다 ㅠㅠ..
 캐드 설정을 잘 못 건드린건지.. 흠.. 잘 모르겠네요..
 
 리습 내용은 아래와 같은데요.. 쓰는 버전은 2010버전이구요.
 아마 2004에서는 잘 작동한 것 같습니다. 
 왜 작동이 안되는지 가르쳐 주시면 감사하겠습니다. ㅠㅠ
 
;;; Find the dotted pairs that are valid filters for ssget
;;; in entity named “ent”.
;;;
;;; ssx_fe == SSX_Find_Entity
;;;
(defun ssx_fe (/ x data fltr ent)
  (setq ent (car (entsel “nSelect object/<None>: “)))
  (if ent
    (progn
      (setq data (entget ent))
      (foreach x ‘(0 2 6 7 8 39 62 66 210) ; do not include 38
        (if (assoc x data)
          (setq fltr 
            (cons (assoc x data) fltr)
          )
        )
      )    
      (reverse fltr)
    )
  ) 
)
;;;
;;; Remove “element” from “alist”.
;;;
;;; ssx_re == SSX_Remove_Element
;;;
(defun ssx_re (element alist)
  (append
    (reverse (cdr (member element (reverse alist))))
    (cdr (member element alist))   
  )
)
;;;
;;; INTERNAL ERROR HANDLER 
;;;
(defun ssx_er (s)                     ; If an error (such as CTRL-C) occurs
                                      ; while this command is active…
  (if (/= s “Function cancelled”)
    (princ (strcat “nError: ” s))
  )
  (if olderr (setq *error* olderr))   ; Restore old *error* handler
  (princ)
)
;;;   
;;; Get the filtered sel-set.
;;;
;;;
(defun ssx (/ olderr)
  (gc)                                ; close any sel-sets            
  (setq olderr *error* 
        *error* ssx_er 
  )
  (setq fltr (ssx_fe)) 
  (ssx_gf fltr) 
)
;;;
;;; Build the filter list up by picking, selecting an item to add,
;;; or remove an item from the list by selecting it and pressing RETURN.
;;;
;;; ssx_gf == SSX_Get_Filters
;;;
(defun ssx_gf (f1 / t1 t2 t3 f1 f2)
  (while 
    (progn
      (cond (f1 (prompt “nFilter: “) (prin1 f1)))
      (initget 
        “Block Color Entity Flag LAyer LType Pick Style Thickness Vector”)
      (setq t1 (getkword (strcat
        “n>>Block name/Color/Entity/Flag/”
        “LAyer/LType/Pick/Style/Thickness/Vector: “))) 
    )
    (setq t2
      (cond
        ((eq t1 “Block”)      2)   ((eq t1 “Color”)     62)
        ((eq t1 “Entity”)     0)   ((eq t1 “LAyer”)      8)
        ((eq t1 “LType”)      6)   ((eq t1 “Style”)      7)
        ((eq t1 “Thickness”) 39)   ((eq t1 “Flag” )     66)
        ((eq t1 “Vector”)   210)
        (T t1)
      )
    )
    (setq t3
      (cond
        ((= t2  2)  (getstring “n>>Block name to add/<RETURN to remove>: “))
        ((= t2 62)  (initget 4 “?”)
          (cond
            ((or (eq (setq t3 (getint 
              “n>>Color number to add/?/<RETURN to remove>: “)) “?”) 
              (> t3 256))
              (ssx_pc)                ; Print color values.
              nil
            )
            (T
              t3                      ; Return t3.
            )
          )
        )
        ((= t2  0) (getstring “n>>Entity type to add/<RETURN to remove>: “))
        ((= t2  8) (getstring “n>>Layer name to add/<RETURN to remove>: “))
        ((= t2  6) (getstring “n>>Linetype name to add/<RETURN to remove>: “))
        ((= t2  7) 
          (getstring “n>>Text style name to add/<RETURN to remove>: “)
        )
        ((= t2 39)  (getreal   “n>>Thickness to add/<RETURN to remove>: “))
        ((= t2 66)  (if (assoc 66 f1) nil 1))
        ((= t2 210) 
          (getpoint  “n>>Extrusion Vector to add/<RETURN to remove>: “)
        )
        (T          nil)
      )
    )
    (cond
      ((= t2 “Pick”) (setq f1 (ssx_fe) t2 nil)) ; get entity
      ((and f1 (assoc t2 f1))         ; already in the list
        (if (and t3 (/= t3 “”))
          ;; Replace with a new value…             
          (setq f1 (subst (cons t2 t3) (assoc t2 f1) f1)) 
          ;; Remove it from filter list…
          (setq f1 (ssx_re (assoc t2 f1) f1)) 
        )  
      )
      ((and t3 (/= t3 “”))
        (setq f1 (cons (cons t2 t3) f1))
      )
      (T nil)
    )
  )
  (if f1 (setq f2 (ssget “_x” f1)))
  (setq *error* olderr)
  (if (and f1 f2) 
    (progn
      (princ (strcat “n” (itoa (sslength f2)) ” found. “))
      f2 
    )
    (progn (princ “n0 found.”) (prin1))
  )
)
;;;
;;; Print the standard color assignments.
;;;
;;;
(defun ssx_pc ()
  (if textpage (textpage) (textscr))
  (princ “n                                                     “)
  (princ “n                 Color number   |   Standard meaning “)
  (princ “n                ________________|____________________”)
  (princ “n                                |                    “)
  (princ “n                       0        |      <BYBLOCK>     “)
  (princ “n                       1        |      Red           “)
  (princ “n                       2        |      Yellow        “)
  (princ “n                       3        |      Green         “)
  (princ “n                       4        |      Cyan          “)
  (princ “n                       5        |      Blue          “)
  (princ “n                       6        |      Magenta       “)
  (princ “n                       7        |      White         “)
  (princ “n                    8…255     |      -Varies-      “)
  (princ “n                      256       |      <BYLAYER>     “)
  (princ “n                                               nnn”)
)
;;;
;;; C: function definition.
;;;
(defun c:ssx () (ssx)(princ))
(princ “ntType ”ssx” at a Command: prompt or “)
(princ “nt(ssx) at any object selection prompt. “)
(princ)
  • 0
  • 11 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토캐드 2016 맞춤법 검사기 끄는 방법 아시나요
    • 캐드에서 여러도면을 한번에 배치출력 할 수 있는 방법이 있나요
    • step파일, iges 파일을 열어서 볼 수 있는 방법이 있을까요?
    • 캐디안으로 도면을 열때 한글이 ???로 표시되는 문제

    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