Truss Modeler

Commands

Draw an edge: Click and drag on canvas
Move a node: Click and drag node
Draw a new edge connecting a node: Hold 'E' and click and drag a node
Delete a node: Hold 'D' and click on a node
Restrain a node: Hold 'R' and click on a node
Apply a load to a node: Hold 'L' and click on a node
Make a load bigger or smaller: Click and drag load text
Rotate a load: Click and drag load

Examples

Motivation

I was inspired to create this web application by a talk from Bret Victor. A theme of the talk is that "creators need an immediate connection to what they're creating". He uses a circuit design tool as an example to support this theme. It shows the relevant information (currents and voltages thru components), and it also shows how that information changes when the system parameters change, in real-time. A designer using this tool could make tweaks to a circuit and immediately see the effects of those changes. That's cool.

During my experience as a structural engineer, I used several analysis tools to model structural systems. None of those tools provide this kind of immediate feedback. Their user experience is generally divided into two distinct steps: enter system parameters (geometry, material properties, support conditions, and loadings), then calculate and interpret results (displacements, reactions, and member forces). The design process is iterative, so engineers using these tools change a parameter, run the model, look at the results, and then repeat. Each one of these cycles takes at least a minute. Imagine if the lag between deciding to change a parameter and seeing its effect could be reduced from a minute to less than a second. That'd be huge.

So I made a tool that demonstrates it. Using this tool, a designer can make models of two-dimensional trusses, and see in real-time how changes to the geometry or the loading affect the reactions and member forces. It provides interactions that are not possible with other analysis tools, such as scaling or rotating a load by dragging the mouse and seeing the model respond immediately. Currently, this tool can be used to explore structural ideas. I hope it reminds people that our tools could be better.