프로그램
캐드 분류

블럭이름 변경하는 리습 ( RB )인데 한 두번 실행후 에러가 발생해서 문의드립니다.

컨텐츠 정보

  • 34 조회
  • 1 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

안녕하세요.

블럭 이름 변경하는 리습을 인터넷에서 다운받아 사용중입니다.

rb.lisp 라는 리습인데 한 두번 사용할때는 에러가 없다가

명령:RB
이름을 바꿀 블록을 선택하세요.
선택한 블록의 새 이름을 입력하세요 : 4D11-G
; 오류: 인수 유형 오류: lentityp nil

위와 같이 인수 유형 오류라면서 작동이 안됩니다. 다시 캐드파일을 열고서

실행하면 한 두번은 잘 됩니다.

어떤 부분이 잘못된건지 알려주시면 정말 정말 감사하겠습니다.

남은 2022년 잘 마무리 하시기 바랍니다.

글 읽어 주셔서 감사합니다.

 

(defun c:rb(/ ent bname rebname elist)
(setq ent (car (entsel “n이름을 바꿀 블록을 선택하세요.”)))
(while
(/= “INSERT” (cdr (assoc 0 (entget ent))))
(setq ent (car (entsel “n블록이 아닙니다. 다시 선택하세요.”)))
)
(setq bname (getstring T “n선택한 블록의 새 이름을 입력하세요 : “));getstring 뒤에 T를 입력해야 Spacebar의 입력을 받을 수 있습니다.
(while
(tblsearch “block” bname)
(progn
;(alert (strcat “입력한 ” bname “은 이미 사용 중입니다.”));alert를 사용하면, 경고메세지가 팝업 창으로 나타납니다.
(setq rebname (strcat “입력한 ” bname “은 이미 사용 중입니다. 다시 입력하세요. : “))
(setq bname (getstring T rebname))
)
)
(setq elist (entget (cdr (assoc 330 (entget (tblobjname “block” (cdr (assoc 2 (entget ent)))))))))
(entmod (subst (cons 2 bname) (assoc 2 elist) elist))
(princ)
)

관련자료

댓글 1
여분필드1 여분필드2 여분필드3
전체 7,337 / 1 페이지
번호
제목
이름
알림 0