(vl-load-com)
(prompt “n>>문자들을 선택: “)
(setq #a(ssget ‘((0 . “text”))))
(vl-cmdf “undo” “m”)
(setq #b(entsel “n>>라인을 선택: “))
(if (and #a #b)
(progn
(setq #c(vlax-ename->vla-object(car #b)))
(if (eq “AcDbPolyline” (vla-get-objectname #c))
(progn
(vl-cmdf “explode” (vlax-vla-object->ename #c))
(setq #c(vlax-ename->vla-object(ssname(ssget (osnap(cadr #b)”nea”))0)))
);;progn
);;if
(setq #d(vlax-safearray->list(vlax-variant-value(vla-get-startpoint #c))))
(setq #e(vlax-safearray->list(vlax-variant-value(vla-get-endpoint #c))))
(vl-cmdf “undo” “b”)
(setq #f(osnap (cadr #b) “nea”))
(setq #g(distance #d #f))
(setq #h(distance #e #f))
(if (< #g #h)(setq #i(angle #d #f))(setq #i(angle #e #f)))
(setq #index 0)
(repeat (sslength #a)
(vla-put-rotation (setq #j(vlax-ename->vla-object(ssname #a #index))) #i)
(setq #index(1+ #index))
(grtext -1 “변환중…..”)
);;repeat
(grtext -1 “”)
);;progn
);;if
);;defun
이 리습으로 문자를 선에 맞추어 정렬하고 쓰고 있었는데 한가지 문제가 있읍니다.
다시 문자를 이동시켜 선의 중앙에 다시 배치해야 하는 번거움입니다.
뭐,,,,수십개 정도야 하겠지만 몇백개씩 되니 참 힘들니다.
고수 여러분 부탁드립니다.
글자 정렬후 선의 중앙애 배치되고 또 어느정도 간격이 조정이 됐으며 합니다. 부디 도와 주시길 바랍니다.
어느정도란게 정확하게 뭔가요?? 문자를 라인 가운데 정렬하고 나서 띄울 간격을 직접 보시고 조정 할 수 있게 옵션을 넣어 달라는 것인지 정렬하기 전에 라인에서 띄울 간격을 입력하게 해 달라는 것인지