JSCAD - DB Base

by paulftw

JavaScript

var outerR = 12.5;

var baseH = 3;

var pcbDepth = 1.5;
var pcbR = 11.756;

var innerR = 4;
var innerH = 24;

var capHoleR = 3;

function main() {
   return difference(
             cylinder({r: outerR, h: baseH}),
            cylinder({r:pcbR, h: pcbDepth})
                .translate([0,0,baseH-pcbDepth])
          ).union( 
          
            cylinder({r: innerR, h: innerH})
          ).subtract(
            cylinder({r:1, h:30}).rotateX(90).translate([0.5,0,1.5])
          ).subtract(
            cylinder({r:1, h:30}).rotateX(90).translate([-0.5,0,1.5])
          ).subtract(
            cylinder({r:innerR/2, h:innerH})
          ).subtract(
              cube({size: [4,1,innerH]}).translate([-2,-innerR,1.5])
          ).subtract(
              cylinder({r:2.5, h:innerH}).translate([-5.4,0,2.5])
          ).subtract(
              cylinder({r:2.5, h:innerH}).translate([5.4,0,2.5])
          ).subtract(
              cylinder({r:capHoleR,h:innerH}).translate([-6.6,0,0])
          ).subtract(
              cylinder({r:capHoleR,h:innerH}).translate([+6.6,0,0])
          ).subtract(
            cylinder({r:2, h:4}).rotateX(90).translate([0.5,-2.5,1])
          ).subtract(
            cylinder({r:2, h:4}).rotateX(90).translate([-0.5,-2.5,1])
          )
}