Assignment: Give Me Shelter

Assignment: Give Me Shelter


In this assignment, you’ll create a grid of objects that adjust their heights to reflect their distance from a target point.   But rather than having a linear relationship to the distance, the heights will undulate – similar to the ripples that move across a pond when a pebble is dropped into it.

In this assignment, you’ll create a scalable, customizable parametric structure that could serve as the basis for many different architectural forms.You can use Dynamo or Grasshopper (choose one) to model your design, then demonstrate how you can parametrically scale your design for different uses.

Your structure should provide partial shelter from the sun and rain – for example:

  • a bus stop or train platform
  • a bandstand or stage cover
  • a picnic area covering
  • a covered walkway

As you develop your Dynamo or Grasshopper graph, try to exhibit good programming practice by:

  • laying out your nodes diagrams very clearly
  • creating groups for related nodes
  • adding helpful comments in the group titles or using the Create Note command

These extra steps make it easier for us to follow your logic and easier for you too when you revisit the graph after a few days or weeks have passed.


Steps to Complete

For 2 Units

Step 1 – Planning

  • Start by planning and sketching your design ideas. Think about:
    • What controlling geometry will drive the overall form and the placement of the components?
    • What adaptive components will you use to model the elements your structure?

Tip:  As you decide on the overall form for your shelter structure, think carefully about how the geometry can be modeled and the overall complexity of the form that you’ll be creating. While it’s tempting to imagine how these tools can be used to create truly fantastic forms, for the purposes of this assignment, you’ll want to pragmatic about the time you have available to explore and model that form.

Step 2 – Define the Controlling Geometry and Use It to Placement the Structure’s Elements

  • The underlying, controlling geometry will typically be defined by a series of lines or curves, then creating placement points along those curves.
  • You’ll be using this controlling geometry to place:
    • Structural rib or beam elements that support the shelter.
    • Panels -- surfaces that provide a protective skin for some portion of the shelter.

Tips for Dynamo Modeling:  If you’re using Dynamo to model your shelter design in Revit, you can use pre-defined Adaptive Component and Adaptive Panel families to create the Revit elements.  You’ll find a collection of commonly used adaptive component and adaptive panel families in the CEE 120C/220C Shared Library.

  • For the Adaptive Components, consider using one of these for simplicity:
    • Tube - 3pt - Uniform (Point1Radius)
    • Tube - 3pt - Tapered (Point1Radius, Point3Radius)

Important:  the number of placement points provided must match the number of adaptive points expected by the component selected.

  • For the Adaptive Panels, start by using:
    • Rect_Seamless Panel-4pt

Tips for Grasshopper Modeling:  If you’re using Grasshopper to model your shelter design in Rhino, you’ll follow a similar workflow, but you’ll need to generate the forms using nodes within Grasshopper:

  • For the rib or beam elements, you can create a profile in Rhino, then use Grasshopper nodes to sweep it along a path.
  • For the panel elements, you can use nodes from the Lunchbox for Grasshopper package to subdivide the surface of your shelter into a series of rectangular panels, then create surfaces within each of these panels.

Step 3 – Provide Ways to Parametrically Resize or Rescale Your Structure

  • Your design should be resizable/scalable to adapt to a wide range of potential applications:
    • If your structure is linear, define the controlling geometry in a way that will allow you to easily change the length by entering a new parameter value or dragging a slider.
    • If your structure is circular or curved, provide ways to easily change the radius or arc length of the controlling geometry.
    • Also consider ways to resize the structure in other directions. Can you offer ways to move the defining lines/curves upward or outward?

Step 4 – Provide a Way to Change the Number of Adaptive Components

  • Another aspect of parametric flexibility to explore is providing ways to change the number of adaptive components placed using your controlling geometry. Provide:
    • A way to easily change/flex the number of structural supports – the columns, beams, ribs, or trusses.
    • A way to easily change/flex the number or size/spacing of the adaptive panels on the shelter surface.


Remember – the number of panels is typically one less than the number of defining points or curves.

For 3 Units

Step 5 – Add Some Dynamic Geometry

  • Straight lines are so yesteryear! Use the mathematical capabilities available in Dynamo or Grasshopper to add some parametric flexibility to one of the controlling lines/curves that define to your structure:
    • Explore what would happen if one of the defining lines or curves took on a mathematically defined shape – for example, a sine wave with parameters controlling the wave amplitude or number of waves.

For 4 Units

Step 6 – Parametrically Change the Appearance of the Panels

  • Provide a way for users to parametrically change the appearance of the panel elements in your design.
    • If you’re using Dynamo:
      • Switch from the very basic Adaptive Panel (Rect_Seamless Panel-4pt) to another Adaptive Panel family that provides the ability to change its appearance through parameters. For example:
        • Rect_AperaturePanel offers a parameter to change the Wall Thickness.
        • Rect_Panel with Resizable Opening offers a parameter to resize the area of the panel vs. opening from 0.05 (mostly open) to 0.45 (mostly closed).
    • If you’re using Grasshopper:
      • Provide a slider to allow users to change the offset between the panel edges and the opening at the center of the panels.

Step 7 – Create a Simple Pattern with the Panels

  • Try creating Dynamo or Grasshopper logic to create a simple pattern by adjusting the parameters of some of the panel elements.
    • For example, think about how you can use the List.TakeEveryNthItem node in Dynamo (shown below) to break the list of panels into two groups that would let you assign different parameters to each group.
    • You can set the panel parameters for each group of panels to different values to create a checkerboard pattern.


  • Please create a folder named “Module 3” within your personal folder in our Autodesk Construction Cloud project:
  • Then, upload these items to your Module 3 folder using the web interface:
    • Your Revit project (.RVT) file
    • 💡
      Please the following naming convention for your uploaded files: "#ofUnits_NameAndLastName_Module#".  For example: 4units_NicolasOrtizAbello_Module3.rvt
    • Your Dynamo environment (.DYN) file
  • Create a link to your Module 3 folder:
    • Right-click on the Module 3 folder in the file tree (at the left side of the interface) and choose Share from the pull-down menu.
    • Choose Share with Project Members, then switch to the Link tab.
    • Click the Copy button to copy the link to your clipboard.
  • Create a new posting on this Notion page — Design Journal Entry: Give Me Shelter — including:
    • A screenshot of your model geometry
    • A few sentences describing your modeling approach
    • A brief description of your design outlining the parameters that can be used to flex and dynamically change your structure
    • The link to your Module 3 folder in our Autodesk Construction Cloud project.