Bonjour à toutes et à tous,
Désireux de développer un programme sur Dynamo permettant de tracer les plinthes en automatique, je m'adresse à vous !
Jusqu'à présent j'arrive à récupérer les contours de pièce dans une liste (grâce à la conférence de Mickael Auque).
Je souhaiterais pouvoir soustraire les linéaires de portes...
J'ai essayé de soustraire des géométries sans succès...
Idée 1 :
J'ai créé deux surfaces perpendiculaires qui se croisent : une verticale au droit des limites de pièces, une horizontale au droit des portes. J'ai pensé à récupérer l'intersection de ces deux surfaces (j'obtiendrais donc une droite) et de la soustraire au contour des pièce...mais je ne trouve pas de fonction sur Dynamo qui permette de récupérer ces intersections de surfaces...
Autre question : comment faire pour soustraire deux lignes ?
Idée 2 :
J'ai créer deux surfaces de chaque côté de la porte qui coupe les limites de pièce.
Peut-être le secret réside-t-il dans l'utilisation de la fonction "trim curves by surfaces" à partir de deux surfaces verticales de chaque côté de la porte et des courbes représentant les limites de pièce ?
Quelqu'un aurait-il déjà trouver la solution?
Merci d'avance
Désireux de développer un programme sur Dynamo permettant de tracer les plinthes en automatique, je m'adresse à vous !
Jusqu'à présent j'arrive à récupérer les contours de pièce dans une liste (grâce à la conférence de Mickael Auque).
Je souhaiterais pouvoir soustraire les linéaires de portes...
J'ai essayé de soustraire des géométries sans succès...
Idée 1 :
J'ai créé deux surfaces perpendiculaires qui se croisent : une verticale au droit des limites de pièces, une horizontale au droit des portes. J'ai pensé à récupérer l'intersection de ces deux surfaces (j'obtiendrais donc une droite) et de la soustraire au contour des pièce...mais je ne trouve pas de fonction sur Dynamo qui permette de récupérer ces intersections de surfaces...
Autre question : comment faire pour soustraire deux lignes ?
Idée 2 :
J'ai créer deux surfaces de chaque côté de la porte qui coupe les limites de pièce.
Peut-être le secret réside-t-il dans l'utilisation de la fonction "trim curves by surfaces" à partir de deux surfaces verticales de chaque côté de la porte et des courbes représentant les limites de pièce ?
Quelqu'un aurait-il déjà trouver la solution?
Merci d'avance
0
Dans dynamo, l'intersection du mur et de la porte va te donner sa largeur, mais aussi sa position sur le mur
Tu vas avoir un cube du volume de la porte en intersection avec le mur
trouver le surface intérieur du coté intérieur pièce (un rectangle)
il te faudra obtenir la ligne en partie basse, et couper la ligne du mur avec les coordonnées cette ligne de porte
Tu vas avoir un cube du volume de la porte en intersection avec le mur
trouver le surface intérieur du coté intérieur pièce (un rectangle)
il te faudra obtenir la ligne en partie basse, et couper la ligne du mur avec les coordonnées cette ligne de porte
Bonjour Charles,
Il est également possible d'établir un filtre pour vérifier qu'une occurence "Espace" détient ou non les dites plinthes sans avoir à les modéliser et ainsi en extraitre les quantités via une nomenclature. La modélisation ne semble donc pas requise contrairement à la data relative aux plinthes (section, longueur, etc.). Il s'agit alors de solliciter les datas de chaque "Espace" concerné sans faire appel à une volumétrie dédiée aux plinthes.
A toutes fins infographiques cela peut être au contraire intéressant.
Christophe Fortineau
Consultant, formateur et AMO BIM
Il est également possible d'établir un filtre pour vérifier qu'une occurence "Espace" détient ou non les dites plinthes sans avoir à les modéliser et ainsi en extraitre les quantités via une nomenclature. La modélisation ne semble donc pas requise contrairement à la data relative aux plinthes (section, longueur, etc.). Il s'agit alors de solliciter les datas de chaque "Espace" concerné sans faire appel à une volumétrie dédiée aux plinthes.
A toutes fins infographiques cela peut être au contraire intéressant.
Christophe Fortineau
Consultant, formateur et AMO BIM
Bonjour à tous !
Merci pour vos nombreuses réponses.
Le but de ce programme était de calculer les quantités de plinthes ce qui représente un certain gain de temps lors des métrés. Les voir modélisées en 3D permet juste de vérifier qu'il n'y a pas d'oubli ! Pour ce qui est des plans, coupes et autres, un filtre permet de les masquer pour ne pas gêner les graphismes
Merci pour vos nombreuses réponses.
Le but de ce programme était de calculer les quantités de plinthes ce qui représente un certain gain de temps lors des métrés. Les voir modélisées en 3D permet juste de vérifier qu'il n'y a pas d'oubli ! Pour ce qui est des plans, coupes et autres, un filtre permet de les masquer pour ne pas gêner les graphismes
Bonsoir
En pièce jointe, une autre possibilité, plus simple (sans utiliser les boundingbox des pièces), avec un seul type de plinthe, une extrusion solide faite dans un gabarit Modèle générique métrique (ligne).
@ plus
P.S : Je n'ai pas réussi à finaliser la méthode de mon précédent post (16814), avec une plinthe solide et une plinthe vide, malgré de nombreuses tentatives. Si quelqu'un a une idée... Cela serait instructif...
En pièce jointe, une autre possibilité, plus simple (sans utiliser les boundingbox des pièces), avec un seul type de plinthe, une extrusion solide faite dans un gabarit Modèle générique métrique (ligne).
@ plus
P.S : Je n'ai pas réussi à finaliser la méthode de mon précédent post (16814), avec une plinthe solide et une plinthe vide, malgré de nombreuses tentatives. Si quelqu'un a une idée... Cela serait instructif...
Bonsoir Charles,
Modéliser les plinthes c'est curieux même si je salue bien bas la démarche intellectuelle !
En plan les voir représenter serait + gênant qu'utile.
Pour les voir dessinées en coupe, il faudrait sortir une vue au 25ième ou au 10ième : c'est alors un détail à traiter en 2D et ponctuellement car modéliser tout d'un projet n'est pas utile voire contreproductif. En 3D beaucoup de polygones pour une représentation quasi nulle en coupes et plans voire gênante c'est vraiment pas top.
S'il s'agit de les quantifier ou de les localiser : les espaces sont là pour ça et peuvent contenir cette information dynamique sans avoir à les représenter en 3D (compris avec ou sans les baies)
J'ai lu sur Hexabim (je sais plus où ni de qui pardon) que personne ne construit avec un modèle BIM mais avec de la 2D, du papier... La maquette est indispensable pour avoir de bonnes 2D. C'est assez vrai et du coup modéliser les plinthes, je ne comprends pas. Auriez-vous une motivation qui m'échappe ?
Yohan
Modéliser les plinthes c'est curieux même si je salue bien bas la démarche intellectuelle !
En plan les voir représenter serait + gênant qu'utile.
Pour les voir dessinées en coupe, il faudrait sortir une vue au 25ième ou au 10ième : c'est alors un détail à traiter en 2D et ponctuellement car modéliser tout d'un projet n'est pas utile voire contreproductif. En 3D beaucoup de polygones pour une représentation quasi nulle en coupes et plans voire gênante c'est vraiment pas top.
S'il s'agit de les quantifier ou de les localiser : les espaces sont là pour ça et peuvent contenir cette information dynamique sans avoir à les représenter en 3D (compris avec ou sans les baies)
J'ai lu sur Hexabim (je sais plus où ni de qui pardon) que personne ne construit avec un modèle BIM mais avec de la 2D, du papier... La maquette est indispensable pour avoir de bonnes 2D. C'est assez vrai et du coup modéliser les plinthes, je ne comprends pas. Auriez-vous une motivation qui m'échappe ?
Yohan
Bonjour
Merci Jean-François pour cette information. C'est mieux sans ces traits bleus...
Ci-joint, un autre essai, avec une autre méthode, qui... ne fonctionne pas.
En premier, un petit script Essai coupe contenant un nœud Python (d'après ce post sur VillageBIM), qui permet de couper plusieurs solides avec plusieurs vides, tous sélectionnés à la main dans Revit, en lançant une seule fois le script. Ça fonctionne, OK.
En second, un script qui concerne cette histoire de plinthes à placer automatiquement.
Le projet doit contenir deux familles de plinthes, une extrusion solide, et une extrusion vide (Avec la propriété "Coupe..."), faites avec le modèle générique métrique (ligne).
Ce second script place les plinthes solides sur le pourtour des pièces et les plinthes vides devant les portes. Ca, ca fonctionne.
Ensuite, j'aimerai placer le nœud Python précédent pour que les plinthes vides coupent automatiquement les plinthes solides.
J'ai essayé pas mal de combinaisons de nœuds, placés au bout à droite, mais cela ne fonctionne pas (avec des messages d'erreur indiquant que l’élément ne peut pas couper, ou qu'il ne s'agit pas d'un élément...).
Est-ce que vous avez une idée pour compléter ce second script, soit avec des nœuds, soit en modifiant le code Python dans le dernier nœud à droite, pour que cela tourne complètement ?
@ plus
Merci Jean-François pour cette information. C'est mieux sans ces traits bleus...
Ci-joint, un autre essai, avec une autre méthode, qui... ne fonctionne pas.
En premier, un petit script Essai coupe contenant un nœud Python (d'après ce post sur VillageBIM), qui permet de couper plusieurs solides avec plusieurs vides, tous sélectionnés à la main dans Revit, en lançant une seule fois le script. Ça fonctionne, OK.
En second, un script qui concerne cette histoire de plinthes à placer automatiquement.
Le projet doit contenir deux familles de plinthes, une extrusion solide, et une extrusion vide (Avec la propriété "Coupe..."), faites avec le modèle générique métrique (ligne).
Ce second script place les plinthes solides sur le pourtour des pièces et les plinthes vides devant les portes. Ca, ca fonctionne.
Ensuite, j'aimerai placer le nœud Python précédent pour que les plinthes vides coupent automatiquement les plinthes solides.
J'ai essayé pas mal de combinaisons de nœuds, placés au bout à droite, mais cela ne fonctionne pas (avec des messages d'erreur indiquant que l’élément ne peut pas couper, ou qu'il ne s'agit pas d'un élément...).
Est-ce que vous avez une idée pour compléter ce second script, soit avec des nœuds, soit en modifiant le code Python dans le dernier nœud à droite, pour que cela tourne complètement ?
@ plus
Bonsoir à tous
Histoire de prolonger le webinaire de Mickael Auque, en pièce jointe un script permettant de tracer automatiquement les plinthes (ici un type 20 x 50 de la famille plinthe solide) autour des pièces, sans les placer devant les portes.
Le principe pour faire la seconde partie de ce travail :
*Regrouper toutes les boundingbox des pièces du niveau choisi dans un unique solide
* Regrouper toutes les boundingbox des portes du niveau choisi dans un unique solide
* Calculer la différence booléenne entre ces deux solides --> = Solide A (On élimine ainsi les parties devant les portes)
* Calculer les intersections à conserver entre
a) les lignes trop grandes supportant les plinthes (le pourtour de toutes les pièces)
b) et ce solide A
(On ne garde ainsi que les parties des pourtours intéressantes, contre les murs)
* Tracer les plinthes
@ plus
P.S 1 : Je mettrai bien des images, mais j'ai à chaque fois un message d'erreur lorsque je télécharge une image au format . PNG...
PS 2 : Cette méthode laisse apparente dans le projet les surfaces des boundingbox. Dommage...
PS 3 : 25/07/2021. Petite modification du script. L'ancienne méthode créait/utilisait un solide contenant les boundingbox de toutes les pièces du bâtiment étudié, pas uniquement des pièces de l'étage concerné, solide inutilement trop grand donc si on a plusieurs étages.
Histoire de prolonger le webinaire de Mickael Auque, en pièce jointe un script permettant de tracer automatiquement les plinthes (ici un type 20 x 50 de la famille plinthe solide) autour des pièces, sans les placer devant les portes.
Le principe pour faire la seconde partie de ce travail :
*Regrouper toutes les boundingbox des pièces du niveau choisi dans un unique solide
* Regrouper toutes les boundingbox des portes du niveau choisi dans un unique solide
* Calculer la différence booléenne entre ces deux solides --> = Solide A (On élimine ainsi les parties devant les portes)
* Calculer les intersections à conserver entre
a) les lignes trop grandes supportant les plinthes (le pourtour de toutes les pièces)
b) et ce solide A
(On ne garde ainsi que les parties des pourtours intéressantes, contre les murs)
* Tracer les plinthes
@ plus
P.S 1 : Je mettrai bien des images, mais j'ai à chaque fois un message d'erreur lorsque je télécharge une image au format . PNG...
PS 2 : Cette méthode laisse apparente dans le projet les surfaces des boundingbox. Dommage...
PS 3 : 25/07/2021. Petite modification du script. L'ancienne méthode créait/utilisait un solide contenant les boundingbox de toutes les pièces du bâtiment étudié, pas uniquement des pièces de l'étage concerné, solide inutilement trop grand donc si on a plusieurs étages.
Bonjour à tous !
Voila un petit bout de programme.
L'idée est de récupérer les contours de pièces, de tracer des plinthes le long, de récupérer la géométrie de celles-ci.
On récupère ensuite le linéaire de porte et on créer un volume.
On soustrait ensuite l'intersection des deux géométries.
L'idée serait de soustraire ces deux volumes pour couper les plinthes aux niveaux des portes et d'éliminer la portion concernée.
Le problème est que l'intersection de semble pas fonctionner...
Quelqu'un aurait-il une idée pour que l'intersection fonctionne ?
Et pour éliminer les parties concernées ?
Voila un petit bout de programme.
L'idée est de récupérer les contours de pièces, de tracer des plinthes le long, de récupérer la géométrie de celles-ci.
On récupère ensuite le linéaire de porte et on créer un volume.
On soustrait ensuite l'intersection des deux géométries.
L'idée serait de soustraire ces deux volumes pour couper les plinthes aux niveaux des portes et d'éliminer la portion concernée.
Le problème est que l'intersection de semble pas fonctionner...
Quelqu'un aurait-il une idée pour que l'intersection fonctionne ?
Et pour éliminer les parties concernées ?
Bonjour Charles,
des idées avec :
https://forum.dynamobim.com/t/creating-railing-from-room-boundary/38757
https://forum.dynamobim.com/t/how-can-deduct-the-length-of-door-opening-from-the-room-boundary/11324/5
?
des idées avec :
https://forum.dynamobim.com/t/creating-railing-from-room-boundary/38757
https://forum.dynamobim.com/t/how-can-deduct-the-length-of-door-opening-from-the-room-boundary/11324/5
?
la méthode de "profil en relief" décrite par :
https://villagebim.typepad.com/villagebim/2013/04/autodesk-revit-modelisation-de-plinthes.html
déclare
a) qu'il est possible de métrer/nomenclaturer les plinthes
b) que les portes coupent ces plinthes
est-ce inexact ou ais-je mal compris ?
https://villagebim.typepad.com/villagebim/2013/04/autodesk-revit-modelisation-de-plinthes.html
déclare
a) qu'il est possible de métrer/nomenclaturer les plinthes
b) que les portes coupent ces plinthes
est-ce inexact ou ais-je mal compris ?
Bonjour Mohamed,
Effectivement la première partie de mon programme a été réalisée grâce à cette conférence (très bien faite d'ailleurs).
La conférence explique comment tracer les plinthes le long des contours de pièce mais pas comment déduire les portes.
J'ai donc voulu aller plus loin en essayant de les déduire.
Auriez-vous une idée ?
Effectivement la première partie de mon programme a été réalisée grâce à cette conférence (très bien faite d'ailleurs).
La conférence explique comment tracer les plinthes le long des contours de pièce mais pas comment déduire les portes.
J'ai donc voulu aller plus loin en essayant de les déduire.
Auriez-vous une idée ?
Bonjour Charles,
Voici une web-conférence qui pourrait vous être utile :
https://www.hexabim.com/web-conferences/cas-d-usage-dynamo-automatiser-la-cr%C3%A9ation-de-ses-plinthes-ou-moulures-avec-mickael-auque
Voici une web-conférence qui pourrait vous être utile :
https://www.hexabim.com/web-conferences/cas-d-usage-dynamo-automatiser-la-cr%C3%A9ation-de-ses-plinthes-ou-moulures-avec-mickael-auque
There are no replies made for this post yet.
Please login to post a reply
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 »