--- /dev/null
+module FilamentTeeth(fdia, teethw=teethw,
+ stembendd=0.5, stembendl=7, teethxl=1.5) {
+ gapw = fdia-stembendd*2;
+ teethbigw = gapw + teethw*2;
+ basew = fdia+teethw*2-stembendd*2;
+ based = basew/3;
+
+ translate([-based, -basew/2, 0]) cube([based, basew, h]);
+ difference() {
+ union() {
+ translate([-d, -teethbigw/2, 0])
+ cube([d+stembendl + teethw, teethbigw, h]);
+// translate([
+// stembigw = fdia + stembend
+// translate([-d, -stemw,
+ linear_extrude(height=h) {
+ translate([stembendl-fdia/2, 0]) circle(fdia/2+teethw, $fn=30);
+ }
+ }
+ translate([0,0,-1]) {
+ translate([0,-gapw/2])
+ cube([stembendl+teethxl+1, gapw, h+2]);
+ linear_extrude(height=h+2) {
+ translate([stembendl-fdia/2, 0]) circle(fdia/2, $fn=30);
+ }
+ }
+ }
+
+ for (mirr=[0:1]) {
+ mirror([0,mirr,0]) {
+ translate([stembendl + teethw, gapw/2, 0])
+ rotate([0,0,30])
+ cube([teethxl, teethw, h]);
+ }
+ }
+}
+