X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=3d-printables%2Fsonar-binder-clip-holder-data.scad;h=eba8368d49aa88458ff37f49c0240c2788d7c8a5;hb=250f2c1f6df5448d87522f8393487dfd326f04bb;hp=94ba32471e88e4f631baf3c5dc4cda83ce5c4dd4;hpb=cc1b210f89ab95676e4c324c75f64dcf92df2bda;p=challenge-bot diff --git a/3d-printables/sonar-binder-clip-holder-data.scad b/3d-printables/sonar-binder-clip-holder-data.scad index 94ba324..eba8368 100644 --- a/3d-printables/sonar-binder-clip-holder-data.scad +++ b/3d-printables/sonar-binder-clip-holder-data.scad @@ -16,7 +16,7 @@ of it. */ -$fn = 50; +$fn = 150; sonar_diameter_measured = 15.82; sonar_diameter_print_fudge = 0.5; @@ -32,15 +32,16 @@ between_sonar_centers_variation = 2; wall_thickness = 3; -screw_radius_measured = 2.8; -screw_radius_print_fudge = 0.3; +screw_diameter_measured = 2.8; +screw_radius_measured = screw_diameter_measured / 2; +screw_radius_print_fudge = 0.1; screw_radius = screw_radius_measured + screw_radius_print_fudge; -sonar_binder_clip_holder_height = 2; +sonar_binder_clip_holder_height = 4; -module sonar_sensors_2d(sonar_radius, - between_sonar_centers, - between_sonar_centers_variation) { +module sonar_sensor_holes_2d(sonar_radius, + between_sonar_centers, + between_sonar_centers_variation) { hull(){ circle(sonar_radius); translate([between_sonar_centers_variation, 0]){ @@ -48,71 +49,81 @@ module sonar_sensors_2d(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; +module sonar_holder_outline_2d(holder_radius, + between_sonar_centers) { hull() { circle(holder_radius); - translate([between_sonar_centers - sonar_radius - wall_thickness, - -holder_radius]) { - square(holder_diameter); } } } - -module sonar_holder_2d(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); } } - -module binder_clip_holder_2d(binder_clip_holder_length, - screw_radius, - holder_radius){ + translate([between_sonar_centers, 0]) { + circle(holder_radius); } } } + +module binder_clip_holder_outline_2d(holder_radius) { + circle(holder_radius); } + +module sonar_binder_clip_holder_outline_2d(holder_radius, + between_sonar_centers) { + sonar_holder_length = between_sonar_centers + 2 * holder_radius; + hull(){ + sonar_holder_outline_2d(holder_radius, between_sonar_centers); + translate([sonar_holder_length, 0]) { + binder_clip_holder_outline_2d(holder_radius); } } } + +module binder_clip_holder_holes_2d(screw_radius) { + circle(screw_radius); } + +module binder_clip_holder_2d(holder_radius, + screw_radius) { difference() { - square([binder_clip_holder_length, holder_radius * 2]); - translate([binder_clip_holder_length - holder_radius, holder_radius]) { - circle(screw_radius); } } } + binder_clip_holder_outline_2d(holder_radius); + binder_clip_holder_holes_2d(screw_radius); } } + +module binder_clip_holder(holder_radius, + screw_radius, + sonar_binder_clip_holder_height) { + linear_extrude(height = sonar_binder_clip_holder_height) { + binder_clip_holder_2d(holder_radius, + screw_radius); } } + +module sonar_binder_clip_holder_holes_2d(sonar_radius, + between_sonar_centers, + between_sonar_centers_variation, + screw_radius, + wall_thickness) { + holder_radius = sonar_radius + wall_thickness; + holder_diameter = holder_radius * 2; + holder_length = between_sonar_centers + holder_diameter; + sonar_sensor_holes_2d(sonar_radius, + between_sonar_centers, + between_sonar_centers_variation); + translate([holder_length, 0]){ + binder_clip_holder_holes_2d(screw_radius); } } module sonar_binder_clip_holder_2d(sonar_radius, between_sonar_centers, between_sonar_centers_variation, + screw_radius, wall_thickness) { - sonar_holder_2d(sonar_radius, - between_sonar_centers, - between_sonar_centers_variation, - wall_thickness); holder_radius = sonar_radius + wall_thickness; - binder_clip_holder_length = 2 * holder_radius; - translate([between_sonar_centers + holder_radius, -holder_radius]){ - binder_clip_holder_2d(binder_clip_holder_length, - screw_radius, - holder_radius); } } + difference() { + sonar_binder_clip_holder_outline_2d(holder_radius, + between_sonar_centers); + sonar_binder_clip_holder_holes_2d(sonar_radius, + between_sonar_centers, + between_sonar_centers_variation, + screw_radius, + wall_thickness); } } module sonar_binder_clip_holder(sonar_radius, between_sonar_centers, between_sonar_centers_variation, + screw_radius, wall_thickness, sonar_binder_clip_holder_height) { - linear_extrude(height = sonar_binder_clip_holder_height) { - sonar_binder_clip_holder_2d(sonar_radius, - between_sonar_centers, - between_sonar_centers_variation, - wall_thickness); } } - -module binder_clip_holder(binder_clip_holder_length, - screw_radius, - holder_radius, - binder_clip_holder_height) { - linear_extrude(height = binder_clip_holder_height) { - binder_clip_holder_2d(binder_clip_holder_length, - screw_radius, - holder_radius); } } + linear_extrude(height = sonar_binder_clip_holder_height) { + sonar_binder_clip_holder_2d(sonar_radius, + between_sonar_centers, + between_sonar_centers_variation, + screw_radius, + wall_thickness); } } /* This file is part of challenge-bot.