chiark / gitweb /
mudguard-bracket: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 23 Feb 2024 17:38:41 +0000 (17:38 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 23 Feb 2024 17:38:41 +0000 (17:38 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
mudguard-bracket.scad

index 4585f6592515d5253a30729f4ba6befd34c24c67..52f654cb72918ced7ac059e62acf4ef2a1834655 100644 (file)
@@ -1,30 +1,73 @@
 // -*- C -*-
 
+include <utils.scad>
+
 wings_dist_x = 40;
-wings_cup_angle = 45;
+wings_cup_angle = 40;
 wings_cup_depth = 5;
-wings_cup_inner_dia = 3;
+wings_cup_inner = 3;
 wings_inner_th = 1;
 wings_main_th = 2.5;
 wings_cup_z = -34;
 
+$fs = 0.1;
+$fa = 3;
+
 // calculated
 
 
+module AtWingCupElevation () {
+  translate([ -wings_dist_x, wings_cup_z ])
+    rotate(-wings_cup_angle)
+    children();
+}
+
 module WingCupElevationNegative () {
-  translate([ -wings_dist_x, wings_cup_z ]){
-    rotate(-wings_cup_angle){
-      hull(){
-       circle(r = wings_cup_inner_dia/2);
-       translate([0, 20])
-         square(wings_cup_inner_dia);
+  AtWingCupElevation(){
+    hull(){
+      translate([ 0, wings_cup_inner/2 ])
+       circle(r = wings_cup_inner/2);
+      translate([0, 20])
+       square(wings_cup_inner, center=true);
+    }
+  }
+}
+
+module WingCupElevationPositive () {
+  AtWingCupElevation(){
+    hull(){
+      translate([ wings_cup_inner/2 + wings_inner_th/2, 0 ]){
+       translate([ 0, wings_cup_depth - wings_inner_th/2 ])
+         circle(r = wings_inner_th/2);
+       translate([ 0, wings_cup_inner/2 ])
+         square([wings_inner_th, 0.1], center=true);
+      }
+    }
+    translate([ (wings_inner_th - wings_main_th)/2,
+               wings_cup_inner/2 ]){
+      intersection(){
+       circle(r = (wings_inner_th + wings_main_th + wings_cup_inner)/2);
+       rectfromto([-100, -100], [100, 0]);
       }
     }
   }
 }
-/*
+
+module WingElevation(){
+  AtWingCupElevation(){
+    translate([ -(wings_inner_th + wings_main_th)/2,
+               wings_cup_inner/2 ])
+      circle(r = wings_main_th);
+  }
 }
-WingsElevation () {
+
+module WingCupElevationDemo(){
+  translate([0,0,2]) color("red") WingCupElevationNegative();
+  translate([0,0,1]) color("blue") WingElevation();
+  WingCupElevationPositive();
+}
+
+/*WingsElevation () {
   difference(){
     
   }
@@ -32,4 +75,4 @@ WingsElevation () {
 
 */
 
-WingCupElevationNegative();
+WingCupElevationDemo();