(defun KM:CLsfMT ( / e i cnt var old new new_val chg ) ; note 란에 있는 mtext 줄간격 1.1 로 조정
;; chage module LsfMT
(setq e (ssget "x" '((0 . "MTEXT"))))
(setq i 0)
(setq new_val "1.1")
(setq cnt (sslength e))
(while (> cnt i)
(setq var (entget (ssname e i)))
(setq old (assoc 44 var)) ;; (44 . 0.8348)
(setq new (cons 44 new_val)) ;; change Line space factor value to 1.1
(setq chg (subst new old var))
(setq i (1+ i))
(entmod chg)
); end while
(princ))
(defun c:asf () ; All MText Line space factor to 1.1
(KM:CLsfMT)
)
(defun KM:FIRE_MARK ( / e i cnt var old1 old2 new1 new2 new_val1 new_val2 chg1 chg2)
(command "-layer" "c" "10" "A-ANNO-NOTE" "") ; 방화 레이어 색상 10으로
(command "-layer" "c" "10" "A-DETL-GENF" "")
(setq e (ssget "x" '((8 . "A-ANNO-NOTE") (0 . "MTEXT"))))
(setq i 0)
(setq new_val1 "AA-GNRL_TEXT")
(setq new_val2 5); justification 5 = Middle center
(if (/= e nil)
(progn
(setq cnt (sslength e))
(while (> cnt i)
(setq var (entget (ssname e i)))
(setq old1 (assoc 8 var))
(setq new1 (cons 8 new_val1))
(setq chg1 (subst new1 old1 var))
;(entmod chg1)
(setq old2 (assoc 71 chg1))
(setq new2 (cons 71 new_val2))
(setq chg2 (subst new2 old2 chg1))
(setq i (1+ i))
(entmod chg2)
); end while
); end progn
); end if
(princ)); end defun KM:fire_mark
(defun c:fre ()
(KM:FIRE_MARK)
)
(defun KM:ERASE_LENGTH_LINE ( / len_line slay e i cnt var p1 p2 dist_line)
(setq len_line 4.1) ; 길이가 4.1 이하인 직선 삭제
;(setq slay "AA-SHUT") ; 레이어 변수화
(setq slay (cdr (assoc 8 (entget (car (entsel "\nSelect Layer:")))))) ; 레이어 선택
(setq i 0)
(setq e (ssget "x" (list (cons 0 "LINE") (cons 8 slay))))
; '((8 . slay)가 보통사용되는데 인식이 안되서 (list , (cons 씀
(prompt (strcat (itoa (sslength e)) " selected elements.\n"))
(if (/= e nil)
(progn
(setq cnt (sslength e))
(while (> cnt i)
(setq var (entget (ssname e i)))
(setq p1 (cdr (assoc 10 var)) p2 (cdr (assoc 11 var)))
(setq dist_line (distance p1 p2))
(if (>= len_line dist_line)
(command "erase" (ssname e i) "")
); end if
(setq i (1+ i))
); end while
); end progn
(prompt (strcat "\n" (itoa (+ i 1)) " erased elements."))
); end if
(princ)); end defun KM:erase_length_line
(defun c:e4 ()
(KM:ERASE_LENGTH_LINE)
)
'autocad' 카테고리의 다른 글
Fix Dimstyles After Revit exporting to Cad (0) | 2024.08.01 |
---|---|
선택없이 PDF 출력하기 (0) | 2024.07.24 |
not Equal (0) | 2024.07.17 |
* 로 시작하는 이름을 가진 블럭 이름을 수정할 때 (1) | 2024.07.05 |
Fix Scale Exported DWG from rvt (0) | 2024.06.27 |