Bien souvent, lorsqu’on place des gaines, chemins de câbles, canalisations, il faut créer une réservation afin de faciliter leurs passages au travers de voiles.
Je vous propose de vous présenter mon exemple Dynamo qui essaye d’automatiser le placement de ces réservations.
Voici les différentes phases :
– sélections des différent éléments (gaines, murs…),
– les transformer en volumes Dynamo,
– trouver l’ (ou les) intersection entre éléments,
– placer la réservation.
Important : j’ai utilisé la version béta de Dynamo (1.0.0123).
1- Sélections des différent éléments (gaines, murs…) :
Afin de pouvoir sélectionner toutes les gaines et les murs, je vais utiliser le nœud “All Elements of Type” et respectivement avec le nœud “Element Types” utiliser :
– “Wall”,
– “Duct”,
2- Transformer les éléments en volumes Dynamo :
Le nœud “Element.Solids” va nous permettre de transformer les éléments sélectionnés en volume Dynamo.
Nota : une fois connectés, vous devez apercevoir les éléments dans l’interface Dynamo.
3- Trouver l’ (ou les) intersection entre les éléments :
Connecter le nœud “Geometry.IntersectAll” aux différents solides. Attention, les murs doivent être connectés à l’entrée “geometry” et les gaines à l’entrée “entity”.
De plus, si nous voulons connaitre toutes les intersections entre par exemple plusieurs gaines qui traverseraient un seul mur, nous allons utiliser la combinaison “Produit vectoriel”.
Effectuer, un clic droit sur le nœud “Geometry.IntersectAll”, choisir la commande “Combinaison”.
Volume intersection trouvé :
Explication des combinaisons :
4- Placer la réservation :
Le point d’insertion de la famille réservation que j’ai créée se situe au centre de celle-ci.
En conséquence, nous devons trouver le centre de gravité du volume intersecté en utilisant le nœud “Solid.Centroid” :
Enfin, il ne reste plus qu’à placer la famille réservation au centre de gravité du volume intersecté.
Pour cette opération, nous allons utiliser le nœud “FamilyInstance.ByPoint” en indiquant la famille à placer à l’aide du nœud “Family Types”.
Nota : la famille que j’ai créée s’appelle “OuvertureTremie1”.
Résultat :
Afin de réaliser la réservation, il faudra stopper Dynamo et utiliser la fonction “Couper”. Je sais que ce n’est pas le top mais c’est le seul moyen que j’ai trouvé. (Famille générique de mur … ne fonctionnait pas). Si vous trouvez une optimisation à mon script…. je suis preneur.
Téléchargement :