Aller au contenu

Selectionner plusieurs calques


Messages recommandés

Posté(e)

Bonjour,

Je cherche une routine ou n'importe quoi pour pouvoir sélectionner des calques nommés E1* et geler les autres de façon automatique. Du genre dès que l'on clique sur un bouton, certains sont sélectionnés et les autres sont gelés.

Merci pour votre aide.

Posté(e)

Salut et bienvenue !

 

En lisp :

Geler sauf E1*

(defun c:gel-E1 ()
(command "_-layer" "G" "*" "")
(command "_-layer" "L" "E1*" "")
(princ)
)

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

voici, sans utiliser (command .... ni (vla***

 

;;---Début---------------------------------------------------AD-LstCalques-------
;; << liste des calques répondant à un masque donné                            >>
;; <<                                                                          >>
;;
;;  créée le :  jeudi 25 janvier 2007  à 00:08
;;
;; Admet : 
;; =======
;;   masque     : Chaine   = masque de recherche (exemple : RDC-*)
;;
;; Retourne : Liste = de nom de calque
;; ==========
;-------------------------------------------------------------------------------
(Defun AD-LstCalques ( smasque / lcalq ocalq)
  (setq ocalq (TblNext "layer" T)) ; premier calque
  (while ocalq 
        (If (WcMatch (cdr (assoc 2 ocalq)) smasque)
          (setq lcalq (cons (cdr (assoc 2 ocalq)) lcalq))
 )
        (setq ocalq (TblNext "layer")) ; calque suivant
  )
  (reverse lcalq)

)
;;---fin-----------------------------------------------------AD-LstCalques-------


;;---Début---------------------------------------------------AD-OnOffCalque-------
;; << active ou désactive un calque                                            >>
;; <<                                                                          >>
;;
;;  créée le :  jeudi 25 janvier 2007  à 00:16
;;
;; Admet : 
;; =======
;;   sNomCalq   : Chaine   = nom du calque
;;   bEtat      : Booléen  = T si le calque doit être actif Nil si'il doit être inactif
;;
;; Retourne : Sans intérêt = 
;; ==========
;-------------------------------------------------------------------------------
(Defun AD-OnOffCalque ( sNomCalq bEtat / ocalq linfo iCouleur)
 (setq ocalq (TblObjName "layer" sNomCalq))
 (setq linfo (EntGet ocalq))
 (setq iCouleur (abs (cdr (assoc 62 linfo))))
 (setq linfo (subst (cons 62 (* iCouleur (if bEtat 1 -1))) (assoc 62 linfo) linfo))
 (EntMod linfo)
)
;;---fin-----------------------------------------------------AD-OnOffCalque-------


;;---Début---------------------------------------------------C:EssaiCalques------
;; << active ou inactive une série de calques                                  >>
;; << répondant à un masque                                                    >>
;;
;;  créée le :  jeudi 25 janvier 2007  à 00:21
;;
;; Admet : 
;; =======
;;
;; Retourne : Sans intérêt = 
;; ==========
;-------------------------------------------------------------------------------
(Defun C:EssaiCalques ( / sMasq koiFaire)
 (setq sMasq (getstring "\ncalques à traiter"))
 (initget "Activer Inactiver")
 (setq koiFaire (getkword "\n[Activer/Désactiver] que faut il en faire ? "))
 (mapcar '(lambda (sNom)
     (AD-OnOffCalque sNom (= koiFaire "Activer"))
   )
   (AD-LstCalques sMasq)
 )	  
 (princ)	  
)
;;---fin-----------------------------------------------------C:EssaiCalques------

 

bon courage

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é