
Explore Grasshopper's visual programming language, from manipulating points and vectors to data trees, breps, and intersections, and learn how it automates design tasks with a user-friendly interface.
Review the prerequisites for Grasshopper, including an engineering background, mathematics, and 3D vectors. Learn how the course welcomes beginners with no programming concepts, revealing Grasshopper features gradually through concrete examples.
Explore the Rhino user interface and four viewports with axis indicators. Use the mouse wheel to zoom and right-click to translate or rotate, with shift+right-click for perspective translation.
Explore the Rhino user interface, navigating menus and toolbars to access commands for creating curves, points, and surfaces, and use the command line for quick access.
Use the right-side tabs to display properties of Rhino objects and layers, and use left OSNAP tools for targeting, then right-click a viewport name to change display and view.
Launch Grasshopper from Rhino and explore the three areas: the components and parameters tab, the display control button, and the canvas where you build your algorithm with parameters and components.
Clarify the goal, list required parameters, and establish methods to reach the outcome. In Grasshopper, build a rectangular box with length, width, and height around the bottom center construction point.
Construct the center point using the ConstructPoint component in Grasshopper, using default x, y, z inputs to place at 0, 0, 0 and visualize in Rhino.
Learn to manipulate 3D coordinates in Grasshopper using a number slider, type exact values, adjust slider range and accuracy, and connect or disconnect components to move a point in Rhino.
Create edge points in Grasshopper by naming sliders, moving points with unit vectors, and dividing width by two to center the edges so they move with the center point.
Create a closed polyline by linking four edge points, ensuring width and length move oppositely, and use a merge component to control point order before enabling the polyline's closed boolean.
Create top and bottom extremity surfaces from planar polylines using boundary surfaces, join them into a closed brep, then reliably compute volume for bill of quantities in Grasshopper.
Create and refine a parametric closed b-rep in Grasshopper, hide construction previews for a clean output, and move the resulting geometry along the x-axis to place it precisely.
Explore a native rectangle method in Grasshopper. Create a rectangle with its center as the construction point, raise it to height, interpolate sections, and close the geometry.
Create a native rectangle in grasshopper, then center it at 0,0 by using the rectangle's vertices (control points), converting to a polyline, extracting points, and moving by half the diagonal.
Compare two methods to build a rectangular cuboid from a polyline, ensuring the volume matches, then introduce a third methodology using lists for faster creation.
Create a native box in Grasshopper by centering it on a plane, converting to a b-rep, and moving the box from its centroid to the bottom face center.
Develop a six-parameter parametric component for a rectangular section with templates, ensuring height does not change the tilt tip and adjusting the tilt tip does not alter total height.
Loft three rectangular sections to form a pier in Grasshopper, set the loft to straight, generate extremity surfaces, join vreps to close the volume, and review the exercise steps.
Master data management in Grasshopper by defining a robust data architecture, organizing, transforming, and propagating structured data, and leveraging the parameters block, or types and classes, to elevate your definitions.
Explore placing multiple piers along an alignment in Grasshopper using the CurveArray, duplicating pier geometry along a curve with a specified count, and manage data for precise control.
Introduce lists as Grasshopper’s fundamental data container, with indexes and values for targeting and operations, and show that every component operates on lists by multiplying a 0–9 list by 10.
Explore essential list operations in Grasshopper, including list item indexing, splitting and sorting lists, inserting and shifting items, and applying consistent transformations to keys and values.
Apply the list concept to place multiple piers in Grasshopper by constructing points with sliders, merging them into a point list, and updating individual elements without affecting others.
Place multiple piers along a curve alignment in Grasshopper using chainages, length evaluation, and orient with tangents via construct plane and flip plane.
Place catenary pylons along an alignment using two parameters: distance between pylons and offset, ensuring correct orientation and updated pylon count as distance changes, with the user-provided pylon model.
Place catenary pylons along an alignment with a fixed offset by dividing the curve, rounding its length to integer, and orienting geometry with planes perpendicular to the tangent.
Learn to overcome list limitations in Grasshopper by using data trees to drive multiple lofted breps, avoiding copy-paste expansion and improving dynamic updates with solver locking.
Define a tree as a list of lists with branches and paths, where depth marks levels and items reside at the last level, enabling scalable parametric Grasshopper design.
Explore basic tree operations in Grasshopper, including simplifying trees, grafting, and flattening, to control branches and paths. Learn how to merge, entwine, clean, and manipulate tree structures with practical examples.
Master managing pier heights with Grasshopper data trees by using five branches, three polyline curves per branch, and match tree to align duplicates; update one value to propagate changes.
Master data tree management in Grasshopper by using Entwine, Graft, and Trim Tree to create a polyline per branch and scalable, independent peers across alignments.
Create a grid of cylinders with varied heights using data trees, exploring two difficulty levels and assembling the script with blocks like graph, flatten, and simplify.
Create a 10 by 10 grid of cylinders with varying heights using DataTree operations. Use a series to generate distinct lengths and graft the data so each cylinder height differs.
Extract and label pile coordinates from each pier branch, outputting four piles per pier in the format piername_pile#, with X and Y values.
Extract pile coordinates in Grasshopper by deconstructing pile faces, computing centroids, and naming piles and caps, then format sentences like 'PE11 coordinates are X=... Y=...' for Excel export.
Learn Grasshopper 3D and parametric design from scratch & no coding experience required.
Important note: This Grasshopper course is not a general overview covering every component. It is built specifically for designers, BIM specialists, civil engineers, and structural engineers working on bridges and infrastructure who want to automate and accelerate their design workflow using visual programming in Rhino + Grasshopper. Exercises and explanations are based on feedback from engineers I have trained, making computational design accessible to beginners and non-coding professionals. The learning curve is optimized so you spend less time watching and more time practicing.
Welcome to my course!
Ready to push your engineering design skills to the next level? Computational and parametric design is rapidly transforming civil engineering and infrastructure projects, and there is a reason why. Not only does it accelerate design efficiency, it also strengthens accuracy, coordination, and constructability.
While it can be difficult to penetrate the powerful world of Grasshopper, I can tell you that it is absolutely worth the effort.
As an engineer designing bridges, tunnels, culverts or even roads, highways, utilities, Grasshopper will be a gamechanger in your design routine. Equip yourself with the most trending tool in modern civil and structural engineering design and get ready to rank first in the efficiency ladder of your company.
Still not convinced? You don't have any experience with coding or any algorithmic tool? Absolutely no worries, this course is made exactly for your situation!
In this course :
- I will expose what is the concept of computational and parametric design
- I will teach you what an algorithm is, how to create one step by step, how to optimize it and how to implement it
- I will help you familiarize yourself with Rhino and Grasshopper User interface through the menus, viewports and commands available
- I will explain gradually the different components and parameters when needed instead of bulk learning
- I will give definitions of Grasshopper types so that every block used makes sense
- I will help you master fully the fundamentals of Grasshopper which are, too often, underestimated and make you stagnate in your learning journey
- I will challenge the knowledge learnt during this course, ensuring that you leave with what you came for
- I will introduce the concept of List and data management
- I will help you create your first parametric object
- I will guide you creating your first parametric pier
Alright, if you made your choice, then let's dive in the amazing world of Grasshopper!
Note that this course is the part 1 & 2 of a long series of tutorials. As a student of this course, you will receive a special discount for upcoming parts
This course is designed with PatchWork Laboratory, my company that helps engineers and engineering firms reach their full potential.