ribbit Posté(e) le 30 juin 2004 Posté(e) le 30 juin 2004 Bonjour, Un truc que j'utilise peu, c'est les "filtres nommés", dans le gestionnaire de calques (à ne pas confondre avec les filtres nommés de la commande FILTER). Le jour où je veux l'utiliser, je découvre une liste faramineuse d'une cinquantaine de noms QUE JE N'AI JAMAIS DONNES. Quelqu'un sait comment on édite cette liste ? Ribbit. Ribbit."Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."Version en cours : Autocad Map 2013
Patrick_35 Posté(e) le 30 juin 2004 Posté(e) le 30 juin 2004 Salut,Il y a déjà eu quelque chose sur ce sujet @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
ribbit Posté(e) le 30 juin 2004 Auteur Posté(e) le 30 juin 2004 Ah oui, bien vu. Je n'ai pas pensé lancer une recherche globale.... Merci !Ribbit. Du code, c'est un script de Mr. R.Bell: CADALYST 05/04 Tip1949: LFD.LSP Remove Layer Filters © 2004 R. Robert BellWritten by: R. Robert BellCopyright © 2004 by R. Robert BellPurpose: Allows the user to enter a wildcard string to keep any matching filters. (NDR : Permet à l'utilisateur d'entrer un joker pour garder des filtres) Sample string: "`#*,MW*" will keep all filters beginning with a "#" or "MW" (NDR : exemple : "`#*,MW*" garde tous les filtres commencant par un "#" ou "MW" Début du code (a coller dans un fichier texte LFD.lsp ) : (defun rrbI:LayerFiltersDelete (strKeepWC / objXDict);; This function insures that an Extension Dictionary exists, and works on both locations for layer filters(vl-load-com) ; load ActiveX if needed(vl-catch-all-apply ; trap error if no extension dictionary(function(lambda ()(setq objXDict (vla-GetExtensionDictionary ; bind dictionary to variable(vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))))))))(cond (objXDict ; if the extension dictionary exists(or ; use OR to return T for success(rrbI:DeleteAllXRecs objXDict "ACAD_LAYERFILTERS" strKeepWC) ; pre-2005 layer filters(rrbI:DeleteAllXRecs objXDict "AcLyDictionary" strKeepWC))))) ; 2005 layer filters (defun rrbI:DeleteAllXRecs (objXDict dictName strKeepWC / objDict i);; This function performs the chore of deleting each filer that doesn't match the wildcard(vl-catch-all-apply ; trap errors(function(lambda ()(setq objDict (vla-Item objXDict dictName)) ; get layer filters dictionary(vlax-for objXRec objDict ; loop thru all XRecords in the dictionary(cond ((not (and strKeepWC (wcmatch (vla-Get-Name objXRec) strKeepWC))) ; if deleting all filters, or current doesn't match wildcard(setq i (1+ (cond (i) ; increment counter(0)))) ; initialize counter(vla-Delete objXRec))))))) ; delete filter(cond (i (princ (strcat "\n" (itoa i) " filters deleted."))))) ; if counter is bound, report number of filters deleted (defun C:LFD (/ inpKeep);; Main command-line function(setq inpKeep (getstring"\nWildcard mask for filters to keep, or to delete all: "))(rrbI:LayerFiltersDelete (cond ((/= inpKeep "") inpKeep))) ; pass nil to subr if user hit (princ)) ; clean exit Ribbit."Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."Version en cours : Autocad Map 2013
ribbit Posté(e) le 30 juin 2004 Auteur Posté(e) le 30 juin 2004 Et en rab pour le VBistes (visez le code en une ligne !!: Q How to delete unused layer filters? A In AutoCAD 2004, there is the 'Delete all' button in the Named layer filter part of the Layer Properties Manager. In AutoCAD 2005 select your Layer filters in the Layer Properties Manager dialog, right-click and choose Delete.In older AutoCAD versions (or in AutoCAD 2004/2005) you can perform the following VBA macro to erase the layer filters (use e.g. the _VBASTMT command): For Each ent In ThisDrawing.Layers.GetExtensionDictionary("ACAD_LAYERFILTERS"): ent.Delete: Next ent In AutoCAD 2005, add also:For Each ent In ThisDrawing.Layers.GetExtensionDictionary("ACLYDICTIONARY"): ent.Delete: Next ent There is also the 'REMLAY' VLISP downloadable from Xanadu VIP server. Ribbit."Une fois qu'on les a découvertes toutes les vérités sont faciles à comprendre; l'essentiel c'est de les découvrir."Version en cours : Autocad Map 2013
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant