Pass offert BW2024
  Connexion   Inscription

Questions & Réponses

  mercredi 18 mai 2022
  8 réponses
  1K vues
  Suivre cette discussion
Bonjour à tous et à toutes

je souhaite effectuer une sélection de plusieurs niveaux pour ensuite les ajouter à des feuilles via dynamo. pour se faire j'ai d'abord créé une liste de toutes les vues et je souhaite filtrer cette liste de manière à ce que uniquement les vue dont le nom contient le suffixe "STR" soit affichée dans la liste malheureusement le filtre ne s'applique pas et j'ai du mal à comprendre pourquoi. merci de bien vouloir éclairer ma lanterne
1 year ago
·
#17568
0
Votes
Undo
je n'arrive pas malheureusement à joindre la capture d'écran du dynamo que j'ai réalisé mais qui ne fonctionne pas.
1 year ago
·
#17569
0
Votes
Undo
voilà, je l'ai rajouté.
0
Votes
Undo
Bonjour,

Actuellement vous ne demandez pas si le nom de la vue contient "STR" ou non, vous demandez si l'id de chacune de vos vue a une chaine de caractère qui contient "STR".
Il faudrait que vous reliez un noeud "element.name" à l'entré (entrée str, pour string) de votre "string.contains".
En faisant cela, dynamo comprendra que vous cherchez la présence de "STR" dans le nom de vos vue et non dans leur id.
1 year ago
·
#17574
0
Votes
Undo
Bonjour,

Je suis d'accord avec Raphaël Blaiteau.

Par contre, je n'utilises pas trop le noeud list.filter mais de ce que j'en vois, ça ne récupèrerai que les noms des vues contenant "STR" et non pas les vues dont le nom contient "STR".

Je ne sais pas si c'est clair. Alors voici un exemple :
filter.jpg

Dans ce premier cas (avec list.filter) on récupère tous les noms contenant STR.

bool.jpg

Dans ce second cas (filterbyboolmask), on récupère bien la view (ici une vue de coupe ayant comme nom "str ...")

Il existe peut-être une méthode pour avoir la même chose avec list.filter...

En espérant avoir pu t'aider.
0
Votes
Undo
Jérôme,

C'est tout a fait normal que dans ton premier exemple le list.filter te sorte uniquement le nom de la vue car c'est ce que tu lui a donné en entré (element.name)

mais j'ai fait un test sous dynamo 1.3.4 et dynamo 2.10.1, et le probleme avec le list.filter viendrait du fait que le string.contain ne semble pas apprécier d'avoir le element.name en mode fonction juste devant lui.
1 year ago
·
#17580
0
Votes
Undo
Salut,

En effet j'avais tenté de mettre element.name dans l'input "str" du string.contains.
Mais du coup comme toutes les entrées ont un noeud, le string.contains n'est plus considéré comme une fonction.
Enfin c'est ce que j'en ai compris.
Je n'utilise pas trop cette méthode de fonction (à tord peut-être).
C'est possible que ce soit faisable avec le list.filter en cherchant un peu plus mais pour le moment je n'ai pas trouvé.

Du coup je proposais une méthode que j'utilise partout, le filterbyboolmask qui me permet de filter une liste de n'importe quoi en fonction d'une autre donnée. Ici une liste de vues en fonction de leurs noms.

Il faudrait que je me penche un peu plus dessus pour retester.
0
Votes
Undo
Le filterbyboolmask est très bien. Cependant il commence à montrer ses limites quand on veux garder les hiérarchies de liste imbriqué.
Personnellement, je me tourne de plus en plus vers le python me permettant de m'adapter à chaque cas.
1 year ago
·
#17582
0
Votes
Undo
Oui en effet, le python est souvent plus pratique et adapté. Et ça évite de passer par 10 nœuds pour extraire une donnée. Donc plus optimisé.
Mohamed KHETTAB
updated the category from to Modélisation, simulation et visualisation — 7 months ago
There are no replies made for this post yet.

Hexabim

La plateforme du BIM et de la Construction Numérique en France.

© HEXABIM 2014 - 2024

Connexion