본문 바로가기
캐드리습

블럭 제자리 만들기 , 블럭 이름 바꾸기 리습

by good-life-story 2023. 2. 14.
728x90

;[블럭이름바꾸기]
;블럭이름 묻지도,따지지도 않고 날자와시간을 이름으로 바꾸기
;
날자와시간은 10진법을 적용하여 실수로 표현됨
;
) 2010 02 19일 오후 5 45 27-> ABC-20100219.174527
;by ysJeong 2010.02.19
(defun c:BRN(/ os ent elist ins date rname fn_date)
 (defun *error* (msg)(princ "error: ")(princ msg)
  (setvar "osmode" os) (princ))
    (setvar "cmdecho" 0)
    (setq os (getvar "osmode"))
 (setq ent (car (entsel "\nBlock select:")))
   (setq elist (entget ent))
        (setq obn (cdr (assoc 2 elist)))
        (setq ins (cdr (assoc 10 elist)))
 (setq date (getvar "cdate"))
         (setq fn_date (rtos date 2 6))
   (command "explode" ent)
            (setvar "osmode" 0)

         (setq rname (strcat "ABC-" fn_date))
            (command "_.block" rname ins "P" "")
            (command "_.insert" rname ins "" "" "")
             (princ "\n
≫ 블록이름: ")(princ obn)
 (princ " --> ")  (princ rname)(princ "
로 교체함")
  (setvar "osmode" os)
(princ)
);defun
;
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;[블럭만들어 제자리붙이기]
;BLOCk
만들기-블럭이름 묻지도,따지지도 않고 날자와시간을 이름으로...
;
날자와시간은 10진법을 적용하여 실수로 표현됨
;
) 고정이름(LDH) + 2010 02 09일 오후 7 05 17 -> [ ABC-20100209.190517 ] 로 작성됨
;by ysJeong 2010.02.19

(defun c:
MB (/ os ent bp blk_nme obn ins rnam byn byn2 date fn_date)
 (defun *error* (msg)(princ "error: ")(princ msg)
  (setvar "osmode" os) (princ))
   (graphscr)(terpri) (setvar "CMDECHO" 0)
   (setq os (getvar "osmode"))
    (setq date (getvar "cdate"))
   (setq fn_date (rtos date 2 6))
   (prompt "
≫ 블럭으로 만들 객체를 선택을 하세요... ")
   (setq ent (ssget ))
   (setq bp (getpoint "\n
≫ 삽입점 클릭하세요 : "))(terpri)
   (command "_copybase" bp ent "" "_pasteblock" bp "erase" ent "") 
      (setq ent (entlast))
        (setq elist (entget ent))
        (setq obn (cdr (assoc 2 elist)))
        (setq ins (cdr (assoc 10 elist)))
  (command "explode" ent)
            (setvar "osmode" 0)
           (setq b_name (strcat "ABC-" fn_date))
            (command "_.block" b_name ins "P" "")
            (command "_.insert" b_name ins "" "" "")
          (princ "
≫ 블록이름 : ") (princ "[ ")(princ b_name)(princ " ]")(princ "()로 작성되었습니다.")
   (setvar "osmode" os)
   (princ)
   );defun

 

728x90

'캐드리습' 카테고리의 다른 글

일정간격 다중 복사 리습  (0) 2023.02.14
레이어 만들기 리습  (0) 2023.02.14
문자, 치수 스타일 설정 리습  (0) 2023.02.14
카운터보어 리습  (0) 2023.02.14
치수 레이어를 자동으로 바꿔주는 리습  (0) 2023.02.14