From 15b24881ca4f1416cf732408145c6615d968aa75 Mon Sep 17 00:00:00 2001 From: Matt Adereth Date: Fri, 10 Mar 2017 08:47:22 -0800 Subject: [PATCH] Quick and dirtly wrist rest --- src/dactyl_keyboard/util.clj | 16 + src/dactyl_keyboard/wrist.clj | 39 ++ things/wrist.scad | 96 ++++ things/wrist.stl | 870 ++++++++++++++++++++++++++++++++++ 4 files changed, 1021 insertions(+) create mode 100644 src/dactyl_keyboard/util.clj create mode 100644 src/dactyl_keyboard/wrist.clj create mode 100644 things/wrist.scad create mode 100644 things/wrist.stl diff --git a/src/dactyl_keyboard/util.clj b/src/dactyl_keyboard/util.clj new file mode 100644 index 0000000..b24de7a --- /dev/null +++ b/src/dactyl_keyboard/util.clj @@ -0,0 +1,16 @@ +(ns dactyl-keyboard.util + (:refer-clojure :exclude [use import]) + (:require [scad-clj.model :refer :all])) + +(defn triangle-hulls [& shapes] + (apply union + (map (partial apply hull) + (partition 3 1 shapes)))) + +(defn bottom [height p] + (->> (project p) + (extrude-linear {:height height :twist 0 :convexity 0}) + (translate [0 0 (/ height 2)]))) + +(defn bottom-hull [p] + (hull p (bottom 1 p))) diff --git a/src/dactyl_keyboard/wrist.clj b/src/dactyl_keyboard/wrist.clj new file mode 100644 index 0000000..add7639 --- /dev/null +++ b/src/dactyl_keyboard/wrist.clj @@ -0,0 +1,39 @@ +(ns dactyl-keyboard.wrist + (:refer-clojure :exclude [use import]) + (:require [scad-clj.scad :refer :all] + [scad-clj.model :refer :all] + [unicode-math.core :refer :all] + [dactyl-keyboard.util :refer :all])) + +(def pad-corner-r 11) +(def pad-width 95) +(def pad-length 76.5) + +(def stand-height 45) +(def stand-thickness 1.5) + +(def bumper-diameter 9.6) +(def bumper-radius (/ bumper-diameter 2)) + +(def corner-circle (->> (cylinder pad-corner-r stand-thickness) + (translate [(- (/ pad-width 2) pad-corner-r) + (- (/ pad-length 2) pad-corner-r) + (+ stand-height (/ stand-thickness 2))]))) + +(def corner {:back-right corner-circle + :back-left (->> corner-circle (mirror [-1 0 0])) + :front-right (->> corner-circle (mirror [0 -1 0])) + :front-left (->> corner-circle (mirror [0 -1 0]) (mirror [-1 0 0])) }) + +(def wrist-rest + (union (hull (corner :back-right) + (corner :back-left) + (corner :front-right) + (corner :front-left)) + (bottom-hull (corner :back-right)) + (bottom-hull (corner :back-left)) + (bottom-hull (corner :front-right)) + (bottom-hull (corner :front-left)))) + +(spit "things/wrist.scad" + (write-scad wrist-rest)) diff --git a/things/wrist.scad b/things/wrist.scad new file mode 100644 index 0000000..1f1d903 --- /dev/null +++ b/things/wrist.scad @@ -0,0 +1,96 @@ +union () { + hull () { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + mirror ([-1, 0, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + mirror ([0, -1, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + mirror ([-1, 0, 0]) { + mirror ([0, -1, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + } + } + hull () { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + translate ([0, 0, 1/2]) { + linear_extrude (height=1, twist=0.0, convexity=0, center=true){ + projection (cut = false) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + } + } + } + hull () { + mirror ([-1, 0, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + translate ([0, 0, 1/2]) { + linear_extrude (height=1, twist=0.0, convexity=0, center=true){ + projection (cut = false) { + mirror ([-1, 0, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + } + } + } + } + hull () { + mirror ([0, -1, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + translate ([0, 0, 1/2]) { + linear_extrude (height=1, twist=0.0, convexity=0, center=true){ + projection (cut = false) { + mirror ([0, -1, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + } + } + } + } + hull () { + mirror ([-1, 0, 0]) { + mirror ([0, -1, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + } + translate ([0, 0, 1/2]) { + linear_extrude (height=1, twist=0.0, convexity=0, center=true){ + projection (cut = false) { + mirror ([-1, 0, 0]) { + mirror ([0, -1, 0]) { + translate ([73/2, 27.25, 45.75]) { + cylinder (h=1.5, r=11, center=true); + } + } + } + } + } + } + } +} diff --git a/things/wrist.stl b/things/wrist.stl new file mode 100644 index 0000000..ab7dfd1 --- /dev/null +++ b/things/wrist.stl @@ -0,0 +1,870 @@ +solid OpenSCAD_Model + facet normal 0.951056 0.309017 0 + outer loop + vertex 46.549 31.7241 0 + vertex 46.549 31.7241 1 + vertex 47.2596 29.537 1 + endloop + endfacet + facet normal 0.951056 0.309017 0 + outer loop + vertex 47.2596 29.537 0 + vertex 46.549 31.7241 0 + vertex 47.2596 29.537 1 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 27.25 0 + vertex -47.2596 29.537 0 + vertex -47.5 -27.25 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -47.2596 29.537 0 + vertex -46.549 31.7241 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -46.549 31.7241 0 + vertex -45.3992 33.7156 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -45.3992 33.7156 0 + vertex -43.8604 35.4246 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -43.8604 35.4246 0 + vertex -42 36.7763 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -42 36.7763 0 + vertex -39.8992 37.7116 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -39.8992 37.7116 0 + vertex -37.6498 38.1897 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -37.6498 38.1897 0 + vertex 37.6498 38.1897 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 37.6498 38.1897 0 + vertex 39.8992 37.7116 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 39.8992 37.7116 0 + vertex 42 36.7763 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 42 36.7763 0 + vertex 43.8604 35.4246 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 43.8604 35.4246 0 + vertex 45.3992 33.7156 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 45.3992 33.7156 0 + vertex 46.549 31.7241 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 46.549 31.7241 0 + vertex 47.2596 29.537 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 47.2596 29.537 0 + vertex 47.5 27.25 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 47.5 27.25 0 + vertex 47.5 -27.25 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 47.5 -27.25 0 + vertex 47.2596 -29.537 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 47.2596 -29.537 0 + vertex 46.549 -31.7241 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 46.549 -31.7241 0 + vertex 45.3992 -33.7156 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 45.3992 -33.7156 0 + vertex 43.8604 -35.4246 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 43.8604 -35.4246 0 + vertex 42 -36.7763 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 42 -36.7763 0 + vertex 39.8992 -37.7116 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 39.8992 -37.7116 0 + vertex 37.6498 -38.1897 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex 37.6498 -38.1897 0 + vertex -37.6498 -38.1897 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -37.6498 -38.1897 0 + vertex -39.8992 -37.7116 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -39.8992 -37.7116 0 + vertex -42 -36.7763 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -42 -36.7763 0 + vertex -43.8604 -35.4246 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -43.8604 -35.4246 0 + vertex -45.3992 -33.7156 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -45.3992 -33.7156 0 + vertex -46.549 -31.7241 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.5 -27.25 0 + vertex -46.549 -31.7241 0 + vertex -47.2596 -29.537 0 + endloop + endfacet + facet normal 0.994522 0.104528 0 + outer loop + vertex 47.2596 29.537 0 + vertex 47.2596 29.537 1 + vertex 47.5 27.25 1 + endloop + endfacet + facet normal 0.994522 0.104528 0 + outer loop + vertex 47.5 27.25 0 + vertex 47.2596 29.537 0 + vertex 47.5 27.25 1 + endloop + endfacet + facet normal 0.866025 0.5 0 + outer loop + vertex 45.3992 33.7156 0 + vertex 45.3992 33.7156 1 + vertex 46.549 31.7241 1 + endloop + endfacet + facet normal 0.866025 0.5 0 + outer loop + vertex 46.549 31.7241 0 + vertex 45.3992 33.7156 0 + vertex 46.549 31.7241 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.5 -27.25 1 + vertex -47.2596 -29.537 1 + vertex -46.549 -31.7241 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -43.8604 -35.4246 1 + vertex -47.5 -27.25 1 + vertex -45.3992 -33.7156 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -45.3992 -33.7156 1 + vertex -47.5 -27.25 1 + vertex -46.549 -31.7241 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -42 -36.7763 1 + vertex -47.5 -27.25 1 + vertex -43.8604 -35.4246 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.8992 -37.7116 1 + vertex -47.5 -27.25 1 + vertex -42 -36.7763 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6498 -38.1897 1 + vertex -47.5 -27.25 1 + vertex -39.8992 -37.7116 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.6498 -38.1897 1 + vertex -47.5 -27.25 1 + vertex -37.6498 -38.1897 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.8992 -37.7116 1 + vertex -47.5 -27.25 1 + vertex 37.6498 -38.1897 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42 -36.7763 1 + vertex -47.5 -27.25 1 + vertex 39.8992 -37.7116 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.8604 -35.4246 1 + vertex -47.5 -27.25 1 + vertex 42 -36.7763 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.3992 -33.7156 1 + vertex -47.5 -27.25 1 + vertex 43.8604 -35.4246 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.549 -31.7241 1 + vertex -47.5 -27.25 1 + vertex 45.3992 -33.7156 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2596 -29.537 1 + vertex -47.5 -27.25 1 + vertex 46.549 -31.7241 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.5 -27.25 1 + vertex -47.5 -27.25 1 + vertex 47.2596 -29.537 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.5 27.25 1 + vertex -47.5 -27.25 1 + vertex 47.5 -27.25 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2596 29.537 1 + vertex -47.5 -27.25 1 + vertex 47.5 27.25 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.549 31.7241 1 + vertex -47.5 -27.25 1 + vertex 47.2596 29.537 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.3992 33.7156 1 + vertex -47.5 -27.25 1 + vertex 46.549 31.7241 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 43.8604 35.4246 1 + vertex -47.5 -27.25 1 + vertex 45.3992 33.7156 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42 36.7763 1 + vertex -47.5 -27.25 1 + vertex 43.8604 35.4246 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 39.8992 37.7116 1 + vertex -47.5 -27.25 1 + vertex 42 36.7763 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.6498 38.1897 1 + vertex -47.5 -27.25 1 + vertex 39.8992 37.7116 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6498 38.1897 1 + vertex -47.5 -27.25 1 + vertex 37.6498 38.1897 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -39.8992 37.7116 1 + vertex -47.5 -27.25 1 + vertex -37.6498 38.1897 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -42 36.7763 1 + vertex -47.5 -27.25 1 + vertex -39.8992 37.7116 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -43.8604 35.4246 1 + vertex -47.5 -27.25 1 + vertex -42 36.7763 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -45.3992 33.7156 1 + vertex -47.5 -27.25 1 + vertex -43.8604 35.4246 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -46.549 31.7241 1 + vertex -47.5 -27.25 1 + vertex -45.3992 33.7156 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.2596 29.537 1 + vertex -47.5 -27.25 1 + vertex -46.549 31.7241 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.5 27.25 1 + vertex -47.5 -27.25 1 + vertex -47.2596 29.537 1 + endloop + endfacet + facet normal -0.994522 -0.104528 0 + outer loop + vertex -47.2596 -29.537 0 + vertex -47.2596 -29.537 1 + vertex -47.5 -27.25 0 + endloop + endfacet + facet normal -0.994522 -0.104528 0 + outer loop + vertex -47.5 -27.25 0 + vertex -47.2596 -29.537 1 + vertex -47.5 -27.25 1 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -47.5 -27.25 1 + vertex -47.5 27.25 1 + vertex -47.5 -27.25 0 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -47.5 -27.25 0 + vertex -47.5 27.25 1 + vertex -47.5 27.25 0 + endloop + endfacet + facet normal -0.951056 -0.309017 0 + outer loop + vertex -46.549 -31.7241 0 + vertex -46.549 -31.7241 1 + vertex -47.2596 -29.537 0 + endloop + endfacet + facet normal -0.951056 -0.309017 0 + outer loop + vertex -47.2596 -29.537 0 + vertex -46.549 -31.7241 1 + vertex -47.2596 -29.537 1 + endloop + endfacet + facet normal -0.866025 -0.5 0 + outer loop + vertex -45.3992 -33.7156 0 + vertex -45.3992 -33.7156 1 + vertex -46.549 -31.7241 0 + endloop + endfacet + facet normal -0.866025 -0.5 0 + outer loop + vertex -46.549 -31.7241 0 + vertex -45.3992 -33.7156 1 + vertex -46.549 -31.7241 1 + endloop + endfacet + facet normal -0.743145 -0.669131 0 + outer loop + vertex -43.8604 -35.4246 0 + vertex -43.8604 -35.4246 1 + vertex -45.3992 -33.7156 0 + endloop + endfacet + facet normal -0.743145 -0.669131 0 + outer loop + vertex -45.3992 -33.7156 0 + vertex -43.8604 -35.4246 1 + vertex -45.3992 -33.7156 1 + endloop + endfacet + facet normal -0.587785 -0.809017 0 + outer loop + vertex -43.8604 -35.4246 0 + vertex -42 -36.7763 0 + vertex -42 -36.7763 1 + endloop + endfacet + facet normal -0.587785 -0.809017 0 + outer loop + vertex -43.8604 -35.4246 1 + vertex -43.8604 -35.4246 0 + vertex -42 -36.7763 1 + endloop + endfacet + facet normal -0.406737 -0.913545 0 + outer loop + vertex -42 -36.7763 0 + vertex -39.8992 -37.7116 0 + vertex -39.8992 -37.7116 1 + endloop + endfacet + facet normal -0.406737 -0.913545 0 + outer loop + vertex -42 -36.7763 1 + vertex -42 -36.7763 0 + vertex -39.8992 -37.7116 1 + endloop + endfacet + facet normal -0.207912 -0.978148 0 + outer loop + vertex -39.8992 -37.7116 0 + vertex -37.6498 -38.1897 0 + vertex -37.6498 -38.1897 1 + endloop + endfacet + facet normal -0.207912 -0.978148 0 + outer loop + vertex -39.8992 -37.7116 1 + vertex -39.8992 -37.7116 0 + vertex -37.6498 -38.1897 1 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -37.6498 -38.1897 0 + vertex 37.6498 -38.1897 0 + vertex 37.6498 -38.1897 1 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -37.6498 -38.1897 1 + vertex -37.6498 -38.1897 0 + vertex 37.6498 -38.1897 1 + endloop + endfacet + facet normal 0.207912 -0.978148 0 + outer loop + vertex 37.6498 -38.1897 0 + vertex 39.8992 -37.7116 0 + vertex 39.8992 -37.7116 1 + endloop + endfacet + facet normal 0.207912 -0.978148 0 + outer loop + vertex 37.6498 -38.1897 1 + vertex 37.6498 -38.1897 0 + vertex 39.8992 -37.7116 1 + endloop + endfacet + facet normal 0.406737 -0.913545 0 + outer loop + vertex 39.8992 -37.7116 0 + vertex 42 -36.7763 0 + vertex 42 -36.7763 1 + endloop + endfacet + facet normal 0.406737 -0.913545 0 + outer loop + vertex 39.8992 -37.7116 1 + vertex 39.8992 -37.7116 0 + vertex 42 -36.7763 1 + endloop + endfacet + facet normal 0.587785 -0.809017 0 + outer loop + vertex 42 -36.7763 0 + vertex 43.8604 -35.4246 0 + vertex 43.8604 -35.4246 1 + endloop + endfacet + facet normal 0.587785 -0.809017 0 + outer loop + vertex 42 -36.7763 1 + vertex 42 -36.7763 0 + vertex 43.8604 -35.4246 1 + endloop + endfacet + facet normal 0.743145 -0.669131 0 + outer loop + vertex 43.8604 -35.4246 0 + vertex 45.3992 -33.7156 0 + vertex 45.3992 -33.7156 1 + endloop + endfacet + facet normal 0.743145 -0.669131 0 + outer loop + vertex 43.8604 -35.4246 1 + vertex 43.8604 -35.4246 0 + vertex 45.3992 -33.7156 1 + endloop + endfacet + facet normal 0.866025 -0.5 0 + outer loop + vertex 45.3992 -33.7156 0 + vertex 46.549 -31.7241 0 + vertex 46.549 -31.7241 1 + endloop + endfacet + facet normal 0.866025 -0.5 0 + outer loop + vertex 45.3992 -33.7156 1 + vertex 45.3992 -33.7156 0 + vertex 46.549 -31.7241 1 + endloop + endfacet + facet normal 0.951056 -0.309017 0 + outer loop + vertex 46.549 -31.7241 0 + vertex 47.2596 -29.537 0 + vertex 47.2596 -29.537 1 + endloop + endfacet + facet normal 0.951056 -0.309017 0 + outer loop + vertex 46.549 -31.7241 1 + vertex 46.549 -31.7241 0 + vertex 47.2596 -29.537 1 + endloop + endfacet + facet normal 0.994522 -0.104528 0 + outer loop + vertex 47.2596 -29.537 0 + vertex 47.5 -27.25 0 + vertex 47.5 -27.25 1 + endloop + endfacet + facet normal 0.994522 -0.104528 0 + outer loop + vertex 47.2596 -29.537 1 + vertex 47.2596 -29.537 0 + vertex 47.5 -27.25 1 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 47.5 -27.25 0 + vertex 47.5 27.25 0 + vertex 47.5 27.25 1 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 47.5 -27.25 1 + vertex 47.5 -27.25 0 + vertex 47.5 27.25 1 + endloop + endfacet + facet normal 0.743145 0.669131 0 + outer loop + vertex 43.8604 35.4246 0 + vertex 43.8604 35.4246 1 + vertex 45.3992 33.7156 1 + endloop + endfacet + facet normal 0.743145 0.669131 0 + outer loop + vertex 45.3992 33.7156 0 + vertex 43.8604 35.4246 0 + vertex 45.3992 33.7156 1 + endloop + endfacet + facet normal 0.587785 0.809017 0 + outer loop + vertex 42 36.7763 1 + vertex 43.8604 35.4246 1 + vertex 42 36.7763 0 + endloop + endfacet + facet normal 0.587785 0.809017 0 + outer loop + vertex 42 36.7763 0 + vertex 43.8604 35.4246 1 + vertex 43.8604 35.4246 0 + endloop + endfacet + facet normal 0.406737 0.913545 0 + outer loop + vertex 39.8992 37.7116 1 + vertex 42 36.7763 1 + vertex 39.8992 37.7116 0 + endloop + endfacet + facet normal 0.406737 0.913545 0 + outer loop + vertex 39.8992 37.7116 0 + vertex 42 36.7763 1 + vertex 42 36.7763 0 + endloop + endfacet + facet normal 0.207912 0.978148 0 + outer loop + vertex 37.6498 38.1897 1 + vertex 39.8992 37.7116 1 + vertex 37.6498 38.1897 0 + endloop + endfacet + facet normal 0.207912 0.978148 0 + outer loop + vertex 37.6498 38.1897 0 + vertex 39.8992 37.7116 1 + vertex 39.8992 37.7116 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -37.6498 38.1897 1 + vertex 37.6498 38.1897 1 + vertex -37.6498 38.1897 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -37.6498 38.1897 0 + vertex 37.6498 38.1897 1 + vertex 37.6498 38.1897 0 + endloop + endfacet + facet normal -0.207912 0.978148 0 + outer loop + vertex -39.8992 37.7116 1 + vertex -37.6498 38.1897 1 + vertex -39.8992 37.7116 0 + endloop + endfacet + facet normal -0.207912 0.978148 0 + outer loop + vertex -39.8992 37.7116 0 + vertex -37.6498 38.1897 1 + vertex -37.6498 38.1897 0 + endloop + endfacet + facet normal -0.406737 0.913545 0 + outer loop + vertex -42 36.7763 1 + vertex -39.8992 37.7116 1 + vertex -42 36.7763 0 + endloop + endfacet + facet normal -0.406737 0.913545 0 + outer loop + vertex -42 36.7763 0 + vertex -39.8992 37.7116 1 + vertex -39.8992 37.7116 0 + endloop + endfacet + facet normal -0.587785 0.809017 0 + outer loop + vertex -43.8604 35.4246 1 + vertex -42 36.7763 1 + vertex -43.8604 35.4246 0 + endloop + endfacet + facet normal -0.587785 0.809017 0 + outer loop + vertex -43.8604 35.4246 0 + vertex -42 36.7763 1 + vertex -42 36.7763 0 + endloop + endfacet + facet normal -0.743145 0.669131 0 + outer loop + vertex -45.3992 33.7156 1 + vertex -43.8604 35.4246 1 + vertex -45.3992 33.7156 0 + endloop + endfacet + facet normal -0.743145 0.669131 0 + outer loop + vertex -45.3992 33.7156 0 + vertex -43.8604 35.4246 1 + vertex -43.8604 35.4246 0 + endloop + endfacet + facet normal -0.866025 0.5 0 + outer loop + vertex -46.549 31.7241 1 + vertex -45.3992 33.7156 1 + vertex -46.549 31.7241 0 + endloop + endfacet + facet normal -0.866025 0.5 0 + outer loop + vertex -46.549 31.7241 0 + vertex -45.3992 33.7156 1 + vertex -45.3992 33.7156 0 + endloop + endfacet + facet normal -0.951056 0.309017 0 + outer loop + vertex -47.2596 29.537 1 + vertex -46.549 31.7241 1 + vertex -47.2596 29.537 0 + endloop + endfacet + facet normal -0.951056 0.309017 0 + outer loop + vertex -47.2596 29.537 0 + vertex -46.549 31.7241 1 + vertex -46.549 31.7241 0 + endloop + endfacet + facet normal -0.994522 0.104528 0 + outer loop + vertex -47.5 27.25 1 + vertex -47.2596 29.537 1 + vertex -47.5 27.25 0 + endloop + endfacet + facet normal -0.994522 0.104528 0 + outer loop + vertex -47.5 27.25 0 + vertex -47.2596 29.537 1 + vertex -47.2596 29.537 0 + endloop + endfacet +endsolid OpenSCAD_Model