// SomethingPositive();
// }
//
-// SomethingPositive must extend in z
-// from -half_height to at least 0, and probably to half_height
-// IOW its z==0 must be where the top of the wall is,
-// and half_height is the depth of the well below that.
+// SomethingPositive is the representation of the object to be retained
+// Retaining walls will be made up to its z=0.
module WellSurround(
+ // Amount by which the object protrudes above z==0
half_height,
// gaps for picking up object, [ [ x_min, x_max ], ... ]
gaps,
wall=well_surround_wall
) {
+ dz = box_main_z - below_plane_z - half_height;
+
render() difference(){
// minkowski(){
// WallMinkowskiSphere(wall);
difference(){
union(){
- translate(concat(offset, [0])) linextr(-10, half_height){
+ translate(concat(offset, [0])) linextr(-10, dz){
offset($fn=8, r = wall)
projection(cut=false)
children(0);
// minkowski(){
// WallMinkowskiSphere(wall);
- translate(concat(offset, [0])) translate([0, 0, half_height]) {
+ translate(concat(offset, [0])) translate([0, 0, dz]) {
children(0);
}
// }
color("grey") BoxBottomModel();
color("red") OdAt(-5,-5) DriverHandleHolder();
}
+
+module OverallDemoLidded() { ////toplevel
+ OverallDemo();
+
+ %translate([0,0, box_main_z - below_plane_z*2])
+ rotate([180,0,0])
+ BoxBottomModel();
+
+ color("yellow")
+ translate([-box_x/2 - 5, 0, -below_plane_z])
+ linextr(0, box_main_z)
+ circle(r=3, $fn=3);
+}