This commit is contained in:
Sasza Stanczew 2025-12-16 22:47:46 +01:00
parent 70a521a14c
commit 91ff34a5c7

View file

@ -6,51 +6,68 @@ rounding = 1;
// base to connect to the printer // base to connect to the printer
base_hole_distance = 40; base_hole_distance = 40;
base_hole_d = 4.5; base_frame_hole_d = 4.5;
base_dim = [62,25,12]; 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() { difference() {
// base // base
cuboid(base_dim, rounding=rounding, anchor=TOP); cuboid(base_dim, rounding=rounding, anchor=TOP);
// holes for screws // holes for screws
left(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_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 // ball bearing holder
bear_up = 25; bear_up = 25;
bear_fwd = 15; bear_fwd = 15;
// 608 bearing
bear_od = 22; 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_id = 8;
bear_w = 8;// bearing is 7mm, +1 for clearance bear_w = 7;
// bearing mockup to see clearance
// up(bear_up) fwd(bear_fwd) xcyl(d=bear_cover_od);
difference() { difference() {
// base for bearing // base for bearing
chain_hull() { chain_hull() {
up(bear_up) fwd(bear_fwd) xcyl(d=bear_od, h=bear_w+2*t, rounding=rounding); up(bear_up) fwd(bear_fwd) xcyl(d=bear_od, h=bear_w+1+2*t, rounding=rounding);
cuboid([bear_w + 2*t, base_dim[1],2]); cuboid([bear_w+1 + 2*t, base_dim[1],2]);
} }
// cutout for bearing // 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 // 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 tube holder
ptfe_dim = [bear_w + 2*t,9,37]; ptfe_dim = [bear_w+1 + 2*t,9,37];
filament_od = 2.5; filament_od = 2.5;
ptfe_od = 4.2; ptfe_od = 4.4;
difference() { difference() {
union() { union() {