CADxp: purge des filtres des calques nommés ? - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

purge des filtres des calques nommés ?

#1 L'utilisateur est hors-ligne   melino 

  • ceinture orange
  • Groupe : Membres
  • Messages : 25
  • Inscrit(e) : 30-janvier 04

Posté 26 novembre 2004 - 13:26

bonjour
comment purger toute cette liste de filtres de calques ?
en gardant bien entendu les 3 par defaut que propose autocad a savoir :
- afficher tous les calques
-afficher tous les calques utilisés
-afficher tous les calques dépendant des xrefs

merci !
0

#2 L'utilisateur est hors-ligne   melino 

  • ceinture orange
  • Groupe : Membres
  • Messages : 25
  • Inscrit(e) : 30-janvier 04

Posté 26 novembre 2004 - 13:35

oups,
petite précision :
bien entendu tout ça en évitant bien sur la supression ligne par ligne, très fastidieuse

merci
0

#3 L'utilisateur est hors-ligne   Eric 

  • ceinture rouge et blanche 6em dan
  • Groupe : Membres
  • Messages : 3281
  • Inscrit(e) : 16-décembre 02
  • LocationLamballe (22)

Posté 26 novembre 2004 - 13:44

Bonjour

Voici un petit programme dont l'auteur m'est inconnu qui fait cela

 (defun C:LayerFiltersDelete ()

(vl-Load-Com)

(vl-Catch-All-Apply '(lambda ()

(vla-Remove

(vla-GetExtensionDictionary

(vla-Get-Layers

(vla-Get-ActiveDocument

(vlax-Get-Acad-Object)))) "ACAD_LAYERFILTERS")))

(princ "\nAll layer filters have been deleted.")

(princ)

)



Tu copies ca dans le bloc note de Windows, tu l'enregistres en filtre.lsp (par exmple)

Puis dans AutoCAD tu lances la commande appload, tu charges ton fichier lsp

Et pous finir tu lance la commande LAYERFILTERSDELETE

Et normalement tes filtres sont supprimés sauf ceux de base

A plus

Eric

0

#4 L'utilisateur est hors-ligne   Serge 

  • ceinture noire
  • Groupe : Membres
  • Messages : 394
  • Inscrit(e) : 06-décembre 02
  • LocationVille de Québec

Posté 26 novembre 2004 - 15:19

melino,

Voici une routine plus souple dont l'auteur est connu.

;;; DelSomeFilters
;;; Efface les filtres de calques de façon sélective
;;;
;;; Compatibilité: AutoCAD 2000 et plus
;;;
;;; Instructions:
;;; 1) Charger ce fichier
;;; 2) Tapez DSF sur la ligne de commande
;;;
;;; Par Serge Camiré, CadNovation, 2003/03/16
;;; http://www.cadnovation.com/fr
;;;

(vl-load-com)

(defun DelSomeFilters ( mask / lext-dict ldict lay_entity lay_filters filter_name)
(vl-load-com)
(setq lext-dict (entget (vlax-vla-object->ename
(vla-GetExtensionDictionary (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object))))
)))
(setq lay_entity (if (member (cons 3 "ACAD_LAYERFILTERS") lext-dict)
(cdr (assoc 360 lext-dict))
nil
))
(if lay_entity (setq lay_filters (entget lay_entity)))
(if lay_filters (setq lay_filters (member (assoc 3 lay_filters) lay_filters)))
(while lay_filters
(setq filter_name (cdar lay_filters))
(if (wcmatch filter_name mask)
(dictremove lay_entity filter_name)
)
(setq lay_filters (cddr lay_filters))
)
(princ)
)

;;; Exemples:
;;; (DelSomeFilters "*[1-9]*") ; Tous les calques avec des nombres
;;; (DelSomeFilters "*") ; Tout
;;; (DelSomeFilters "???,~*m*,N*") ; Tous les calques ayant 3 caractères ET ceux n'ayant pas de 'm' ET ceux ne débutant pas par N
;;; (DelSomeFilters "*")

(defun c:dsf () (DelSomeFilters "*") (princ))
(princ "\nTapez DSF pour effacer tous les filtres de calques")
(princ)


Serge
0

#5 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6381
  • Inscrit(e) : 06-janvier 03

Posté 26 novembre 2004 - 17:09

Bonjour à tous

Citation

(setq lay_entity (if (member (cons 3 "ACAD_LAYERFILTERS") lext-dict)


Serge, juste une question sur ton lisp, le ACAD_LAYERFILTERS, tu le trouves où dans la doc ?. Ce qui me gène dans ces deux lisp, c'est de ne pas savoir où trouver ce fichu argument, même en parcourant l'explorateur d'objet en vba.

@+
Les Lisps de Patrick
Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.
Joseph Joubert, 1754-1824
0

#6 L'utilisateur est hors-ligne   melino 

  • ceinture orange
  • Groupe : Membres
  • Messages : 25
  • Inscrit(e) : 30-janvier 04

Posté 30 novembre 2004 - 13:00

merci!!
balèze eric ceinture noire ,
le lisp marche , en fait il est actif dès son chargement, c'est bien !
bonne suite
0

#7 L'utilisateur est hors-ligne   Serge 

  • ceinture noire
  • Groupe : Membres
  • Messages : 394
  • Inscrit(e) : 06-décembre 02
  • LocationVille de Québec

Posté 30 novembre 2004 - 15:17

Patrick 35,

Si tu vas dans Vlide, tu peux te créer un espion sur (namedobjdict). De là, tu peux faire un double-clic dessus qui t'ouvres une nouvelle fenetre. Celle-ci offre 2 entrées: {entrées...} et {identificateur} "C". Tu double-clique sur {entrées...} qui t'ouvre l'entrée du dictionnaire. Tu y découvres tous les dictionnaires. C'est beaucoup plus rapide que par programmation.

Serge

0

#8 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6381
  • Inscrit(e) : 06-janvier 03

Posté 30 novembre 2004 - 17:45

Merci beaucoup Serge, je ne connaissais pas cette manière de faire. J'avais bien trouvé dans mes recherches ACAD_GROUP, ACAD_LAYOUT, ACAD_MLINESTYLE, ACAD_PLOTSETTINGS et ACAD_PLOTSTYLENAME mais absolument rien sur ACAD_LAYERFILTERS, d'où ma question, ce qui induit aussi de savoir s'il n'y en a pas d'autre dans le même style.

@+
Les Lisps de Patrick
Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.
Joseph Joubert, 1754-1824
0

#9 L'utilisateur est hors-ligne   Azerty 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 139
  • Inscrit(e) : 22-décembre 03

Posté 17 juin 2010 - 15:45

Bonjour à tous,

Désolé de faire remonter un vieux sujet, mais (sauf erreur de recherche de ma part) c'est le seul qui traite de cette thématique. Ma question est assez similaire, mais concerne des versions plus récentes.

En déplacement, sur un poste équipé de la version 2010, un fichier présentait un bug : lorsque l'on supprime les filtres (gestionnaire de calque, sur-lignage, clic droit, supprimer) ils disparaissent, mais à la réouverture du gestionnaire de calque, ils sont revenus. Quelques recherches sur la toile :
le lisp de ce topic // http://www.cadnovation.com/fr/Tips.asp
http://autodesk.blog..._filter_an.html
... n'ont rien donné.

De retour sur une simple version 2005, la suppression par clic droit fonctionne normalement.
D'où ma question, car ça m'interpèle : comment faire pour supprimer des filtres de calques récalcitrant sous 2010 ????

D'avance, merci.


Une seule chose à dire : MERCI CADxp !
0

#10 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6381
  • Inscrit(e) : 06-janvier 03

Posté 17 juin 2010 - 16:41

Salut

Et avec JAV ?

@+
Les Lisps de Patrick
Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.
Joseph Joubert, 1754-1824
0

#11 L'utilisateur est hors-ligne   Azerty 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 139
  • Inscrit(e) : 22-décembre 03

Posté 23 juin 2010 - 16:24

Merci pour cette réponse rapide (maintenant c'est moi qui tarde ... hum)
Malheureusement JAV, que je connaissais, ne fonctionne pas.

Mais après une investigation poussée ... je vais poser ma question autrement.
En effet, ce n'est pas le fichier en question qui est en cause, mais l'utilisation d'AutoCAD 2010.

En version 2005, il y a dans le gestionnaire de claques un bouton APPLIQUER.
Mais dans la version 2010, on peut faire pleins de choses (filtre de calques, de propriétés, ancrage, transparence ...) sauf qu'aucune manip de suppression ne fonctionne.

En clair, lancement du logiciel, création d'un nouveau fichier, ouverture du gestionnaire de calque, ajout d'un filtre ... et HOP celui-ci va perdurer à jamais ; malgré sa suppression (dans la liste des filtres : clic droit > supprimer) qui n'est invisible que jusqu'à la fermeture du gestionnaire.

D'où ma question en rapport avec ce sujet :
Comment confirmer la suppression d'un filtre de calque avec AutoCAD 2010 ?
Une seule chose à dire : MERCI CADxp !
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)