commit 9c24455a07b6c743239f3301475ad656b702a627 parent 3fbf5317832f3f78918a2cd76e85b9fa3d1af381 Author: Louis Burda <quent.burda@gmail.com> Date: Wed, 30 Jun 2021 11:00:21 +0200 add new havoc which uploads stl models with real objects in them for fluff Diffstat:
M | checker/Dockerfile | | | 1 | - |
A | checker/src/.gitignore | | | 1 | + |
M | checker/src/checker.py | | | 36 | ++++++++++++++++++++++++++---------- |
A | checker/src/models/build.sh | | | 23 | +++++++++++++++++++++++ |
A | checker/src/models/cubes-ascii.stl | | | 506 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | checker/src/models/cubes-bin.stl | | | 0 | |
A | checker/src/models/cubes.scad | | | 13 | +++++++++++++ |
A | checker/src/models/cubes.stl | | | 506 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | checker/src/models/flag-ascii.stl | | | 618 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | checker/src/models/flag-bin.stl | | | 0 | |
A | checker/src/models/flag.scad | | | 12 | ++++++++++++ |
A | checker/src/models/flag.stl | | | 282 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | checker/src/models/syringe-ascii.stl | | | 1934 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | checker/src/models/syringe-bin.stl | | | 0 | |
A | checker/src/models/syringe.scad | | | 24 | ++++++++++++++++++++++++ |
A | checker/src/models/syringe.stl | | | 0 | |
M | service/src/main.c | | | 2 | +- |
M | src/main.c | | | 2 | +- |
M | src/msgs/motd | | | 4 | ++-- |
19 files changed, 3949 insertions(+), 15 deletions(-)
diff --git a/checker/Dockerfile b/checker/Dockerfile @@ -19,7 +19,6 @@ USER checker RUN python3 -m pip install --no-warn-script-location -r requirements.txt # build extras -ENV REVHASH_PATH=/checker/revhash/revhash RUN cd /checker/revhash && make ENTRYPOINT [ "/home/checker/.local/bin/gunicorn", "-c", "gunicorn.conf.py", "checker:app" ] diff --git a/checker/src/.gitignore b/checker/src/.gitignore @@ -0,0 +1 @@ +__pycache__ diff --git a/checker/src/checker.py b/checker/src/checker.py @@ -28,6 +28,11 @@ endsolid test\xff generic_alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmopqrstuvwxyz0123456789-+.!" +script_path = os.path.dirname(os.path.realpath(__file__)) +models_path = f"{script_path}/models" +extra_models = [f"{models_path}/{path}" for path in \ + os.listdir(models_path) if path.endswith(".stl")] + def ensure_bytes(v): if type(v) == bytes: return v @@ -64,7 +69,7 @@ def approx_equal(f1, f2, precision = 2): def reverse_hash(hashstr): if type(hashstr) is bytes: hashstr = hashstr.decode() - data = subprocess.check_output([os.getenv("REVHASH_PATH"), hashstr])[:-1] + data = subprocess.check_output([f"{script_path}/revhash/revhash", hashstr])[:-1] if data == b"": raise BrokenServiceException(f"Failed to find hash preimage of {hashstr}") return data @@ -104,7 +109,7 @@ class STLDoctorChecker(BaseChecker): flag_variants = 2 noise_variants = 2 - havoc_variants = 16 + havoc_variants = 17 exploit_variants = 2 prompt = b"\r$ " @@ -298,9 +303,8 @@ class STLDoctorChecker(BaseChecker): conn.write(stlfile) # Check for errors - _ = conn.recvline() # Modelname: - line = conn.recvline() - if b"ERR:" in line: + resp = conn.recvline() + conn.recvline() + if b"ERR:" in resp: if check: raise BrokenServiceException(f"Failed to upload model {modelname}:\n{line}") conn.recvuntil(self.prompt) @@ -308,7 +312,7 @@ class STLDoctorChecker(BaseChecker): # Parse ID try: - modelid = line.rsplit(b"!", 1)[0].split(b"with ID ", 1)[1] + modelid = resp.rsplit(b"!", 1)[0].split(b"with ID ", 1)[1] if modelid == b"": raise Exception except: raise BrokenServiceException(f"Invalid response during upload of {modelname}:\n{line}") @@ -633,6 +637,19 @@ class STLDoctorChecker(BaseChecker): self.test_list(False) elif self.variant_id == 15: self.test_list(True) + elif self.variant_id == 16: + if len(extra_models) == 0: + return + # upload spicy models + conn = self.openconn() + model = rand.choice(extra_models) + modelname = os.path.basename(model).split("-")[0] + modelname += "".join([rand.choice("0123456789") for i in range(5)]) + stlfile = open(model, "rb").read() + self.debug(stlfile) + modelid = self.do_upload(conn, modelname, stlfile) + self.check_in_search(conn, modelname, [modelname, modelid, stlfile], download = True) + self.closeconn(conn) else: raise EnoException(f"Invalid havoc variant ({self.variant_id}) provided") @@ -680,11 +697,11 @@ class STLDoctorChecker(BaseChecker): raise BrokenServiceException("Exploit did not set 'loggedin' variable via overflow") # Get private user hashes via 'list' - resp = self.do_list(conn) + resp = self.do_list(conn, check=False) + if not resp: + raise BrokenServiceException("") self.debug("List response: " + str(resp)) users = [l.split(b" .")[1] for l in resp.split(b"\n") if b">> ." in l] - if len(users) == 0: - raise BrokenServiceException("Unable to list private user hashes") self.closeconn(conn) # Login as each private user @@ -706,7 +723,6 @@ class STLDoctorChecker(BaseChecker): # List all private files of user resp = self.do_list(conn) - self.closeconn(conn) # Search for flag in solid names names = b"\n".join([l.split(b": ", 1)[1] for l in resp.split(b"\n") if b"Solid Name: " in l]) diff --git a/checker/src/models/build.sh b/checker/src/models/build.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +gen() { + output=$(openscad --export-format $1 $2 -o $3 2>&1) + if [ $? -ne 0 ]; then + echo "OPENSCAD LOG:" + echo "$output" + exit 1 + fi + size=$(($(cat $3 | wc -c))) + printf "GEN %-20s: " "$3" + if [ $size -ge 50000 ]; then + echo "skipped (too large)" + rm "$3" + else + echo "done" + fi +} + +for fname in $(ls *.scad); do + gen binstl $fname ${fname%.scad}-bin.stl + gen asciistl $fname ${fname%.scad}-ascii.stl +done diff --git a/checker/src/models/cubes-ascii.stl b/checker/src/models/cubes-ascii.stl @@ -0,0 +1,506 @@ +solid OpenSCAD_Model + facet normal -0 0 1 + outer loop + vertex -11.4086 -2.98836 5 + vertex -1.66667 -5 5 + vertex -1.66667 4.10765 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.4086 -2.98836 5 + vertex -1.66667 4.10765 5 + vertex -7.98836 6.40856 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.66667 -5 5 + vertex -11.4086 -2.98836 5 + vertex -2.01164 -6.40856 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.49896 -5 5 + vertex -1.66667 -5 5 + vertex -2.01164 -6.40856 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.372597 -5 5 + vertex -1.49896 -5 5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 8.33333 -0.372597 5 + vertex 2.12147 -0.416752 5 + vertex 8.33333 0.126715 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2.12147 -0.416752 5 + vertex 1.40856 2.98836 5 + vertex 1.64757 5 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.0220356 -4.24822 5 + vertex 2.12147 -0.416752 5 + vertex 8.33333 -0.372597 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.49896 -5 5 + vertex 2.12147 -0.416752 5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 2.12147 -0.416752 5 + vertex -1.49896 -5 5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.66667 4.10765 5 + vertex 1.64757 5 5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 1.64757 5 5 + vertex -1.66667 4.10765 5 + vertex -1.66667 5 5 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.24991 9.54519 5 + vertex 8.33333 5 5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 5 5 + vertex 1.24991 9.54519 5 + vertex 1.64757 5 5 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 8.33333 5 5 + vertex 12.0834 0.454804 5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0834 0.454804 5 + vertex 8.33333 5 5 + vertex 8.33333 0.126715 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 -5 5 + vertex 9.08511 -0.0220356 5 + vertex 8.33333 -0.372597 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.08511 -0.0220356 5 + vertex 8.33333 -5 5 + vertex 13.3113 -9.08511 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 -5 5 + vertex 4.24822 -13.3113 5 + vertex 13.3113 -9.08511 5 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 4.24822 -13.3113 5 + vertex 8.33333 -5 5 + vertex 0.372597 -5 5 + endloop + endfacet + facet normal -0.342019 -0.939693 0 + outer loop + vertex -11.4086 -2.98836 -5 + vertex -2.01164 -6.40856 5 + vertex -11.4086 -2.98836 5 + endloop + endfacet + facet normal -0.342019 -0.939693 -0 + outer loop + vertex -2.01164 -6.40856 5 + vertex -11.4086 -2.98836 -5 + vertex -2.01164 -6.40856 -5 + endloop + endfacet + facet normal -0.939691 0.342024 0 + outer loop + vertex -11.4086 -2.98836 -5 + vertex -7.98836 6.40856 5 + vertex -7.98836 6.40856 -5 + endloop + endfacet + facet normal -0.939691 0.342024 0 + outer loop + vertex -7.98836 6.40856 5 + vertex -11.4086 -2.98836 -5 + vertex -11.4086 -2.98836 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.01164 -6.40856 -5 + vertex -7.98836 6.40856 -5 + vertex 1.40856 2.98836 -5 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -7.98836 6.40856 -5 + vertex -2.01164 -6.40856 -5 + vertex -11.4086 -2.98836 -5 + endloop + endfacet + facet normal 0.939693 -0.34202 0 + outer loop + vertex -1.49896 -5 5 + vertex 1.40856 2.98836 -5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal 0.939691 -0.342024 0 + outer loop + vertex -2.01164 -6.40856 -5 + vertex -1.49896 -5 5 + vertex -2.01164 -6.40856 5 + endloop + endfacet + facet normal 0.939693 -0.34202 -5.60336e-07 + outer loop + vertex -1.49896 -5 5 + vertex -2.01164 -6.40856 -5 + vertex 1.40856 2.98836 -5 + endloop + endfacet + facet normal 0.34202 0.939693 -0 + outer loop + vertex 1.40856 2.98836 -5 + vertex -1.66667 4.10765 5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal 0.34202 0.939693 2.30592e-07 + outer loop + vertex -7.98836 6.40856 -5 + vertex -1.66667 4.10765 5 + vertex 1.40856 2.98836 -5 + endloop + endfacet + facet normal 0.342021 0.939692 0 + outer loop + vertex -1.66667 4.10765 5 + vertex -7.98836 6.40856 -5 + vertex -7.98836 6.40856 5 + endloop + endfacet + facet normal -0.906307 -0.422619 0 + outer loop + vertex 0.0220356 -4.24822 -5 + vertex 0.372597 -5 5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal -0.906308 -0.422618 5.10488e-08 + outer loop + vertex 4.24822 -13.3113 -5 + vertex 0.372597 -5 5 + vertex 0.0220356 -4.24822 -5 + endloop + endfacet + facet normal -0.906308 -0.422618 0 + outer loop + vertex 0.372597 -5 5 + vertex 4.24822 -13.3113 -5 + vertex 4.24822 -13.3113 5 + endloop + endfacet + facet normal -0.422619 0.906307 0 + outer loop + vertex 9.08511 -0.0220356 -5 + vertex 8.33333 -0.372597 5 + vertex 9.08511 -0.0220356 5 + endloop + endfacet + facet normal -0.422619 0.906308 3.14174e-08 + outer loop + vertex 0.0220356 -4.24822 -5 + vertex 8.33333 -0.372597 5 + vertex 9.08511 -0.0220356 -5 + endloop + endfacet + facet normal -0.422619 0.906308 0 + outer loop + vertex 8.33333 -0.372597 5 + vertex 0.0220356 -4.24822 -5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.24822 -13.3113 -5 + vertex 9.08511 -0.0220356 -5 + vertex 13.3113 -9.08511 -5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 9.08511 -0.0220356 -5 + vertex 4.24822 -13.3113 -5 + vertex 0.0220356 -4.24822 -5 + endloop + endfacet + facet normal 0.422619 -0.906308 0 + outer loop + vertex 4.24822 -13.3113 -5 + vertex 13.3113 -9.08511 5 + vertex 4.24822 -13.3113 5 + endloop + endfacet + facet normal 0.422619 -0.906308 0 + outer loop + vertex 13.3113 -9.08511 5 + vertex 4.24822 -13.3113 -5 + vertex 13.3113 -9.08511 -5 + endloop + endfacet + facet normal 0.906307 0.422619 0 + outer loop + vertex 13.3113 -9.08511 5 + vertex 9.08511 -0.0220356 -5 + vertex 9.08511 -0.0220356 5 + endloop + endfacet + facet normal 0.906307 0.422619 0 + outer loop + vertex 9.08511 -0.0220356 -5 + vertex 13.3113 -9.08511 5 + vertex 13.3113 -9.08511 -5 + endloop + endfacet + facet normal -0.996195 -0.0871574 0 + outer loop + vertex 1.24991 9.54519 -5 + vertex 1.64757 5 5 + vertex 1.24991 9.54519 5 + endloop + endfacet + facet normal -0.996195 -0.087156 6.00593e-07 + outer loop + vertex 2.12147 -0.416752 -5 + vertex 1.64757 5 5 + vertex 1.24991 9.54519 -5 + endloop + endfacet + facet normal -0.996195 -0.0871549 0 + outer loop + vertex 1.64757 5 5 + vertex 2.12147 -0.416752 -5 + vertex 2.12147 -0.416752 5 + endloop + endfacet + facet normal -0.0871606 0.996194 0 + outer loop + vertex 11.2119 10.4168 -5 + vertex 1.24991 9.54519 5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal -0.0871606 0.996194 0 + outer loop + vertex 1.24991 9.54519 5 + vertex 11.2119 10.4168 -5 + vertex 1.24991 9.54519 -5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2.12147 -0.416752 -5 + vertex 11.2119 10.4168 -5 + vertex 12.0834 0.454804 -5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 11.2119 10.4168 -5 + vertex 2.12147 -0.416752 -5 + vertex 1.24991 9.54519 -5 + endloop + endfacet + facet normal 0.0871557 -0.996195 0 + outer loop + vertex 2.12147 -0.416752 -5 + vertex 8.33333 0.126715 5 + vertex 2.12147 -0.416752 5 + endloop + endfacet + facet normal 0.0871557 -0.996195 -3.64286e-08 + outer loop + vertex 12.0834 0.454804 -5 + vertex 8.33333 0.126715 5 + vertex 2.12147 -0.416752 -5 + endloop + endfacet + facet normal 0.0871558 -0.996195 0 + outer loop + vertex 8.33333 0.126715 5 + vertex 12.0834 0.454804 -5 + vertex 12.0834 0.454804 5 + endloop + endfacet + facet normal 0.996195 0.0871496 0 + outer loop + vertex 12.0834 0.454804 5 + vertex 11.2119 10.4168 -5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal 0.996195 0.0871496 0 + outer loop + vertex 11.2119 10.4168 -5 + vertex 12.0834 0.454804 5 + vertex 12.0834 0.454804 -5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 8.33333 5 15 + vertex 8.33333 0.126715 5 + vertex 8.33333 5 5 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 8.33333 -5 15 + vertex 8.33333 0.126715 5 + vertex 8.33333 5 15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 8.33333 0.126715 5 + vertex 8.33333 -5 15 + vertex 8.33333 -0.372597 5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 8.33333 -0.372597 5 + vertex 8.33333 -5 15 + vertex 8.33333 -5 5 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -1.66667 5 15 + vertex 8.33333 -5 15 + vertex 8.33333 5 15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 -5 15 + vertex -1.66667 5 15 + vertex -1.66667 -5 15 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -1.66667 4.10765 5 + vertex -1.66667 5 15 + vertex -1.66667 5 5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -1.66667 -5 15 + vertex -1.66667 4.10765 5 + vertex -1.66667 -5 5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -1.66667 4.10765 5 + vertex -1.66667 -5 15 + vertex -1.66667 5 15 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 1.64757 5 5 + vertex 8.33333 5 15 + vertex 8.33333 5 5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 8.33333 5 15 + vertex 1.64757 5 5 + vertex -1.66667 5 15 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -1.66667 5 15 + vertex 1.64757 5 5 + vertex -1.66667 5 5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -1.49896 -5 5 + vertex -1.66667 -5 15 + vertex -1.66667 -5 5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.372597 -5 5 + vertex -1.66667 -5 15 + vertex -1.49896 -5 5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -1.66667 -5 15 + vertex 0.372597 -5 5 + vertex 8.33333 -5 15 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 8.33333 -5 15 + vertex 0.372597 -5 5 + vertex 8.33333 -5 5 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/checker/src/models/cubes-bin.stl b/checker/src/models/cubes-bin.stl Binary files differ. diff --git a/checker/src/models/cubes.scad b/checker/src/models/cubes.scad @@ -0,0 +1,13 @@ +cube_size = 10; + +translate([-cube_size/2, 0, 0]) + rotate(70, [0, 0, 1]) + cube(cube_size, center = true); +translate([cube_size*2/3, -cube_size*2/3, 0]) + rotate(25, [0, 0, 1]) + cube(cube_size, center = true); +translate([cube_size*2/3, cube_size/2, 0]) + rotate(5, [0, 0, 1]) + cube(cube_size, center = true); +translate([cube_size/3, 0, cube_size]) + cube(cube_size, center = true); diff --git a/checker/src/models/cubes.stl b/checker/src/models/cubes.stl @@ -0,0 +1,506 @@ +solid OpenSCAD_Model + facet normal -0 0 1 + outer loop + vertex -11.4086 -2.98836 5 + vertex -1.66667 -5 5 + vertex -1.66667 4.10765 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.4086 -2.98836 5 + vertex -1.66667 4.10765 5 + vertex -7.98836 6.40856 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.66667 -5 5 + vertex -11.4086 -2.98836 5 + vertex -2.01164 -6.40856 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.49896 -5 5 + vertex -1.66667 -5 5 + vertex -2.01164 -6.40856 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.372597 -5 5 + vertex -1.49896 -5 5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 8.33333 -0.372597 5 + vertex 2.12147 -0.416752 5 + vertex 8.33333 0.126715 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2.12147 -0.416752 5 + vertex 1.40856 2.98836 5 + vertex 1.64757 5 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.0220356 -4.24822 5 + vertex 2.12147 -0.416752 5 + vertex 8.33333 -0.372597 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.49896 -5 5 + vertex 2.12147 -0.416752 5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 2.12147 -0.416752 5 + vertex -1.49896 -5 5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.66667 4.10765 5 + vertex 1.64757 5 5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 1.64757 5 5 + vertex -1.66667 4.10765 5 + vertex -1.66667 5 5 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.24991 9.54519 5 + vertex 8.33333 5 5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 5 5 + vertex 1.24991 9.54519 5 + vertex 1.64757 5 5 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 8.33333 5 5 + vertex 12.0834 0.454804 5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.0834 0.454804 5 + vertex 8.33333 5 5 + vertex 8.33333 0.126715 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 -5 5 + vertex 9.08511 -0.0220356 5 + vertex 8.33333 -0.372597 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.08511 -0.0220356 5 + vertex 8.33333 -5 5 + vertex 13.3113 -9.08511 5 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 -5 5 + vertex 4.24822 -13.3113 5 + vertex 13.3113 -9.08511 5 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex 4.24822 -13.3113 5 + vertex 8.33333 -5 5 + vertex 0.372597 -5 5 + endloop + endfacet + facet normal -0.342019 -0.939693 0 + outer loop + vertex -11.4086 -2.98836 -5 + vertex -2.01164 -6.40856 5 + vertex -11.4086 -2.98836 5 + endloop + endfacet + facet normal -0.342019 -0.939693 -0 + outer loop + vertex -2.01164 -6.40856 5 + vertex -11.4086 -2.98836 -5 + vertex -2.01164 -6.40856 -5 + endloop + endfacet + facet normal -0.939691 0.342024 0 + outer loop + vertex -11.4086 -2.98836 -5 + vertex -7.98836 6.40856 5 + vertex -7.98836 6.40856 -5 + endloop + endfacet + facet normal -0.939691 0.342024 0 + outer loop + vertex -7.98836 6.40856 5 + vertex -11.4086 -2.98836 -5 + vertex -11.4086 -2.98836 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.01164 -6.40856 -5 + vertex -7.98836 6.40856 -5 + vertex 1.40856 2.98836 -5 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -7.98836 6.40856 -5 + vertex -2.01164 -6.40856 -5 + vertex -11.4086 -2.98836 -5 + endloop + endfacet + facet normal 0.939693 -0.34202 0 + outer loop + vertex -1.49896 -5 5 + vertex 1.40856 2.98836 -5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal 0.939691 -0.342024 0 + outer loop + vertex -2.01164 -6.40856 -5 + vertex -1.49896 -5 5 + vertex -2.01164 -6.40856 5 + endloop + endfacet + facet normal 0.939693 -0.34202 -5.60336e-07 + outer loop + vertex -1.49896 -5 5 + vertex -2.01164 -6.40856 -5 + vertex 1.40856 2.98836 -5 + endloop + endfacet + facet normal 0.34202 0.939693 -0 + outer loop + vertex 1.40856 2.98836 -5 + vertex -1.66667 4.10765 5 + vertex 1.40856 2.98836 5 + endloop + endfacet + facet normal 0.34202 0.939693 2.30592e-07 + outer loop + vertex -7.98836 6.40856 -5 + vertex -1.66667 4.10765 5 + vertex 1.40856 2.98836 -5 + endloop + endfacet + facet normal 0.342021 0.939692 0 + outer loop + vertex -1.66667 4.10765 5 + vertex -7.98836 6.40856 -5 + vertex -7.98836 6.40856 5 + endloop + endfacet + facet normal -0.906307 -0.422619 0 + outer loop + vertex 0.0220356 -4.24822 -5 + vertex 0.372597 -5 5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal -0.906308 -0.422618 5.10488e-08 + outer loop + vertex 4.24822 -13.3113 -5 + vertex 0.372597 -5 5 + vertex 0.0220356 -4.24822 -5 + endloop + endfacet + facet normal -0.906308 -0.422618 0 + outer loop + vertex 0.372597 -5 5 + vertex 4.24822 -13.3113 -5 + vertex 4.24822 -13.3113 5 + endloop + endfacet + facet normal -0.422619 0.906307 0 + outer loop + vertex 9.08511 -0.0220356 -5 + vertex 8.33333 -0.372597 5 + vertex 9.08511 -0.0220356 5 + endloop + endfacet + facet normal -0.422619 0.906308 3.14174e-08 + outer loop + vertex 0.0220356 -4.24822 -5 + vertex 8.33333 -0.372597 5 + vertex 9.08511 -0.0220356 -5 + endloop + endfacet + facet normal -0.422619 0.906308 0 + outer loop + vertex 8.33333 -0.372597 5 + vertex 0.0220356 -4.24822 -5 + vertex 0.0220356 -4.24822 5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.24822 -13.3113 -5 + vertex 9.08511 -0.0220356 -5 + vertex 13.3113 -9.08511 -5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 9.08511 -0.0220356 -5 + vertex 4.24822 -13.3113 -5 + vertex 0.0220356 -4.24822 -5 + endloop + endfacet + facet normal 0.422619 -0.906308 0 + outer loop + vertex 4.24822 -13.3113 -5 + vertex 13.3113 -9.08511 5 + vertex 4.24822 -13.3113 5 + endloop + endfacet + facet normal 0.422619 -0.906308 0 + outer loop + vertex 13.3113 -9.08511 5 + vertex 4.24822 -13.3113 -5 + vertex 13.3113 -9.08511 -5 + endloop + endfacet + facet normal 0.906307 0.422619 0 + outer loop + vertex 13.3113 -9.08511 5 + vertex 9.08511 -0.0220356 -5 + vertex 9.08511 -0.0220356 5 + endloop + endfacet + facet normal 0.906307 0.422619 0 + outer loop + vertex 9.08511 -0.0220356 -5 + vertex 13.3113 -9.08511 5 + vertex 13.3113 -9.08511 -5 + endloop + endfacet + facet normal -0.996195 -0.0871574 0 + outer loop + vertex 1.24991 9.54519 -5 + vertex 1.64757 5 5 + vertex 1.24991 9.54519 5 + endloop + endfacet + facet normal -0.996195 -0.087156 6.00593e-07 + outer loop + vertex 2.12147 -0.416752 -5 + vertex 1.64757 5 5 + vertex 1.24991 9.54519 -5 + endloop + endfacet + facet normal -0.996195 -0.0871549 0 + outer loop + vertex 1.64757 5 5 + vertex 2.12147 -0.416752 -5 + vertex 2.12147 -0.416752 5 + endloop + endfacet + facet normal -0.0871606 0.996194 0 + outer loop + vertex 11.2119 10.4168 -5 + vertex 1.24991 9.54519 5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal -0.0871606 0.996194 0 + outer loop + vertex 1.24991 9.54519 5 + vertex 11.2119 10.4168 -5 + vertex 1.24991 9.54519 -5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2.12147 -0.416752 -5 + vertex 11.2119 10.4168 -5 + vertex 12.0834 0.454804 -5 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 11.2119 10.4168 -5 + vertex 2.12147 -0.416752 -5 + vertex 1.24991 9.54519 -5 + endloop + endfacet + facet normal 0.0871557 -0.996195 0 + outer loop + vertex 2.12147 -0.416752 -5 + vertex 8.33333 0.126715 5 + vertex 2.12147 -0.416752 5 + endloop + endfacet + facet normal 0.0871557 -0.996195 -3.64286e-08 + outer loop + vertex 12.0834 0.454804 -5 + vertex 8.33333 0.126715 5 + vertex 2.12147 -0.416752 -5 + endloop + endfacet + facet normal 0.0871558 -0.996195 0 + outer loop + vertex 8.33333 0.126715 5 + vertex 12.0834 0.454804 -5 + vertex 12.0834 0.454804 5 + endloop + endfacet + facet normal 0.996195 0.0871496 0 + outer loop + vertex 12.0834 0.454804 5 + vertex 11.2119 10.4168 -5 + vertex 11.2119 10.4168 5 + endloop + endfacet + facet normal 0.996195 0.0871496 0 + outer loop + vertex 11.2119 10.4168 -5 + vertex 12.0834 0.454804 5 + vertex 12.0834 0.454804 -5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 8.33333 5 15 + vertex 8.33333 0.126715 5 + vertex 8.33333 5 5 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 8.33333 -5 15 + vertex 8.33333 0.126715 5 + vertex 8.33333 5 15 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 8.33333 0.126715 5 + vertex 8.33333 -5 15 + vertex 8.33333 -0.372597 5 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 8.33333 -0.372597 5 + vertex 8.33333 -5 15 + vertex 8.33333 -5 5 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -1.66667 5 15 + vertex 8.33333 -5 15 + vertex 8.33333 5 15 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.33333 -5 15 + vertex -1.66667 5 15 + vertex -1.66667 -5 15 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -1.66667 4.10765 5 + vertex -1.66667 5 15 + vertex -1.66667 5 5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -1.66667 -5 15 + vertex -1.66667 4.10765 5 + vertex -1.66667 -5 5 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -1.66667 4.10765 5 + vertex -1.66667 -5 15 + vertex -1.66667 5 15 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 1.64757 5 5 + vertex 8.33333 5 15 + vertex 8.33333 5 5 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 8.33333 5 15 + vertex 1.64757 5 5 + vertex -1.66667 5 15 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -1.66667 5 15 + vertex 1.64757 5 5 + vertex -1.66667 5 5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -1.49896 -5 5 + vertex -1.66667 -5 15 + vertex -1.66667 -5 5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.372597 -5 5 + vertex -1.66667 -5 15 + vertex -1.49896 -5 5 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -1.66667 -5 15 + vertex 0.372597 -5 5 + vertex 8.33333 -5 15 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 8.33333 -5 15 + vertex 0.372597 -5 5 + vertex 8.33333 -5 5 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/checker/src/models/flag-ascii.stl b/checker/src/models/flag-ascii.stl @@ -0,0 +1,618 @@ +solid OpenSCAD_Model + facet normal 0.891006 0.453992 0 + outer loop + vertex 0.475528 0.154508 25 + vertex 0.404508 0.293892 0 + vertex 0.404508 0.293892 25 + endloop + endfacet + facet normal 0.891006 0.453992 0 + outer loop + vertex 0.404508 0.293892 0 + vertex 0.475528 0.154508 25 + vertex 0.475528 0.154508 0 + endloop + endfacet + facet normal 0.987688 0.156437 0 + outer loop + vertex 0.5 0 25 + vertex 0.475528 0.154508 0 + vertex 0.475528 0.154508 25 + endloop + endfacet + facet normal 0.987688 0.156437 0 + outer loop + vertex 0.475528 0.154508 0 + vertex 0.5 0 25 + vertex 0.5 0 0 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 0.404508 0.293892 25 + vertex 0.293892 0.404508 0 + vertex 0.293892 0.404508 25 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 0.293892 0.404508 0 + vertex 0.404508 0.293892 25 + vertex 0.404508 0.293892 0 + endloop + endfacet + facet normal 0.156437 0.987688 -0 + outer loop + vertex 0.154508 0.475528 0 + vertex 0 0.5 25 + vertex 0.154508 0.475528 25 + endloop + endfacet + facet normal 0.156437 0.987688 0 + outer loop + vertex 0 0.5 25 + vertex 0.154508 0.475528 0 + vertex 0 0.5 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.475528 -0.154508 0 + vertex 0.475528 0.154508 0 + vertex 0.5 0 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.404508 -0.293892 0 + vertex 0.475528 0.154508 0 + vertex 0.475528 -0.154508 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.404508 -0.293892 0 + vertex 0.404508 0.293892 0 + vertex 0.475528 0.154508 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.293892 -0.404508 0 + vertex 0.404508 0.293892 0 + vertex 0.404508 -0.293892 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.293892 -0.404508 0 + vertex 0.293892 0.404508 0 + vertex 0.404508 0.293892 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.154508 -0.475528 0 + vertex 0.293892 0.404508 0 + vertex 0.293892 -0.404508 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.154508 -0.475528 0 + vertex 0.154508 0.475528 0 + vertex 0.293892 0.404508 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -0.5 0 + vertex 0.154508 0.475528 0 + vertex 0.154508 -0.475528 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -0.5 0 + vertex 0 0.5 0 + vertex 0.154508 0.475528 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.154508 -0.475528 0 + vertex 0 0.5 0 + vertex 0 -0.5 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.154508 -0.475528 0 + vertex -0.154508 0.475528 0 + vertex 0 0.5 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.293892 -0.404508 0 + vertex -0.154508 0.475528 0 + vertex -0.154508 -0.475528 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.293892 -0.404508 0 + vertex -0.293892 0.404508 0 + vertex -0.154508 0.475528 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.404508 -0.293892 0 + vertex -0.293892 0.404508 0 + vertex -0.293892 -0.404508 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.404508 -0.293892 0 + vertex -0.404508 0.293892 0 + vertex -0.293892 0.404508 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.475528 -0.154508 0 + vertex -0.404508 0.293892 0 + vertex -0.404508 -0.293892 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.475528 -0.154508 0 + vertex -0.475528 0.154508 0 + vertex -0.404508 0.293892 0 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -0.475528 0.154508 0 + vertex -0.475528 -0.154508 0 + vertex -0.5 0 0 + endloop + endfacet + facet normal -0.987688 0.156437 0 + outer loop + vertex -0.5 0 0 + vertex -0.475528 0.154508 30 + vertex -0.475528 0.154508 0 + endloop + endfacet + facet normal -0.987688 0.156437 0 + outer loop + vertex -0.475528 0.154508 30 + vertex -0.5 0 0 + vertex -0.5 0 30 + endloop + endfacet + facet normal 0.453992 0.891006 -0 + outer loop + vertex 0.293892 0.404508 0 + vertex 0.154508 0.475528 25 + vertex 0.293892 0.404508 25 + endloop + endfacet + facet normal 0.453992 0.891006 0 + outer loop + vertex 0.154508 0.475528 25 + vertex 0.293892 0.404508 0 + vertex 0.154508 0.475528 0 + endloop + endfacet + facet normal -0.453992 0.891006 0 + outer loop + vertex -0.154508 0.475528 0 + vertex -0.293892 0.404508 30 + vertex -0.154508 0.475528 30 + endloop + endfacet + facet normal -0.453992 0.891006 0 + outer loop + vertex -0.293892 0.404508 30 + vertex -0.154508 0.475528 0 + vertex -0.293892 0.404508 0 + endloop + endfacet + facet normal -0.156437 -0.987688 0 + outer loop + vertex -0.154508 -0.475528 30 + vertex 0 -0.5 25 + vertex 0 -0.5 30 + endloop + endfacet + facet normal -0.156437 -0.987688 0 + outer loop + vertex -0.154508 -0.475528 0 + vertex 0 -0.5 25 + vertex -0.154508 -0.475528 30 + endloop + endfacet + facet normal -0.156437 -0.987688 -0 + outer loop + vertex 0 -0.5 25 + vertex -0.154508 -0.475528 0 + vertex 0 -0.5 0 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 0.293892 -0.404508 25 + vertex 0.404508 -0.293892 0 + vertex 0.404508 -0.293892 25 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 0.404508 -0.293892 0 + vertex 0.293892 -0.404508 25 + vertex 0.293892 -0.404508 0 + endloop + endfacet + facet normal -0.891006 -0.453992 0 + outer loop + vertex -0.404508 -0.293892 0 + vertex -0.475528 -0.154508 30 + vertex -0.475528 -0.154508 0 + endloop + endfacet + facet normal -0.891006 -0.453992 0 + outer loop + vertex -0.475528 -0.154508 30 + vertex -0.404508 -0.293892 0 + vertex -0.404508 -0.293892 30 + endloop + endfacet + facet normal -0.156437 0.987688 0 + outer loop + vertex 0 0.5 25 + vertex -0.154508 0.475528 30 + vertex 0 0.5 30 + endloop + endfacet + facet normal -0.156437 0.987688 0 + outer loop + vertex -0.154508 0.475528 0 + vertex 0 0.5 25 + vertex 0 0.5 0 + endloop + endfacet + facet normal -0.156437 0.987688 0 + outer loop + vertex 0 0.5 25 + vertex -0.154508 0.475528 0 + vertex -0.154508 0.475528 30 + endloop + endfacet + facet normal 0.453992 -0.891006 0 + outer loop + vertex 0.154508 -0.475528 0 + vertex 0.293892 -0.404508 25 + vertex 0.154508 -0.475528 25 + endloop + endfacet + facet normal 0.453992 -0.891006 0 + outer loop + vertex 0.293892 -0.404508 25 + vertex 0.154508 -0.475528 0 + vertex 0.293892 -0.404508 0 + endloop + endfacet + facet normal 0.156437 -0.987688 0 + outer loop + vertex 0 -0.5 0 + vertex 0.154508 -0.475528 25 + vertex 0 -0.5 25 + endloop + endfacet + facet normal 0.156437 -0.987688 0 + outer loop + vertex 0.154508 -0.475528 25 + vertex 0 -0.5 0 + vertex 0.154508 -0.475528 0 + endloop + endfacet + facet normal -0.987688 -0.156437 0 + outer loop + vertex -0.475528 -0.154508 0 + vertex -0.5 0 30 + vertex -0.5 0 0 + endloop + endfacet + facet normal -0.987688 -0.156437 0 + outer loop + vertex -0.5 0 30 + vertex -0.475528 -0.154508 0 + vertex -0.475528 -0.154508 30 + endloop + endfacet + facet normal -0.891006 0.453992 0 + outer loop + vertex -0.475528 0.154508 0 + vertex -0.404508 0.293892 30 + vertex -0.404508 0.293892 0 + endloop + endfacet + facet normal -0.891006 0.453992 0 + outer loop + vertex -0.404508 0.293892 30 + vertex -0.475528 0.154508 0 + vertex -0.475528 0.154508 30 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -0.404508 0.293892 0 + vertex -0.293892 0.404508 30 + vertex -0.293892 0.404508 0 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -0.293892 0.404508 30 + vertex -0.404508 0.293892 0 + vertex -0.404508 0.293892 30 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0 0.5 30 + vertex 10 -0.5 30 + vertex 10 0.5 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0.5 30 + vertex 0 -0.5 30 + vertex 10 -0.5 30 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.154508 0.475528 30 + vertex 0 -0.5 30 + vertex 0 0.5 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.154508 0.475528 30 + vertex -0.154508 -0.475528 30 + vertex 0 -0.5 30 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.293892 0.404508 30 + vertex -0.154508 -0.475528 30 + vertex -0.154508 0.475528 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.293892 0.404508 30 + vertex -0.293892 -0.404508 30 + vertex -0.154508 -0.475528 30 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.404508 0.293892 30 + vertex -0.293892 -0.404508 30 + vertex -0.293892 0.404508 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.404508 0.293892 30 + vertex -0.404508 -0.293892 30 + vertex -0.293892 -0.404508 30 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.475528 0.154508 30 + vertex -0.404508 -0.293892 30 + vertex -0.404508 0.293892 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.475528 0.154508 30 + vertex -0.475528 -0.154508 30 + vertex -0.404508 -0.293892 30 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -0.475528 -0.154508 30 + vertex -0.475528 0.154508 30 + vertex -0.5 0 30 + endloop + endfacet + facet normal 0.891006 -0.453992 0 + outer loop + vertex 0.404508 -0.293892 25 + vertex 0.475528 -0.154508 0 + vertex 0.475528 -0.154508 25 + endloop + endfacet + facet normal 0.891006 -0.453992 0 + outer loop + vertex 0.475528 -0.154508 0 + vertex 0.404508 -0.293892 25 + vertex 0.404508 -0.293892 0 + endloop + endfacet + facet normal 0.987688 -0.156437 0 + outer loop + vertex 0.475528 -0.154508 25 + vertex 0.5 0 0 + vertex 0.5 0 25 + endloop + endfacet + facet normal 0.987688 -0.156437 0 + outer loop + vertex 0.5 0 0 + vertex 0.475528 -0.154508 25 + vertex 0.475528 -0.154508 0 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -0.293892 -0.404508 0 + vertex -0.404508 -0.293892 30 + vertex -0.404508 -0.293892 0 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -0.404508 -0.293892 30 + vertex -0.293892 -0.404508 0 + vertex -0.293892 -0.404508 30 + endloop + endfacet + facet normal -0.453992 -0.891006 0 + outer loop + vertex -0.293892 -0.404508 0 + vertex -0.154508 -0.475528 30 + vertex -0.293892 -0.404508 30 + endloop + endfacet + facet normal -0.453992 -0.891006 -0 + outer loop + vertex -0.154508 -0.475528 30 + vertex -0.293892 -0.404508 0 + vertex -0.154508 -0.475528 0 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 10 -0.5 30 + vertex 10 0.5 25 + vertex 10 0.5 30 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 10 0.5 25 + vertex 10 -0.5 30 + vertex 10 -0.5 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -0.5 25 + vertex 0.5 0 25 + vertex 10 0.5 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -0.5 25 + vertex 0.475528 -0.154508 25 + vertex 0.5 0 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -0.5 25 + vertex 0.404508 -0.293892 25 + vertex 0.475528 -0.154508 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -0.5 25 + vertex 0.293892 -0.404508 25 + vertex 0.404508 -0.293892 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -0.5 25 + vertex 0.154508 -0.475528 25 + vertex 0.293892 -0.404508 25 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 0.154508 -0.475528 25 + vertex 10 -0.5 25 + vertex 0 -0.5 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.475528 0.154508 25 + vertex 10 0.5 25 + vertex 0.5 0 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.404508 0.293892 25 + vertex 10 0.5 25 + vertex 0.475528 0.154508 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.293892 0.404508 25 + vertex 10 0.5 25 + vertex 0.404508 0.293892 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.154508 0.475528 25 + vertex 10 0.5 25 + vertex 0.293892 0.404508 25 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 10 0.5 25 + vertex 0.154508 0.475528 25 + vertex 0 0.5 25 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 10 0.5 25 + vertex 0 0.5 30 + vertex 10 0.5 30 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0 0.5 30 + vertex 10 0.5 25 + vertex 0 0.5 25 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 -0.5 25 + vertex 10 -0.5 30 + vertex 0 -0.5 30 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 10 -0.5 30 + vertex 0 -0.5 25 + vertex 10 -0.5 25 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/checker/src/models/flag-bin.stl b/checker/src/models/flag-bin.stl Binary files differ. diff --git a/checker/src/models/flag.scad b/checker/src/models/flag.scad @@ -0,0 +1,12 @@ +$fn = 20; + +thickness = 1; + +pole_height = 30; + +flag_height = 5; +flag_width = 10; + +cylinder(h = pole_height, r = thickness / 2); +translate([0, -thickness/2, pole_height - flag_height]) + cube([flag_width, thickness, flag_height]); diff --git a/checker/src/models/flag.stl b/checker/src/models/flag.stl @@ -0,0 +1,282 @@ +solid OpenSCAD_Model + facet normal -0.309018 -0.951056 0 + outer loop + vertex -0.404508 -0.293892 30 + vertex 0 -0.425325 25 + vertex 0 -0.425325 30 + endloop + endfacet + facet normal -0.309018 -0.951056 0 + outer loop + vertex -0.404508 -0.293892 0 + vertex 0 -0.425325 25 + vertex -0.404508 -0.293892 30 + endloop + endfacet + facet normal -0.309018 -0.951056 4.43428e-09 + outer loop + vertex 0.154508 -0.475528 0 + vertex 0 -0.425325 25 + vertex -0.404508 -0.293892 0 + endloop + endfacet + facet normal -0.309019 -0.951056 0 + outer loop + vertex 0 -0.425325 25 + vertex 0.154508 -0.475528 0 + vertex 0.154508 -0.475528 25 + endloop + endfacet + facet normal -0.309019 0.951056 0 + outer loop + vertex 0.154508 0.475528 25 + vertex 0.154508 0.475528 0 + vertex 0 0.425325 25 + endloop + endfacet + facet normal -0.309018 0.951056 0 + outer loop + vertex 0 0.425325 25 + vertex -0.404508 0.293892 30 + vertex 0 0.425325 30 + endloop + endfacet + facet normal -0.309018 0.951056 4.43428e-09 + outer loop + vertex -0.404508 0.293892 0 + vertex 0 0.425325 25 + vertex 0.154508 0.475528 0 + endloop + endfacet + facet normal -0.309018 0.951056 0 + outer loop + vertex 0 0.425325 25 + vertex -0.404508 0.293892 0 + vertex -0.404508 0.293892 30 + endloop + endfacet + facet normal 0.809016 0.587786 0 + outer loop + vertex 0.5 0 25 + vertex 0.154508 0.475528 0 + vertex 0.154508 0.475528 25 + endloop + endfacet + facet normal 0.809016 0.587786 0 + outer loop + vertex 0.154508 0.475528 0 + vertex 0.5 0 25 + vertex 0.5 0 0 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -0.404508 -0.293892 0 + vertex -0.404508 0.293892 30 + vertex -0.404508 0.293892 0 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -0.404508 0.293892 30 + vertex -0.404508 -0.293892 0 + vertex -0.404508 -0.293892 30 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.404508 0.293892 30 + vertex 0 -0.425325 30 + vertex 0 0.425325 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 -0.425325 30 + vertex -0.404508 0.293892 30 + vertex -0.404508 -0.293892 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 0.425325 30 + vertex 10 0.5 30 + vertex 0 0.5 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10 0.5 30 + vertex 0 0.425325 30 + vertex 10 -0.5 30 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0 -0.425325 30 + vertex 10 -0.5 30 + vertex 0 0.425325 30 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10 -0.5 30 + vertex 0 -0.425325 30 + vertex 0 -0.5 30 + endloop + endfacet + facet normal 0.809016 -0.587786 0 + outer loop + vertex 0.154508 -0.475528 25 + vertex 0.5 0 0 + vertex 0.5 0 25 + endloop + endfacet + facet normal 0.809016 -0.587786 0 + outer loop + vertex 0.5 0 0 + vertex 0.154508 -0.475528 25 + vertex 0.154508 -0.475528 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.154508 -0.475528 0 + vertex 0.154508 0.475528 0 + vertex 0.5 0 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.404508 -0.293892 0 + vertex 0.154508 0.475528 0 + vertex 0.154508 -0.475528 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.154508 0.475528 0 + vertex -0.404508 -0.293892 0 + vertex -0.404508 0.293892 0 + endloop + endfacet + facet normal 1 -0 0 + outer loop + vertex 10 -0.5 30 + vertex 10 0.5 25 + vertex 10 0.5 30 + endloop + endfacet + facet normal 1 0 0 + outer loop + vertex 10 0.5 25 + vertex 10 -0.5 30 + vertex 10 -0.5 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -0.5 25 + vertex 0.5 0 25 + vertex 10 0.5 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10 -0.5 25 + vertex 0.154508 -0.475528 25 + vertex 0.5 0 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -0.5 25 + vertex 0.154508 -0.475528 25 + vertex 10 -0.5 25 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 0.154508 -0.475528 25 + vertex 0 -0.5 25 + vertex 0 -0.425325 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.154508 0.475528 25 + vertex 10 0.5 25 + vertex 0.5 0 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.154508 0.475528 25 + vertex 0 0.5 25 + vertex 10 0.5 25 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 0.5 25 + vertex 0.154508 0.475528 25 + vertex 0 0.425325 25 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0 0.425325 25 + vertex 0 0.5 30 + vertex 0 0.5 25 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex 0 0.5 30 + vertex 0 0.425325 25 + vertex 0 0.425325 30 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0 -0.5 25 + vertex 0 -0.425325 30 + vertex 0 -0.425325 25 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex 0 -0.425325 30 + vertex 0 -0.5 25 + vertex 0 -0.5 30 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 10 0.5 25 + vertex 0 0.5 30 + vertex 10 0.5 30 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0 0.5 30 + vertex 10 0.5 25 + vertex 0 0.5 25 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0 -0.5 25 + vertex 10 -0.5 30 + vertex 0 -0.5 30 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 10 -0.5 30 + vertex 0 -0.5 25 + vertex 10 -0.5 25 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/checker/src/models/syringe-ascii.stl b/checker/src/models/syringe-ascii.stl @@ -0,0 +1,1934 @@ +solid OpenSCAD_Model + facet normal 0.891007 0.45399 0 + outer loop + vertex 7.60845 2.47214 61 + vertex 6.47214 4.70228 11 + vertex 6.47214 4.70228 61 + endloop + endfacet + facet normal 0.891007 0.45399 0 + outer loop + vertex 6.47214 4.70228 11 + vertex 7.60845 2.47214 61 + vertex 7.60845 2.47214 11 + endloop + endfacet + facet normal 0.987688 0.156435 0 + outer loop + vertex 8 0 61 + vertex 7.60845 2.47214 11 + vertex 7.60845 2.47214 61 + endloop + endfacet + facet normal 0.987688 0.156435 0 + outer loop + vertex 7.60845 2.47214 11 + vertex 8 0 61 + vertex 8 0 11 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 6.47214 4.70228 61 + vertex 4.70228 6.47214 11 + vertex 4.70228 6.47214 61 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 4.70228 6.47214 11 + vertex 6.47214 4.70228 61 + vertex 6.47214 4.70228 11 + endloop + endfacet + facet normal 0.156435 0.987688 -0 + outer loop + vertex 2.47214 7.60845 11 + vertex 0 8 61 + vertex 2.47214 7.60845 61 + endloop + endfacet + facet normal 0.156435 0.987688 0 + outer loop + vertex 0 8 61 + vertex 2.47214 7.60845 11 + vertex 0 8 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2 0 11 + vertex 8 0 11 + vertex 7.60845 -2.47214 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.90211 -0.618033 11 + vertex 7.60845 -2.47214 11 + vertex 6.47214 -4.70228 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 8 0 11 + vertex 2 0 11 + vertex 7.60845 2.47214 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.61803 -1.17557 11 + vertex 6.47214 -4.70228 11 + vertex 4.70228 -6.47214 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.90211 0.618033 11 + vertex 7.60845 2.47214 11 + vertex 2 0 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.17557 -1.61803 11 + vertex 4.70228 -6.47214 11 + vertex 2.47214 -7.60845 11 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 7.60845 2.47214 11 + vertex 1.90211 0.618033 11 + vertex 6.47214 4.70228 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.61803 1.17557 11 + vertex 6.47214 4.70228 11 + vertex 1.90211 0.618033 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.60845 -2.47214 11 + vertex 1.90211 -0.618033 11 + vertex 2 0 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 6.47214 -4.70228 11 + vertex 1.61803 -1.17557 11 + vertex 1.90211 -0.618033 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.70228 -6.47214 11 + vertex 1.17557 -1.61803 11 + vertex 1.61803 -1.17557 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2.47214 -7.60845 11 + vertex 0.618033 -1.90211 11 + vertex 1.17557 -1.61803 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -8 11 + vertex 0.618033 -1.90211 11 + vertex 2.47214 -7.60845 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -8 11 + vertex 0 -2 11 + vertex 0.618033 -1.90211 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -8 11 + vertex -0.618033 -1.90211 11 + vertex 0 -2 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.47214 -7.60845 11 + vertex -0.618033 -1.90211 11 + vertex 0 -8 11 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -0.618033 -1.90211 11 + vertex -2.47214 -7.60845 11 + vertex -1.17557 -1.61803 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.70228 -6.47214 11 + vertex -1.17557 -1.61803 11 + vertex -2.47214 -7.60845 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -6.47214 -4.70228 11 + vertex -1.61803 -1.17557 11 + vertex -4.70228 -6.47214 11 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -1.17557 -1.61803 11 + vertex -4.70228 -6.47214 11 + vertex -1.61803 -1.17557 11 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 6.47214 4.70228 11 + vertex 1.61803 1.17557 11 + vertex 4.70228 6.47214 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.17557 1.61803 11 + vertex 4.70228 6.47214 11 + vertex 1.61803 1.17557 11 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 4.70228 6.47214 11 + vertex 1.17557 1.61803 11 + vertex 2.47214 7.60845 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.618033 1.90211 11 + vertex 2.47214 7.60845 11 + vertex 1.17557 1.61803 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 2 11 + vertex 2.47214 7.60845 11 + vertex 0.618033 1.90211 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 2 11 + vertex 0 8 11 + vertex 2.47214 7.60845 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.618033 1.90211 11 + vertex 0 8 11 + vertex 0 2 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.47214 7.60845 11 + vertex -0.618033 1.90211 11 + vertex -1.17557 1.61803 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.70228 6.47214 11 + vertex -1.17557 1.61803 11 + vertex -1.61803 1.17557 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -6.47214 4.70228 11 + vertex -1.61803 1.17557 11 + vertex -1.90211 0.618033 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.618033 1.90211 11 + vertex -2.47214 7.60845 11 + vertex 0 8 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.60845 2.47214 11 + vertex -1.90211 0.618033 11 + vertex -2 0 11 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -1.61803 -1.17557 11 + vertex -6.47214 -4.70228 11 + vertex -1.90211 -0.618033 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.60845 -2.47214 11 + vertex -1.90211 -0.618033 11 + vertex -6.47214 -4.70228 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.17557 1.61803 11 + vertex -4.70228 6.47214 11 + vertex -2.47214 7.60845 11 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -1.90211 -0.618033 11 + vertex -7.60845 -2.47214 11 + vertex -2 0 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.61803 1.17557 11 + vertex -6.47214 4.70228 11 + vertex -4.70228 6.47214 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8 0 11 + vertex -2 0 11 + vertex -7.60845 -2.47214 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.90211 0.618033 11 + vertex -7.60845 2.47214 11 + vertex -6.47214 4.70228 11 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2 0 11 + vertex -8 0 11 + vertex -7.60845 2.47214 11 + endloop + endfacet + facet normal -0.987688 0.156435 0 + outer loop + vertex -8 0 11 + vertex -7.60845 2.47214 61 + vertex -7.60845 2.47214 11 + endloop + endfacet + facet normal -0.987688 0.156435 0 + outer loop + vertex -7.60845 2.47214 61 + vertex -8 0 11 + vertex -8 0 61 + endloop + endfacet + facet normal 0.45399 0.891007 -0 + outer loop + vertex 4.70228 6.47214 11 + vertex 2.47214 7.60845 61 + vertex 4.70228 6.47214 61 + endloop + endfacet + facet normal 0.45399 0.891007 0 + outer loop + vertex 2.47214 7.60845 61 + vertex 4.70228 6.47214 11 + vertex 2.47214 7.60845 11 + endloop + endfacet + facet normal -0.45399 0.891007 0 + outer loop + vertex -2.47214 7.60845 11 + vertex -4.70228 6.47214 61 + vertex -2.47214 7.60845 61 + endloop + endfacet + facet normal -0.45399 0.891007 0 + outer loop + vertex -4.70228 6.47214 61 + vertex -2.47214 7.60845 11 + vertex -4.70228 6.47214 11 + endloop + endfacet + facet normal -0.156435 -0.987688 0 + outer loop + vertex -2.47214 -7.60845 11 + vertex 0 -8 61 + vertex -2.47214 -7.60845 61 + endloop + endfacet + facet normal -0.156435 -0.987688 -0 + outer loop + vertex 0 -8 61 + vertex -2.47214 -7.60845 11 + vertex 0 -8 11 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 4.70228 -6.47214 61 + vertex 6.47214 -4.70228 11 + vertex 6.47214 -4.70228 61 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 6.47214 -4.70228 11 + vertex 4.70228 -6.47214 61 + vertex 4.70228 -6.47214 11 + endloop + endfacet + facet normal -0.891007 -0.45399 0 + outer loop + vertex -6.47214 -4.70228 11 + vertex -7.60845 -2.47214 61 + vertex -7.60845 -2.47214 11 + endloop + endfacet + facet normal -0.891007 -0.45399 0 + outer loop + vertex -7.60845 -2.47214 61 + vertex -6.47214 -4.70228 11 + vertex -6.47214 -4.70228 61 + endloop + endfacet + facet normal -0.156435 0.987688 0 + outer loop + vertex 0 8 11 + vertex -2.47214 7.60845 61 + vertex 0 8 61 + endloop + endfacet + facet normal -0.156435 0.987688 0 + outer loop + vertex -2.47214 7.60845 61 + vertex 0 8 11 + vertex -2.47214 7.60845 11 + endloop + endfacet + facet normal 0.45399 -0.891007 0 + outer loop + vertex 2.47214 -7.60845 11 + vertex 4.70228 -6.47214 61 + vertex 2.47214 -7.60845 61 + endloop + endfacet + facet normal 0.45399 -0.891007 0 + outer loop + vertex 4.70228 -6.47214 61 + vertex 2.47214 -7.60845 11 + vertex 4.70228 -6.47214 11 + endloop + endfacet + facet normal 0.156435 -0.987688 0 + outer loop + vertex 0 -8 11 + vertex 2.47214 -7.60845 61 + vertex 0 -8 61 + endloop + endfacet + facet normal 0.156435 -0.987688 0 + outer loop + vertex 2.47214 -7.60845 61 + vertex 0 -8 11 + vertex 2.47214 -7.60845 11 + endloop + endfacet + facet normal -0.987688 -0.156435 0 + outer loop + vertex -7.60845 -2.47214 11 + vertex -8 0 61 + vertex -8 0 11 + endloop + endfacet + facet normal -0.987688 -0.156435 0 + outer loop + vertex -8 0 61 + vertex -7.60845 -2.47214 11 + vertex -7.60845 -2.47214 61 + endloop + endfacet + facet normal -0.891007 0.45399 0 + outer loop + vertex -7.60845 2.47214 11 + vertex -6.47214 4.70228 61 + vertex -6.47214 4.70228 11 + endloop + endfacet + facet normal -0.891007 0.45399 0 + outer loop + vertex -6.47214 4.70228 61 + vertex -7.60845 2.47214 11 + vertex -7.60845 2.47214 61 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -6.47214 4.70228 11 + vertex -4.70228 6.47214 61 + vertex -4.70228 6.47214 11 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -4.70228 6.47214 61 + vertex -6.47214 4.70228 11 + vertex -6.47214 4.70228 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.5 0 61 + vertex 8 0 61 + vertex 7.60845 2.47214 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.404508 0.293892 61 + vertex 7.60845 2.47214 61 + vertex 6.47214 4.70228 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8 0 61 + vertex 0.5 0 61 + vertex 7.60845 -2.47214 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.404508 0.293892 61 + vertex 6.47214 4.70228 61 + vertex 4.70228 6.47214 61 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.404508 -0.293892 61 + vertex 7.60845 -2.47214 61 + vertex 0.5 0 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.154508 0.475528 61 + vertex 4.70228 6.47214 61 + vertex 2.47214 7.60845 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.60845 -2.47214 61 + vertex 0.404508 -0.293892 61 + vertex 6.47214 -4.70228 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.47214 -4.70228 61 + vertex 0.404508 -0.293892 61 + vertex 4.70228 -6.47214 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.60845 2.47214 61 + vertex 0.404508 0.293892 61 + vertex 0.5 0 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.70228 6.47214 61 + vertex 0.154508 0.475528 61 + vertex 0.404508 0.293892 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 8 61 + vertex 0.154508 0.475528 61 + vertex 2.47214 7.60845 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 8 61 + vertex -0.154508 0.475528 61 + vertex 0.154508 0.475528 61 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -2.47214 7.60845 61 + vertex -0.154508 0.475528 61 + vertex 0 8 61 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.70228 6.47214 61 + vertex -0.154508 0.475528 61 + vertex -2.47214 7.60845 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.154508 0.475528 61 + vertex -4.70228 6.47214 61 + vertex -0.404508 0.293892 61 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.154508 -0.475528 61 + vertex 4.70228 -6.47214 61 + vertex 0.404508 -0.293892 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.70228 -6.47214 61 + vertex 0.154508 -0.475528 61 + vertex 2.47214 -7.60845 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.154508 -0.475528 61 + vertex 0 -8 61 + vertex 2.47214 -7.60845 61 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.154508 -0.475528 61 + vertex 0 -8 61 + vertex 0.154508 -0.475528 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.70228 -6.47214 61 + vertex -0.154508 -0.475528 61 + vertex -0.404508 -0.293892 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.60845 -2.47214 61 + vertex -0.404508 -0.293892 61 + vertex -0.5 0 61 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -6.47214 4.70228 61 + vertex -0.404508 0.293892 61 + vertex -4.70228 6.47214 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.154508 -0.475528 61 + vertex -2.47214 -7.60845 61 + vertex 0 -8 61 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -7.60845 2.47214 61 + vertex -0.404508 0.293892 61 + vertex -6.47214 4.70228 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.154508 -0.475528 61 + vertex -4.70228 -6.47214 61 + vertex -2.47214 -7.60845 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.404508 0.293892 61 + vertex -7.60845 2.47214 61 + vertex -0.5 0 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.404508 -0.293892 61 + vertex -6.47214 -4.70228 61 + vertex -4.70228 -6.47214 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8 0 61 + vertex -0.5 0 61 + vertex -7.60845 2.47214 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.404508 -0.293892 61 + vertex -7.60845 -2.47214 61 + vertex -6.47214 -4.70228 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.5 0 61 + vertex -8 0 61 + vertex -7.60845 -2.47214 61 + endloop + endfacet + facet normal 0.891007 -0.45399 0 + outer loop + vertex 6.47214 -4.70228 61 + vertex 7.60845 -2.47214 11 + vertex 7.60845 -2.47214 61 + endloop + endfacet + facet normal 0.891007 -0.45399 0 + outer loop + vertex 7.60845 -2.47214 11 + vertex 6.47214 -4.70228 61 + vertex 6.47214 -4.70228 11 + endloop + endfacet + facet normal 0.987688 -0.156435 0 + outer loop + vertex 7.60845 -2.47214 61 + vertex 8 0 11 + vertex 8 0 61 + endloop + endfacet + facet normal 0.987688 -0.156435 0 + outer loop + vertex 8 0 11 + vertex 7.60845 -2.47214 61 + vertex 7.60845 -2.47214 11 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -4.70228 -6.47214 11 + vertex -6.47214 -4.70228 61 + vertex -6.47214 -4.70228 11 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -6.47214 -4.70228 61 + vertex -4.70228 -6.47214 11 + vertex -4.70228 -6.47214 61 + endloop + endfacet + facet normal -0.45399 -0.891007 0 + outer loop + vertex -4.70228 -6.47214 11 + vertex -2.47214 -7.60845 61 + vertex -4.70228 -6.47214 61 + endloop + endfacet + facet normal -0.45399 -0.891007 -0 + outer loop + vertex -2.47214 -7.60845 61 + vertex -4.70228 -6.47214 11 + vertex -2.47214 -7.60845 11 + endloop + endfacet + facet normal -0.951056 -0.309019 0 + outer loop + vertex -0.404508 -0.293892 61 + vertex -0.5 0 91 + vertex -0.5 0 61 + endloop + endfacet + facet normal -0.951056 -0.309019 0 + outer loop + vertex -0.5 0 91 + vertex -0.404508 -0.293892 61 + vertex -0.404508 -0.293892 91 + endloop + endfacet + facet normal 0.587786 0.809016 -0 + outer loop + vertex 0.404508 0.293892 61 + vertex 0.154508 0.475528 91 + vertex 0.404508 0.293892 91 + endloop + endfacet + facet normal 0.587786 0.809016 0 + outer loop + vertex 0.154508 0.475528 91 + vertex 0.404508 0.293892 61 + vertex 0.154508 0.475528 61 + endloop + endfacet + facet normal 0.951056 0.309019 0 + outer loop + vertex 0.5 0 91 + vertex 0.404508 0.293892 61 + vertex 0.404508 0.293892 91 + endloop + endfacet + facet normal 0.951056 0.309019 0 + outer loop + vertex 0.404508 0.293892 61 + vertex 0.5 0 91 + vertex 0.5 0 61 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.154508 0.475528 61 + vertex -0.154508 0.475528 91 + vertex 0.154508 0.475528 91 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.154508 0.475528 91 + vertex 0.154508 0.475528 61 + vertex -0.154508 0.475528 61 + endloop + endfacet + facet normal 0.587786 -0.809016 0 + outer loop + vertex 0.154508 -0.475528 61 + vertex 0.404508 -0.293892 91 + vertex 0.154508 -0.475528 91 + endloop + endfacet + facet normal 0.587786 -0.809016 0 + outer loop + vertex 0.404508 -0.293892 91 + vertex 0.154508 -0.475528 61 + vertex 0.404508 -0.293892 61 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.404508 0.293892 91 + vertex 0.404508 -0.293892 91 + vertex 0.5 0 91 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.154508 0.475528 91 + vertex 0.404508 -0.293892 91 + vertex 0.404508 0.293892 91 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.154508 0.475528 91 + vertex 0.154508 -0.475528 91 + vertex 0.404508 -0.293892 91 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.154508 0.475528 91 + vertex 0.154508 -0.475528 91 + vertex 0.154508 0.475528 91 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.154508 0.475528 91 + vertex -0.154508 -0.475528 91 + vertex 0.154508 -0.475528 91 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -0.404508 0.293892 91 + vertex -0.154508 -0.475528 91 + vertex -0.154508 0.475528 91 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.404508 0.293892 91 + vertex -0.404508 -0.293892 91 + vertex -0.154508 -0.475528 91 + endloop + endfacet + facet normal 0 -0 1 + outer loop + vertex -0.404508 -0.293892 91 + vertex -0.404508 0.293892 91 + vertex -0.5 0 91 + endloop + endfacet + facet normal -0.587786 -0.809016 0 + outer loop + vertex -0.404508 -0.293892 61 + vertex -0.154508 -0.475528 91 + vertex -0.404508 -0.293892 91 + endloop + endfacet + facet normal -0.587786 -0.809016 -0 + outer loop + vertex -0.154508 -0.475528 91 + vertex -0.404508 -0.293892 61 + vertex -0.154508 -0.475528 61 + endloop + endfacet + facet normal 0.951056 -0.309019 0 + outer loop + vertex 0.404508 -0.293892 91 + vertex 0.5 0 61 + vertex 0.5 0 91 + endloop + endfacet + facet normal 0.951056 -0.309019 0 + outer loop + vertex 0.5 0 61 + vertex 0.404508 -0.293892 91 + vertex 0.404508 -0.293892 61 + endloop + endfacet + facet normal -0.587786 0.809016 0 + outer loop + vertex -0.154508 0.475528 61 + vertex -0.404508 0.293892 91 + vertex -0.154508 0.475528 91 + endloop + endfacet + facet normal -0.587786 0.809016 0 + outer loop + vertex -0.404508 0.293892 91 + vertex -0.154508 0.475528 61 + vertex -0.404508 0.293892 61 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.154508 -0.475528 61 + vertex 0.154508 -0.475528 91 + vertex -0.154508 -0.475528 91 + endloop + endfacet + facet normal 0 -1 -0 + outer loop + vertex 0.154508 -0.475528 91 + vertex -0.154508 -0.475528 61 + vertex 0.154508 -0.475528 61 + endloop + endfacet + facet normal -0.951056 0.309019 0 + outer loop + vertex -0.5 0 61 + vertex -0.404508 0.293892 91 + vertex -0.404508 0.293892 61 + endloop + endfacet + facet normal -0.951056 0.309019 0 + outer loop + vertex -0.404508 0.293892 91 + vertex -0.5 0 61 + vertex -0.5 0 91 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 1.17557 -1.61803 11 + vertex 1.61803 -1.17557 1 + vertex 1.61803 -1.17557 11 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 1.61803 -1.17557 1 + vertex 1.17557 -1.61803 11 + vertex 1.17557 -1.61803 1 + endloop + endfacet + facet normal 0.891006 0.453991 0 + outer loop + vertex 1.90211 0.618033 11 + vertex 1.61803 1.17557 1 + vertex 1.61803 1.17557 11 + endloop + endfacet + facet normal 0.891006 0.453991 0 + outer loop + vertex 1.61803 1.17557 1 + vertex 1.90211 0.618033 11 + vertex 1.90211 0.618033 1 + endloop + endfacet + facet normal 0.987688 0.156439 0 + outer loop + vertex 2 0 11 + vertex 1.90211 0.618033 1 + vertex 1.90211 0.618033 11 + endloop + endfacet + facet normal 0.987688 0.156439 0 + outer loop + vertex 1.90211 0.618033 1 + vertex 2 0 11 + vertex 2 0 1 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 1.61803 1.17557 11 + vertex 1.17557 1.61803 1 + vertex 1.17557 1.61803 11 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 1.17557 1.61803 1 + vertex 1.61803 1.17557 11 + vertex 1.61803 1.17557 1 + endloop + endfacet + facet normal 0.987688 -0.156439 0 + outer loop + vertex 1.90211 -0.618033 11 + vertex 2 0 1 + vertex 2 0 11 + endloop + endfacet + facet normal 0.987688 -0.156439 0 + outer loop + vertex 2 0 1 + vertex 1.90211 -0.618033 11 + vertex 1.90211 -0.618033 1 + endloop + endfacet + facet normal 0.156439 -0.987688 0 + outer loop + vertex 0 -2 1 + vertex 0.618033 -1.90211 11 + vertex 0 -2 11 + endloop + endfacet + facet normal 0.156439 -0.987688 0 + outer loop + vertex 0.618033 -1.90211 11 + vertex 0 -2 1 + vertex 0.618033 -1.90211 1 + endloop + endfacet + facet normal -0.453991 0.891006 0 + outer loop + vertex -0.618033 1.90211 1 + vertex -1.17557 1.61803 11 + vertex -0.618033 1.90211 11 + endloop + endfacet + facet normal -0.453991 0.891006 0 + outer loop + vertex -1.17557 1.61803 11 + vertex -0.618033 1.90211 1 + vertex -1.17557 1.61803 1 + endloop + endfacet + facet normal 0.453991 -0.891006 0 + outer loop + vertex 0.618033 -1.90211 1 + vertex 1.17557 -1.61803 11 + vertex 0.618033 -1.90211 11 + endloop + endfacet + facet normal 0.453991 -0.891006 0 + outer loop + vertex 1.17557 -1.61803 11 + vertex 0.618033 -1.90211 1 + vertex 1.17557 -1.61803 1 + endloop + endfacet + facet normal -0.891006 0.453991 0 + outer loop + vertex -1.90211 0.618033 1 + vertex -1.61803 1.17557 11 + vertex -1.61803 1.17557 1 + endloop + endfacet + facet normal -0.891006 0.453991 0 + outer loop + vertex -1.61803 1.17557 11 + vertex -1.90211 0.618033 1 + vertex -1.90211 0.618033 11 + endloop + endfacet + facet normal 0.891006 -0.453991 0 + outer loop + vertex 1.61803 -1.17557 11 + vertex 1.90211 -0.618033 1 + vertex 1.90211 -0.618033 11 + endloop + endfacet + facet normal 0.891006 -0.453991 0 + outer loop + vertex 1.90211 -0.618033 1 + vertex 1.61803 -1.17557 11 + vertex 1.61803 -1.17557 1 + endloop + endfacet + facet normal -0.987688 0.156439 0 + outer loop + vertex -2 0 1 + vertex -1.90211 0.618033 11 + vertex -1.90211 0.618033 1 + endloop + endfacet + facet normal -0.987688 0.156439 0 + outer loop + vertex -1.90211 0.618033 11 + vertex -2 0 1 + vertex -2 0 11 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2 0 1 + vertex 10 0 1 + vertex 9.51056 3.09017 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.90211 0.618033 1 + vertex 9.51056 3.09017 1 + vertex 8.09017 5.87785 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10 0 1 + vertex 2 0 1 + vertex 9.51056 -3.09017 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.61803 1.17557 1 + vertex 8.09017 5.87785 1 + vertex 5.87785 8.09017 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.90211 -0.618033 1 + vertex 9.51056 -3.09017 1 + vertex 2 0 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.17557 1.61803 1 + vertex 5.87785 8.09017 1 + vertex 3.09017 9.51056 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.51056 -3.09017 1 + vertex 1.90211 -0.618033 1 + vertex 8.09017 -5.87785 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.61803 -1.17557 1 + vertex 8.09017 -5.87785 1 + vertex 1.90211 -0.618033 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.51056 3.09017 1 + vertex 1.90211 0.618033 1 + vertex 2 0 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.09017 5.87785 1 + vertex 1.61803 1.17557 1 + vertex 1.90211 0.618033 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.87785 8.09017 1 + vertex 1.17557 1.61803 1 + vertex 1.61803 1.17557 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.09017 9.51056 1 + vertex 0.618033 1.90211 1 + vertex 1.17557 1.61803 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 10 1 + vertex 0.618033 1.90211 1 + vertex 3.09017 9.51056 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 10 1 + vertex 0 2 1 + vertex 0.618033 1.90211 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 10 1 + vertex -0.618033 1.90211 1 + vertex 0 2 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -3.09017 9.51056 1 + vertex -0.618033 1.90211 1 + vertex 0 10 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.618033 1.90211 1 + vertex -3.09017 9.51056 1 + vertex -1.17557 1.61803 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -5.87785 8.09017 1 + vertex -1.17557 1.61803 1 + vertex -3.09017 9.51056 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.09017 5.87785 1 + vertex -1.61803 1.17557 1 + vertex -5.87785 8.09017 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.17557 1.61803 1 + vertex -5.87785 8.09017 1 + vertex -1.61803 1.17557 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.09017 -5.87785 1 + vertex 1.61803 -1.17557 1 + vertex 5.87785 -8.09017 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.17557 -1.61803 1 + vertex 5.87785 -8.09017 1 + vertex 1.61803 -1.17557 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.87785 -8.09017 1 + vertex 1.17557 -1.61803 1 + vertex 3.09017 -9.51056 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.618033 -1.90211 1 + vertex 3.09017 -9.51056 1 + vertex 1.17557 -1.61803 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0 -2 1 + vertex 3.09017 -9.51056 1 + vertex 0.618033 -1.90211 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0 -2 1 + vertex 0 -10 1 + vertex 3.09017 -9.51056 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.618033 -1.90211 1 + vertex 0 -10 1 + vertex 0 -2 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.09017 -9.51056 1 + vertex -0.618033 -1.90211 1 + vertex -1.17557 -1.61803 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.87785 -8.09017 1 + vertex -1.17557 -1.61803 1 + vertex -1.61803 -1.17557 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.09017 -5.87785 1 + vertex -1.61803 -1.17557 1 + vertex -1.90211 -0.618033 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.618033 -1.90211 1 + vertex -3.09017 -9.51056 1 + vertex 0 -10 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -9.51056 -3.09017 1 + vertex -1.90211 -0.618033 1 + vertex -2 0 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.61803 1.17557 1 + vertex -8.09017 5.87785 1 + vertex -1.90211 0.618033 1 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -9.51056 3.09017 1 + vertex -1.90211 0.618033 1 + vertex -8.09017 5.87785 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.17557 -1.61803 1 + vertex -5.87785 -8.09017 1 + vertex -3.09017 -9.51056 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.90211 0.618033 1 + vertex -9.51056 3.09017 1 + vertex -2 0 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.61803 -1.17557 1 + vertex -8.09017 -5.87785 1 + vertex -5.87785 -8.09017 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10 0 1 + vertex -2 0 1 + vertex -9.51056 3.09017 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.90211 -0.618033 1 + vertex -9.51056 -3.09017 1 + vertex -8.09017 -5.87785 1 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -2 0 1 + vertex -10 0 1 + vertex -9.51056 -3.09017 1 + endloop + endfacet + facet normal 0.453991 0.891006 -0 + outer loop + vertex 1.17557 1.61803 1 + vertex 0.618033 1.90211 11 + vertex 1.17557 1.61803 11 + endloop + endfacet + facet normal 0.453991 0.891006 0 + outer loop + vertex 0.618033 1.90211 11 + vertex 1.17557 1.61803 1 + vertex 0.618033 1.90211 1 + endloop + endfacet + facet normal -0.156439 -0.987688 0 + outer loop + vertex -0.618033 -1.90211 1 + vertex 0 -2 11 + vertex -0.618033 -1.90211 11 + endloop + endfacet + facet normal -0.156439 -0.987688 -0 + outer loop + vertex 0 -2 11 + vertex -0.618033 -1.90211 1 + vertex 0 -2 1 + endloop + endfacet + facet normal 0.156439 0.987688 -0 + outer loop + vertex 0.618033 1.90211 1 + vertex 0 2 11 + vertex 0.618033 1.90211 11 + endloop + endfacet + facet normal 0.156439 0.987688 0 + outer loop + vertex 0 2 11 + vertex 0.618033 1.90211 1 + vertex 0 2 1 + endloop + endfacet + facet normal -0.891006 -0.453991 0 + outer loop + vertex -1.61803 -1.17557 1 + vertex -1.90211 -0.618033 11 + vertex -1.90211 -0.618033 1 + endloop + endfacet + facet normal -0.891006 -0.453991 0 + outer loop + vertex -1.90211 -0.618033 11 + vertex -1.61803 -1.17557 1 + vertex -1.61803 -1.17557 11 + endloop + endfacet + facet normal -0.156439 0.987688 0 + outer loop + vertex 0 2 1 + vertex -0.618033 1.90211 11 + vertex 0 2 11 + endloop + endfacet + facet normal -0.156439 0.987688 0 + outer loop + vertex -0.618033 1.90211 11 + vertex 0 2 1 + vertex -0.618033 1.90211 1 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -1.17557 -1.61803 1 + vertex -1.61803 -1.17557 11 + vertex -1.61803 -1.17557 1 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -1.61803 -1.17557 11 + vertex -1.17557 -1.61803 1 + vertex -1.17557 -1.61803 11 + endloop + endfacet + facet normal -0.987688 -0.156439 0 + outer loop + vertex -1.90211 -0.618033 1 + vertex -2 0 11 + vertex -2 0 1 + endloop + endfacet + facet normal -0.987688 -0.156439 0 + outer loop + vertex -2 0 11 + vertex -1.90211 -0.618033 1 + vertex -1.90211 -0.618033 11 + endloop + endfacet + facet normal -0.453991 -0.891006 0 + outer loop + vertex -1.17557 -1.61803 1 + vertex -0.618033 -1.90211 11 + vertex -1.17557 -1.61803 11 + endloop + endfacet + facet normal -0.453991 -0.891006 -0 + outer loop + vertex -0.618033 -1.90211 11 + vertex -1.17557 -1.61803 1 + vertex -0.618033 -1.90211 1 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -1.61803 1.17557 1 + vertex -1.17557 1.61803 11 + vertex -1.17557 1.61803 1 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -1.17557 1.61803 11 + vertex -1.61803 1.17557 1 + vertex -1.61803 1.17557 11 + endloop + endfacet + facet normal 0.891007 0.45399 0 + outer loop + vertex 9.51056 3.09017 1 + vertex 8.09017 5.87785 0 + vertex 8.09017 5.87785 1 + endloop + endfacet + facet normal 0.891007 0.45399 0 + outer loop + vertex 8.09017 5.87785 0 + vertex 9.51056 3.09017 1 + vertex 9.51056 3.09017 0 + endloop + endfacet + facet normal 0.987688 0.156436 0 + outer loop + vertex 10 0 1 + vertex 9.51056 3.09017 0 + vertex 9.51056 3.09017 1 + endloop + endfacet + facet normal 0.987688 0.156436 0 + outer loop + vertex 9.51056 3.09017 0 + vertex 10 0 1 + vertex 10 0 0 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 8.09017 5.87785 1 + vertex 5.87785 8.09017 0 + vertex 5.87785 8.09017 1 + endloop + endfacet + facet normal 0.707107 0.707107 0 + outer loop + vertex 5.87785 8.09017 0 + vertex 8.09017 5.87785 1 + vertex 8.09017 5.87785 0 + endloop + endfacet + facet normal 0.156436 0.987688 -0 + outer loop + vertex 3.09017 9.51056 0 + vertex 0 10 1 + vertex 3.09017 9.51056 1 + endloop + endfacet + facet normal 0.156436 0.987688 0 + outer loop + vertex 0 10 1 + vertex 3.09017 9.51056 0 + vertex 0 10 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 9.51056 -3.09017 0 + vertex 9.51056 3.09017 0 + vertex 10 0 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 8.09017 -5.87785 0 + vertex 9.51056 3.09017 0 + vertex 9.51056 -3.09017 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 8.09017 -5.87785 0 + vertex 8.09017 5.87785 0 + vertex 9.51056 3.09017 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.87785 -8.09017 0 + vertex 8.09017 5.87785 0 + vertex 8.09017 -5.87785 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.87785 -8.09017 0 + vertex 5.87785 8.09017 0 + vertex 8.09017 5.87785 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 3.09017 -9.51056 0 + vertex 5.87785 8.09017 0 + vertex 5.87785 -8.09017 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 3.09017 -9.51056 0 + vertex 3.09017 9.51056 0 + vertex 5.87785 8.09017 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -10 0 + vertex 3.09017 9.51056 0 + vertex 3.09017 -9.51056 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0 -10 0 + vertex 0 10 0 + vertex 3.09017 9.51056 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.09017 -9.51056 0 + vertex 0 10 0 + vertex 0 -10 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.09017 -9.51056 0 + vertex -3.09017 9.51056 0 + vertex 0 10 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.87785 -8.09017 0 + vertex -3.09017 9.51056 0 + vertex -3.09017 -9.51056 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.87785 -8.09017 0 + vertex -5.87785 8.09017 0 + vertex -3.09017 9.51056 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.09017 -5.87785 0 + vertex -5.87785 8.09017 0 + vertex -5.87785 -8.09017 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.09017 -5.87785 0 + vertex -8.09017 5.87785 0 + vertex -5.87785 8.09017 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -9.51056 -3.09017 0 + vertex -8.09017 5.87785 0 + vertex -8.09017 -5.87785 0 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -9.51056 -3.09017 0 + vertex -9.51056 3.09017 0 + vertex -8.09017 5.87785 0 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -9.51056 3.09017 0 + vertex -9.51056 -3.09017 0 + vertex -10 0 0 + endloop + endfacet + facet normal -0.987688 0.156436 0 + outer loop + vertex -10 0 0 + vertex -9.51056 3.09017 1 + vertex -9.51056 3.09017 0 + endloop + endfacet + facet normal -0.987688 0.156436 0 + outer loop + vertex -9.51056 3.09017 1 + vertex -10 0 0 + vertex -10 0 1 + endloop + endfacet + facet normal 0.891007 -0.45399 0 + outer loop + vertex 8.09017 -5.87785 1 + vertex 9.51056 -3.09017 0 + vertex 9.51056 -3.09017 1 + endloop + endfacet + facet normal 0.891007 -0.45399 0 + outer loop + vertex 9.51056 -3.09017 0 + vertex 8.09017 -5.87785 1 + vertex 8.09017 -5.87785 0 + endloop + endfacet + facet normal 0.45399 0.891007 -0 + outer loop + vertex 5.87785 8.09017 0 + vertex 3.09017 9.51056 1 + vertex 5.87785 8.09017 1 + endloop + endfacet + facet normal 0.45399 0.891007 0 + outer loop + vertex 3.09017 9.51056 1 + vertex 5.87785 8.09017 0 + vertex 3.09017 9.51056 0 + endloop + endfacet + facet normal -0.45399 0.891007 0 + outer loop + vertex -3.09017 9.51056 0 + vertex -5.87785 8.09017 1 + vertex -3.09017 9.51056 1 + endloop + endfacet + facet normal -0.45399 0.891007 0 + outer loop + vertex -5.87785 8.09017 1 + vertex -3.09017 9.51056 0 + vertex -5.87785 8.09017 0 + endloop + endfacet + facet normal -0.156436 -0.987688 0 + outer loop + vertex -3.09017 -9.51056 0 + vertex 0 -10 1 + vertex -3.09017 -9.51056 1 + endloop + endfacet + facet normal -0.156436 -0.987688 -0 + outer loop + vertex 0 -10 1 + vertex -3.09017 -9.51056 0 + vertex 0 -10 0 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 5.87785 -8.09017 1 + vertex 8.09017 -5.87785 0 + vertex 8.09017 -5.87785 1 + endloop + endfacet + facet normal 0.707107 -0.707107 0 + outer loop + vertex 8.09017 -5.87785 0 + vertex 5.87785 -8.09017 1 + vertex 5.87785 -8.09017 0 + endloop + endfacet + facet normal -0.891007 -0.45399 0 + outer loop + vertex -8.09017 -5.87785 0 + vertex -9.51056 -3.09017 1 + vertex -9.51056 -3.09017 0 + endloop + endfacet + facet normal -0.891007 -0.45399 0 + outer loop + vertex -9.51056 -3.09017 1 + vertex -8.09017 -5.87785 0 + vertex -8.09017 -5.87785 1 + endloop + endfacet + facet normal -0.156436 0.987688 0 + outer loop + vertex 0 10 0 + vertex -3.09017 9.51056 1 + vertex 0 10 1 + endloop + endfacet + facet normal -0.156436 0.987688 0 + outer loop + vertex -3.09017 9.51056 1 + vertex 0 10 0 + vertex -3.09017 9.51056 0 + endloop + endfacet + facet normal 0.45399 -0.891007 0 + outer loop + vertex 3.09017 -9.51056 0 + vertex 5.87785 -8.09017 1 + vertex 3.09017 -9.51056 1 + endloop + endfacet + facet normal 0.45399 -0.891007 0 + outer loop + vertex 5.87785 -8.09017 1 + vertex 3.09017 -9.51056 0 + vertex 5.87785 -8.09017 0 + endloop + endfacet + facet normal 0.156436 -0.987688 0 + outer loop + vertex 0 -10 0 + vertex 3.09017 -9.51056 1 + vertex 0 -10 1 + endloop + endfacet + facet normal 0.156436 -0.987688 0 + outer loop + vertex 3.09017 -9.51056 1 + vertex 0 -10 0 + vertex 3.09017 -9.51056 0 + endloop + endfacet + facet normal -0.987688 -0.156436 0 + outer loop + vertex -9.51056 -3.09017 0 + vertex -10 0 1 + vertex -10 0 0 + endloop + endfacet + facet normal -0.987688 -0.156436 0 + outer loop + vertex -10 0 1 + vertex -9.51056 -3.09017 0 + vertex -9.51056 -3.09017 1 + endloop + endfacet + facet normal -0.891007 0.45399 0 + outer loop + vertex -9.51056 3.09017 0 + vertex -8.09017 5.87785 1 + vertex -8.09017 5.87785 0 + endloop + endfacet + facet normal -0.891007 0.45399 0 + outer loop + vertex -8.09017 5.87785 1 + vertex -9.51056 3.09017 0 + vertex -9.51056 3.09017 1 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -8.09017 5.87785 0 + vertex -5.87785 8.09017 1 + vertex -5.87785 8.09017 0 + endloop + endfacet + facet normal -0.707107 0.707107 0 + outer loop + vertex -5.87785 8.09017 1 + vertex -8.09017 5.87785 0 + vertex -8.09017 5.87785 1 + endloop + endfacet + facet normal 0.987688 -0.156436 0 + outer loop + vertex 9.51056 -3.09017 1 + vertex 10 0 0 + vertex 10 0 1 + endloop + endfacet + facet normal 0.987688 -0.156436 0 + outer loop + vertex 10 0 0 + vertex 9.51056 -3.09017 1 + vertex 9.51056 -3.09017 0 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -5.87785 -8.09017 0 + vertex -8.09017 -5.87785 1 + vertex -8.09017 -5.87785 0 + endloop + endfacet + facet normal -0.707107 -0.707107 0 + outer loop + vertex -8.09017 -5.87785 1 + vertex -5.87785 -8.09017 0 + vertex -5.87785 -8.09017 1 + endloop + endfacet + facet normal -0.45399 -0.891007 0 + outer loop + vertex -5.87785 -8.09017 0 + vertex -3.09017 -9.51056 1 + vertex -5.87785 -8.09017 1 + endloop + endfacet + facet normal -0.45399 -0.891007 -0 + outer loop + vertex -3.09017 -9.51056 1 + vertex -5.87785 -8.09017 0 + vertex -3.09017 -9.51056 0 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/checker/src/models/syringe-bin.stl b/checker/src/models/syringe-bin.stl Binary files differ. diff --git a/checker/src/models/syringe.scad b/checker/src/models/syringe.scad @@ -0,0 +1,24 @@ +$fn = 20; + +base_height = 1; +base_radius = 10; + +pipe_height = 10; +pipe_radius = 2; + +main_radius = base_radius - 2; +main_height = 50; + +needle_radius = 0.5; +needle_height = 40; + +cylinder(r = base_radius, h = base_height); +translate([0, 0, base_height]) { + cylinder(r = pipe_radius, h = pipe_height); + translate([0, 0, pipe_height]) { + cylinder(r = main_radius, h = main_height); + translate([0, 0, needle_height]) { + cylinder(r = needle_radius, h = needle_height, $fn=10); + } + } +} diff --git a/checker/src/models/syringe.stl b/checker/src/models/syringe.stl Binary files differ. diff --git a/service/src/main.c b/service/src/main.c @@ -11,7 +11,7 @@ #include "stlfile.h" #include "util.h" -#define MAXFILESIZE 7000 +#define MAXFILESIZE 50000 struct command { const char *name; diff --git a/src/main.c b/src/main.c @@ -11,7 +11,7 @@ #include "stlfile.h" #include "util.h" -#define MAXFILESIZE 7000 +#define MAXFILESIZE 50000 // 20kB file limit struct command { const char *name; diff --git a/src/msgs/motd b/src/msgs/motd @@ -8,8 +8,8 @@ Keep your files small, size matters! Use 'search' to find models by name! ENO.. is a popular solid name! - STeaLing flags since 2006! - C4n y0u r34d th1s? 🏁 ➡️ 📁 + STLing flags since 2006! + C4n y0u r34d th1s? 🏁➡️ 📁 ( *ಥ ⌂ * ) dont pwn pls *finds file* UwU whats this?