Aller au contenu

Messages recommandés

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

coucou

je pense que ceci va te convenir,

en tous cas, je souhaite avoir bien répondu à tes besoins

je ne suis pas l'auteur mais il m'est inconnu et donc je ne le citerai pas

c'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

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

salut à toi :)

effectivement, dans certains cas, que je n'ai pas idenfifiés

il tourne en boucle

mais dans la plupart des cas ça fonctionne

je rectifie ta réponse, ce n'est pas du VB c'est du Lisp

ou plus précisément de l'AutoLisp

à ta disposition pour plus de renseignements

ciao

Posté(e)

Salut Didier

Oui, 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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é