Aller au contenu

Selection rapide --> plusieurs calques


a.etudes

Messages recommandés

Bonjour à tous

 

Si, avec la commande _filter

 

_filter --> Sélection du filtre --> Calque --> Sélectionner... --> Choix des calques (sélection multiple possible) --> Ajouter à la liste --> Appliquer --> Sélection des objets

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

(defun c:laysel (/ SS FILTRE I E LAY)
 (setq SS (ssget))
 (if SS
   (progn
     (setq FILTRE '((-4 . "OR>")) )
     (setq I 0)
     (while (< I (sslength SS))
       (setq E (entget (ssname SS  I)))
       (setq LAY (assoc 8 E))
       (setq FILTRE (cons LAY FILTRE))
       (setq I (+ I 1))
     )
     (setq FILTRE (cons '(-4 . "<OR") FILTRE))
     (setq SS (ssget "_X" FILTRE))
     (sssetfirst SS SS)
   )
 )
 (princ)
)

 

Voilà ce que j'utilise pour sélectionner plusieurs calques par désignation

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Comme le montre Lili, tu peux sélectionner un bloc (ajouter l'objet sélectionné <), supprimer, modifier ou ajouter des éléments dans la liste.

Tu peux aussi jouer avec les AND, OR, NOT et XOR et les caractères spéciaux (comme *, ~ pour le not, etc... (voir la fonction lisp wcmatch pour toutes les options possibles)).

La commande _filter permet un nombre de choix incroyable. Et si jamais tu as un filtre complexe à réaliser, tu peux le sauvegarder pour le réutiliser ultérieurement.

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

Salut Patrick_35,

 

Tu peux aussi jouer avec les AND, OR, NOT et XOR et les caractères spéciaux (comme *, ~ pour le not, etc... (voir la fonction lisp wcmatch pour toutes les options possibles)).

 

Peux tu préciser le rapport entre le lisp "wcmatch" et les commandes "AND, OR, NOT et XOR et les caractères spéciaux (comme *, ~,..." STP ?

 

D'avance, merci,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Par exemple uniquement la sélection des lignes et polylignes sur tous les calques commencant par CAL

_Filter

--> Sélection du filtre --> Calque --> CAL* --> Ajouter à la liste

--> Sélection du filtre --> **Début OR --> Ajouter à la liste

--> Sélection du filtre --> Ligne --> Ajouter à la liste

--> Sélection du filtre --> Polyligne --> Ajouter à la liste

--> Sélection du filtre --> **Fin OR --> Ajouter à la liste

--> Appliquer

 

Un autre exemple pour tout sélectionner sauf les arcs de cercles

_Filter

--> Sélection du filtre --> **Début NOT --> Ajouter à la liste

--> Sélection du filtre --> Arc --> Ajouter à la liste

--> Sélection du filtre --> **Fin NOT --> Ajouter à la liste

--> Appliquer

 

Et un petit dernier pour sélectionner tous les blocs n'appartenant pas aux calques commencant par CAL (histoire de jouer ;) )

_Filter

--> Sélection du filtre --> Calque --> ~CAL* --> Ajouter à la liste

--> Sélection du filtre --> Bloc --> Ajouter à la liste

--> Appliquer

 

Extrait de l'aide Autocad (fonction lisp wcmatch)

Wild-card characters Character Definition

# (pound) Matches any single numeric digit.

@ (at) Matches any single alphabetic character.

. (period) Matches any single nonalphanumeric character.

* (asterisk) Matches any character sequence, including an empty one, and it can be used anywhere in the search pattern: at the beginning, middle, or end.

? (question mark) Matches any single character.

~ (tilde) If it is the first character in the pattern, it matches anything except the pattern.

[...] Matches any one of the characters enclosed.

[~...] Matches any single character not enclosed.

- (hyphen) Used inside brackets to specify a range for a single character.

, (comma) Separates two patterns.

` (reverse quote) Escapes special characters (reads next character literally).

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Merci pour ces exemples Patrick_35, je désire pousser un peu l'utilisation de tout ceci (par curiosité perso et l'on est des fois limités dans le filtrage des entités,...)

 

Bon, et je ne suis pas une super star en Anglais, j'étais arrivé sur le même page que toi,...

 

J'vais tout de même essayer de comprendre les grandes lignes,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Super !

 

Merci à tous les deux (j'reconnais que j'aurai pu chercher un peu plus,...:mellow:)

 

Oui Patrick_35, mais déjà en Français "classique", c'est pas toujours terrible, alors en langage "technique",...

 

C'est bon ça ?

 

Wild-card Définition caractères du personnage

# (Dièse) Matchs un chiffre simple.

@ (At) Correspond à tout caractère alphabétique unique.

. (point) Correspond à tout caractère non alphanumérique unique.

* (Astérisque) correspond à toute séquence de caractères, y compris un vide, et il peut être utilisé ne importe où dans le motif de recherche: au début, au milieu ou à la fin.

? (point d'interrogation) Correspond à tout caractère unique.

~ (Tilde) Si ce est le premier caractère dans le modèle, il correspond à rien, sauf le modèle.

[...] Correspond à l'un des caractères entre crochets.

[~ ...] Correspond à tout caractère unique non clos.

- (Trait d'union) Utilisé dans parenthèses pour spécifier une plage pour un seul caractère.

, (Virgule) pour séparer les deux modèles.

`(Citation arrière) Protège les caractères spéciaux (lit caractère suivant littéralement).

 

Même si c'est le cas, je ne suis pas sur de comprendre toutes les subtilités informatiques,...

 

 

Très intéressant aussi pour la commande rechercher,...Merci (gile)

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

J'ai regardé un peu et voudrais être sur de l'utilisation des conditions :

 

--> Sélection du filtre --> **Début OR --> Ajouter à la liste

--> Sélection du filtre --> **Fin OR --> Ajouter à la liste

 

Ou,

 

--> Sélection du filtre --> **Début NOT --> Ajouter à la liste

--> Sélection du filtre --> **Fin NOT --> Ajouter à la liste

 

C'est bien pour "emprisonner" ce que l'on souhaite filtrer (1er écriture ci dessus) ou au contraire ne pas filtrer (snd écriture) ?

 

Merci d'avance,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Tout à fait.

Dans le filtre, quand on choisis plusieurs éléments (type de ligne, couleur, calque, etc...) cela revient implicitement à faire un AND

Maintenant, si l'on souhaite appliquer ce filtre sur plusieurs types d'objets ou plusieurs calques par exemple, un OR permet de le faire (les caractères génériques aussi, mais c'est plus subtil et dans un second temps)

Le OR est dit inclusif et permet l'un ou l'autre, voir les deux (pour une logique sur 2 bits --> 00 ou 01 ou 10 ou 11)

Le XOR est dit exclusif et permet l'un ou l'autre, jamais les deux (pour une logique sur 2 bits --> 01 ou 10 mais pas 00 ni 11)

Le AND est l'addition des conditions.

Le NOT est l'exclusion.

Après, on peut mélanger les conditions.

Par exemple le type de trait cache sur les calques Calque_1 et Calque_2, mais pas le Calque_3

Et idem en ce qui concerne les polylignes

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Ouh là, j'vois pas comment j'aurai fait tout seul,...:blink:

 

Merci encore Patrick pour ces explications très clair,...

 

Je me demande maintenant si il y a une limite dans les filtres possibles au vu de la puissance,...

 

dés que j'ai un peu de temps, je vais tenter de monter des petits TDs de filtrage pour que mes étudiants "sentent" la finesse.

 

Il y a dèjà tes 3 exemples,...;)

 

Si vous avez des idées, je suis preneur,...

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Salut Gilles,

 

Tout ça n'est que pure logique (Booléenne) et je n'aurais qu'un mot : expérimenter.

C'est à mon sens vraiment la meilleure façon d'apprendre.

 

Voilà qui est fait,:P

 

Mais je pense que sans vos explications, je n'aurai pas su construire de filtre comme celui ci dessus, par exemple,...(Alors qu'il est vraisemblablement assez basique !)

 

Il faut quand même la définition et l'utilisation des différentes conditions pour commencer à faire quelque chose,..

 

Par exemple, si je veux exclure les nuages de révisions (reconnut comme polyligne), je ne vois pas comment faire dans l'exemple précédent,...

 

Mon idée serait de commencer par un filtre "large", jusqu'à un filtre plus "fin" pour illustrer le fonctionnement de ces conditions.

 

Je suis preneur de toutes idées,:)

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Ton exemple est bien, sauf que tu sélectionnes aussi les objets sur les calques Calque_4, Calque_5 s'ils existent.

 

Je t'ai fait deux exemples qui veulent dire la même chose, mais l'autre utilise les caractères spéciaux.

Comme le dit si bien (gile), il faut expérimenter car les filtres sont très puissants si on se donne la peine.

Pour exclure tes nuages de révisions, cela peut-être un calque, une couleur, un style de ligne, que sais-je qui peut être affecté spécifiquement à tes nuages et du coup, exclus de la sélection

 

Ps : tu peux voir que tu peux imbriquer les conditions

Pps : Si on veut être puriste, dans mon exemple, le not ne sert pas car on désigne les calques. C'est juste pour l'exercice

Ppps : Prévoit un aspro pour tes élèves :D

 

@+

post-100-0-68206500-1418487970_thumb.jpg

post-100-0-63175900-1418487982_thumb.jpg

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Ton exemple est bien, sauf que tu sélectionnes aussi les objets sur les calques Calque_4, Calque_5 s'ils existent.

 

Mince, oui, ou avais je la tête ??!!!,...:huh:

 

Si j'ai bien compris le "~" ici signifie d'ignorer les calques au delà de "calque_3 ?

 

Ppps : Prévoit un aspro pour tes élèves biggrin.gif

 

J'y penserai,...:)

 

Merci encore pour tes éclaircissements,...

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

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é