Ingenieure lieben Effizienz, Daran besteht kein Zweifel. Wenn wir Wiederholung bemerken, Wir suchen normalerweise nach einer Methode zur Automatisierung. Als einer der führenden Anbieter von Engineering-Automatisierung, Wir haben den Wunsch beobachtet, im Laufe der Jahre immer effizientere Prozesse im Schneeball zu schaffen.
Eines der beliebtesten Werkzeuge in der Welt des parametrischen Designs ist Grasshopper 🦗 … Ein Rhino3d 🦏 Plugin – ja, Tiernamen scheinen hier ein allgemeines Thema zu sein! Wir sehen dies als ein äußerst leistungsfähiges Werkzeug zur Modellgenerierung, Aus diesem Grund haben wir eine voll funktionsfähige Integration mit Grasshopper über die SkyCiv – Grasshopper Plugin.
Rhino ist eine leistungsstarke 3D-Modellierungssoftware, die eine gut dokumentierte API für alle Modellierungselemente bietet. Grasshopper ist eine visuelle Programmiersprache, Bedeutung, Sie können verschiedene fallen lassen “Komponenten” in das Ansichtsfenster, die eine bestimmte Aufgabe haben. Anschließend geben Sie die Ausgabe einer Komponente an eine andere Komponente weiter. In Bezug auf die Programmierung, Grasshopper-Komponenten sind Funktionen. Es gibt Hunderte von integrierten Komponenten, mit denen Sie loslegen können. Besser ist jedoch, dass Sie mit Python eigene Komponenten erstellen können, C #, VB, oder noch einfacher, eine Kombination bestehender Komponenten.
Schnallen Sie sich also an und erstellen Sie das Äquivalent der Structural Engineers zum Skript "Hello World"; ein Portalrahmenschuppen!
Wir werden dies in zwei Abschnitte unterteilen:
- So erstellen Sie die Geometrie eines Portalrahmenschuppens mit Grasshopper;
- Konvertieren der Geometrie in eine SkyCiv-Struktur zur Analyse.
Bis zum Ende der Etappe 1, Sie haben ein parametrisches Skript, das die Grundgeometrie eines Portalrahmenschuppens wie unten gezeigt generiert.
Abbildung 1. Ein einfaches Grasshopper-Skript zum Erstellen der Geometrie eines Portal Frame Shed.
Lernprogramm
Das wichtigste zuerst, Gehe zum Rhino3d Download-Seite und laden Sie das richtige Paket für Ihren Computer herunter und installieren Sie es. Zum Zeitpunkt des Schreibens, Wir verwenden Rhino7.
Öffnen Sie nun Rhino und erstellen Sie ein neues Projekt aus dem “Standardvorlagen” Sektion. Wahrscheinlich auch nicht Große Objekte – Füße oder Große Objekte – Meter, Ich werde mit Messgeräten arbeiten, dies wird jedoch in der ersten Phase keinen Unterschied machen. Jetzt sollten Sie ein Ansichtsfenster haben, in das unterteilt ist 4 verschiedene Ansichten, wenn Sie eine einzelne Ansicht bevorzugen, Klicken Sie einfach auf Perspektive.
Als nächstes, Grasshopper starten, Sie finden es im Standardmenü oder indem Sie "Grasshopper" in das Befehlsfeld eingeben.
Abbildung 2. Heuschrecke starten.
Jetzt können wir der Grasshopper-Ansicht Komponenten hinzufügen. Dies kann auf verschiedene Arten erfolgen, wenn Sie den Namen der Komponente kennen, Tippen Sie einfach auf die Leertaste oder doppelklicken Sie auf eine beliebige Stelle in der Grasshopper-Ansicht, Geben Sie den Namen ein, und drücken Sie die Eingabetaste. Alternative, Sie können auf eine Komponente im Menü klicken und dann auf die Stelle klicken, an der Sie sie platzieren möchten.
Lassen Sie uns kurz auf die Benutzeroberfläche eingehen.
Fügen Sie zunächst einen Zahlenregler hinzu: Leertaste → "Zahlenregler" → eingeben. Dadurch wird ein Schieberegler mit einer Untergrenze von „0“ in die Ansicht eingefügt., eine Obergrenze von "1", und eine Schrittgröße von "0,001". Sie können auf den Schieberegler doppelklicken, um diese Parameter anzupassen. Es gibt jedoch einen schnelleren Weg! Leertaste → “0..30.00” → eingeben. Dadurch wird ein Schieberegler mit einer Untergrenze von „0,00“ erstellt., eine Obergrenze von "30.00", und eine Schrittgröße von "0,01" (weil wir "30.00" verwendet haben). 0.00..30 würde das gleiche Ergebnis erzielen.
Ein weiteres gutes Werkzeug ist das Panel Werkzeug, Dies ist im Wesentlichen eine Kurznotiz, die den Ausgabewert einer Komponente anzeigt. Die Verknüpfung für das Bedienfeld besteht aus einem einfachen doppelten Anführungszeichen, gefolgt von dessen Inhalt. Tippen Sie nun auf Leertaste → “→ eingeben und Sie werden ein Panel haben. Ziehen Sie den Ausgabeknoten Ihres Zahlenreglers und legen Sie ihn auf dem Eingabeknoten des Bedienfelds ab. Jetzt sehen Sie den Wert der Schieberegleraktualisierung im Bedienfeld, während Sie ihn schieben!
Als nächstes, Ergänzen Sie die Punkt konstruieren Komponente. Im Rhino-Fenster wird am Ursprung des Koordinatensystems ein Punkt angezeigt. Verbinden Sie den Schiebereglerwert mit einer oder mehreren Punktkoordinaten (entweder direkt oder über das Panel) und Sie können den Punkt mit dem Schieberegler verschieben, super richtig? Sie können die Kabel trennen, indem Sie die Strg-Taste gedrückt halten (oder Cmd) und sie neu zeichnen. Durch Klicken auf eine Komponente in Grasshopper, z. B. Konstruktionspunkt, In Rhino wird es grün angezeigt.
Versuchen Sie, zwei Punkte mit einer Linie zu verbinden; Hinweis: schau mal in die Kurve → Grundelement Speisekarte. Ohne die Leitung, Dies ist so etwas wie das, womit Sie jetzt experimentieren sollten.
Abbildung 4. Zeichnen von Punkten in Rhino3d von Grasshopper.
Nachdem Sie sich mit den Grundlagen vertraut gemacht haben, Lassen Sie uns mit dem Erstellen des Schuppens beginnen! Referenzierung Zahl 1, Wir werden uns durch jede Gruppe arbeiten, die durch die farbigen Behälter definiert ist, beginnend mit der am weitesten links liegenden violett gefärbten Gruppe.
Violett
Hier würde ich normalerweise mit einem Skript beginnen, Dies ähnelt Ihren Variablendeklarationen oben in Ihrem Code. Überlegen Sie, welchen Parameter Sie verwenden möchten und benötigen, um die Geometrie zu definieren. Fahren Sie fort und erstellen Sie Ihre Schieberegler, Übe die Abkürzung!
- Gebäudebreite – der Abstand von Spalte zu Spalte der Portale.
- Traufhöhe – Die Höhe der Säulen.
- Firsthöhe – Die Höhe vom Boden zum Grat.
- Schritt – Der Abstand zwischen den einzelnen Portalen.
- Portale – Die Anzahl der Portale, Beachten Sie, dass dies eine Ganzzahl ist: Raum → 1..20 → eingeben.
Hinweis: Wenn Sie das Skript organisieren möchten (sehr empfehlenswert), Sie können mehrere Elemente ziehen und auswählen, Klicken Sie dann mit der rechten Maustaste in den leeren Bereich und gruppieren Sie die Elemente. Die Komponente mit den Steuerelementen heißt Scribble. Sie können dann mit der rechten Maustaste auf die grüne Gruppe klicken und sie nach Ihren Wünschen anpassen.
Orange
In den orangefarbenen Gruppen, Wir berechnen andere Variablen, die wir benötigen, basierend auf der Eingabe. Dies ist auch ein guter Zeitpunkt, um das vorzustellen Relais. Doppelklicken Sie auf ein Kabel, um ein Relais hinzuzufügen, Sie sind hilfreich, um alles zu organisieren und eine Verzweigung zu ermöglichen. Doppelklicken Sie erneut auf das Relais, um es zu entfernen.
Die erste Komponente ist die Ausdruck Komponente, mit der wir einige Variablen einstecken können, Schreiben Sie einen mathematischen Ausdruck und übergeben Sie das Ergebnis (R.) aus. Wenn Sie in der Nähe zoomen, ein ➕ sowie ➖ Die Schaltfläche wird angezeigt, um der Komponente weitere Variablen hinzuzufügen oder zu entfernen. Dies gilt auch für viele andere Komponenten. Doppelklicken Sie auf die Komponente und geben Sie sie ein x / 2 in das Ausdrucksfeld. Jetzt haben wir die halbe Spannweite, die uns hilft, die Kammlinie zu zeichnen.
In der zweiten orangefarbenen Gruppe, wir benutzen die Serie Komponente, um eine Reihe von Zahlen zu erstellen, die uns eine Y-Koordinate für jedes Portal liefern. Die Eingänge für die Serienkomponente sind “Start” (S.), “Schrittlänge” (N.), sowie “Anzahl” (C.). Wenn wir nicht liefern S. mit einer Eingabe, es wird standardmäßig auf 0. Bestätigen Sie dies, indem Sie mit der Maus über die S.. Verbinden Sie Ihren Schrittregler mit N und Ihren Portalregler mit C.. Winken Sie entweder über den Ausgang der Serie oder schließen Sie ihn einfach an das vertrauenswürdige Bedienfeld an, um die Ausgangswerte anzuzeigen. Jetzt haben wir eine Reihe von Y-Positionen, aber… Grasshopper interpretiert diese Werte einfach als Zahlen, keine Y-Koordinaten. Konvertieren Sie dieses Zahlenarray in Y-Vektoren, indem Sie sie in a senden Einheit Komponente, Leertaste → Y → eingeben. Schauen Sie sich nun die Ausgabe an und Sie werden sehen, dass die Zahlen zu Koordinaten verarbeitet wurden. Beachten Sie, dass der Ausgangsdraht der Serienkomponente dicker ist. Dies zeigt an, dass die Ausgabe mehrere Werte enthält (eine Anordnung) nicht nur ein einziger Wert.
Abbildung 5. Erstellen einer Reihe von Koordinaten.
Blau
In der blauen Gruppe, Wir zeichnen die Punkte auf, aus denen das erste Portal besteht; fünf Punkte pro Portal. Fügen Sie fünf der hinzu Punkt konstruieren Komponenten, die wir zuvor verwendet haben, und versuchen, die richtigen Eingänge anzuschließen. Benutzen Zahl 1 als Referenz, wenn Sie stecken bleiben. Sie können mit der rechten Maustaste auf die Komponente klicken, um ihr eine Bezeichnung zu geben. Möglicherweise müssen Sie ausschalten Zeichne Symbole um den Namen der Komponente anstelle des Symbols anzuzeigen. Dies kann in der gefunden werden Anzeige Speisekarte (das Fensteranzeigemenü, nicht das Grasshopper-Anzeigemenü!).
Jetzt sollten Sie in der Lage sein, die Schieberegler mithilfe der Schieberegler anzupassen.
Rosa
Inzwischen könnten Sie erkennen, Es gibt Millionen von Wegen, um unser Ziel zu erreichen, und viele, die effizienter sein könnten. Der Weg, den wir gehen, Ich habe mich für eine gute Option entschieden, da die verschiedenen Geometrieelemente in separaten Komponenten gespeichert und einige verschiedene Werkzeuge eingeführt werden, damit nicht eine Komponente mit einer großen Ausgabe angezeigt wird, Durcheinander von Gegenständen.
Auf die Bewegung Komponente. Diese Komponente benötigt Geometrie (G) sowie Bewegung (T.). Es ist klug genug zu wissen, dass, wenn Sie mehrere bereitstellen Bewegung Werte, es sollte sie iterieren und jeden von ihnen auf den Geometrieparameter anwenden. Schließen Sie jeden unserer Portalpunkte zusammen mit unserer Reihe von Y-Vektoren an, und Sie sehen mehrere Portale in einer Linie. Passen Sie den Schieberegler "Schritt" und "Portal" an, um die Änderung anzuzeigen.
Beachten Sie, wie Sie auf eine Ihrer Punktkomponenten in der blauen Zone klicken, Sie werden einen Punkt in Rhino sehen, Klicken Sie dann auf Bewegung Komponente, der es zugeführt wird, und Sie sehen einen grünen Punkt an derselben Position sowie die anderen. Das ist wichtig! Jede Komponente ist nicht Anpassen der vorherigen Komponente, lieber, Es wird ein Duplikat erstellt, dann das Duplikat anpassen. Jetzt haben wir unsere Punktreihen, Ziehen Sie alle Komponenten der blauen Gruppe und markieren Sie sie, Klicken Sie mit der rechten Maustaste in den leeren Bereich, und wählen Sie Vorschau aus, Wir müssen diese nicht mehr in Rhino sehen. Diese Optionen finden Sie auch im runden Menü, wenn Sie mit der mittleren Maustaste klicken. Wenn Sie eine magische Maus verwenden, können Sie dieses Menü mit aufrufen Option + Leertaste.
Grün
Im grünen Bereich, Wir verbinden den Grat und die Traufpunkte mit einem PolyLine. Dies erfordert eine geordnete Liste von Eckpunkten (V ) und zeichnen Sie eine Linie durch sie. Der andere Parameter (C.) Gibt an, ob die Zeile geschlossen werden soll, Verbinden Sie den letzten Punkt mit dem ersten. Sie könnten eine Verbindung herstellen Boolean Toggle Wir werden dies jedoch nicht tun. Die beiden Linien, die die Säulenbasen verbinden, sind wahrscheinlich redundant, sodass Sie sie weglassen können.
Gelb
In diesem Abschnitt, Wir erstellen die Spalten- und Sparrenlinien. Hier wird ein bisschen komplexe Magie verwendet. Seien Sie also nicht zu hart mit sich selbst, wenn Sie es beim ersten Mal nicht verstehen.
Ab dem Ende, bleibt die PolyLine Die Komponente benötigt eine geordnete Liste von Punkten, um eine Verbindung herzustellen. Für die erste Spalte, Wir haben eine Reihe von Punkten entlang des Bodens und eine Reihe von Punkten entlang der Traufe. Wir müssen diese Daten in Gruppen von zwei Punkten manipulieren, Startpunkt jeder Spalte, und Endpunkt. Wir können die verwenden Verschmelzen Komponente, um diese beiden Punktreihen zusammenzubringen, So füttern Sie die beiden Reihen in die Verschmelzen Komponente und dann in die PolyLine Komponente, Sie werden feststellen, dass eine Z-Form erstellt wird. Das liegt natürlich daran, bleibt die Verschmelzen Die Komponente kombiniert nur die beiden Listen zu einer, größere Liste. Winken Sie über die Verschmelzen Geben Sie ein und Sie sehen so etwas wie „Daten 1 wie Baum”, Dies bedeutet, dass wir unsere Punkte in einen Baum umwandeln müssen, bevor wir die Zusammenführung ausführen. Klicken Sie mit der rechten Maustaste auf D1 und D2 Verschmelzen Komponente und klicken Sie für jede auf "Pfropfen", ein ⬆️ wird neben jedem Eingang angezeigt. Jetzt sehen die Spalten in Ordnung aus… aber warum? Stecken Sie die Verschmelzen Ausgabe in ein Panel und dann den Unterschied betrachten, wenn Sie das Transplantat ein- und ausschalten.
Abbildung 6. Zusammengeführte Baumdaten.
Ohne zu tief zu tauchen, “Transplantat” nimmt eine Liste von Elementen und ordnet sie ihren eigenen Gruppen zu, Jede Gruppe könnte dann eine Liste enthalten. Wenn wir also versuchen, zwei Bäume zusammenzuführen, Jede davon enthält die gleiche Anzahl von Gruppen, Es werden Gruppen mit demselben Index zusammengeführt.
Gehen Sie voran und verbinden Sie die Säule und die Sparren. Hier, Hallo Schuppen!
Gedanken schließen
Wir haben jetzt gesehen, wie benutzerfreundlich und außerordentlich leistungsstark Grasshopper ist. Mit ein bisschen Übung, In einer halben Stunde können Sie ein solches Skript erstellen. Stellen Sie sich die Möglichkeiten vor, wenn Sie angemessene Ressourcen zuweisen. Achten Sie auf Teil 2 wo wir die verwenden werden SkyCiv Grasshopper-Plugin eine Statik für den Schuppen durchführen.