separate out binder clip holder from sonar holder
authordaniel watson <ozzloy@gmail.com>
Sat, 4 Jun 2016 22:03:49 +0000 (15:03 -0700)
committerdaniel watson <ozzloy@gmail.com>
Sat, 4 Jun 2016 22:03:49 +0000 (15:03 -0700)
3d-printables/sonar-binder-clip-holder-data.scad
3d-printables/sonar-binder-clip-holder.scad

index 13e446570d953e21210a4bf8f9fca80517f4eb34..f944906ba8dc684442c6f8a91076655055ea2a0a 100644 (file)
@@ -53,28 +53,44 @@ module sonar_holder_outline_2d(sonar_radius,
   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]); } } }
+    translate([between_sonar_centers - sonar_radius - wall_thickness,
+               -holder_radius]) {
+      square(holder_diameter); } } }
 
-module sonar_binder_clip_holder(sonar_radius,
-                                between_sonar_centers,
-                                between_sonar_centers_variation,
-                                wall_thickness) {
+module sonar_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); } } }
+                     between_sonar_centers_variation); } }
+
+module binder_clip_holder(binder_clip_holder_length,
+                          screw_radius,
+                          holder_radius){
+  difference() {
+  square([binder_clip_holder_length, holder_radius * 2]);
+  translate([binder_clip_holder_length - holder_radius, holder_radius]) {
+    circle(screw_radius); } } }
+
+module sonar_binder_clip_holder(sonar_radius,
+                                between_sonar_centers,
+                                between_sonar_centers_variation,
+                                wall_thickness) {
+  sonar_holder(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(binder_clip_holder_length,
+                       screw_radius,
+                       holder_radius); } }
 
 /*
   This file is part of challenge-bot.
index 9f6ad2613a709c13e184370f27e1672496b19041..bd79585eea5f578528a33d0f09d113ea5fc2d23f 100644 (file)
@@ -23,6 +23,13 @@ sonar_binder_clip_holder(sonar_radius,
                          between_sonar_centers_variation,
                          wall_thickness);
 
+holder_radius = sonar_radius + wall_thickness;
+binder_clip_holder_length = 2 * holder_radius;
+translate([0, holder_radius + 2]) {
+  binder_clip_holder(binder_clip_holder_length,
+                     screw_radius,
+                     holder_radius); }
+
 /*
   This file is part of challenge-bot.