Different thread sizes have different proportions of nut flat width
versus thread major diameter, so we shouldn't base nut flat width on
sheet thickness. This change adds an optional fourth element to the
captive_nuts array, allowing the user to specify the exact nut flat
width. If the user doesn't specify a nut flat width, then we default
to the legacy behavior of (3 * thickness) to preserve backward
compatibility.
Regardless of whether the user provides a nut flat width, we also
now echo the thread and nut specs to the console at compile time,
to aid the user in selecting hardware.
Different thread sizes have different proportions of nut flat width versus thread major diameter, so we shouldn't base nut flat width on sheet thickness. This change adds an optional fourth element to the captive_nuts array, allowing the user to specify the exact nut flat width. If the user doesn't specify a nut flat width, then we default to the legacy behavior of (3 * thickness) to preserve backward compatibility.
Regardless of whether the user provides a nut flat width, we also now echo the thread and nut specs to the console at compile time, to aid the user in selecting hardware.