chiark / gitweb /
pull-cord-keeper: before polygon remain cut
[reprap-play.git] / pull-cord-keeper.scad
index ddbcaf6310b8849ff13adebd50b73f858a354f00..c3efb7fad419a7712b782c697cb4c51a7f6b7ff4 100644 (file)
@@ -14,11 +14,13 @@ height = 20;
 ziglen = hcentredist/2;
 
 feedxgap = 5;
-
 feedzgap = 5;
+ribsgap = 1;
+
+ribdepth = 3;
+ribheight = 4;
 
-ribdepth = 2;
-ribheight = 3;
+blockoverlapcnr = 5;
 
 module Oval(centredist, rad) {
   hull() {
@@ -46,14 +48,6 @@ module Positive(){
     Hoop();
 }
 
-module Division(biggerpi) {
-  xgap = feedxgap * biggerpi;
-  zgap = feedzgap * biggerpi;
-  mirror([0,0,1])
-    translate([-(ziglen + xgap/2), -100, zgap/2])
-    cube([100, 100, 10]);
-}
-
 module Ribs(){
   imax = ceil(height*2 / ribheight);
   for (i=[-imax:imax]) {
@@ -70,12 +64,57 @@ module Ribs(){
   }
 }          
 
-module Demo(){
+module Division(biggerpi) {
+  xgap = feedxgap * biggerpi;
+  zgap = feedzgap * biggerpi;
+
+  mirror([0,0,1]) {
+    translate([0, 0, zgap/2 * (1 - 2*biggerpi)]) {
+      translate([-ziglen + xgap/2, -100, 0])
+       cube([100, 100, 50]);
+    }
+  }
+  translate([blockwidth/2 - blockoverlapcnr, -0.1, 0])
+    cube([100, 100, 100]);
+
+  translate([50, houterrad + blockdepth/2 + ribsgap * biggerpi, 0])
+    rotate([-90,0,90])
+    linear_extrude(height=100)
+    Ribs();
+}
+
+module SDemo(){
   //difference(){
   %  Positive();
   //  Division(0);
   //}
-  Division(1);
+  Division(0);
+}
+
+module A(){
+  difference(){
+    Positive();
+    Division(0);
+  }
+}
+
+module B(){
+  intersection(){
+    Positive();
+    Division(1);
+  }
 }
 
-Ribs();
+module Demo(){
+  color("red") A();
+//  color("blue") B();
+}
+
+//Ribs();
+//Demo();
+
+//A();
+B();
+%Division(0);
+
+//Demo();