EK301 Truss Project



Teams were tasked with the design of a simple truss capable of supported a given load at a specified panel point via engineering analysis.


  • Construction

    • The truss must be a single, planar, simple truss.

      • Verify via (Members)=2*(Joints)-3

    • Members can only connect at their ends

    • Total span = 32in

    • Member span 8.5 in L 15 in.

  • The truss must be designed to support a minimum live load of 32oz

  • The load must be placed on a joint located at a horizontal distance of 20in away from the pin support

  • The total virtual cost of the truss ($10/Joint)(Number of Joints) + ($1/in)(Total length of members) $295

The project was broken out into several phases:

  1. Characterize the materials via destructive testing

  2. Model development & verification

  3. Iterative Design

  4. Final Design

  5. Truss Testing


Parametric Design

Via Autodesk AutoCAD

Based on the constraints, it was possible to use the parametric constraint tools in AutoCAD to iterate through designs efficiently.

The origin of the drawing to the location of the pin joint. As such, rather than calculating the position of each joint, we could simply use the dimension tool.



The key assumptions used in the analysis were:

  • The structure is well modeled as a pin-jointed two dimensional truss.

  • The strength of the truss members in tension is practically infinite.

  • The strength of the joints is practically infinite

  • The dominant failure mechanism is buckling of the individual members.

The computation of each truss was split into two parts: Data collection and actual computation. The files can be found on my GitHub here.

"Truss_in" allows the user to input the locations of each joint and member to generate several arrays, including member lengths, joint positions, and the connection matrix. It then stored this data in a mat file.

"Truss_out" reads the mat file generated by "Truss_in" and computes the force on each joint by separating the system of linear force equations intro three matrices: Coefficient matrix A, Loads vector L, and Joint tensions vector T.


Since the matrix T is undefined, we can multiply both sides by the inverse of A, such that

[T]=(A)^-1 [L]

Then, the tension matrix can be compared to the calculated buckling force (P_crit) for each member. Tension values were ignored based on our assumptions, so we only searched for compression values that were greater than or equal in magnitude to their P_crit values.

The member that reaches its critical buckling value first is considered the critical member, which is expected to be the first member to fail.

Final Design

The highlighted member is the critical member

Computation Output

EK301 A3: Al Levine, Marina Lyons, Rajiv Ramroop


Load (oz): 44

Member Lengths (in):

M01: 11.572

M02: 8.500

M03: 12.069

M04: 8.500

M05: 11.838

M06: 12.359

M07: 15.000

M08: 12.359

M09: 11.450

M10: 8.500

M11: 8.500

M12: 8.500

M13: 8.500

Member Forces (oz):

M01: 7.674 (T)

M02: 15.353 (T)

M03: 15.697 (T)

M04: 17.407 (C) Pcrit: 30.336 Loading: 57.38%

M05: 11.763 (T)

M06: 9.722 (C) Pcrit: 10.952 Loading: 88.77%

M07: 20.026 (T)

M08: 13.340 (T)

M09: 16.705 (T)

M10: 30.178 (C) Pcrit: 30.337 Loading: 99.48%

M11: 16.783 (C) Pcrit: 30.336 Loading: 55.32%

M12: 26.701 (C) Pcrit: 30.337 Loading: 88.01%

M13: 29.848 (C) Pcrit: 30.336 Loading: 98.39%

Reaction Forces (oz):

Sx1: -0.000

Sy1: 16.500

Sy2: 27.500

Cost of Truss: $218

Theoretical Maximum Load (oz): 44.232

Theoretical Load/Cost Ratio (oz/$): 0.203


Truss under initial load


Overall, this project went pretty well. It was an excellent refresher in MATLAB, as well as parametric design.

The main issue we faced was building the code for computation- none of us were familiar with linear algebra at the time. With the assistance of a TA, though, we were able to build a functional program.

Ultimately, our truss failed well below its expected strength. We believe this is due to the construction of the joints. One of the assumptions in the calculations was that each joint was a perfectly-constructed pin joint, which was not the case for the prototype we tested. The duct tape holding each joint together caused misalignment of the theoretical 'pin' and subsequently imparted large moment forces on each member. As such, the members reached their critical buckling loads at a much lower live load.