(defun
c:ch_angle(/ resol selection angle ptr entite propriete nbrmod)
(write-line
"\nTéléchargé depuis le site Internet http://www.decker-cs.com")
(write-line
"Auteur : Christian Decker")
;
(write-line
"Changer l'angle de texte.")
;
(setq resol(getvar "snapmode"))
;Sauvegarde l'état de la résol.
(setvar "snapmode" 0)
;Désactive la résol.
(setq selection(ssget))
;Attend la sélection d'objets.
(setvar "snapmode" resol)
;Restitue l'état initial de la résol.
(setq
angle(getangle "Nouvel angle : "))
(setq
ptr 0)
(setq
nbrmod 0)
(repeat (sslength selection)
;Pour chaque élément de la sélection...
(setq entite(ssname selection ptr))
;Obtient le nom de l'entite de la base
de données.
(setq propriete(entget entite))
;Obtient la liste des propriétés de
l'entité.
(if (= (cdr(assoc '0 propriete)) "TEXT")
;L'entité est un texte.
(progn
(setq propriete(subst (cons
'50 angle) (assoc '50 propriete) propriete))
;Affecte le nouvel angle à la liste des propriétés.
(entmod propriete)
;Mise à jour de la liste des propriétés.
(entupd entite)
;Regénération de l'entité.
(setq nbrmod(+ nbrmod 1))
)
)
(setq ptr(+ ptr 1))
)
(write-line
(strcat "Nombre de textes modifiés : " (itoa nbrmod)))
(princ)
)