revit 에서 Export된 cad는 Layout에 추출됨
Layout을 export layout to model을 실행하면 1:1 로 Model에 저장 됨
도면 스케일에 맞게 확대하면 치수 스타일이 엉망이 되는 문제 발생.
다음은 이러한 dimstyle의 문제를 수정하는 리습임
;;
;;
;;
(defun KM:setDIMST_INI ( / )
(setq _dimFont "돋움") ;; 치수 폰트 지정
(setq _scale 1.0)
(setq _sclPosition '(770.0 64.0)) ;;coordination(SK titleblock) of the string "A1: 1 / 400" of scale of the drawing
;;(setq SheetBlockName "*Sheet_YI*") ;; addtional get scale function for the YI project on 20260130
(setq SheetBlockName "*Sheet_*") ;; addtional get scale function for the YI project on 20260130
(setq scl 1.0)
(setq osm (getvar "OSMODE"))
(setvar "OSMODE" 0)
(setvar "PROXYNOTICE" 0)
(setvar "PROXYSHOW" 0)
(princ)
);defun
;;
;;
(defun KM:VARsDIMSTYLE_INI ( / )
(setvar "DIMSCALE" dscale) ; Set dimscale
(setvar "DIMEXE" 1.5) ; Lines. Extend beyond dim lines 1.5
(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" 0)
(setvar "DIMTXSTY" _dimFont) ; Text. Text style
(setvar "DIMTXT" dimtxtsize) ; Text. Text Height 2.9
(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)
);defun
;;
;;
(defun KM:getScl ( / pt1 sclobj);; find scale factor
(KM:setDIMST_INI)
(command "zoom" "e") ;;
(setq sclobj (entget (ssname (ssget _sclPosition) 0) )) ;get entity zero from prop.
(if
(setq scl (cdr (assoc 1 sclobj))) ;extract string from prop.
(if (setq sclpos (vl-string-search "/" scl)) ; 08.85714,112.48571,116.11429;{1/700} 에서 {1 "/" 위치
(progn
(setq scl (substr scl (+ 2 sclpos))) ; set scl "700}"
;; if scl is mtext "08.85714,112.48571,116.11429;{1/700}" , extract str scale "700"
(if (eq (cdr (assoc 0 sclobj)) "MTEXT")
(setq scl (atof (vl-string-subst "" "}" scl))) ; delete "}"; replace "}" to ""
(setq scl (atof scl))
)
))
(progn
(setq scl (cdr (assoc 41 (entget (ssname (ssget "X" (list (cons 0 "INSERT") (cons 2 SheetBlockName))) 0)))))
; (setq scl 1.0) ; if scale ("NONE") is 0.0, setq scl is 1.0
)
)
(if (eq scl 0.0)
(setq scl 1.0)
)
(print scl)
);defun
;;
;;
(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
;;
;;
;; Parse Numbers - Lee Mac
;; Parses a list of numerical values from a supplied string.
(defun LM:parsenumbers ( str )
( (lambda ( l )
(read
(strcat "("
(vl-list->string
(mapcar
'(lambda ( a b c )
(if (or (< 47 b 58)
(and (= 45 b) (< 47 c 58) (not (< 47 a 58)))
(and (= 46 b) (< 47 a 58) (< 47 c 58))
)
b 32
)
)
(cons nil l) l (append (cdr l) '(()))
)
)
")"
)
)
)
(vl-string->list str)
)
);defun
;;
;;
(defun KM:fixDIMSTYLE ( / dscale dimdata styleName dts dims )
(KM:setDIMST_INI)
(setq dscale (KM:getScl))
;(setq dimtxtsize 2.5)
(setq dimdata (tblnext "DIMSTYLE" T))
(while dimdata
(setq styleName (cdr (assoc 2 dimdata)))
(if (or (= styleName "Standard") (= styleName "Annotative"))
(setq dimdata (tblnext "DIMSTYLE"))
(progn
(command "-dimstyle" "r" styleName)
(setq _dimFont (getvar "DIMTXSTY"))
(setq dts (LM:parsenumbers styleName))
(if (< 1 (length dts))
(setq dts (+ (abs (car dts)) (* 0.1 (cadr dts))))
(setq dts (abs (car dts)))
);if
(KM:df0 _dimFont)
(setq dimtxtsize dts)
(KM:VARsDIMSTYLE_INI)
(command "-dimstyle" "s" styleName "y")
(setq dims (ssget "X" (list (cons 0 "DIMENSION") (cons 3 styleName))))
(command "-dimstyle" "a" dims "")
(setq dimdata (tblnext "DIMSTYLE"))
)
)
)
(princ)
);defun
;;
;;
(defun c:fds ( / )
(KM:fixDIMSTYLE)
(princ)
)
(princ "\n===== Press \"FDS\" to FIX Dimstyle.\n")(princ)반응형
'autocad' 카테고리의 다른 글
| 배경색상 레이어 만들기 (0) | 2026.10.12 |
|---|---|
| OLE->RGB by LeeMAC (0) | 2026.10.12 |
| 기존 dwg 열어서 문자 수정한 후 다른 이름으로 저장 (0) | 2026.09.29 |
| OPENING DWG to EDIT (0) | 2026.09.16 |
| ScriptPro (0) | 2026.09.10 |