Les ingénieurs aiment l'efficacité, Il n'y a aucun doute à ce propos. Quand nous remarquons la répétition, nous recherchons généralement une méthode d'automatisation. En tant que l'un des principaux fournisseurs d'automatisation de l'ingénierie, nous avons observé le désir de créer des processus de plus en plus efficaces boule de neige au fil des ans.

Grasshopper est l'un des outils les plus populaires dans le monde de la conception paramétrique. 🦗 … Un Rhino3d 🦏 brancher – Ouais, les noms d'animaux semblent être un thème commun ici! Nous voyons cela comme un outil de génération de modèles extrêmement puissant, c'est pourquoi nous avons une intégration entièrement fonctionnelle avec Grasshopper via le SkyCiv – Plugin de sauterelle.

Rhino est un puissant logiciel de modélisation 3D qui fournit une API bien documentée pour toutes ses entités de modélisation. Grasshopper est un langage de programmation visuel, sens, vous pouvez déposer divers “Composants” dans la fenêtre qui ont une tâche spécifique. Vous alimentez ensuite la sortie d'un composant dans un autre composant. En termes de programmation, Les composants Grasshopper sont des fonctions. Il existe des centaines de composants intégrés pour vous aider à démarrer, mais ce qui est mieux, c'est que vous pouvez créer les vôtres à l'aide de Python, C #, VB, ou encore plus simplement, une combinaison de composants existants.

Alors attachez votre ceinture et créons l'équivalent du script "Hello World" pour les ingénieurs en structure; un hangar à portique!

Nous allons diviser cela en deux sections:

  1. Comment créer la géométrie d'un hangar à portique à l'aide de Grasshopper;
  2. Conversion de la géométrie en structure SkyCiv pour analyse.

À la fin de l'étape 1, vous aurez un script paramétrique qui génère la géométrie de base d'un hangar à portique comme indiqué ci-dessous.

Interface utilisateur de Grasshopper Rhino

Figure 1. Un simple script Grasshopper pour créer la géométrie d'un hangar à cadre de portail.

Didacticiel



Tout d'abord, rendez-vous au Page de téléchargement de Rhino3d et téléchargez et installez le bon package pour votre ordinateur. Au moment de la rédaction, nous utilisons Rhino7.

Ouvrez maintenant Rhino et créez un nouveau projet à partir du “modèles standard” section. Probablement non plus Grands objets – pieds ou Grands objets – Mètres, Je travaillerai avec des compteurs mais cela ne fera aucune différence lors de la première étape. Vous devriez maintenant avoir une fenêtre divisée en 4 différents points de vue, si vous préférez une vue unique, cliquez simplement sur la perspective.

Prochain, lancer Grasshopper, il peut être trouvé dans le menu standard ou en tapant "Grasshopper" dans le champ de commande.

Sauterelle ouverte

Figure 2. Lancement de sauterelle.

Nous pouvons maintenant commencer à ajouter des composants à la vue Grasshopper. Cela peut être fait de plusieurs manières, si vous connaissez le nom du composant, appuyez simplement sur la barre d'espace ou double-cliquez n'importe où dans la vue Grasshopper, tapez le nom, et appuyez sur Entrée. Aussi, vous pouvez cliquer sur un composant dans le menu, puis cliquer à l'endroit où vous voulez le placer.

Passons à une tangente rapide pour vous familiariser avec l'interface utilisateur.

Commencez par ajouter un curseur numérique: barre d'espace → «curseur numérique» → entrée. Cela fera glisser un curseur dans la vue avec une limite inférieure de «0», une limite supérieure de «1», et une taille de pas de "0,001". Vous pouvez double-cliquer sur le curseur pour ajuster ces paramètres, mais il existe un moyen plus rapide! Barre d'espace → "0..30.00" → entrer. Cela créera un curseur avec une limite inférieure de "0,00", une limite supérieure de "30,00", et une taille de pas de "0,01" (parce que nous avons utilisé "30,00"). 0.00..30 obtiendrait le même résultat.

curseur sauterelle

Figure 3. Curseur de sauterelle.

Un autre bon outil est le Panneau outil, il s'agit essentiellement d'un pense-bête qui affichera la valeur de sortie d'un composant. Le raccourci pour le panneau est un simple guillemet double suivi de son contenu. Alors maintenant, appuyez sur le barre d'espace → «→ entrer et vous aurez un panneau. Faites glisser le nœud de sortie de votre curseur numérique et déposez-le sur le nœud d'entrée du panneau. Vous verrez maintenant la valeur de la mise à jour du curseur dans le panneau lorsque vous le faites glisser!

Prochain, ajouter le Construire le point composant. Vous verrez un point apparaître dans la fenêtre Rhino à l'origine du système de coordonnées. Connectez la valeur du curseur à une ou plusieurs coordonnées de point (soit directement, soit via le panneau) et vous pourrez déplacer le point avec le curseur, génial droit? Vous pouvez déconnecter les fils en maintenant la touche Ctrl (ou Cmd) et les redessiner. En cliquant sur un composant dans Grasshopper tel qu'un point de construction, il apparaîtra vert dans Rhino.

Essayez de connecter deux points avec une ligne; indice: jetez un oeil dans le Courbe → Primitive menu. Sans la ligne, c'est quelque chose comme ce que vous devriez expérimenter maintenant.

Créer des nœuds avec Grasshopper

Figure 4. Tracer des points dans Rhino3d depuis Grasshopper.

Maintenant que vous vous êtes familiarisé avec les bases, commençons à créer le hangar! Référencement figure 1, nous allons travailler notre chemin à travers chaque groupe défini par les conteneurs colorés, en commençant par le groupe de couleur violette le plus à gauche.

Violet

C'est généralement là que je commencerais avec un script, il est similaire à vos déclarations de variables en haut de votre code. Réfléchissez au paramètre que vous aimeriez utiliser et dont vous avez besoin, pour définir la géométrie. Allez-y et créez vos curseurs, pratiquer le raccourci!

  1. Largeur du bâtiment – la distance de colonne en colonne des portails.
  2. Hauteur de l'avant-toit – La hauteur des colonnes.
  3. Hauteur de la crête – La hauteur à partir du sol à la crête.
  4. Étape – La distance entre chaque portail.
  5. Portails – Le nombre de portails, notez que c'est un entier: espace → 1..20 → entrer.

Remarque: Si vous souhaitez organiser le script (hautement recommandé), vous pouvez faire glisser et sélectionner plusieurs éléments, puis faites un clic droit dans un espace vide et regroupez les éléments. Le composant affichant «Contrôles» s'appelle Scribble. Vous pouvez ensuite cliquer avec le bouton droit sur le groupe vert et le personnaliser à votre guise.

Orange

Dans les groupes orange, nous calculons d'autres variables dont nous aurons besoin en fonction de l'entrée. C'est aussi le bon moment pour présenter le Relais. Double-cliquez sur un fil pour ajouter un relais, ils sont utiles pour que tout soit organisé et permettent de bifurquer. Double-cliquez à nouveau sur le relais pour le supprimer.

Le premier composant est le Expression composant qui nous permet de brancher certaines variables dans, écrire une expression mathématique et transmettre le résultat (R) en dehors. Si vous effectuez un zoom avant, fermez, a et apparaîtra pour ajouter ou supprimer plus de variables au composant. C'est également le cas de nombreux autres composants. Double-cliquez sur le composant et le type x / 2 dans le champ d'expression. Nous avons maintenant la demi-portée qui nous aidera à tracer la ligne de crête.

Dans le deuxième groupe orange, nous utilisons le séries composant pour créer une série de nombres qui nous fourniront une coordonnée Y pour chaque portail. Les entrées pour le composant série sont “démarrer” (S), “taille de pas” (N), et “compter” (C). Si nous ne fournissons pas S avec une entrée, il sera par défaut 0. Confirmez-le en agitant la souris sur le S. Connectez votre curseur de pas à N et votre curseur de portails à C. Soit agitez la sortie de la série, soit branchez-la simplement dans le panneau de confiance pour voir les valeurs de sortie. Nous avons maintenant une série de positions Y mais… Grasshopper interprète ces valeurs simplement comme des nombres, pas les coordonnées Y. Convertissez ce tableau de nombres en vecteurs Y en les envoyant dans un Unité Y composant, barre d'espace → Y → entrer. Jetez maintenant un œil à la sortie et vous verrez que les nombres ont été transformés en coordonnées. Notez que le fil de sortie du composant série est plus épais. Cela indique qu'il y a plusieurs valeurs dans la sortie (un tableau) pas juste une valeur unique.

Composant de la série Grasshopper

Figure 5. Créer une série de coordonnées.

Bleu

Dans le groupe bleu, nous traçons les points qui composent le premier portail; cinq points par portail. Ajoutez cinq des Construire le point composants que nous avons utilisés plus tôt et essayez de connecter les entrées correctes. Utiliser figure 1 pour une référence si vous êtes coincé. Vous pouvez cliquer avec le bouton droit sur le composant pour lui donner une étiquette. Vous devrez peut-être désactiver Dessiner des icônes pour afficher le nom du composant plutôt que l'icône. Cela peut être trouvé dans le affichage menu (le menu d'affichage de la fenêtre, pas le menu d'affichage Grasshopper!).

Vous devriez maintenant pouvoir utiliser les curseurs pour ajuster les nœuds du portail.

Rose

A présent, vous pourriez réaliser, il existe des millions de façons d'atteindre notre objectif et plusieurs pourraient être plus efficaces. Le chemin que nous empruntons, J'ai décidé que c'était une bonne option car elle conserverait les différents éléments de géométrie dans des composants séparés et introduirait quelques outils différents afin que nous ne nous retrouvions pas avec un composant qui génère un, désordre d'objets.

Sur la Bouge toi composant. Ce composant prend géométrie (g) et mouvement (T). Il est assez intelligent de savoir que si vous fournissez plusieurs mouvement en main, il doit les itérer et appliquer chacun d'eux au paramètre de géométrie. Connectez chacun de nos points de portail accompagnés de notre série de vecteurs Y et vous verrez plusieurs portails en ligne. Ajustez votre curseur Step et Portal pour voir le changement.

Remarquez comment si vous cliquez sur l'un de vos composants ponctuels dans la zone bleue, vous verrez un point dans Rhino, puis cliquez sur le Bouge toi composant auquel il alimente et vous verrez un point vert dans la même position plus les autres. C'est important! Chaque composant est ne pas réglage du composant précédent, plutôt, il crée un doublon, puis ajuster ce doublon. Maintenant nous avons nos rangées de points, faites glisser et mettez en surbrillance tous les composants du groupe bleu, clic droit dans un espace vide, et sélectionnez aperçu désactivé, nous n'avons plus besoin de les voir dans Rhino. Ces options peuvent également être trouvées dans le menu rond lorsque vous cliquez avec le bouton central. Si vous utilisez une souris magique, vous pouvez obtenir ce menu avec option + barre d'espace.

Vert

Dans la section verte, nous connectons les points de faîtage et d'avant-toit avec un PolyLine. Cela prendra une liste ordonnée de sommets (V) et tracez une ligne à travers eux. L'autre paramètre (C) indique si la ligne doit se fermer, c'est-à-dire connecter le point final au premier. Vous pourriez connecter un Bascule booléenne dans cela, mais nous ne. Les deux lignes reliant les bases des colonnes sont probablement redondantes, vous pouvez donc les omettre.

Jaune

Dans cette section, nous créons les lignes de colonne et de chevron. Il y a un peu de magie complexe utilisée ici, alors ne soyez pas trop dur avec vous-même si vous ne le comprenez pas la première fois.

À partir de la fin, l' PolyLine le composant a besoin d'une liste ordonnée de points pour se connecter. Pour la première colonne, nous avons une rangée de points le long du sol et une rangée de points le long de l'avant-toit. Nous devons manipuler ces données en groupes de deux points, le point de départ de chaque colonne, et point final. Nous pouvons utiliser le Fusionner composant pour rapprocher ces deux rangées de points, alors alimentez les deux rangées dans le Fusionner composant puis dans le PolyLine composant, vous remarquerez qu'une forme en Z est créée. C'est parce que naturellement, l' Fusionner le composant combinera simplement les deux listes en une seule, liste plus grande. Vague sur le Fusionner et vous verrez quelque chose comme "Données 1 comme Arbre", cela signifie que nous devons convertir notre tableau de points dans un arbre avant d'exécuter la fusion. Cliquez avec le bouton droit de la souris sur D1 et D2 sur le Fusionner composant et cliquez sur «Greffer» pour chaque, a ⬆️ apparaîtra à côté de chaque entrée. Maintenant, les colonnes semblent correctes… mais pourquoi? Branchez le Fusionner sortie dans un panneau, puis regardez la différence lorsque vous activez et désactivez le greffon.

Arbre de données Grasshopper

Figure 6. Données d'arborescence fusionnées.

Sans plonger trop profondément, “greffer” prendra une liste d'articles et les placera dans leurs propres groupes, chaque groupe pourrait alors contenir une liste. Alors quand on essaie de fusionner deux arbres, dont chacun contient le même nombre de groupes, il fusionnera des groupes avec le même index.

Allez-y et connectez la colonne et les chevrons. Voilà, bonjour hangar!

Réflexions finales

Nous avons maintenant vu à quel point Grasshopper est convivial et extraordinairement puissant. Avec un peu de pratique, vous pourrez créer un script comme celui-ci en une demi-heure. Imaginez les possibilités si vous allouez des ressources décentes. Cherchez une partie 2 où nous utiliserons le Plugin SkyCiv Grasshopper pour exécuter une analyse structurelle sur le hangar.