bucheron Posté(e) le 23 septembre 2004 Posté(e) le 23 septembre 2004 Salut a tous Voila mon probleme : J'ai a traiter plusieurs fichiers sur lesquels il faut que je supprime une liste de blocs. La methode manuelle qui marche très bien, est de prendre la selection rapide (_qselect) et dans la boite de dialogue de selectionner une "reference de bloc" par "nom" "egal à" et je rentre le nom du bloc.Est il possible de faire un petit script qui me permetrai de faire ces operations plus rapidement ? Merci ;)
Serge Posté(e) le 23 septembre 2004 Posté(e) le 23 septembre 2004 Bucheron, (Tiens, hier on parlait de se tirer une bûche)Voici une routine simple qui ne tient pas compte des différents onglets ni de l'état des calques. Il suffit de rectifier la liste des noms de bloc (vers la fin du listing). (defun eraseblocks ( liste action / listeCDF ss ) (setq listeCDF "") (foreach string liste (setq listeCDF (strcat listeCDF "," string))) ; ",bloc1,bloc2,bloc3,..." (setq listeCDF (substr listeCDF 2)) ; "bloc1,bloc2,bloc3,..." (setq ss (ssget "_x" (list (cons 0 "insert") (cons 2 listeCDF)))) (if ss (command "_erase" ss "")) (if (= action 2) (command "_purge" "_blocks" listeCDF "_no"))) (defun c:eraseblocks ( / liste) ;; Faire une liste de noms de bloc. Masques *, ? et autres acceptés (setq liste (list "bloc1" "bloc2" "bloc3" "bloc4" "bloc5" "bloc6" "bloc7" "bloc8" "bloc9" )) ;; 1 = effacer seulement, 2 = effacer et purger (setq action 2) (eraseblocks liste action) (princ)) (princ "\nTapez ERASEBLOCKS pour effacer les blocs")(princ) Serge
bucheron Posté(e) le 27 septembre 2004 Auteur Posté(e) le 27 septembre 2004 Merci Serge pour ce petit lisp qui va me faire gagner un temps très précieux. A+ :)
sechanbask Posté(e) le 14 décembre 2006 Posté(e) le 14 décembre 2006 Bonjour,je cherche la même chose pour effacer des wipeout (nettoyer en fr).. mais comme je ne cnnais pas grand chose en lisp je ne vois pas quoi changer dans ton LISP...Merci d'avance ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
Fruity Posté(e) le 19 décembre 2006 Posté(e) le 19 décembre 2006 Charge ca dans un lisp: (defun c:sel(/ blo sel)(sssetfirst nil)(setq blo(car(entsel)))(if(=(cdr(assoc 0(entget blo)))"INSERT")(sssetfirst (setq sel(ssget "X"(list(cons 0 "INSERT") (assoc 2(entget blo))))) sel))) Tape SEL, clique sur un bloc, et tous les blocs qui portent ce nom seront selectionner.Merci à Tramber pour cette commande. https://www.facebook.com/aedenhivanovahttp://ca-vous-enerve.blogspot.com/
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