Aller au contenu

Liste calques gelés ou activés


Messages recommandés

Posté(e)

Bonjour

Comment faire une icone qui me listerait uniquement les calques gelés et désactives dans une Form (uniquement pour info avant impression, car il m'arrive souvent de laisser des calques gelés ou désactivés lors d'une impression.........)

 

J'ai mis la question dans ce forum mais elle peut s'adapter dans les autres...

Merci

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

Bonjour,

 

Un petit Lisp vite fait:

 

(defun c:VISVERIF ( / layers liste )

 (vl-load-com)
 
 (setq layers (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object)))
       liste '()
 )
 (vlax-for lay layers
   (if (or
         (= (vla-get-LayerOn lay) :vlax-false)
         (= (vla-get-Freeze lay) :vlax-true)
       )
     (setq liste (cons (vla-get-Name lay) liste))
   )
 )
 (if liste
   (progn
     (princ "\nListe des calques désactivés ou gelés:")
     (princ "\n--------------------------------------")
     (mapcar '(lambda (x) (princ (strcat "\n" x))) (reverse liste))
     (princ "\n--------------------------------------")
     (textpage)
   )
   (princ "\nAucun calque gelé ou désactivé.")
 )
 (princ)
)

 

Le résultat s'affichera dans la bonne vieille fenêtre de texte. ;)

Tu peux utiliser APPLOAD ou le fichier AutoCAD.lsp pour charger automatiquement la routine dans chaque dessin, et créer une icône avec la macro suivante:

^C^CVISVERIF

Posté(e)

Salut

Merci ça fonctionne nickel!!

Peut on séparer les calques des xrefs?

Je suis gourmand!!

En tous cas c'est bien efficace

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

Bonjour,

 

(defun c:VISVERIF ( / layers nom liste xliste )

 (vl-load-com)
 
 (setq layers (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object)))
       liste '()
       xliste '()
 )
 (vlax-for lay layers
   (if (or
         (= (vla-get-LayerOn lay) :vlax-false)
         (= (vla-get-Freeze lay) :vlax-true)
       )
     (if (wcmatch (setq nom (vla-get-Name lay)) "*|*")
       (setq xliste (cons nom xliste))
       (setq liste (cons nom liste))
     )
   )
 )
 
 (if liste (setq liste(cons "\nCalques du dessin:\n" (reverse liste))))
 (if xliste (setq xliste(cons "\nCalques des XRefs:\n" (reverse xliste))))
 
 (if (or liste xliste)
   (progn
     (princ "\nListe des calques désactivés ou gelés:")
     (princ "\n--------------------------------------")
     (mapcar '(lambda (x) (princ (strcat "\n" x))) (append liste xliste ))
     (princ "\n--------------------------------------")
     (textpage)
   )
   (princ "\nAucun calque gelé ou désactivé.")
 )
 (princ)
)

 

;)

Posté(e)

Ben voila!

 

Excellent merci beaucoup!!

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

Bonjour à toutes et tous,

 

Pour aller encore plus loin, est-il possible de différencier les calques gelés de ceux qui sont désactivés ?

 

Merci d'avance,

Salut,

je pense que la manière la plus rationnelle de traiter ce problème n'est pas la programmation, mais la création de filtre de propriété de calque.

 

On peut donc faire un filtre général "calque invisibles" regroupant, gelés, inactivés et non imprimable, et des sous filtre pour chaque catégorie.

 

Je crois que Gile et patrick35 on créés des outils pour générer des filtre de calques, là c'est intéressant.

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

  • 4 mois après...
Posté(e)

Bonjour,

les dos lib de mac neel

Permettent d'avoir une listbox très simplement

 

(defun c:LstCG ( / layers liste )

(vl-load-com)

(setq layers (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object)))

liste '()

xliste '()

)

(vlax-for lay layers

(if (or

(= (vla-get-LayerOn lay) :vlax-false)

(= (vla-get-Freeze lay) :vlax-true)

)

(if (wcmatch (setq nom (vla-get-Name lay)) "*|*")

(setq xliste (cons nom xliste))

(setq liste (cons nom liste))

)

)

)

(dos_listbox "Technip TPS" "Couches GELEES ou INACTIVES" liste)

(dos_listbox "Technip TPS" "Couches Xrefs GELEES ou INACTIVES" xliste)

 

(if liste (setq liste(cons "\nCalques du dessin:\n" (reverse liste))))

(if xliste (setq xliste(cons "\nCalques des XRefs:\n" (reverse xliste))))

 

(if (or liste xliste)

(progn

(princ "\nListe des calques désactivés ou gelés:")

(princ "\n--------------------------------------")

(mapcar '(lambda (x) (princ (strcat "\n" x))) (append liste xliste ))

(princ "\n--------------------------------------")

(textpage)

)

(princ "\nAucun calque gelé ou désactivé.")

)

(princ)

 

)

post-185-0-58761100-1373468459_thumb.jpg

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é