Last active
January 21, 2016 21:37
-
-
Save candera/40f6fc590d4019278939 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(require '[scad-clj.scad :refer :all] | |
'[scad-clj.model :refer :all]) | |
(defn degrees [d] | |
(-> d (/ 180.0) (* Math/PI))) | |
(def x-axis [1 0 0]) | |
(def y-axis [0 1 0]) | |
(def z-axis [0 0 1]) | |
(defn handle | |
[{:keys [well-interior-wall-thickness | |
well-width | |
height-above | |
handle-width | |
cells-x | |
cells-y]}] | |
(let [cell-length (+ well-interior-wall-thickness well-width) | |
length (* cell-length cells-x)] | |
(->> (cube length | |
handle-width | |
height-above) | |
(translate [(* cell-length (dec cells-x) 0.5) | |
(- (/ cell-length -2) (/ handle-width 2)) | |
(/ height-above 2)]) | |
(color [1 0 0 1])))) | |
(defn top | |
[{:keys [cells-x cells-y | |
well-interior-wall-thickness | |
well-exterior-wall-thickness | |
well-width | |
height-above | |
height-below | |
guard-wall-thickness | |
hole-size | |
hole-descent]}] | |
(->> (cube (+ well-width well-interior-wall-thickness) | |
(+ well-width well-interior-wall-thickness) | |
height-above) | |
(translate [0 0 (/ height-above 2.0)]))) | |
(defn insert | |
[{:keys [height-below well-width] :as params}] | |
(->> (cube well-width well-width height-below) | |
(translate [0 0 (/ height-below -2.0)]))) | |
(defn taper | |
[{:keys [hole-descent well-width height-below hole-radius]}] | |
(let [d1 (/ well-width 2.0) | |
z1 (- height-below) | |
c0 [d1 d1 z1] | |
c1 [d1 (- d1) z1] | |
c2 [(- d1) (- d1) z1] | |
c3 [(- d1) d1 z1] | |
c4 [0 0 (- 0 height-below hole-descent)]] | |
(difference (polyhedron [c0 c1 c2 c3 c4] | |
[[1 0 4] | |
[2 1 4] | |
[3 2 4] | |
[0 3 4] | |
[0 1 2 3]] | |
:convexity 2) | |
(->> (cube well-width well-width hole-descent) | |
(translate [0 0 (/ hole-descent -2.0)]) | |
(translate [0 0 (- height-below)]) | |
(translate [0 0 (- hole-descent)]) | |
(translate [0 0 (* hole-descent | |
(/ hole-radius (/ well-width 2.0)))]) | |
(color [1 0 0 1]))))) | |
(defn hole | |
[{:keys [hole-descent height-below height-above hole-radius]}] | |
(let [h (+ hole-descent height-below height-above)] | |
(->> (with-fn 24 | |
(cylinder hole-radius (+ h 4.0))) | |
(translate [0 0 (- height-above (/ h 2.0) 1.0)])))) | |
(defn well | |
[params] | |
(-> (union (top params) | |
(insert params) | |
(taper params)) | |
(difference (hole params)))) | |
(defn guard | |
[{:keys [cells-x cells-y | |
well-interior-wall-thickness | |
well-exterior-wall-thickness | |
well-width | |
height-above | |
height-below | |
guard-wall-thickness | |
hole-radius | |
hole-descent] | |
:as params}] | |
(->> (apply union | |
(handle params) | |
(for [x (range cells-x) | |
y (range cells-y)] | |
(let [cell-width (+ well-width well-interior-wall-thickness)] | |
(->> (well params) | |
(translate [(* x cell-width) | |
(* y cell-width) | |
0]))))) | |
(rotate (degrees 180) x-axis))) | |
(let [padding 0.1] | |
(->> (guard | |
{:cells-x 12 | |
:cells-y 8 | |
:well-interior-wall-thickness (+ padding 0.85) | |
:well-width (- 8.13 padding) | |
:height-above 3 | |
:height-below 3 | |
:handle-width 7 | |
:hole-descent 3 | |
:hole-radius (/ 3.2 2)}) | |
write-scad | |
(spit "solvent-guard.scad"))) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rotate (a=180.0, v=[1, 0, 0]) { | |
union () { | |
color ([1, 0, 0, 1]) { | |
translate ([49.39, -7.99, 3/2]) { | |
cube ([107.76, 7, 3], center=true); | |
} | |
} | |
translate ([0.0, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([0.0, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([0.0, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([0.0, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([0.0, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([0.0, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([0.0, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([0.0, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([8.98, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([17.96, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([26.94, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([35.92, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([44.900000000000006, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([53.88, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([62.86, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([71.84, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([80.82000000000001, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([89.80000000000001, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 0.0, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 8.98, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 17.96, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 26.94, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 35.92, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 44.900000000000006, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 53.88, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
translate ([98.78, 62.86, 0]) { | |
difference () { | |
union () { | |
translate ([0, 0, 1.5]) { | |
cube ([8.98, 8.98, 3], center=true); | |
} | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
difference () { | |
polyhedron (points=[[4.015000000000001, 4.015000000000001, -3], [4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, -4.015000000000001, -3], [-4.015000000000001, 4.015000000000001, -3], [0, 0, -6]], faces=[[1, 0, 4], [2, 1, 4], [3, 2, 4], [0, 3, 4], [0, 1, 2, 3]], convexity=2); | |
color ([1, 0, 0, 1]) { | |
translate ([0, 0, 1.195516811955168]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -3]) { | |
translate ([0, 0, -1.5]) { | |
cube ([8.030000000000001, 8.030000000000001, 3], center=true); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
translate ([0, 0, -2.5]) { | |
cylinder ($fn=24, h=13.0, r=1.6, center=true); | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment