fren
  Se connecter   Inscription

Nous sommes +23 000 professionnels du BIM !

Rejoignez-nous >
Vous avez une question ?

Besoin de support technique, d'un avis ou un conseil ?


  lundi 29 février 2016
  9 Replies
  5.6K Visits
  Subscribe
Bonjour à tous,

Je cherche une solution pour finaliser mon script dynamo. Voici la problématique:

J'ai 158 occurrences de murs pour le niveau RDC de ma maquette. J'utilise un paramètre de type que j'ai nommé "MCO_Mode constructif" pour regrouper ces murs suivants 5 modes constructifs:

- Voile lasuré (43 occurrences)
- Voile intérieur (81 occurrences)
- Prémur (11 occurrences)
- Voile maçonné (14 occurrences)
- Acrotère (9 occurrences)

Mon script regroupe les hauteurs non contraintes en 5 listes (1 par mode constructif) avec la fonction "List.GroupByKey". Puis, il extrait la valeur maximale de chaque liste (5 valeurs)

Je me retrouve donc avec une liste de 5 valeurs d'un côté (5 hauteurs maximales) et une autre liste de 5 paramètres de type de l'autre (5 modes constructifs).

Mon problème: Je voudrais recopier dans un paramètre partagé les bonnes hauteurs maximales dans les bonnes occurrences. La 1ère hauteur max dans les 43 premières occurrences ("MCO_Mode constructif = Voile lasuré"), la seconde dans les 81 suivantes...etc.

Que dois-je renseigner comme entrées dans la fonction "Element.SetParameterByName" ? Dois-je utiliser une autre méthode?
il y a plus d'un mois
·
#2925
0
Votes
Annuler
Bonjour,

Si j'ai bien compris la problématique, je pense qu'il faut rajouter des nœuds List.FilterByString (autant que de modes constructifs : 5), pour filtrer les éléments dans lesquels injecter les paramètres MCO (avant le nœud Element.SetParameterByName que tu multipliera par autant que de modes constructifs : 5)
il y a plus d'un mois
·
#2927
0
Votes
Annuler
Bonjour Julien,

Merci pour ta réponse! ;) tu as effectivement bien compris mon problème.

Par contre ce que je n'avais pas précisé c'est que le nombre de modes constructifs n'est jamais le même selon les niveaux ou selon le projet. Je souhaite donc que ce script soit exploitable quelque soit le nombre de modes constructifs.

J'ai finalement trouvé une solution en comptant le nombre d'occurrences de chaque liste via "List.count" puis en répétant les hauteurs max autant de fois que d'occurrences via "List.OfRepeatedItem".

J'ai l'impression que je me complique la vie pour pas grand chose ^^ Si tu as une solution optimisée je suis preneur !
il y a plus d'un mois
·
#2928
0
Votes
Annuler
Non j'ai pas mieux, je n'aurais pas pensé à ça. ça fonctionne ?
Quel est le résultat du List.count ?
il y a plus d'un mois
·
#2930
0
Votes
Annuler
Non effectivement ça ne fonctionnait pas correctement. Voici la rectification avec le résultat du "list.count" qui m'extrait le nombre d'occurrences de chaque liste. ;)
il y a plus d'un mois
·
#2933
0
Votes
Annuler
Si je comprends bien tu veux entree une valeure precise en fonction de la valeure extraite?

Si c'est ca j'ai fait un exemple sur ce principe au dernier PRUG
il y a plus d'un mois
·
#2954
0
Votes
Annuler
Salut

voici un workflow qui devrait resoudre ton probleme a condition que tu modifie ton parametre "MCO_Hauteur" pour en faire un parametre d'occurence.

J'espere que ca pourra t'aider!
il y a plus d'un mois
·
#2955
0
Votes
Annuler
Aussi, j'ai cree un noeud qui pourrait t'interesser dans ta demarche. Si tu telecharges le package BIMvf tu y trouveras le custom node "Filtrer elements par valeur de parametre". Je pense qu'il fera l'affaire . Je joins un screenshot de workflow.
il y a plus d'un mois
·
#2956
0
Votes
Annuler
Mostafa EL AYOUBI EL IDRISSI a écrit:le custom node "Filtrer elements par valeur de parametre"

Alors ça c'est excellent !
Je cherchais justement comment faire ce filtre suite au message d'Antoine.
il y a plus d'un mois
·
#2984
0
Votes
Annuler
Merci Mostafa pour ta réponse !

Effectivement, pouvoir filtrer des éléments à partir d'un paramètre est un nœud très utile. Je me suis créé des nœuds de ce type mais qui fonctionnent avec la version anglaise car je ne maitrise pas le Python ^^...Merci pour ton package BIMvf, je jetterais un œil.

Mon seul problème: J'ai besoin que mon paramètre soit un paramètre de type, sinon cela remettrait en cause le principe de mon gabarit de travail. Pour cela je suis obligé d'utiliser un "List.GroupByKey" pour sortir mes hauteurs non contrainte regroupées par le paramètre de type "MCO_Mode constructif".

J'ai trouvé un script qui fonctionne pour ma problématique. Le voici en pièce jointe. Pour l'instant il ne fonctionne qu'avec la version anglaise et pourrait être simplifié selon moi..
Cette discussion ne contient encore aucune réponse.
Soyez le premier à y répondre !
Vous avez une question ?

Besoin de support technique, d'un avis ou un conseil ?


Découvrez les services Hexabim

recrutement

Recrutement

En savoir plus

Publicité

Publicité

En savoir plus

communication

Communication

En savoir plus

Hexabim

Se connecter