chiark / gitweb /
bike-phone-mount: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 5 Jun 2020 22:42:43 +0000 (23:42 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 5 Jun 2020 22:42:43 +0000 (23:42 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
bike-phone-mount.scad

index 573cba37768b2c25ee562be30d6261028bcb3016..296fd51e1f482b300d67725d67b92117d65ab9f9 100644 (file)
@@ -12,6 +12,8 @@ neck_length = 1.5 + 0.50;
 
 slope = 0.35;
 
+// calculated
+
 nep0 = [0,0];
 nep1 = nep0 + [0,1] * neck_length;
 nep7 = nep0 + [1,0] * lip_depth;
@@ -25,8 +27,7 @@ nepm = [ nep0[0], nep3[1] ];
 total_height = nep2[1] - nep6[1];
 nep_z_offset = -nep2[1];
 nep_side_offset = [ neck_width/2, nep_z_offset ];
-nep_rear_offset = [ neck_depth/2, nep_z_offset ];
-inner_pos = [-0.1, -total_height];
+nep_rear_offset = [ neck_depth, nep_z_offset ];
 
 module NeckEdgePlan() {
   polygon([ nep0,
@@ -40,11 +41,20 @@ module NeckEdgePlan() {
 }
 
 module Neck() {
-  for (m=[0,1]) {
-    mirror([m,0]) {
-      translate(nep_side_offset) NeckEdgePlan();
-      rectfromto(inner_pos,
-                nep_side_offset + nepm);
+  intersection(){
+    linextr_y_xz(-100,100,convexity=10){
+      for (m=[0,1]) {
+       mirror([m,0]) {
+         translate(nep_side_offset) NeckEdgePlan();
+         rectfromto([-0.1, -total_height],
+                    nep_side_offset + nepm);
+       }
+      }
+    }
+    linextr_x_yz(-100,100,convexity=10){
+      translate(nep_rear_offset) NeckEdgePlan();
+      rectfromto([0, -total_height],
+                nep_rear_offset + nepm);
     }
   }
 }