chiark / gitweb /
poster-tube-lid: catch wip, CatchAssembly seems done ?
[reprap-play.git] / pandemic-quarantines.scad
index a99cf7a4e939c54fdf0293e99d28f34f844c2161..834d128dc833e9107ccaedd61d0d64282658d82c 100644 (file)
@@ -3,9 +3,23 @@
 prisml = 13;
 triedge = 13;
 
+etchdepth = 1.0;
+
+figboxsize = 13;
+
+// calculated
+
+triheight = triedge / 2 * sqrt(3);
+tricentre = triedge / 2 * tan(30);
+
+module Number(number) {
+  translate([-figboxsize/2, -figboxsize/2])
+    import(file=str("pandemic-quarantine-l",number,".dxf"), convexity=100);
+}
+
 module FaceTriangle(){
   x = triedge / 2;
-  y = triedge / 2 * sqrt(3);
+  y = triheight;
   polygon([[-x,  0],
           [ 0,  y],
           [ x,  0]]);
@@ -17,4 +31,35 @@ module Body(){
     linear_extrude(height=prisml) FaceTriangle();
 }
 
-Body();
+module NumberCut(number){
+  translate([0,0, -etchdepth])
+    linear_extrude(height= etchdepth + 1)
+    Number(number);
+}
+
+module Etchings(){
+  for (rot=[0,180]) {
+    rotate([0,0, rot])
+      translate([0, -prisml/2, triedge * 0.3])
+      rotate([90, 0, 0])
+      NumberCut(2);
+  }
+  for (rot=[0,120,240]) {
+    translate([0,0, tricentre])
+      rotate([0, rot, 0])
+      translate([0,0, -tricentre])
+      rotate([0,180,0])
+      rotate([0,0, rot==240 ? 90 : -90])
+      NumberCut(1);
+  }
+}
+
+module Counter(){
+  difference(){
+    Body();
+    Etchings();
+  }
+}
+
+Counter();
+//NumberCut(1);