Skip to content
Noah Spiegelman
Back to all projects

Project

Truss Design: Buckle Up

EK 301, Boston University · Fall 2025

For EK 301 at Boston University, my team designed an 11-member acrylic truss and wrote MATLAB code to predict how it fails. The final design is predicted to carry 46.59 ±1.58 oz at a cost of $188.

Role
Truss design and MATLAB analysis, in a team of two (three in the preliminary phase)
Tools
MATLAB, Onshape, Online truss solver
  • Simulation
  • Mechanical
Plot of the final 11-member truss with members colored by tension and compression, and member 5 circled as the critical member at a max load of 46.59 oz

Problem

The goal was to support the highest possible load before buckling, under strict rules: a 32 in span between a pin and a roller support, the load applied 2 in above the pin, every member between 8.5 and 14 in long, no more than 120 in of total member length, and a simple truss made only of triangles (11 members, 7 joints). Designs were also scored on load-to-cost ratio and safety factor.

Acrylic members fail by buckling in compression, and the buckling load depends strongly on member length, so long compression members were the main risk.

Approach

A buckling lab measured how strip length affects buckling load across five nominal lengths from 9 to 14 in, and confirmed that longer strips buckle at lower loads. The class buckling curve, a power law F = C·L^-α with C = 1909.7 oz, α = 1.74 and ±1.58 oz of uncertainty, gives each compression member its buckling strength.

Our MATLAB code builds the joint-and-member connection matrix, writes the equilibrium equations at every joint and solves for all member forces and support reactions. Solving once with a 1 oz test load gives each member's force ratio, so the failure load is set by the first compression member to reach its buckling strength. We checked the code against a hand-solved practice truss, and the two solutions agreed.

We tested many candidate geometries in an online truss solver, then ran each through the MATLAB code. Shortening long compression members and spacing the joints more evenly raised the predicted load. In the final design we flattened the top chord into a trapezoid by raising Joint 5 to the height of Joint 6, and moved where the load is applied.

Results

The final design is predicted to fail at 46.59 ±1.58 oz, up from 44.93 oz for the preliminary design (about 3.7% higher), and the critical member moved from member 4 to member 5. The truss costs $188, for a predicted load-to-cost ratio of 0.2478 oz/$.

After discussing the Hartford Civic Center roof collapse and NSPE Canon No. 1, we treated the computer result as an ideal upper bound rather than a guarantee, and set a factor of safety of 2.0.

Plot of the preliminary Design 2 truss with a peaked top chord at Joint 6, max load 44.93 oz
Preliminary Design 2: predicted max load 44.93 oz, critical member 4. Compression is red and tension is blue.
Hand-drawn method-of-joints solution for a practice truss, with support reactions and member forces boxed in red
Hand-solved practice truss, used to check the MATLAB code.
Scatter plot of average buckling load in ounces against acrylic strip length in inches, with a linear trendline
Average buckling load of acrylic strips against length, from the buckling lab.
Hand-drawn free-body diagram and equilibrium equations for an acrylic strip compressed against a scale
Free-body diagram from the buckling lab: an acrylic strip compressed against a scale.