Coupler-Curve Thermometer

Linear actuator (generic pin-to-pin or Joyce QS11940 offset-clamp) → bell crank → four-bar → second four-bar. The indicator IS a coupler point — the scale is the spline it traces.

Temperature
Actuator ext.
Scale length
Speed ratio
Preset
Temperature
Display
Stage 1 four-bar (inches)
Stage 2 four-bar
Actuator drive
Saved settings
Export for Fusion (DXF)
Ticks are equal steps of temperature —
their spacing on the spline is the mechanism talking.

Coupler-Curve Thermometer

A design simulator for a garden sculpture that shows temperature. An actuator drives a bell crank into two chained four-bar linkages; the indicator is the second stage's coupler point, and the path it traces is the scale you engrave. Equal temperature steps land at unequal spacing — that is the whole idea.

On the canvas

Drag a mount or pin
Reshapes the linkage. Stops Animate so you aren't tuning against a moving target.
Right-drag / drag empty space
Pan the view.
Mouse wheel
Zoom. Forward zooms in, centered on the pointer.
Double-click
Recenter and reset zoom.
Hover a part
Names it and highlights the sliders that control it.
Space
Play / pause the temperature sweep.
Ctrl/Cmd + Z
Undo — drags, presets, Reset, loading a design.

Reading the path

A black division crosses the path every 1 °F, labelled every 10°. Where they bunch, the indicator barely moves; where they spread, it races. The indicator is a transparent ring so you read the divisions through it — on the real piece it will be a ring with a hole.

The panel

Preset
Serpentine is the chosen design. Any edit switches to "custom"; Reset preset restores it and squares up the view.
Temperature
Scale min/max, the reading, Animate and its speed. Reverse scale makes the retracted end hot instead of cold.
Display
Ticks, inner curves (every joint's swept trace), the bounding box, dimensions, and view rotation in 10° steps.
Bounding box
The footprint of everything — path, swept joints and all four mounts — at the current view angle. Rotate to your mounting angle to see what the piece occupies there.
Dimensions
Labels every link and triangle edge, the live actuator length, and each mount's x, y. Coordinates run from a datum at the bounding box's lower-left corner, X right and Y up, so they are all positive. The Points DXF exports from that same datum.
Stage 1 / Stage 2
Link lengths, ground positions and coupler-point offsets for each four-bar.
Actuator drive
Crank radius, anchor distance and angle, plus the excursion — the slice of the actuator's stroke actually used. Pick the actuator: generic pin-to-pin (editable retracted length and stroke) or the Joyce QS11940 with its sliding offset clamp and fixed 16″ stroke.

Dead center — what the * on the examples means

Think of a bicycle pedal at the very top of its circle. Push straight down on it and the crank does not turn: your foot, the crank and the axle are in one straight line, so there is no leverage. Which way it eventually goes is decided by your other foot, or a wobble — not by how hard you push.

A four-bar can reach that same pose. Finding a joint means intersecting two circles, and two circles normally cross at two points — the two ways the linkage can be assembled. Dead center is where those circles only touch: the two solutions merge into one, and two of the links lie in a straight line.

Two things happen there. The indicator gets very fast — near dead center a hair of actuator travel swings it a long way, which is why single-stepping the extension can make the ring appear to skip instead of trace. And, worse, the linkage no longer has a branch to stay on: coming out the far side it can settle onto the mirror assembly and stay there, reading wrong until something knocks it back.

The measure is the transmission angle — the angle between the coupler and the link it drives. 90° is ideal and mechanism design usually keeps it above about 40°; dead center is 0°. Watch pins C and D while the sweep runs: each turns red whenever its own transmission angle drops below 6°, so you can see exactly where in the temperature range a design is passing through the singularity. Serpentine's closest approach is 7.7° and Grand Arc's is 33.9°, but every example preset comes within 6°, which is what the * marks. They were found by a search that maximised scale length, and riding the singularity is exactly where the coupler point travels furthest — so the search walked straight to that edge. They are fascinating to watch and a warning about what to check before committing to a geometry.

The clean-* presets are the same search with that edge fenced off: none of the six drops below 40° anywhere in its range, so C and D never colour and one press of ↑ never moves the ring more than 1.9″ (the examples reach 28.9″). They give up length for it — 61″ to 111″ against the examples' 201″ — but not loops: clean-12 and clean-13 each cross themselves once at 40–49°. What loops really cost is even movement: those two stall to 0.074″ and 0.092″ per °F, the slowest of the six, where clean-01 never drops below 0.50″. Load example-05, then clean-13, and run the sweep.

The shape-* presets are curves chosen for their looks first, then walked as far from dead center as each shape allows. shape-01 and shape-02 hold the shapes of example-08 and example-00 at 13° and 16°; shape-03 through shape-06 began as freehand drawings that a matching search translated into this mechanism, landing at 7°–25°. None reaches the 40° that clean-* means — the family trades margin for character, and each label carries its true minimum angle.

Saving and exporting

Type a name and press Save to keep a design in the browser; recall it from the dropdown. The page always opens on its built-in defaults — nothing is restored automatically.

Parts DXF writes the five links laid flat, one layer each. Points DXF writes the path, its divisions, the labels and the mounts. Both are in inches, ready for Fusion.

Before you cut

See FABRICATION.md and TODO.md in the repository — the measured scale behaviour and the open concerns, including mount clearance and how little headroom the actuator has.

Escape, the ×, or a click outside closes this.

Drag mounts & joint pins to reshape · right-drag or drag empty space to pan, double-click to recenter · Space plays/pauses · ↑↓ step the extension 0.1″ · ←→ rotate · Ctrl+Z undoes