Dynamo / Addition de listes
Bonjour à tous, après avoir bien galéré à essayer de rentrer une valeur NGF dans des éléments REVIT, je me suis finalement décidé à utiliser Dynamo pour le faire! ça fait un moment que je voulais essayer mais j'attendais d'avoir un vrai blocage avec les fonctions de base de Revit pour me lancer. ;) Voilà donc en lien un extrait de ce 1er essai.
[u]1er soucis:[/u] je n'arrive pas à additionner la valeur d'élévation du point projet à ma liste de valeurs d'élévation objets. L'addition d'une liste et d'une valeur fixe me donne une valeur fixe...:( Comment faire en sorte d'additionner cette valeur fixe à toutes les valeurs de la liste, et ainsi générer une nouvelle liste?
[u]2e soucis:[/u] la fonction "+" ne permet d’additionner que 2 valeurs. Comment faire pour en additionner plus sans le faire 2 à 2? J'ai bien vu la fonction "Math.Sum" mais je ne comprends pas ce qu'elle attend comme entrée. Je voudrais pouvoir additionner la valeur 1 de la liste 1, à la valeur 1 de la liste 2 et à la valeur 1 de la liste 3; puis la valeur 2 de la liste 1 à la valeur 2 de la liste 2... et ainsi de suite
Réponses
Essaye un [i]CodeBlock x+y[/i], pour moi ça cycle bien sur toute la liste.
Sinon dans ton nœud +, modifie la combinaison en réglant "le plus long".
Séparément, quand je modifie la combinaison du +, j'obtiens cette fois une liste comme souhaité.
Dommage que cette option de combinaison ne soit pas accessible sur le Code Block.
Du coup je vais devoir additionner 2 valeurs (dont celle contenant la valeur unique) avec un "+" et utiliser ensuite le Code Block pour additionner le reste.
L'essentiel c'est que ça marche! Merci Julien!:)
[0] valeur 1 liste 1, valeur 1 liste 2, valeur 1 liste 3...
[1] valeur 2 liste 1, valeur 2 liste 2, valeur 2 liste 3...
...
pour utiliser ensuite "Math.Sum" et obtenir le résultat:
[0] valeur 1 liste 1 + valeur 1 liste 2 + valeur 1 liste 3...
[0] valeur 2 liste 1 + valeur 2 liste 2 + valeur 2 liste 3...
...
Et voici le fichier .dyn https://www.dropbox.com/s/2iy28yejk9jseul/0.9.2_ListeAddition.dyn?dl=0
Daniel Hurtubise a écrit:
Je suis pas sur de bien saisir le problème mais voici déjà une petite definition avec quelques variations :)
Oui, c'est de cette manière que j'ai procédé au final.:)
Mais je me disais qu'il devait exister un noeud permettant de rassembler des listes pour utiliser ensuite "Math.Sum".
Mais comme je débute, j'essaie de comprendre la fonctionnalité des nœuds au fur et à mesure.
Merci Emma pour cette réponse, ça pourra servir pour un autre code Dynamo.:)
je te propose ci-joint un petit code python qui permet j'ajouter une valeur fixe à une liste de valeur.
Je pense qu'on fonctionne tous un peu de la même manière: on utilise l'outil avec lequel on est le plus habitué même si c'est pas toujours le plus adapté.
En tout cas, moi, ça m'a permis de voir qu'on pouvais intégrer du Python directement dans Dynamo. Je pensais qu'il fallait faire soit l'un, soit l'autre.
Il faut y aller par étape pour résoudre un problème:
1) Essayer toutes les possibilités dans Revit
2) Contourner le problème...
3) Écrire une macro Dynamo
4) Ajouter du code Python à un script Dynamo
5) Programmer avec l'API
6) Postuler chez Autodesk !
Et bien ça me laisse une belle perspective d'évolution! ;)


