텍스트를 선택한 선과 수평으로 돌려주는 리습인데,
텍스트 한개씩만 적용이 가능해서요 ㅜ
제가 한번 해결해보려고 했는데 도통 안되네요..도와주세요ㅠ
명령어 사용시 텍스트 한개만 선택되는게 아니라, 다중선택이 가능하도록이요!
(defun c:tt(/ tex lin t1 t2 ta l1 l2 lsp lep laa)
(setvar "cmdecho" 0)
(setq tex (entsel "n>>문자를 선택하십시요! : "))
(setq lin (entsel "n>>라인을 선택하십시요! : "))
(setq t1 (car tex)
t2 (entget t1)
ta (assoc 50 t2)
l1 (car lin)
l2 (entget l1)
)
(setq lsp (cdr (assoc 10 l2)))
(setq lep (cdr (assoc 11 l2)))
(setq laa (angle lsp lep))
(if (and (> laa 1.5708) (<= laa 4.71239))
(setq laa (angle lep lsp))
)
(if (and (<= laa 1.5708) (> laa 4.71239))
(setq laa (angle lep lsp))
)
(setq t2 (subst (cons 50 laa) ta t2))
(entmod t2)
(princ)
)
;;;ZWCAD에서 확인………오토캐드에서 는 확인 못함 해보세요;;;;;;;;;;;;;;;;;
(defun c:TEST(/ tex lin t1 t2 ta l1 l2 lsp lep laa ss)
(setvar "cmdecho" 0)
(setq tex (ssget "_:L" '((0 . "TEXT"))))
(if (not tex)
(progn
(princ "nNo text selected.")
(return)))
(setq lin (entsel "n>>>☞ 라인을 선택: "))
(if (or (not tex) (not lin))
(progn
(princ "nInvalid selection.")
(return)))
(setq ss (sslength tex))
(setq i 0)
(while ( laa 1.5708) (<= laa 4.71239))
(and ( laa 4.71239)))
(setq laa (angle lep lsp))
)
(setq t2 (subst (cons 50 laa) ta t2))
(entmod t2)
(setq i (1+ i))
)
(princ)
)
아앗 바쁘신와중에 너무 감사합니다 ㅠ그런데 라인선택 후 리습이 작동하지 않고 그냥 꺼져버립니다 ㅠㅜ
복사붙혀넣기 하니 구문이 이상하게 올라 가요…
메일로 보내드릴께요………….주소..
gmlwls8276@naver.com 입니다! 너무감사합니다~~
보냈어요