+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() {
+ 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) {
+ holder_radius = sonar_radius + wall_thickness;
+ 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); } }
+