; dreh.lsp ; setzen Winkel von Elementen auf Winkel von zwei Punkten ; erstellt 02/04 (c) Th.Jakob ; ; (defun c:dreh() (princ "\nRichtung wählen") (setq p1 (getpoint "\nersten Punkt wählen")) (setq neuwinkel (angle p1 (getpoint "\nzweiten Punkt wählen"))) (setq p0 (list 0 0)) (setq dreh_ucs (angle p0 (getvar "ucsxdir"))) (setq neuwinkel (+ neuwinkel dreh_ucs)) (princ "\nzu drehende Objekte wählen") (setq tl (ssget)) (setq anz (sslength tl)) (setq x 0) (while (< x anz) (setq ct (ssname tl x)) (setq ctl (entget ct)) ; textwinkel setzen auf (*(/ neuwinkel 180) Pi) (setq ctl (subst (cons 50 neuwinkel) (assoc 50 ctl) ctl)) (entmod ctl) (entupd ct) (setq x (1+ x)) ) )