// fawcet wrench, copyright Maurice E Heskertt 1,1,2025 module faucet_wrench() {//make at 50% infill width=28.5; // mm wide len=100; scale=1.75; // length of socket, could be shorter yet. $fn=72; { translate([0,0,-50])difference() { scale([scale*.9,1,1])cylinder(h=len,d=width+10,center=true); // cut pocket for oval handle translate([0,0,65])scale([scale,1,1.05])cylinder(h=len/2,d=width,center=true); //hole for leverage handle translate([0,0,-30])rotate([90,90,90])cylinder(h=100,d=20,center=true); translate([0,0,-30])rotate([90,90,0])cylinder(h=100,d=20,center=true); } } } //faucet_wrench(); module faucet_mnt_nut_drvr() { iid=33; //mm id oid=46; //mm od ol=150; //mm long translate([0,0,ol/2])difference() { cylinder(h=ol,d=oid,center=true); cylinder(h=ol+.1,d=iid,center=true); translate([0,0,(ol/2)-4])cube([oid+5,4,8.1],center=true); translate([0,0,(ol/2)-4])cube([4,oid+5,8.1],center=true); } } //faucet_mnt_nut_drvr(); module faucet_hose_nut_drvr() { iid=33; //mm id oid=46; //mm od ol=150; //mm long // put socket in end is=33; // fit inner id=25.9; // make hex il=23; /// length of hex translate([0,0,ol/2])difference() { cylinder(h=ol,d=oid,center=true); cylinder(h=ol+.1,d=iid,center=true); //translate([0,0,(ol/2)-4])cube([oid+5,4,8.1],center=true); //translate([0,0,(ol/2)-4])cube([4,oid+5,8.1],center=true); } difference() { translate([0,0,ol-20])cylinder(h=10,d=is,center=true); translate([0,0,ol-il])cylinder(h=20,d=id-5,center=true); } difference() { translate([0,0,ol-11.5])cylinder(h=il,d=iid,center=true); translate([0,0,ol-11.4])cylinder(h=il+1,d=id,center=true,$fn=6); } } faucet_hose_nut_drvr();