X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=3d-printables%2Fsonar-binder-clip-holder-data.scad;h=2a48dc90c49f9eee6bc66a94c7327132ac8cfece;hb=d7732dedf3afd919ce7b887dcce26f37255e1147;hp=cadb8cebc9f27db2d3008373beaded7a2673a355;hpb=ba1444146d1e9f711624a8e539f56bdbe12a7452;p=challenge-bot diff --git a/3d-printables/sonar-binder-clip-holder-data.scad b/3d-printables/sonar-binder-clip-holder-data.scad index cadb8ce..2a48dc9 100644 --- a/3d-printables/sonar-binder-clip-holder-data.scad +++ b/3d-printables/sonar-binder-clip-holder-data.scad @@ -26,11 +26,42 @@ sonar_radius = sonar_diameter / 2; between_sonar_cans = 10.82; between_sonar_centers = sonar_diameter + between_sonar_cans; +// the sonar cylinders are placed on the pcb at slightly different positions +// from one sensor to the next, so this allows for that variance. +between_sonar_centers_variation = 2; + +wall_thickness = 3; + +module sonar_sensors_2d(sonar_radius, + between_sonar_centers, + between_sonar_centers_variation) { + hull(){ + circle(sonar_radius); + translate([between_sonar_centers_variation, 0]){ + circle(sonar_radius); } } + translate([between_sonar_centers, 0]) { + circle(sonar_radius); } } + +module sonar_holder_outline_2d(sonar_radius, + between_sonar_centers, + wall_thickness) { + holder_radius = sonar_radius + wall_thickness; + hull() { + circle(holder_radius); + translate([between_sonar_centers, 0]) { + circle(holder_radius); } } } + module sonar_binder_clip_holder(sonar_radius, - between_sonar_centers) { - circle(sonar_radius); - translate([between_sonar_centers, 0]) { - circle(sonar_radius); } } + between_sonar_centers, + between_sonar_centers_variation, + wall_thickness) { + difference() { + sonar_holder_outline_2d(sonar_radius, + between_sonar_centers, + wall_thickness); + sonar_sensors_2d(sonar_radius, + between_sonar_centers, + between_sonar_centers_variation); } } /* This file is part of challenge-bot.