cuts.scad 1.83 KB
include<vars.scad>

module cornerdrills() {
  translate([24,8,0]) {
    cylinder(d=12,h=40, $fn=10);
  }
  translate([24,8,0]) {
    hull() {
      cylinder(d=6,h=500, $fn=10);
      translate([15,0,0])
        cylinder(d=6,h=500, $fn=10);
    }
  }
  translate([8,24,0]) {
    hull() {
      cylinder(d=6,h=400, $fn=10);
      translate([0,15,0]) cylinder(d=6,h=400, $fn=10);
    }
  }
  translate([8,24,100]) {
    cylinder(d=12,h=200, $fn=10);
  }
}

module draindrills(x,y) {
  /* translate([x/2,y/2,-5]) { */
  /*   #cylinder(d=1,h=10); */
  /* } */

  minX = gratesize+strength+6;
  minY = gratesize+strength+6;
  maxX = x-gratesize-strength-6;
  maxY = y-gratesize-strength-6;

  /* echo(minX); */
  /*   echo(maxX); */
    for (mmx =[minX,maxX])
      for (mmy =[minY,maxY])
        translate([ mmx
                    , mmy
                    , -50
                    ]) cylinder(d=6,h=100, $fn=10);

  for (xx =[1:5])
    for (yy =[1:5])
      translate([x/6*xx,y/6*yy,-5])
        cylinder(d=10,h=100, $fn=10);


  /* translate([x/2,y/4,-5]) { */
  /*   #cylinder(d=1,h=10); */
  /* } */
  /* translate([x/4,y/2,-5]) { */
  /*   #cylinder(d=1,h=10); */
  /* } */
}

module gx12drill(z) {
  translate([gxXPos,gxYPos,0])
    cylinder(d=12,h=30, $fn=10);
  translate([gxXPos,gxYPos,z-20])
    cylinder(d=12,h=30, $fn=10);
  translate([gxXPos,gxYPos,z-40])
    cylinder(d=6,h=30, $fn=10);
}

module pipedrill() {
  translate([10,60,0]) cylinder(d=6,h=500, $fn=10);
}

module drills(x,y,z) {
  draindrills(x,y);
  cornerdrills();
  mirror([0,1,0]) translate([0,-y,0]) cornerdrills();
  mirror([1,0,0]) translate([-x,0,0]) cornerdrills();
  mirror([1,0,0]) translate([-x,y,0]) mirror([0,1,0]) cornerdrills();
  mirror([1,0,0]) translate([-x,0,0]) gx12drill(z);
  mirror([1,0,0]) translate([-x,0,0]) rotate([0,0,90]) translate([0,-14,0]) gx12drill(z);
  pipedrill();
}