DECKER & CAD SOLUTIONS

 

Programmes Lisp -
Source du programme Ch_Angle

 

(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)

)

 

Fermer la fenêtre 


© Copyright 2004 [DECKER CAD SOLUTIONS] Tous droits réservés.