Last active
January 21, 2016 21:37
-
-
Save candera/40f6fc590d4019278939 to your computer and use it in GitHub Desktop.
This file contains hidden or 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 hidden or 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