(defun c:xx (/ #a #b #c #d #e #f #g #h #i #index)
(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
공유