Truss Sandbox
Build jointed structures, apply loads, and test their strength.
Break log
Keyboard controls & exact joint loads
In build mode, use arrows to move the crosshair and Enter to apply the selected tool. Escape ends a beam chain. M: connect beams; V: move joints; S: supports; L: load; E: erase. Select Move joints, press Enter on a joint, move the crosshair, then Enter again to place it. Space plays or pauses when the canvas has focus. In simulation, select a joint below and use the numeric loads to apply force.
Horizontal positive is right; vertical positive is down. Joint loads stay active after releasing the cursor. Pull forces act only while dragging. Use Apply load and drag the arrow back to its joint to remove a load.
How to play
- Connect beams: click a starting joint, then another joint or empty grid point. Keep clicking to extend a chain; Escape ends it. Beams only join at their endpoints. Clicking the middle of an existing member cannot create a joint there.
- Add supports: choose Supports and click a joint to pin it in place. Click again to release it. These pins stop translation but let the connected members rotate.
- Apply force: choose Apply load and drag from a joint to set a persistent force. In simulation, use Pull to tug a free joint temporarily.
- Test: press Play. Members change color with axial force, flash red at failure, and disappear. Pause to inspect a member’s force or a failed member’s recorded peak. Back to build restores your original design so you can strengthen it.
Model, units, and limits
These are ideal pin-jointed truss members: they carry axial tension and compression, not bending moments. Each member uses F = EA(ℓ − L)/L with EA = 30,000 N and its original length L. The strength slider sets the force limit for every member in the current design; the selected member can also have its own limit in build mode. Elastic axial force above that member’s threshold causes immediate, irreversible failure for that run. Pause and Play do not repair it; Back to build does.
Gravity is 9.81 m/s². Every joint has 1.2 kg plus half the mass of each connected member (0.6 kg/m). This lumped mass stays at the joints after failure. Axial damping and air drag help motion settle. The canvas is a 10 m × 6 m test area, with a solid floor and boundaries. Members do not collide with one another or with the floor; joints do. Crossings are visual only unless they share an endpoint. No buckling, plastic deformation, fracture fragments, or realistic contact between members is modeled. This is an educational sandbox, not a structural design tool.
A maximum of 48 joints, 100 members, and 12 members per joint keeps simulation responsive. Members must be at least 0.35 m long. Build positions snap to a grid when enabled. Simulation uses small fixed time steps and slows rather than catching up after a stalled browser tab. Designs are kept in this page while it is open; they are not saved to an account.
References: Engineering Statics — Trusses and University of Illinois — Axial Deformation.