Accéder au contenu principal

Le guide et le média de l'écosystème construction numérique et BIM

Espace membre

Thématique header

Création d'une node qui duplique des nodes

YG Yann GEAY
21 février 2018
5.83K
1
Bonjour,

Mon problème est assez difficile à expliquer je vais donc d’abord vous expliquer le contexte.
J’ai réalisé un script dynamo qui vise à extruder un profil de pont selon un axe défini par des points de passage. L’insertion des profils se fait au niveau des points de passage et le script doit pouvoir accepter plusieurs profils différents. Les profils ne doivent pas être placés à la main mais directement placé par dynamo, en appelant en donnée d’entrée les profils à placer. Ceux-ci ont au préalable été chargé dans Revit. Mon script fonctionne et comprend l’utilisation de deux profils différents sur des intervalles donnés. Par exemple : utiliser le profil « A » du point 0 au point 3 puis du point 8 au point 20, et utiliser le profil « B » du point 4 au point 7.

Mon problème est le suivant : cette instruction définissant à quels points poser mes profils, ne traite pour l’instant que deux types de profils différents. Or je souhaite que l’on puisse ajouter facilement le nombre de profil que l’on souhaite, aux différents intervalles définis par l’utilisateur du script. Pour faire simple je veux que l’on puisse appuyer sur un bouton « + » comme pour la node « list.Create », que l’intérieur de ma node personnalisée se multiplie, et que de nouvelles nodes « input » soient créées afin de pouvoir entrer de nouveaux profils et de nouveaux intervalles.

Je vais surement devoir utiliser/créer un script dans une node python pour faire cela, mais je n’ai absolument aucune idée de comment démarrer.

Excusez-moi si vous avez du mal à comprendre mon problème, il m’a été très difficile de l’exprimer. Merci pour vos réponses.

Photos

hxrel-u

Morphé
Plugin pour Grasshopper et Rhino 8 destiné à la fabrication additive et à la conception avancée, introduisant la modélisation implicite et voxel pour la création de géométries complexes.
BIMR.NET
Modeleur BIM textuel fonctionnant entièrement dans le navigateur, permettant d'écrire des scripts Python pour générer des fichiers intermédiaires et compiler des modèles en IFCX pour la visualisation.
ZWCAD
Logiciel de CAO 2D et 3D orienté dessin DWG, permettant aux architectes, ingénieurs et modeleurs de produire et modifier des plans, annotations et mises en page tout en exploitant des...
PIComposer Basic Edition
Outil de gestion de données BIM et PMI basé sur le schéma ISO 10303, permettant de restructurer, transformer et transférer des modèles IFC et STEP via une interface de programmation...
GSA
Logiciel de calcul et d’analyse par éléments finis pour structures complexes, permettant de modéliser la géométrie et les chargements avec une séparation explicite entre structure et modèle d’analyse.
ggRhinoIFC
Plugin pour Rhino et Grasshopper facilitant l'import, la manipulation, la conversion et l'export de fichiers IFC, permettant aux modeleurs BIM et architectes de structurer leurs données IFC.
ArcGIS Pro
Logiciel SIG bureautique centralisant cartes 2D, scènes 3D et données spatiales pour visualiser, éditer et analyser des projets complexes, notamment dans les domaines de l'urbanisme et des infrastructures.
Fologram
Plugin reliant Rhino et Grasshopper à des appareils de réalité mixte pour visualiser des modèles, piloter des interactions paramétriques et assister la fabrication ou l'implantation sur site.
Rhino.Inside.Revit
Plugin permettant d'exécuter Rhino et Grasshopper au sein de Revit pour créer des éléments natifs et piloter la conception paramétrique, destiné aux modeleurs BIM, architectes et ingénieurs.
Versur
Plateforme d’orchestration de workflows IA pour les architectes et designers, permettant d’assembler des agents spécialisés en graphes visuels pour automatiser les processus de conception métier.
Armox AI
Plateforme cloud de génération visuelle par IA permettant aux architectes et designers de transformer des croquis et plans en rendus photoréalistes et vidéos via des workflows nodaux réutilisables.
Wallacei
Plugin pour Grasshopper 3D dédié à l'optimisation évolutionnaire multi-objectifs, permettant aux architectes et designers d'analyser, de regrouper et de sélectionner des variantes de conception.
Rhino 3D
Application de modélisation 3D polyvalente pour la conception géométrique, le paramétrage via Grasshopper et la préparation à la fabrication, utilisée pour les formes libres et les études urbaines.
Tapir
Plugin open source pour Archicad exposant les fonctions internes via une API JSON, permettant le pilotage par Python, Grasshopper et des agents IA en langage naturel.
ShapeDiver
Plateforme cloud exécutant des définitions Grasshopper dans un navigateur pour les publier comme applications 3D interactives, avec des modes d’exposition variés et des intégrations métiers.
Runchat
Plateforme de conception assistée par agents combinant un chat, un canvas visuel de workflows et des connecteurs vers des logiciels de CAO pour générer des images, des scripts et des...
Nodepen
Plateforme de conception générative permettant de créer, exécuter et partager des scripts Grasshopper dans le navigateur, avec édition collaborative et un agent conversationnel intégré.
Beegraphy
Plateforme cloud de conception paramétrique avec éditeur visuel par nœuds, elle permet de générer des géométries 3D, des configurateurs intégrables et des fichiers de fabrication.
OPEN GEOMETRY
Noyau CAO open source natif web, il fournit les briques de bas niveau pour construire des outils de conception architecturale dans le navigateur, tels que la modélisation de plans et...
Karamba
Plugin pour Grasshopper (Rhino) de calcul de structure par éléments finis, il permet la conception paramétrique, l'analyse de second ordre, l'optimisation de sections et l'export vers Robot ou Rstab.
Rhinoceros Interface
Plugin pour Rhino et Grasshopper qui intègre des objets de calcul structurel, des appuis, des charges et des propriétés de section pour constituer un modèle analytique directement dans l'environnement de...
Raven
Plugin pour Rhino 8 ajoutant une interface en langage naturel dans Grasshopper pour construire, modifier et organiser des définitions paramétriques, avec des profils de contexte partageables.
Conduit
Plugin Grasshopper pour Rhinoceros 3D qui affiche des visualisations de données en direct dans le viewport 3D, met à jour les rapports au fil des modifications du graphe et est...
LunchBox
Plugin pour Grasshopper centré sur la modélisation paramétrique, le traitement de données et l’analyse géométrique, incluant des composants d’apprentissage automatique pour architectes et designers.

hxrel-m

Kroqi
Plateforme collaborative pour projets de construction, elle centralise GED, visas, planning Gantt, partage documentaire et visionneuse BIM, avec des services métiers intégrés et une application mobile.
A la une
Kabandy
Plateforme cloud de gestion des quantités de construction à partir de maquettes BIM, elle lit les fichiers IFC et Revit, extrait les métadonnées, relie les éléments à des métrés visuels...
A la une
Guerrilla Ops
Outil open source de gestion et d'exploration de données d'actifs centré sur COBie, permettant de parcourir les équipements, gérer les documents et auditer la qualité des classeurs directement dans le...
MACHINE AEC
Plateforme d'analyse de maquettes numériques fédérées au format IFC permettant de détecter des risques constructifs et d'assurer une révision professionnelle via BCF.
Syntopy
Plateforme web regroupant une bibliothèque d'analyse spatiale et des applications de modélisation topologique pour les BIM managers et architectes.
SiloLink
Plateforme cloud de coordination BIM centrée sur l'examen et la hiérarchisation des résultats de détection de clashes pour les professionnels du bâtiment.
Open Planner Studio
Logiciel de planification de chantier orienté Gantt ouvrant directement les fichiers Microsoft Project et Primavera P6 pour les enregistrer en IFC.
Conduit AEC
Service logiciel de génération d'applications internes pour Revit, AutoCAD et Autodesk Construction Cloud à partir de descriptions en langage naturel, avec gestion des versions et déploiement ciblé.
Forma Bluebeam Connector
Connecteur cloud reliant Autodesk Forma et Bluebeam pour faire circuler des PDF de revue entre les environnements, conserver les annotations via le slip sheeting et prendre en charge les transferts...
Ploterr
Plateforme de conception de bâtiments et de structures physiques fondée sur OpenGeometry, associant utilisateurs et agents dans un processus de co-conception.
SDK Web Géoplateforme
Bibliothèque JavaScript permettant d'intégrer une cartographie interactive 2D et 3D dans des pages web à partir des fonds et services IGN pour les développeurs et urbanistes.
Cobuilder Supply
Plateforme de gestion centralisée des données produit et documents de conformité permettant aux fabricants de structurer, qualifier et diffuser leurs informations techniques vers l'écosystème aval.

hxrel-t

nVibe
Plateforme de création d'applications métier permettant aux professionnels de l'architecture, de l'ingénierie et de la construction de concevoir des outils en décrivant leurs besoins en langage naturel.
Reiner AI
Plateforme d'intelligence artificielle combinant un assistant conversationnel et des agents autonomes pour les bureaux d'études et entreprises de construction, intégrant une base normative sectorielle.
Gradon
Agent intelligent destiné aux ingénieurs en infrastructure et en structure, capable de réaliser de bout en bout des travaux de calcul, de rédaction de rapports et de production de plans...
ARES Neo
Solution cloud d automatisation et de production de documentation 2D à partir de modèles Revit, IFC et Rhino, conçue pour générer des plans, coupes, élévations et appliquer des annotations paramétrables.
Conduit AEC
Service logiciel de génération d'applications internes pour Revit, AutoCAD et Autodesk Construction Cloud à partir de descriptions en langage naturel, avec gestion des versions et déploiement ciblé.
Forma Construction Connect
Plateforme d'intégration sans code ou à faible code connectant les modules Forma à des applications tierces pour automatiser les workflows et synchroniser les documents et données projet.
Volve
Plateforme d'analyse documentaire assistée par IA dédiée aux appels d'offres et contrats, permettant de structurer, comparer et vérifier la conformité des dossiers pour les équipes de construction.
PIComposer Basic Edition
Outil de gestion de données BIM et PMI basé sur le schéma ISO 10303, permettant de restructurer, transformer et transférer des modèles IFC et STEP via une interface de programmation...

Solutions citées

Dynamo
Environnement de programmation visuelle pour la conception calculatoire, il assemble des graphes de nœuds...
Revit
Logiciel BIM de modélisation bâtiment, il permet de produire une maquette paramétrique unique et...

Réponses

YG Yann GEAY
·
Merci pour vos réponses,

Je n’avais pas vu le problème sous le bon angle.

La solution de Rémy Maurcot marche parfaitement, je vous mets plus bas une capture d’écran de la partie de mon script qui nous intéresse, pour les prochains qui se poseraient la même question.

Je n’ai pas compris comment je pouvais me servir de la node list.map pour mon cas.

Pour ce qui est de la solution proposée par Loic Pennamen, elle me semble très intéressante pour d’autres applications mais je ne suis pas sûre de comprendre comment créer les trois boucles que tu proposes de créer. Je ne comprends pas non plus le terme « boucle de choix de fers ». Aurais-tu un exemple de script qui me permettrait de me faire une idée plus précise de ce que tu proposais ?
LP Loic Pennamen
·
Bonjour,

N'est ce pas plus un problème de structure de code que de node ?

"L’insertion des profils se fait au niveau des points de passage et le script doit pouvoir accepter plusieurs profils différents. Les profils ne doivent pas être placés à la main mais directement placé par dynamo, en appelant en donnée d’entrée les profils à placer."

Avec deux structures de code différentes : Une boucle de choix de fers de type X (avec X faisant parti d'un catalogue de profil définit en paramétrage de ton script : une list variabilisée, etc),

Une boucle de placement de fer (définition des points selon un critère : chemin, contrainte, etc).

Une troisième qui gère l'arborescence et pilote les deux autres : Tu peux placer autant de fers que tu veux du type voulut en refaisant tes deux boucles par la troisième.

C'est le fonctionnement souhaité ?
AD Alban de Chasteigner
·
Bonjour,

Le noeud List.map pourrait faire l'affaire pour appliquer la fonction sur une liste.
Sinon, si tu crées un noeud personnalisé, il est souvent utile de régler la combinaison sur "le plus long" pour recommencer la fonction sur chaque élément de la liste.
RM Rémy MAURCOT
·
Il faut gérer ça dans tes deux listes (profil et intervalles) en gestion d'arbre (produit vectoriel).
En gros c'est la manière dont tu créer ta liste qui va conditionner la manière dont ton script fonctionne !

Si ton script à un fonctionnement A il faut surement l'adapter pour un fonctionnement B, il faut à mon avis modifier certaines entrées pour que tu puisse gérer tes profils et tes intervalles de manières à correspondre à tes besoins !
Voir plus de commentaires
La lettre HEXABIM

Les outils qui comptent, tous les 15 jours.

Nouveautés utiles, un comparatif, un retour d'expérience. Désinscription en un clic.

Newsletter
Newsletter