본문 바로가기
728x90

블럭4

블럭 제자리 만들기 , 블럭 이름 바꾸기 리습 ;[블럭이름바꾸기] ;블럭이름 묻지도,따지지도 않고 날자와시간을 이름으로 바꾸기 ;날자와시간은 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)).. 2023. 2. 14.
제자리 블럭 만들기 이름지정 가능 리습 ;;일반객체를 카피클립으로 블럭 만들어서 제자리 붙이고 원본은 삭제함-블럭이름 지정가능 (defun c:MB (/ os ent bp blk_nme obn ins rnam byn byn2) (defun *error* (msg)(princ "error: ")(princ msg) (setvar "osmode" os) (princ)) (graphscr)(terpri) (setvar "CMDECHO" 0) (setq os (getvar "osmode")) (prompt "≫ 블럭으로 만들 객체를 선택을 하세요... ") (setq ent (ssget )) (setq bp (getpoint "\n≫ 삽입점 클릭하세요 : "))(terpri) (command "_copybase" bp ent "" "_pasteblo.. 2023. 2. 14.
블럭 이름 일괄 변경 (날짜,시간 일련번호) 리습 (defun c:BN( / block nbn bn) (setvar "cmdecho" 0) (setq block (tblnext "block" T)) (while block (if (/= (substr (setq bn (cdr (assoc 2 block))) 1 1) "*") (progn (while (tblsearch "block" (setq nbn (rtos (getvar "cdate") 2 8)))) (command "rename" "b" bn nbn) ) ) (setq block (tblnext "block")) ) (princ) ) ========================================================= 아래는 각 줄의 코드 설명입니다. (defun c:BN( / b.. 2023. 2. 14.
블럭 이름 변경 리습 (이름 앞,뒤 첨자 추가) 리습 설명 (defun c:renbl ( / key txt op oDocument ) (prompt "\n블럭이름 일괄변경하기 ...") (initget "Front Back") (setq key (getkword "\n앞에넣기(F)/뒤에넣기: ")) (if (= key nil) (setq key "Back")) (cond ((= key "Front") (setq op "앞에")) ((= key "Back") (setq op "뒤에")) ) (setq txt (getstring (strcat "\n" op " 추가할 이름 입력: "))) (setq oDocument (vla-get-activedocument (vlax-get-acad-object))) (vlax-for oBlock (vla-get-blocks oD.. 2023. 2. 14.
728x90