chiark / gitweb /
wardrobe-hook: Break out FArcSegment and FArcSegment_mask into utils (nfc)
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 12 Feb 2016 00:11:26 +0000 (00:11 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 12 Feb 2016 00:11:26 +0000 (00:11 +0000)
utils.scad [new file with mode: 0644]
wardrobe-hook.scad

diff --git a/utils.scad b/utils.scad
new file mode 100644 (file)
index 0000000..5234d51
--- /dev/null
@@ -0,0 +1,26 @@
+// -*- C -*-
+
+// suitable for masking things within radius sqrt(2) only
+module FArcSegment_mask(beta) {
+  for (i=[0 : 0.75 : 3]) {
+    rotate(i*beta/4)
+      polygon([[0, 0],
+              [1, 0],
+              [cos(beta/4), sin(beta/4)]]);
+  }
+}
+
+module FArcSegment(xc,yc,inrad,outrad,alpha,delta) {
+  translate([xc,yc]) {
+    intersection() {
+      difference() {
+       circle(r=outrad, $fn=70);
+       circle(r=inrad, $fn=70);
+      }
+      rotate(alpha) scale(outrad*2) {
+       FArcSegment_mask(delta);
+      }
+    }
+  }
+}
+
index d7c070c788278965b9fabc961610d2338ef7aa9e..959e967a78bd316ebb3345f182b8f7bcd00811d3 100644 (file)
@@ -1,29 +1,7 @@
 // -*- C -*-
 
 include <funcs.scad>
-
-module FArcSegment_mask(beta) {
-  for (i=[0 : 0.75 : 3]) {
-    rotate(i*beta/4)
-      polygon([[0, 0],
-              [1, 0],
-              [cos(beta/4), sin(beta/4)]]);
-  }
-}
-
-module FArcSegment(xc,yc,inrad,outrad,alpha,delta) {
-  translate([xc,yc]) {
-    intersection() {
-      difference() {
-       circle(r=outrad, $fn=70);
-       circle(r=inrad, $fn=70);
-      }
-      rotate(alpha) scale(outrad*2) {
-       FArcSegment_mask(delta);
-      }
-    }
-  }
-}
+include <utils.scad>
 
 tubeslop = 0.5;
 tubeheight = 30 + tubeslop;