Bonjour tout le monde, je voudrais solliciter votre aide svp c'est urgent.
je travaille sur mon projet TFE et j'utilise Dynamo. Je cherche à faire une boucle qui permet de vérifier si la valeur de Z a dépassé une certaine valeur max que je la fixe alors la couleur de ce point vire vers le rouge. ( Histoire de faire une alerte pour l'utilisateur en cas de défaillance)
vous trouverez ci joint le fichier excel des valeurs Z ainsi que le code dynamo que j'ai réalisé pour les couleurs.
Pour ton programme, il faudrait extraire une liste des valeurs z et faire un comparatif par rapport à une valeur crête. ci joint un exemple de code dynamo qui fait cela (a réadapter) :
Merci Christophe Rosé pour votre exemple, je viens de l'appliquer sur mon projet mais le problème qui se manifeste c'est que il ne change pas la couleur des prismes en rouge s'il y a dépassement de la valeur précisée .
voila en pièce jointe l'exemple de mon cube avec les prismes et stations affichées en plusieurs couleurs et ce que je cherches c'est à modifier la couleur si la valeur de Z a dépassé mon seuil ainsi que le code que vous m'aviez envoyer que j'ai appliqué mais aucun changement sur le modèle.
tu peux mettre à disposition ton code complet ? voir un petit n'aide pas à comprendre. Ensuite, le changement de couleur, c'est sur quel interface que tu veux que cela se fasse, sur Dynamo ou sur Revit ?
je veux que le changement de couleur se fait sur l'interface revit, dans l'exemple du cube je vous montre comment l’affichage est fait initialement avant la comparaison des seuils ce que je cherche c'est que la couleur change de chaque élément s'il y a un dépassement de seuils automatiquement.
vous trouverez ci joint mon code pour affecter la couleur et l'affichage initial de mon cube.
ci joint petit bout de programme repris au plus simple. J'ai testé et cela fonctionne bien. A noter qu'il faut le package "Clockwork" pour le noeud de nettoyage du OverrideColorInView.
je reviens vers vous après quelques essaies avec votre programme qui fonctionne très bien sur mon modèle mais le problème qui se pose c'est que lors de la sélection de la liste qui contient les points qui faut changer la couleur en rouge, il n'arrive pas à sélectionner ceux qui ont la valeur true car il sélectionne toujours la liste à l'index 0 et non pas la liste qui a la clé true .
j'ai essayé ainsi de modifier l'index de 0 qui correspond à false vers 1 qui correspond à true mais cela aussi ne marcha pas car la clé true et false change toujours d'index quand on change la valeur de seuil.
Dans mes deux captures vous allez voir que l'index de true et false est différent lors de changement du seuil.
Aussi est ce que ça sera possible de comparer chaque valeur de Z à un seuil différent et non pas tout les Z à un seul seuil ça veut dire chaque Z se compare à son seuil?
Est ce que vous pouvez m'aider à résoudre ces problème s'il vous plaît ?
Je vous remercie à l'avance votre aide est si précieux.
Bonjour,
voila un MAJ de ton script
par rapport à la deuxième question, c'est tout a fait possible, il suffit d'avoir une liste de seuil avec la même langueur que tes point(Z)
Je vous remercie pour votre solution, ça fonctionne très bien.
Aussi j'ai réussi à résoudre l'autre problème.
Sinon le seul soucis qui reste en ce moment c'est que quand il change la couleur des prismes qui dépassent le seuil il ne garde pas la couleur initial des autres prisme il rend la couleur noir.
vous trouverez ci joint deux exemples avant et après.
le nœud dans le script ResetElementOverrides sert à réinitialiser les couleurs à chaque exécution
Pour garder les couleurs initiales, supprime le noeud (voir pj)
je voudrais solliciter votre aide encore une fois svp.
je cherche à affecter dans une case nommé " dépassement " la valeur de différence entre la valeur de Z et le seuil dans le cas ou le seuil est dépassé seulement ça veut dire lorsque la valeur est true et dans le cas ou le test est false il n'affiche rien.
La capture ci dessous montre l'étape qui permet d'affecter les valeurs.
Pour cela, il suffit juste de récupérer la valeur du paramètre "seuil" et de le comparer avec la valeur z de l'objet, tu as déjà le code (voir les pièces jointes d'Akim) et tu injecte la valeur via la fonction Setparameterbyname.
Bonjour,
Comme disait @Christophe Rosé, ton script est fait
il faut juste envoyer les valeurs aux éléments déjà filtrés,
aussi, un éléments qui ne dépasse pas le seuil doit recevoir une valeur "exemple 0", sinon il gardera sa valeur initiale même s'il ne dépasse plus
You will need to be logged in to be able to post a reply. Login using the form on the right or register an account if you are new here. Register Here »
Accès adhérents - inscription
{convertforms 40}
[Webinaire BIM4LEGAL] BIM obligatoire en marchés publics
Avec les débats experts sur le BIM obligatoire en marchés publics [30 avril à 11h]