|
(defun c:ch_hauteur(/ resol selection hauteur
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 la hauteur
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 hauteur 0)
(while (<= hauteur 0)
;Attend une hauteur de texte valide.
(setq hauteur(getreal "Nouvelle
hauteur : "))
(if (<= hauteur 0)
;La hauteur de texte est inférieure
ou égale à 0.
(write-line "La hauteur
de texte doit être supérieure à 0.")
)
)
(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
'40 hauteur) (assoc '40 propriete) propriete)) ;Affecte
la nouvelle hauteur de texte à 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)
) |