$fs = 1;
$fa = 3;
+// calculated
+
+wall_top_inner_bevel_ratio = 0.25;
+
module DriverHandlePositive() { ////toplevel
linextr_x_yz(0, driver_handle_total_l)
circle(r = driver_handle_shaft_d/2);
circle(r = driver_handle_handle_d/2);
}
+module WallMinkowskiSphere(wall=well_surround_wall) { ////toplevel
+ sphere($fn=8, r=wall/2);
+}
+
module WellSurround(half_height, wall=well_surround_wall) {
// WellSurround(half_height) {
// SomethingPositive();
// IOW its z==0 must be where the top of the wall is,
// and half_height is the depth of the well below that.
- difference(){
+ render() difference(){
union(){
- linextr(0, half_height)
- projection(cut=false) children(0);
+ minkowski(){
+ linextr(0, half_height - wall/2)
+ projection(cut=false) children(0);
+
+ WallMinkowskiSphere(wall);
+
+ }
}
- translate([0, 0, half_height])
+ translate([0, 0, half_height]) {
children(0);
+
+ /* hull(){
+ for (zi=[-1,0]) {
+ linextr(zi * wall * 0.25, 2)
+ offset($fn=4, r = (zi+1) * wall * 0.25)
+ projection(cut=true) children(0);
+ }
+ }*/
+ }
}
}