;; 캐드 치수 한꺼번에 바꾸기 문자 초록, 천단위 콤마, 계단치수높이 2.4, 소수점 1자리표시, 주심도 치수높이 2.2
;; 각자 스타일 보존
(defun KM:setINI ( / )
(progn (setq _dimFont "돋움_1") ;; 치수 폰트 지정
(setq _cadDimstyle "SK_돋움_3") ; 치수스타일 지정
(setq _scale 1.0)
) ;progn
;;; set dimscle from sheet's scale
(setq sheetblkname (ssname (ssget "_X" (list (cons 0 "INSERT") (cons 2 "Sheet_A1_R*"))) 0))
(setq _scale (cdr (assoc 41 (entget sheetblkname))))
(princ)
) ;defun KM:setINI
;
(defun KM:df0 ( dimfont );; set font-height to zero ;
(progn
(vl-load-com)
(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(setq StyList (vla-get-TextStyles ActDoc))
(setq StyObj (vla-Item StyList dimFont))
(vla-put-Height StyObj 0.0)
)
(princ)
)
(defun KM:set_DIMSTYLE ( dimFont cadDimstyle dscle) ;; 치수스타일 교정함수
(progn
(setq dimPrecision "SK_돋움_2_5_STAIR");
;
(command "-dimstyle" "r" cadDimstyle)
(setvar "DIMSCALE" dscale) ; Set dimscale
(setvar "DIMEXO" 3.0) ; Lines. Offset from origin 3.0
(setvar "DIMASZ" 1.0) ; Symbols and Arrows. Arrow size 1.0
(setvar "DIMBLK" "_DOTBLANK") ; Symbols and Arrows. Arrowhead
(setvar "DIMCLRT" 3) ; Text. Color 3 green
(setvar "DIMTXSTY" dimFont) ; Text. Text style
(setvar "DIMTXT" 3.0) ; Text. Text Height 3.0
(setvar "DIMTAD" 1) ; Text. Text placement Vertical Above(1)
(setvar "DIMGAP" 1.0) ; Text. Offset from dim line 1.0
(setvar "DIMTIH" 0) ; Text. Aligned with dimension line
(setvar "DIMTMOVE" 2) ; Fit. Text placement without leader
(setvar "DIMTIX" 1) ; Fit. Always keep text between ext lines
(setvar "DIMTOFL" 1) ; Fit. Draw dim line between ext lines
(setvar "DIMDEC" 0.0) ; Primary Units. Linear dimensions Precision 0.0
(setvar "DIMLUNIT" 6) ; Primary Units. Windows Desktop(6)
;
(if (= cadDimstyle dimPrecision) (setvar "DIMDEC" 1) ) ; 계단치수 소수점 1자리표시
(if (or (= cadDimstyle "SK_돋움_2_5") (= cadDimstyle "SK_돋움_2_5_1") (= cadDimstyle "SK_돋움_2_5_2") (= cadDimstyle "SK_돋움_2_5_STAIR")) (setvar "DIMTXT" 2.5) ) ;
(if (or (= cadDimstyle "M15-P_N300__Inside_-주심도") (= cadDimstyle "M15-P_N300__Inside_-주심도_1") (= cadDimstyle "M15-P_N300__Inside_-주심도_2") (= cadDimstyle "M15-P_N300__Inside_-주심도_3")) (setvar "DIMTXT" 2.2) ) ;
;
(command "-dimstyle" "s" cadDimstyle "y")
(command "_dimstyle" "a" (ssget "_X" (list (cons 0 "DIMENSION") (cons 3 cadDimstyle))) "")
(command "regen")
) ; progn
(princ)
) ;defun KM:set_DIMSTYLE
(defun c:dg ()
(KM:setINI);
(KM:df0 _dimfont) ;; set font-height to zero
;;(KM:set_DIMSTYLE _dimfont _cadDimstyle _scale) ;; set dimstyle
;;SET ALL DIMSTYLES exceped Dimstyles Annotative, Standard.
(command "_zoom" "e")
(progn
(setq !Dimstyle (tblnext "DIMSTYLE" T)) ;; 모든 치수 스타일 찾아서 적용
(while !Dimstyle
(setq !Dimstyle (cdr (assoc 2 !Dimstyle)))
(if
(and (/= !Dimstyle "Annotative") (/= !Dimstyle "Standard")) ;; 표준, 어노테이티브 스타일 적용 제외
(KM:set_DIMSTYLE _dimfont !Dimstyle _scale) ) ;; 치수스타일마다 교정함수 호출
(setq !Dimstyle (tblnext "DIMSTYLE"))
) ;if
) ;progn
(princ)
);defun c:dg
'autocad' 카테고리의 다른 글
To change true color to ACI(AutoCAD Color Index) of Layers (0) | 2024.08.29 |
---|---|
layouts 폴더에 ExportLayout 저장하기 (0) | 2024.08.13 |
선택없이 PDF 출력하기 (0) | 2024.07.24 |
레이어 조정; 짧은 직선 삭제 (0) | 2024.07.18 |
not Equal (0) | 2024.07.17 |