Make Screw Holes Printable

This commit is contained in:
Arthur Moore 2024-04-24 21:22:56 -04:00
parent 3e94c65cf2
commit 1a50807295
2 changed files with 12 additions and 5 deletions

View file

@ -92,10 +92,11 @@ screw_holes = false;
crush_ribs = false;
// Magnet holes will have a chamfer to ease insertion.
chamfer_magnet_holes = false;
// Allows printing screw holes with magnet holes without using supports.
printable_magnet_hole_top = false;
chamfer_magnet_holes = true;
// Screw holes and magnet holes will be printed so supports are not needed.
printable_hole_top = true;
hole_options = bundle_hole_options(refined_hole, magnet_holes, screw_holes, crush_ribs, chamfer_magnet_holes, printable_magnet_hole_top);
hole_options = bundle_hole_options(refined_hole, magnet_holes, screw_holes, crush_ribs, chamfer_magnet_holes, printable_hole_top);
// ===== IMPLEMENTATION ===== //

View file

@ -106,7 +106,7 @@ module make_hole_printable(inner_radius, outer_radius, outer_depth) {
multmatrix(affine_rotate([0, 0, 180]) * translation_matrix)
cube(cube_dimensions);
}
//2nd level
// 2nd level
union() {
multmatrix(second_translation_matrix)
cube(cube_dimensions);
@ -238,7 +238,13 @@ module block_base_hole(hole_options, o=0) {
}
if(screw_hole) {
cylinder(h = screw_depth, r = screw_radius);
difference() {
cylinder(h = screw_depth, r = screw_radius);
if(supportless) {
rotate([0, 0, 90])
make_hole_printable(screw_radius/2, screw_radius, screw_depth);
}
}
}
}
}