Aller au contenu

Selection avec filtre


Messages recommandés

Posté(e)
Il y a 5 heures, didier a dit :

Il est vrai que je suis plus du genre à me "contenter du maximum" !

Et tu as bien raison 😉

Mais, tu verras que sur des plans lourds où une sélection n'est pas facile ou longue (car l'affichage des sélections en highlight parfois ça n'aide pas ^^')

Tu n'auras peut être pas le choix de gérer les éléments un par un ^^ mais dans les deux cas la boucle elle sera longue :-s

Posté(e)
il y a 39 minutes, Curlygoth a dit :

Mais, tu verras que sur des plans lourds où une sélection n'est pas facile ou longue (car l'affichage des sélections en highlight parfois ça n'aide pas ^^')

Tu n'auras peut être pas le choix de gérer les éléments un par un ^^ mais dans les deux cas la boucle elle sera longue :-s

Coucou,

C'est bien là tout l'intérêt de l'utilisation des filtres de sélection, afin de limiter les boucles trop longues à uniquement les objets nécessaires à la boucle (au lieu d'éjecter les objets non nécessaire) 🙂
Mais en effet chacun fait à sa guise en fonction de ses habitudes et possibilités. Ne connaissant que le LISP je ne sais pas comment se gère les filtres en VBA.

Bisous,
Luna

Posté(e)
Le 15/09/2021 à 12:02, (gile) a dit :

De plus, lors d'une sélection par l'utilisateur (SelectOnScreen), le filtre de sélection permet de ne mettre en surbrillance que les entités concernées.

et lors d'un filtre ça ne vous arrive jamais d'attendre le temps qu'il mettent en surbrillance sur des gros plan ? ben du tout j'évite le traitement graphique apres oui chacun fait comme il veut ^^ tant que ça tourne vite ça va

 

 

Posté(e)

Il n'y a pas de mise en surbrillance lors d'un filtre ! Cette mise en surbrillance n'est valable que si l'utilisateur doit sélectionner des objets à la mano, auquel cas, seuls les objets dont leur propriétés correspondent au filtre sont mis en surbrillance. Mais si l'on fait une sélection globale, on traite les objets sans surbrillance (à moins qu'on ne veuille afficher l'aperçu du jeu de sélection à la fin) donc c'est beaucoup plus rapide de traiter 2000 objets filtrés plutôt 10 000 objets que l'on filtre ensuite dans une boucle ;3

Bisous,
Luna

Posté(e)

Bonjour @Curlygoth,

 

J'ai l'impression qu'il y a une incompréhension sur les filtres. Lorsque tu ne veux sélectionner que les blocs "TOTO" du calque "TITI", tu sélectionnes toutes les entités du "Modelspace" et tu balayes chaque entité, tu vérifies si c'est un bloc, s'il s'appelle "TOTO" et si son calque est bien "TITI" pour savoir s'il faut le traiter ou le laisser tomber. Les filtres font exactement ça sans avoir besoin d'écrire de code de test. Et comme c'est fait nativement par les développeurs d'Autodesk, c'est forcément plus rapide. 

Pour la mise en surbrillance de la sélection dont parle @(gile), c'est la même chose. Lorsque tu demandes à l'utilisateur de choisir des objets à l'écran (car tu ne veux pas traiter toute le dessin), AutoCAD demande "Choix des objets" et lorsque tu cliques 2 points à l'écran (capture ou fenêtre), les objets sélectionnés sont mis en surbrillance, pas de grip, juste une surbrillance pour montrer les objets sélectionnés. Avec un filtre, plutôt que de mettre tous les objets sélectionnés en surbrillance, seulement ceux qui répondent aux conditions du filtre seront mis en surbrillance. Donc si tu demandes à l'utilisateur de sélectionnés les blocs "TOTO" du calque "TITI" pour les traiter, à la fin de "Choix des objets", seuls les blocs "TOTO" du calque "TITI" seront mis en surbrillance au lieu de tous les objets entrant dans la sélection graphique si tu n'appliques pas de filtre.

La dernière chose concernant la remarque de @didier, c'est la taille des fichiers. Lui comme moi travaillons dans le domaine de la topo/VRD et un fichier DWG "normal" c'est entre 30 et 50Mo (hors Xref) et 500 000 objets. Donc si tu dois traiter seulement 1000 objets, c'est beaucoup plus rapide de les faire filtrer par AutoCAD nativement que de ré-écrire la boucle de filtre. Mais je comprends que pour un dessin qui ne contient que quelques milliers d'objets la différence de traitement soit négligeable.

Je trouve quand même dommage d'ignorer les filtres qui sont d'une utilité très généralement approuvée.

 

Olivier

Posté(e)

ok je vais regarder, après pour le gain de quelque dixieùe de seconde... je vais pas modifier mes codes tout de suite 😉

Et pour le blocs dynamique, j'ai pas trouver de chose pratique hormis le "*U" qui apparement n'est pas l'entité dans le dessin en objet.

Mais bon je vais pas flooder, je ferais un topic si un jour mes programmes deviendront trop "lent" par rapport a la quantité d'objet du dessin mais je pense avoir de la marge 😉

Posté(e)

Tout d'abord, merci à  @Luna et @Olivier Eckmann pour avoir précisé mon propos.

Il faut bien distinguer une sélection par l'utilisateur (SelectOnScreen) d'un traitement de l'entièreté de l'espace objet ou du dessin.

Dans le premier cas, il n'est pas question de performance puisqu'il y a une intervention de l'utilisateur. Il s'agit de l'aider à faire sa sélection en ne mettant en surbrillance que les entités concernées.

Dans le second cas, si les filtres de sélection permettent effectivement un gain de performance avec les langages de très haut niveau comme le LISP ou le VBA (ce n'est plus vrai avec .NET ou ObjectARX) ce gain n'est pas toujours perceptible.
Par contre, comme le disais @didier ("le "style" est important aussi"), l'utilisation des filtres permet d'écrire code plus concis, plus déclaratif donc plus facilement maintenable.

Sinon, il est vrai qu'on ne peut pas tout faire directement avec les filtres (ex: les valeurs des propriétés des blocs dynamiques).

Dans tous les cas, les demandes initiales concernaient la syntaxe des filtres de sélection ce à quoi d'aucuns ont semble-t-il répondu, la question de savoir si "on est fan" ou pas est un autre sujet...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é