리습고수님들 수정좀 해주세요..
일정간격으로 텍스트를 정렬 시켜주는 건데..갑자기 안되네..
캐드는 2002 adt 씁니다.
“문자간격 -> 10.0으로 변경error: no function definition: DXF” 이런 말이 나오면서 진행이 안되네요. 부탁드려요~^^
(defun c:taa(/ os bl ss n h1 pt1 pt2 d1 pty pt1x k en)
;->*error* start
(defun *error* (msg)(princ “error: “)(princ msg)
(setvar “osmode” os)(setvar “blipmode” bl)
(princ))
;-<*error* end
(setq os (getvar “osmode”) bl (getvar “blipmode”))
(prompt ” 문자 상하간격 바꾸기…”)
(setq ss (ssget ‘((0 . “text”)))) (terpri)
(setq n (sslength ss))
(setvar “blipmode” bl)
(setq h1 (cdr (assoc 40 (entget (ssname ss 0)))))
(if (= d2 nil) (setq d2 h1))
(princ (strcat “문자간격 입력<” (rtos d2 2 3) “>:”))
(setq d1 (getdist))
(if (= d1 nil) (setq d1 d2))
(prompt “n문자간격 -> “) (prin1 d1) (prompt “으로 변경”)
(setq d2 d1)
(setvar “osmode” 0)
(setq ss (@taa_lst ss))
(setq pt (dxf 10 (entget (ssname ss 0))))
(setq pty (cadr pt))
(setq k 1)
(repeat (- n 1)
(setq en (ssname ss k))
(setq ed (entget en))
(setq pt1 (dxf 10 ed))
(setq pt1x (car pt1))
(setq pt2 (list pt1x (- pty d1)))
(vl-cmdf “move” en “” pt1 pt2)
(setq pty (- pty d1))
(setq k (+ k 1))
)
(setvar “osmode” os)(setvar “blipmode” bl)
(prin1)
)
공유