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 :
Merci Olivier pour ces exemples d'utilisation Dynamo.
Cette application est vraiment génial.
Surtout continuez!!!
Frédéric
Rédigé par : Frédéric Bidault | 11/03/2016 à 15:23
Bonjour Fréderic,
Oui je suis d'accord avec toi, Dynamo ajoute des perspectives très séduisantes et qui j'espère ne sont que le début.....
Bon week-end Frédéric et à tous les suiveurs.
Rédigé par : Olivier | 11/03/2016 à 18:47
Bonjour Olivier,
Merci pour ce post !
Avez-vous essayer le Custom Node "Element.AddVoidCut" du package SpringNodes ?
En entrée vous pouvez indiquer d'un côté les murs et de l'autre votre famille "OuvertureTrémie1". En sortie vous obtenez la géométrie coupée.
A bientôt!
Matthieu
Rédigé par : Matthieu | 16/03/2016 à 15:15
Bonjour à tous et merci à Olivier pour ce super tutoriel super pratique !! que crois qu'avec Dynamo only the sky is the limit !
je partage cela sur HEXABIM je pense que ça peut aider pas mal de personnes.
Mohamed
Rédigé par : Mohamed | 17/03/2016 à 15:46