Aller au contenu

Inactif un calque et active le suivant


Messages recommandés

Posté(e)

Bonjour à tous.

 

Suite à ce post de Willy95, j'ai décidé d'en faire un lisp.

 

Ce lisp désactive le(s) calque(s) actif(s), puis, active le(s) calque(s) suivant.

;;; ****************************************
;;; Inactive un calque et Active le suivant 
;;;               Pour Willy95              
;;; ****************************************
(defun c:CalqSuivant (/ LstCalq lay LstCalq CalqPos CalqDxf CalqActif)
 (princ "\nDéveloppé par DenisH - CadXP.com (v1.0)")
 (setq LstCalq nil
       Trouv 0
 ) ;_ Fin de setq
 (while (setq lay (tblnext "LAYER" (not lay)))
   (if (not (wcmatch (cdr (assoc 2 lay)) "*|*"))
     (setq LstCalq (cons (cdr (assoc 2 lay)) LstCalq))
   ) ;_ Fin de if
 ) ;_ Fin de while
 (setq LstCalq (vl-sort LstCalq '<))
 (foreach CalqCour LstCalq
   (setq CalqPos (tblobjname "LAYER" CalqCour))
   (setq CalqDxf (entget CalqPos))
   (setq CalqActif (cdr (assoc 62 CalqDxf)))
   (cond ((and (> CalqActif 0) (= Trouv 0))
          (setq Trouv 1)
          (entmod (append CalqDxf (list (cons 62 (- (cdr (assoc 62 CalqDxf)))))))
         )
         ((and (< CalqActif 0) (= Trouv 1))
          (setq Trouv 0)
          (entmod (subst (cons 62 (* CalqActif -1)) (assoc 62 CalqDxf) CalqDxf))
         )
   ) ;_ Fin de cond
 ) ;_ Fin de foreach
 (princ)
) ;_ Fin de defun

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité