From 91ff34a5c7e5207c1d4ce34adbb9552a352a06d3 Mon Sep 17 00:00:00 2001 From: Sasza Stanczew Date: Tue, 16 Dec 2025 22:47:46 +0100 Subject: [PATCH] b --- Neptune4/filament_detector_guide.scad | 53 ++++++++++++++++++--------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/Neptune4/filament_detector_guide.scad b/Neptune4/filament_detector_guide.scad index 9d4d124..b1e73fa 100644 --- a/Neptune4/filament_detector_guide.scad +++ b/Neptune4/filament_detector_guide.scad @@ -6,51 +6,68 @@ rounding = 1; // base to connect to the printer base_hole_distance = 40; -base_hole_d = 4.5; -base_dim = [62,25,12]; +base_frame_hole_d = 4.5; +base_dim = [61,23,12]; -det_offset = 4; +// I had a M3x30 screw, with a head diameter of ~5.5mm +base_det_screw_l = 30; +base_det_screw_d = 3.5; +base_det_screw_head = 6; + +det_offset = 4; // offset to the left, because the Elegoo filament detector is not centered difference() { // base cuboid(base_dim, rounding=rounding, anchor=TOP); // holes for screws - left(base_hole_distance/2) cyl(d=base_hole_d, h=base_dim[2], chamfer=-1, anchor=TOP); - right(base_hole_distance/2) cyl(d=base_hole_d, h=base_dim[2], chamfer=-1, anchor=TOP); + left(base_hole_distance/2) cyl(d=base_frame_hole_d, h=base_dim[2], chamfer=-1, anchor=TOP); + right(base_hole_distance/2) cyl(d=base_frame_hole_d, h=base_dim[2], chamfer=-1, anchor=TOP); + + down(base_dim[2]/2) left(det_offset) union() { + // hole for screw for filament detector + ycyl(d=base_det_screw_d, h=base_dim[1]); + // hole for the screw head + back(base_det_screw_l - 10) ycyl(d=base_det_screw_head, h=base_dim[1]); + } - // hole for screw for filament detector - down(base_dim[2]/2) left(det_offset) ycyl(d=base_hole_d, h=base_dim[1]); } // ball bearing holder bear_up = 25; bear_fwd = 15; +// 608 bearing bear_od = 22; -bear_cover_od = 35; // I have a cover/guide printed on my 608 bearings +bear_cover_od = 32; bear_id = 8; -bear_w = 8;// bearing is 7mm, +1 for clearance - -// bearing mockup to see clearance -// up(bear_up) fwd(bear_fwd) xcyl(d=bear_cover_od); +bear_w = 7; difference() { // base for bearing chain_hull() { - up(bear_up) fwd(bear_fwd) xcyl(d=bear_od, h=bear_w+2*t, rounding=rounding); - cuboid([bear_w + 2*t, base_dim[1],2]); + up(bear_up) fwd(bear_fwd) xcyl(d=bear_od, h=bear_w+1+2*t, rounding=rounding); + cuboid([bear_w+1 + 2*t, base_dim[1],2]); } // cutout for bearing - up(bear_up) fwd(bear_fwd) xcyl(d=bear_cover_od + t, h=bear_w); + up(bear_up) fwd(bear_fwd) xcyl(d=bear_cover_od + t, h=bear_w+1); // hole for screw to hold bearing - up(bear_up) fwd(bear_fwd) xcyl(d=bear_id, h=bear_w + 2*t+0.1); + up(bear_up) fwd(bear_fwd) xcyl(d=bear_id, h=bear_w+1 + 2*t+0.1); +} + +// bearing cover +up(bear_up) fwd(bear_fwd) difference() { + union() { + xcyl(h=bear_w, d1=bear_od, d2=bear_cover_od); + xcyl(h=bear_w, d2=bear_od, d1=bear_cover_od); + } + xcyl(d=bear_od, h=bear_w); } // PTFE tube holder -ptfe_dim = [bear_w + 2*t,9,37]; +ptfe_dim = [bear_w+1 + 2*t,9,37]; filament_od = 2.5; -ptfe_od = 4.2; +ptfe_od = 4.4; difference() { union() {