Aller au contenu

Lisp Wipeout dans bloc.


fauxsuisse

Messages recommandés

Bonjours tous les crack du Lisp.

 

Je voulais savoir s'il était possible avec un lisp de placer tous les Wipeout dans les blocs en arrière plan.

Depuis la version 2015 j'ai de nouveau souvent les Wipeout des bloc qui se placent en premier plan donc on ne voie plus le symbole donc je doit les éditer un par un, sélectionner les éléments "Nettoyer" et les replacer en arrière plan, quand il y a deux trois ça va mais quand il y a une grosse quantité de bloc ça fait perdre beaucoup de temps.

 

Alors je voulais savoir si avec un lisp il était possible de faire ça sur les blocs insérés dans le dessin ou alors avec un script qui lors de l'édition du bloc sélectionnerait automatiquement les Wipeout et les placerait en arrière plan.

 

Moi qui pensait qu'un jour Totodesk résoudrait ce problème :(

Lien vers le commentaire
Partager sur d’autres sites

hello

désolé j'ai aps la solution mais à une époque aps si loitaine on m'avait fait un lisp pour passer les hachures (255,255,255) en arrière plan

(defun c:drw(/ blo doc ent)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (vlax-for blo (vla-get-blocks doc)
   (and (eq (vla-get-islayout blo) :vlax-false)
     (vlax-for ent blo
       (or (eq (vla-get-objectname ent) "AcDbHatch")
         (progn
           (vla-copy ent)
           (vla-delete ent)
         )
       )
     )
   )
 )
 (vla-endundomark doc)
 (princ)
)

 

peutêtre qu'en remplaçant "AcDbHatch" par "AcDbWipeout" ça marcherait?

++

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Lien vers le commentaire
Partager sur d’autres sites

hello

désolé j'ai aps la solution mais à une époque aps si loitaine on m'avait fait un lisp pour passer les hachures (255,255,255) en arrière plan

(defun c:drw(/ blo doc ent)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (vlax-for blo (vla-get-blocks doc)
   (and (eq (vla-get-islayout blo) :vlax-false)
     (vlax-for ent blo
       (or (eq (vla-get-objectname ent) "AcDbHatch")
         (progn
           (vla-copy ent)
           (vla-delete ent)
         )
       )
     )
   )
 )
 (vla-endundomark doc)
 (princ)
)

 

peutêtre qu'en remplaçant "AcDbHatch" par "AcDbWipeout" ça marcherait?

++

Phil

 

Parfait, sous la 2014 la manip fonctionne mais sous 2015 j'ai ce message

Il est recommandé de convertir les appels (command) en (command-s)

mais je ne voies pas où remplacer ça

Lien vers le commentaire
Partager sur d’autres sites

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é