117 dx = d*3 +
defined_e_or(t, 0, 0) + (is_undef(brace) ? 0 : wth*2);
126 rm = vrm == 1 ? [[5,5,0,0], [10,0,9]]
127 : vrm == 2 ? [[5,5,10,9], [10,0,9]]
128 : vrm == 3 ? [[1,1,0,0], [4,0,3]]
129 : vrm == 4 ? [[1,1,4,3], [4,0,3]]
132 translate([0, y/2, wth/2])
155 translate([-wth/2 -sz -
eps*2, -y/2, (x/2 - wth/2)*i])
eps
<decimal> Epsilon, small distance to deal with overlapping shapes.
function defined_e_or(v, i, d)
Return an element of an iterable when it exists or a default value otherwise.
function second(v)
Return the second element of an iterable value.
function first(v)
Return the first element of an iterable value.
function defined_or(v, d)
Return given value, if defined, or a secondary value, if primary is not defined.
function is_defined(v)
Test if a value is defined.
module screw_bore(d=1, l=1, h, n, t, s, f=1, a=0)
Flat and beveled-head screw bore with nut, nut slot, and bore tolerance.
module screw_mount_tab(wth, screw, brace, size, vr, vrm)
A mount tab with screw hole and support brace.
module pg_triangle_sas(v, a=x_axis_ci, o, vr, vrm=1, vfn, cm=0)
A polygon triangle specified by size-angle-size with vertex rounding.
module pg_rectangle(size=1, o, vr, vrm=1, vfn, center=false)
A polygon rectangle with vertex rounding.