๐ acad lisp ๊ธฐ์กด dwg ์ด์ด์ ๋ฌธ์ ์์ ํ ํ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ ์ฅํ๋ ๋ฆฌ์ต: Google ๊ฒ์
www.google.com
(vl-load-com)
(defun c:CHG_SAVEAS ( / acadObj docsObj targetFile saveFile oldText newText dbxDoc)
(setq acadObj (vlax-get-acad-object))
(setq docsObj (vla-get-documents acadObj))
;; 1. ์ฌ์ฉ์ ์
๋ ฅ ๋ฐ๊ธฐ
(setq targetFile (getfiled "์๋ณธ DWG ํ์ผ ์ ํ" "" "dwg" 0))
(if (not targetFile) (exit))
(setq saveFile (getfiled "์๋ก์ด ์ด๋ฆ์ผ๋ก ์ ์ฅํ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ ์ง์ " targetFile "dwg" 1))
(if (not saveFile) (exit))
(setq oldText (getstring t "\n์ฐพ์ ๋ฌธ์ ์
๋ ฅ: "))
(setq newText (getstring t "\n๋ฐ๊ฟ ๋ฌธ์ ์
๋ ฅ: "))
;; 2. ObjectDBX๋ฅผ ์ด์ฉํด ํ์ผ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ (ํ๋ฉด ๊น๋นก์ ์์)
(setq dbxDoc (vla-GetInterfaceObject acadObj
(strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2))
)
)
(if (vl-catch-all-error-p (vl-catch-all-apply 'vla-open (list dbxDoc targetFile)))
(progn
(princ "\nํ์ผ์ ์ด ์ ์์ต๋๋ค. ๊ฒฝ๋ก๋ฅผ ํ์ธํ์ธ์.")
(vlax-release-object dbxDoc)
(exit)
)
)
;; 3. Model Space ๋ฐ Paper Space ๋ด ๋ฌธ์ ํ์ ๋ฐ ์์
(vlax-for layout (vla-get-Layouts dbxDoc)
(vlax-for obj (vla-get-Block layout)
;; ์ผ๋ฐ TEXT ๋๋ MTEXT ํ์ธ
(if (vl-position (vla-get-ObjectName obj) '("AcDbText" "AcDbMText"))
(progn
;; ์ํ๋ ๋ฌธ์์ด์ ํฌํจํ๊ณ ์๋์ง ํ์ธ ํ ๊ต์ฒด
(if (vl-string-search oldText (vla-get-TextString obj))
(vla-put-TextString obj
(vl-string-subst newText oldText (vla-get-TextString obj))
)
)
)
)
)
)
;; 4. ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ ์ฅ ํ ๊ฐ์ฒด ํด์
(if (vl-catch-all-error-p (vl-catch-all-apply 'vla-saveas (list dbxDoc saveFile)))
(princ "\n์ ์ฅ์ ์คํจํ์ต๋๋ค. ํ์ผ์ด ์ด๋ ค์๊ฑฐ๋ ๊ฒฝ๋ก๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.")
(princ (strcat "\n์ฑ๊ณต์ ์ผ๋ก ๋ณ๊ฒฝ๋์ด ์ ์ฅ๋์์ต๋๋ค: " saveFile))
)
(vlax-release-object dbxDoc)
(princ)
)๋ฐ์ํ
'autocad' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| OPENING DWG to EDIT (0) | 2026.09.16 |
|---|---|
| ScriptPro (0) | 2026.09.10 |
| ์บ๋๋ฆฌ์ต์์ (getstring ๋ฐ์ดํ ์์ด ์ ๋ ฅ๋ฐ๊ธฐ (0) | 2026.09.09 |
| Edit Default String by DCL (0) | 2026.09.01 |
| VeLISP (0) | 2026.08.31 |