여기서 글씨를 자르면 밑에 두줄로 되는데 한줄로 하는 방법이요~ 알려주시면 정말 감사하겠습니다. ㅠㅠ
;text cut
(defun @txtcut (/ ss en1 oldtxt sn st txt osl nsl tno ox condi txt1 txt2 h ang en2 t_sub_txt len)
(setvar “cmdecho” 0) (setq ss nil)
(while (= ss nil) (setq ss (ssget “:s” (list (cons 0 “text”)))) )
(setq en1 (ssname ss 0))
(setq oldtxt (cdr (assoc 1 (entget en1))))
(setq sn (cdr (assoc 7 (entget en1))))
(setq st t)
(while st
(setq txt (getstring “n분리될 첫단어: “))
(if txt (setq st nil) )
)
(setq osl (strlen oldtxt))
(setq nsl (strlen txt))
(setq tno 1) (setq st t)
(while (and st (< tno osl))
(setq ox (substr oldtxt tno nsl))
(if (= ox txt)
(setq st nil condi t)
(setq tno (1+ tno))
)
)
(if condi
(progn
(setq txt1 (substr oldtxt 1 (- tno 1)))
(setq txt2 (substr oldtxt tno (- osl (- tno 1))))
(setq h (cdr (assoc 40 (entget en1))))
(setq ang (cdr (assoc 50 (entget en1))))
(command “copy” en1 “” (list 0.0 0.0 0.0)
(polar (list 0.0 0.0 0.0) (- ang (/ pi 2.0)) (* h 2.0))
)
(setq en2 (ssname (ssget “l”) 0))
(setq t_sub_txt (strcase (substr txt1 1 3)))
(if (= (strcase t_sub_txt) “%%U”) (setq txt1 (strcat txt1 “%%u”)) )
(entmod (subst (cons 1 txt1) (assoc 1 (entget en1)) (entget en1) ) )
(setq len (strlen txt2))
(setq t_sub_txt (strcase (substr txt2 (- len 2) 3)))
(if (= (strcase t_sub_txt) “%%U”) (setq txt2 (strcat “%%u” txt2)) )
(entmod (subst (cons 1 txt2) (assoc 1 (entget en2)) (entget en2) ) )
)
)
)
공유