X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=3d-printables%2Fsonar-binder-clip-holder-data.scad;h=13e446570d953e21210a4bf8f9fca80517f4eb34;hb=bfdc15e736cc25d1f4e9bfe3e25c897642c92b06;hp=42b1d408baf4d2abc0e2ed5fdaf2c22e65ea324c;hpb=d899cf8bd0dd99ebc7bd5ee05b15ccf1086424d4;p=challenge-bot diff --git a/3d-printables/sonar-binder-clip-holder-data.scad b/3d-printables/sonar-binder-clip-holder-data.scad index 42b1d40..13e4465 100644 --- a/3d-printables/sonar-binder-clip-holder-data.scad +++ b/3d-printables/sonar-binder-clip-holder-data.scad @@ -16,16 +16,65 @@ of it. */ -$fn = 30; +$fn = 50; sonar_diameter_measured = 15.82; sonar_diameter_print_fudge = 0.5; sonar_diameter = sonar_diameter_measured + sonar_diameter_print_fudge; sonar_radius = sonar_diameter / 2; -module sonar_binder_clip_holder(sonar_radius) { - circle(sonar_radius); -} +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; + +screw_radius_measured = 2.8; +screw_radius_print_fudge = 0.3; +screw_radius = screw_radius_measured + screw_radius_print_fudge; + +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; + holder_diameter = holder_radius * 2; + hull() { + circle(holder_radius); + translate([between_sonar_centers, 0]) { + circle(holder_radius); } + translate([sonar_radius + between_sonar_centers, -holder_radius]) { + square([holder_diameter * 2, holder_diameter]); } } } + +module sonar_binder_clip_holder(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); + translate([sonar_radius + + between_sonar_centers + + 3 * (wall_thickness + sonar_radius), + 0, + 0]) { + circle(screw_radius); } } } /* This file is part of challenge-bot.