while (<DATA>) { o $_ }
__DATA__
+
+thick = 10;
+edgeu = 20;
+
+// calculated
+
+octa_long = thick;
+octa_short = octa_long / (1 + sqrt(2));
+
+module OctaThing() {
+ hull(){
+ for (r = [[0,0,0], [90,0,0], [0,90,0]]) {
+ rotate(r)
+ cube([ octa_short,octa_short, octa_long ], center=true);
+ }
+ }
+}
+
+module TraceEdge(p,q) {
+ hull(){
+ for (x=[p,q]) {
+ translate(x * edgeu)
+ OctaThing();
+ }
+ }
+}
+
+Trace();
+
+