Suite de la partie 1
Maintenant il faut faire les contreventements
Nous pouvons commencer par les mettre partout, les contraintes sont comme plus haut, décaler les listes pour faire des liens en diagonale
Il faut commencer à numéroter les points.
Une première fois le décalage permet d’avoir les lignes selon une orientation, puis avec un décalage (-1) dans l’autre orientation. On relie les lignes et comme plus haut, il faut retirer la dernière.
Pour une liste il faut éliminer la première ligne, pour la seconde, la dernière
Ensuite, il est possible de ne vouloir garder les contreventements que pour la première et la dernière trame.
On ajoute un List Item et en zoomant en clique sur le plus pour ajouter une position (-1)
La sélection se fait bien sur la première et dernière
Puis symétrie
Maintenant on multiplie les fermes
On utilise un Linear Array, la direction est dans l’axe de la longueur, le nombre de répétition va être le nombre de points issu du comptage de liste
Il faut maintenant placer les contreventements entre les fermes.
Les contreventements de la première trame sont symétrisés…
Puis multipliés selon le même principe de Linear Array Le Cull Index permet de ne sélectionner que les premiers et derniers contrevements.
Le projet est terminé, il ne reste plus qu’à expérimenter son côté paramétrique ;
Pour simplifier le fonctionnement il est intéressant de ramener tous les Sliders de paramétrage au même endroit. Pour ne pas voir les cables on utilise la propriété Wire Hidden.
Après, il faut pouvoir asservir le rythme de la trame à la largeur et la longueur
Pour cela quelques petites modifications seront nécessaires. Il faut déterminer la longueur et l’entraxe souhaité. Ici, l’idée est d’éviter les trames non complètes. Donc, à partir de la donnée d’entrée, une moyenne sera faite pour que la répartition soit régulière et optimisée.
Pour cela on divise la longueur souhaitée par l’entraxe des poteaux et l’on récupère la valeur entière pour avoir le nombre de trames.
Il faut ensuite connaitre la vraie valeur entre les poteaux pour asservir la distribution du reste de la structure (fermes, contreventements).
On divise la longueur du bâtiment par la valeur entière du nombre de trames
Pour avoir la valeur entière on peut utiliser la fonction Round. Ici c’est un petit script Python qui sera utilisé pour éviter d’être tributaire des contraintes d’affichage de Grasshopper (qui comprend comprendra !)
import rhinoscriptsyntax as rs
a= »%.0f »% float(x)
Ensuite tout s’organise tout seul pour la bonne multiplication des fermes.
Il convient d’opérer de même pour la largeur
Le tout reprend sa place dans la division
Une petite correction doit être opérée sur le contreventement des fermes pour bien suivre les nouvelles contraintes d’écartement
Vérification
Tout marche.
Le tableau de commandes se réduit donc à