Patrick_35 Posté(e) le 6 février 2004 Posté(e) le 6 février 2004 Bonjour,Après une recherche infructueuse dans les bases de données d'autocad, je ne sais pas où trouver les filtres qui sont appliqués dans les calques C'est après avoir reçu des plans de l'extérieur, j'ai une liste de filtres de calques impressionnante que je voudrais supprimer par un lisp, ceci afin de définir les miens @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
didier Posté(e) le 6 février 2004 Posté(e) le 6 février 2004 coucouje pense que ceci va te convenir,en tous cas, je souhaite avoir bien répondu à tes besoinsje ne suis pas l'auteur mais il m'est inconnu et donc je ne le citerai pasc'est le programmeur inconnu :(defun C:EFI ( / lext-dict ldict lay_entity lay_filters filter_names) (vl-load-com) (setq lext-dict (entget (vlax-vla-object->ename (vla-GetExtensionDictionary (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object) ) ) ) ) ) ) (if (setq ldict (member (cons 3 "ACAD_LAYERFILTERS") lext-dict)) (cdr (assoc 360 ldict)) nil ) (setq lay_entity (cdr (assoc 360 ldict))) (setq lay_filters (entget lay_entity)) (while (assoc 3 lay_filters) (progn (setq filter_names (cdr (assoc 3 lay_filters))) (dictremove lay_entity filter_names) (setq lay_filters (entget lay_entity)) ) )(princ))didier Éternel débutant... Mon site perso : Programmer dans AutoCAD
Patrick_35 Posté(e) le 6 février 2004 Auteur Posté(e) le 6 février 2004 Merci Didier, c'est bien ce que je cherche, mais le prog tourne constamment et ça me fait penser qu'il est buggé, mais ce n'est pas grave, ça m'a indiqué où chercher. Décidément, il faut que je me mette au vb @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
didier Posté(e) le 8 février 2004 Posté(e) le 8 février 2004 salut à toi :) effectivement, dans certains cas, que je n'ai pas idenfifiésil tourne en bouclemais dans la plupart des cas ça fonctionneje rectifie ta réponse, ce n'est pas du VB c'est du Lispou plus précisément de l'AutoLispà ta disposition pour plus de renseignementsciao Éternel débutant... Mon site perso : Programmer dans AutoCAD
Patrick_35 Posté(e) le 10 février 2004 Auteur Posté(e) le 10 février 2004 Salut DidierOui, tout à fait, ce n'est pas exactement ce que je voulais dire, mais c'est quand même très orienté objet et au vu des fonctionnalités qu'on à de plus en plus besoin avec d'autres applications, cela me paraît de plus en plus difficile avec le lisp @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Patrick_35 Posté(e) le 21 juillet 2004 Auteur Posté(e) le 21 juillet 2004 C'est bon, j'ai trouvé le lisp qui va bien (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)) (defun C:LFD () (C:LayerFiltersDelete)) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
didier Posté(e) le 21 juillet 2004 Posté(e) le 21 juillet 2004 Salut Patrickbien le Visual Lisp, chapeau, c'est concis comme il faut,par contre ton avatar ?elle s'est mis les doigts dans la prise, l'hermine.l'indéfrisable qui défrise, c'est un bon sujet de lisp ça !!!ciao Éternel débutant... Mon site perso : Programmer dans AutoCAD
Patrick_35 Posté(e) le 21 juillet 2004 Auteur Posté(e) le 21 juillet 2004 Salut Didier,Remarque, le comble pour un électricien est de ne pas être au courant, mais ce n'est pas ça. A force de manipuler certaines fonctions d'autocad, voilà le résultat, et encore, tu ne vois pas les marques du clavier.Ah, juste une précision, le lisp n'est pas de moi, sinon ce serait en français, mais c'était pour finir le 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
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