The v4 tip puts its inward protrusion in a trapezoid — a plateau sitting 15 mm back from the point, with a dead zone between. Two continuous-taper alternatives, rendered from real meshes, and the reason none of them can be chosen yet.
An earlier version of this page reported that v4's mounting-hole spacing was wrong — that the rigid mount measures 12.000 mm across every slice, that the blade's inherited holes match it, and that v4's 10.0 mm therefore had to be a mistake. The file measurements were real. The conclusion was wrong, and it has been fully reverted.
The operator measured the physical hardware with a caliper: the real screw spacing is 10.0 mm. The 12.000 mm in the STLs is a known defect, ruled on 2026-08-19 — the uploaded CAD does not match the machine. All the files that "agree" on 12.000 descend from that same bad upload, so their agreement carries no weight.
The lesson is the one already written on the FK bridge in this project: a spec or an
upstream file can predate the measurement, and the measurement wins. Now extended — three
files corroborating each other is not evidence when they share an ancestor. The shipped STL
was restored byte-for-byte from git, and generate_v4_finish.scad now carries a
warning against making this change again.
2B also asks for the whole hole pattern to move laterally inward, because the holes sit too far toward the outer edge of the TPU foot and that forces each jaw inward on the mount. The recorded consequence: "through part of the closing motion, the two long fingers can approach a geometry where they would overlap/cross rather than closing cleanly."
That offset is HOLE_DX and it is still 0 — unmeasured. So whether two tips
meet cleanly at full closure is not guaranteed, and no tip profile can be judged on a
pair that is not aligned to begin with. The original blade STL carries no mounting holes at
all, so this one cannot be derived from files.
Protrusion measured along the inward normal, d = distance back from the tip.
Three constraints stacked up to produce the plateau.
d (mm from tip) inward (mm) profile
0 – 9 0.00 dead zone — keeps the tip sharp (1.13 mm)
9 – 11 0 → 3.50 ramp in
11 – 19 3.50 ████████ 8 mm flat — where two jaws mate
19 – 21 3.50 → 0 ramp out
21 + 0.00
| Constraint | Effect on the shape |
|---|---|
| The tip must stay sharp | An earlier build carried the lip at full 3.5 mm depth all the way to the point. That added 3.5 mm of thickness at the tip and made it blunt — rejected on inspection against the real red gripper. The fix was a 9 mm dead zone. |
| Two jaws mate on a flat | LIP_FLAT = 8 exists so the pair closes face-to-face rather than on a line. |
| A 90° step will not print | Both sides get a 2 mm ramp; a vertical step is an overhang in TPU. |
The distinction that got lost: the earlier failure came from carrying the lip to the tip at full depth, not from reaching the tip at all. A protrusion that starts at zero at the point and grows rootward keeps the tip just as sharp — which is what the alternatives below do.
Each is a real generated mesh, not a sketch. A is the shipping v4; B and C change only the
tooth() function.
The 8 mm flat is what lets the two jaws close face-to-face. B and C replace it with a slope, so a closed pair meets along a line rather than a face — and the original field-test complaint about v3 was precisely that contact area was too narrow and the cup slipped out. C keeps more area than B by never ramping back down.
| Variant | Tip sharp | Continuous | Flat mating face | Risk |
|---|---|---|---|---|
| A — trapezoid (current) | yes | no | 8 mm | reads blunt; step between point and lip |
| B — barb triangle | yes | yes | none | line contact; least grip area |
| C — wedge | yes | yes | none | line contact, but the widest bearing slope |
| D — barb, 90° hook face | yes | yes | none | the operator's pick; hook face square to the rail |
B was close but its return face sits at 60.3° to the inner rail. A hook that bites wants that face perpendicular. D rises from zero at the point to 3.5 mm over 15 mm (13.1° from the rail), then stops dead — the hook face measures 89.7°, square within the 0.02 mm station spacing used to build it.
That comment has been in the source since the trapezoid was designed. But
BLADE-README.md §摆放 specifies the blade prints flat — the 10 mm
face on the bed, layer lines perpendicular to the bending direction, because Fin-Ray works
by rib buckling and layer adhesion is the weak axis. Laid that way the entire lip profile
lies in the bed plane, so a 90° step is a vertical wall with zero overhang. The
2 mm return ramp was an unnecessary concession.
Mesh checks pass: shells 1, watertight, manifold, no degenerate faces, signed volume 25,696.24 mm³.
Four numbers, all with a caliper on the real parts. Nothing here can be taken from a file.
Give me any subset and I will compute HOLE_DX, put it in
generate_v4_finish.scad, rebuild, and draw the closed top view for the original
and the new pair side by side.