;the first autolisp program I wrote!
Code:
(DEFUN C:RAT (/ LOOP LP ENT ENTN ENTL RP ENTRA ENTR)
(PROMPT "*ROTATIONAL ALIGNMENT OF TEXT* ")
(SETQ LOOP 1)
(WHILE LOOP
(SETQ LP 1)
(WHILE LP
(PRINT)
(SETQ ENT (ENTSEL "Select text: "))
(IF (/= ENT NIL) (SETQ LP NIL))
)
(SETQ ENTN (CAR ENT))
(SETQ ENTL (ENTGET ENTN))
(IF (= (CDR(ASSOC 0 ENTL)) "TEXT") (SETQ LOOP NIL) (PROMPT "SELECTED OBJECT IS NOT TEXT"))
)
(COMMAND "CHANGE" ENTN "" "" "" "" "" "90" "")
(print)
(Prompt "align to: ")
(COMMAND "ROTATE" ENTN "" "@" "PER" PAUSE)
(SETQ ENTL (ENTGET ENTN))
(SETQ ENTRA (ASSOC 50 ENTL))
(SETQ ENTR (CDR ENTRA))
(SETQ ENTR (/ (* 180 ENTR) PI))
(SETQ ENTR (- ENTR (* (FIX (/ ENTR 360)) 360)))
(IF (AND (> ENTR 90) (< ENTR 270)) (SETQ ENTR (+ ENTR 180)))
(COMMAND "CHANGE" ENTN "" "" "" "" "" ENTR "")
(print)
(prompt "new position: ")
(COMMAND "MOVE" ENTN "" "@" PAUSE)
)