Aller au contenu

caractère d'échappement dans une sélection


x_all

Messages recommandés

Bonjour

Je cherche à faire une routine qui me sélectionnerai tous les bocs d'un dessin dont le nom commence par "Arbres"

Le pb c'est que sur les export d'archicad les arbres sont dans des blocs "Arbre 2d 1 à N" et que le logiciel trie pas forcément tous ces blocs dans un seul calque 
Je voudrais donc faire une routine qui soit capable de me sélect tous ces blocs mais sans avoir à connaitre la fin de la chaine du style Sélect ("arbre*")

Est ce possible?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Hello

Voir la routine "SelBlocks" VLisp ci-apres qui permet de selectionner N Blocs avec caractere magique par exemple *

pour ne donner que une partie COMMUNE du nom !

Bye, lecrabe

 

 
;; 
;; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/select-blocks-by-wildcard/td-p/5923154
;;
;; Routine: SelBlocks by BeekeeCZ
;;
;; Select Block by the beginning of the Name ...
;; 

;; 
;; --- Interrogation Entite/Objet en Lisp ---
;; (entget (car (entsel)) '("*"))
;; 

(vl-load-com)

(defun c:SelBlocks ( / bn ss i sn)
  (if (and (setq bn (getstring "Block Names to Select (For example: BL* -- Case Sensitive !) : "))
	   (setq ss (ssget "_X" (list '(0 . "INSERT")
				      (cons 2 (strcat "`*U*," bn))))))
    (repeat (setq i (sslength ss))
      (if (not (wcmatch (vla-get-effectivename (vlax-ename->vla-object (setq sn (ssname ss (setq i (1- i)))))) bn))
	(ssdel sn ss))))
  (if ss (sssetfirst nil ss))
  (princ)
)

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Super merci

Archicad à cette sale habitude de faire quasiment un bloc par arbre ce qui fait que dans ce dessin j'ai 79 "Arbres 2d..." pour peut être 100 ou 150 sur le plans de masse le tout dans un calque "divers 2d..." le dessin du coup fait 12MO quand je fait des Etransmit, ça pique un peu

Y a une bonne purge à faire pour les Xref ta routine va m'être super utile (et c'est pas la 1ere fois ) merci (encore une fois)

En plus ça marche pour les blocks dynamiques, c'est vraiment de la balle !!!

++

Lien vers le commentaire
Partager sur d’autres sites

Salut @x_all,

Tu peux aussi appliquer la solution de Patrick_35, pour sélectionner tous les blocs Arbre 2d 1 à N et les renommer en Arbre, tout court.

Ça fonctionne nickel 😀

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Lien vers le commentaire
Partager sur d’autres sites

@Steven ben parce que les blocs sont pas forcement les même, il y a toujours 3 ou 4 vrai type d'arbres..

et je ne crois pas quand un bloc existe qu'on puisse assigner ce nom à un autre

 

@Luna bha parce que je ne programme que si j'ai du temps pour m'amuser (<acronym class=dict title=)

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, x_all a dit :

@Steven ben parce que les blocs sont pas forcement les même, il y a toujours 3 ou 4 vrai type d'arbres..

et je ne crois pas quand un bloc existe qu'on puisse assigner ce nom à un autre

 

As-tu essayé ?

Par exemple, si tu as ds blocs qui s'appelle Arbre 2d 1, Arbre 2d 2, Arbre 2d 3, Arbre 2d 4, etc, et que ces blocs, bien qu'ils aient tous un nom différent, ils ont la même géométrie. Car il semblerait que ce soit ce que tu as sur ton plan. C'est bien çà ?

Si c'est le cas, avec la solution de Patrick-35 permet de sélectionner tous ces blocs et de les renommer avec le même nom. "Arbre", par exemple. De ce fait, au lieu d'avoir X définitions de blocs uniques pour une représentation unique, tu n'auras qu'une seule définition de bloc.

Par exemple, au lieu d'avoir Arbre 2d 1, Arbre 2d 2, Arbre 2d 3, Arbre 2d 4, etc 50 fois, tu auras "Arbre" 50 fois.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

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é