commit 886933f8b8e8ab85a0abac41ca693af116529e75 Author: Adam Goldsmith Date: Mon Sep 12 16:23:58 2022 -0400 Initial Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..59387b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.stl +*.blend[0-9] diff --git a/bathroomSign/doorSign.cdr b/bathroomSign/doorSign.cdr new file mode 100644 index 0000000..3fc872d Binary files /dev/null and b/bathroomSign/doorSign.cdr differ diff --git a/bearingSleeve.scad b/bearingSleeve.scad new file mode 100644 index 0000000..e392cd2 --- /dev/null +++ b/bearingSleeve.scad @@ -0,0 +1,12 @@ +bearingRadius = 22/2; +bearingBottomThickness = 5; +desiredBottomThickness = 11; +thickness = 7; +tolerance = .1; + +linear_extrude(thickness) { + difference() { + circle(bearingRadius + desiredBottomThickness - bearingBottomThickness); + circle(bearingRadius + tolerance); + } +} diff --git a/dell_e6440_hdd_caddy/dell_e6440_hdd_caddy.blend b/dell_e6440_hdd_caddy/dell_e6440_hdd_caddy.blend new file mode 100644 index 0000000..5bab20f Binary files /dev/null and b/dell_e6440_hdd_caddy/dell_e6440_hdd_caddy.blend differ diff --git a/ecobee_box_plate.slvs b/ecobee_box_plate.slvs new file mode 100644 index 0000000..096bc3e --- /dev/null +++ b/ecobee_box_plate.slvs @@ -0,0 +1,2761 @@ +±²³SolveSpaceREVa + + +Group.h.v=00000001 +Group.type=5000 +Group.name=#references +Group.color=ff000000 +Group.skipFirst=0 +Group.predef.swapUV=0 +Group.predef.negateU=0 +Group.predef.negateV=0 +Group.visible=1 +Group.suppress=0 +Group.relaxConstraints=0 +Group.allowRedundant=0 +Group.allDimsReference=0 +Group.remap={ +} +AddGroup + +Group.h.v=00000002 +Group.type=5001 +Group.order=1 +Group.name=sketch-in-plane +Group.activeWorkplane.v=80020000 +Group.color=ff000000 +Group.subtype=6000 +Group.skipFirst=0 +Group.predef.q.w=1.00000000000000000000 +Group.predef.origin.v=00010001 +Group.predef.swapUV=0 +Group.predef.negateU=0 +Group.predef.negateV=0 +Group.visible=1 +Group.suppress=0 +Group.relaxConstraints=0 +Group.allowRedundant=0 +Group.allDimsReference=0 +Group.remap={ +} +AddGroup + +Param.h.v.=00010010 +AddParam + +Param.h.v.=00010011 +AddParam + +Param.h.v.=00010012 +AddParam + +Param.h.v.=00010020 +Param.val=1.00000000000000000000 +AddParam + +Param.h.v.=00010021 +AddParam + +Param.h.v.=00010022 +AddParam + +Param.h.v.=00010023 +AddParam + +Param.h.v.=00020010 +AddParam + +Param.h.v.=00020011 +AddParam + +Param.h.v.=00020012 +AddParam + +Param.h.v.=00020020 +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=00020021 +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=00020022 +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=00020023 +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=00030010 +AddParam + +Param.h.v.=00030011 +AddParam + +Param.h.v.=00030012 +AddParam + +Param.h.v.=00030020 +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=00030021 +Param.val=-0.50000000000000000000 +AddParam + +Param.h.v.=00030022 +Param.val=-0.50000000000000000000 +AddParam + +Param.h.v.=00030023 +Param.val=-0.50000000000000000000 +AddParam + +Param.h.v.=00040010 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00040011 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00040013 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00040014 +AddParam + +Param.h.v.=00050010 +AddParam + +Param.h.v.=00050011 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00050013 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00050014 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00060010 +AddParam + +Param.h.v.=00060011 +AddParam + +Param.h.v.=00060013 +AddParam + +Param.h.v.=00060014 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00070010 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00070011 +AddParam + +Param.h.v.=00070013 +AddParam + +Param.h.v.=00070014 +AddParam + +Param.h.v.=00090010 +Param.val=4.00000000000000000000 +AddParam + +Param.h.v.=00090011 +Param.val=92.90000000000000568434 +AddParam + +Param.h.v.=00090013 +AddParam + +Param.h.v.=00090014 +Param.val=92.90000000000000568434 +AddParam + +Param.h.v.=000a0010 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=000a0011 +Param.val=95.00000000000000000000 +AddParam + +Param.h.v.=000a0013 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=000a0014 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=000b0010 +Param.val=16.10000000000000142109 +AddParam + +Param.h.v.=000b0011 +Param.val=90.79999999999999715783 +AddParam + +Param.h.v.=000b0013 +Param.val=16.10000000000000142109 +AddParam + +Param.h.v.=000b0014 +Param.val=95.00000000000000000000 +AddParam + +Param.h.v.=000c0010 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=000c0011 +Param.val=90.79999999999999715783 +AddParam + +Param.h.v.=000c0013 +Param.val=16.10000000000000142109 +AddParam + +Param.h.v.=000c0014 +Param.val=90.79999999999999715783 +AddParam + +Param.h.v.=000d0010 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=000d0011 +Param.val=95.00000000000000000000 +AddParam + +Param.h.v.=000d0013 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=000d0014 +Param.val=90.79999999999999715783 +AddParam + +Param.h.v.=000e0010 +Param.val=16.10000000000000142109 +AddParam + +Param.h.v.=000e0011 +Param.val=95.00000000000000000000 +AddParam + +Param.h.v.=000e0013 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=000e0014 +Param.val=95.00000000000000000000 +AddParam + +Param.h.v.=000f0010 +Param.val=16.10000000000000142109 +AddParam + +Param.h.v.=000f0011 +Param.val=92.90000000000000568434 +AddParam + +Param.h.v.=000f0013 +Param.val=16.10000000000000142109 +AddParam + +Param.h.v.=000f0014 +Param.val=90.79999999999999715783 +AddParam + +Param.h.v.=000f0016 +Param.val=16.10000000000000142109 +AddParam + +Param.h.v.=000f0017 +Param.val=95.00000000000000000000 +AddParam + +Param.h.v.=00100010 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=00100011 +Param.val=92.90000000000000568434 +AddParam + +Param.h.v.=00100013 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=00100014 +Param.val=95.00000000000000000000 +AddParam + +Param.h.v.=00100016 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=00100017 +Param.val=90.79999999999999715783 +AddParam + +Param.h.v.=00110010 +Param.val=6.10000000000000053291 +AddParam + +Param.h.v.=00110011 +Param.val=92.90000000000000568434 +AddParam + +Param.h.v.=00110013 +Param.val=4.00000000000000000000 +AddParam + +Param.h.v.=00110014 +Param.val=92.90000000000000568434 +AddParam + +Param.h.v.=00140010 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=00140011 +Param.val=5.00000000000000000000 +AddParam + +Param.h.v.=00140013 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=00140014 +Param.val=9.20000000000000106581 +AddParam + +Param.h.v.=00150010 +Param.val=83.90000000000000568434 +AddParam + +Param.h.v.=00150011 +Param.val=5.00000000000000000000 +AddParam + +Param.h.v.=00150013 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=00150014 +Param.val=5.00000000000000000000 +AddParam + +Param.h.v.=00160010 +Param.val=83.90000000000000568434 +AddParam + +Param.h.v.=00160011 +Param.val=9.20000000000000106581 +AddParam + +Param.h.v.=00160013 +Param.val=83.90000000000000568434 +AddParam + +Param.h.v.=00160014 +Param.val=5.00000000000000000000 +AddParam + +Param.h.v.=00170010 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=00170011 +Param.val=9.20000000000000106581 +AddParam + +Param.h.v.=00170013 +Param.val=83.90000000000000568434 +AddParam + +Param.h.v.=00170014 +Param.val=9.20000000000000106581 +AddParam + +Param.h.v.=00180010 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=00180011 +Param.val=7.09999999999999964473 +AddParam + +Param.h.v.=00180013 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=00180014 +Param.val=5.00000000000000000000 +AddParam + +Param.h.v.=00180016 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=00180017 +Param.val=9.20000000000000106581 +AddParam + +Param.h.v.=00190010 +Param.val=83.90000000000000568434 +AddParam + +Param.h.v.=00190011 +Param.val=7.10000000000000053291 +AddParam + +Param.h.v.=00190013 +Param.val=83.90000000000000568434 +AddParam + +Param.h.v.=00190014 +Param.val=9.20000000000000106581 +AddParam + +Param.h.v.=00190016 +Param.val=83.90000000000000568434 +AddParam + +Param.h.v.=00190017 +Param.val=5.00000000000000000000 +AddParam + +Param.h.v.=001b0010 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=001b0011 +Param.val=5.00000000000000000000 +AddParam + +Param.h.v.=001b0013 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=001b0014 +AddParam + +Param.h.v.=001c0010 +Param.val=93.90000000000000568434 +AddParam + +Param.h.v.=001c0011 +Param.val=7.09999999999999964473 +AddParam + +Param.h.v.=001c0013 +Param.val=96.00000000000000000000 +AddParam + +Param.h.v.=001c0014 +Param.val=7.09999999999999964473 +AddParam + +Param.h.v.=001d0010 +Param.val=96.00000000000000000000 +AddParam + +Param.h.v.=001d0011 +Param.val=7.09999999999999964473 +AddParam + +Param.h.v.=001d0013 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=001d0014 +Param.val=7.09999999999999964473 +AddParam + +Param.h.v.=001e0010 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=001e0011 +Param.val=83.00000000000000000000 +AddParam + +Param.h.v.=001e0040 +Param.val=1.75000000000000000000 +AddParam + +Param.h.v.=001f0010 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=001f0011 +Param.val=17.00000000000000000000 +AddParam + +Param.h.v.=001f0040 +Param.val=1.75000000000000000000 +AddParam + +Param.h.v.=00240010 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00240011 +Param.val=83.00000000000000000000 +AddParam + +Param.h.v.=00240013 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00240014 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=00250010 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00250011 +Param.val=17.00000000000000000000 +AddParam + +Param.h.v.=00250013 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00250014 +AddParam + +Param.h.v.=00280010 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00280011 +Param.val=17.00000000000000000000 +AddParam + +Param.h.v.=00280013 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00280014 +Param.val=83.00000000000000000000 +AddParam + +Param.h.v.=00290010 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00290011 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=00290040 +Param.val=25.00000000000000000000 +AddParam + +Param.h.v.=002a0010 +AddParam + +Param.h.v.=002a0011 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=002a0013 +Param.val=100.00000000000000000000 +AddParam + +Param.h.v.=002a0014 +Param.val=50.00000000000000000000 +AddParam + +Param.h.v.=4000000e +Param.val=0.92900000000000004796 +AddParam + +Param.h.v.=40000012 +Param.val=0.06100000000000000561 +AddParam + +Param.h.v.=40000024 +Param.val=0.50000000000000144329 +AddParam + +Param.h.v.=40000025 +Param.val=0.49999999999999933387 +AddParam + +Param.h.v.=4000003d +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=4000003e +Param.val=0.49999999999999988898 +AddParam + +Param.h.v.=40000045 +Param.val=0.06100000000000004030 +AddParam + +Param.h.v.=4000004b +Param.val=0.92900000000000004796 +AddParam + +Param.h.v.=40000067 +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=4000006a +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=4000007e +Param.val=0.50000000000000000000 +AddParam + +Param.h.v.=4000007f +Param.val=0.50000000000000000000 +AddParam + +Request.h.v=00000001 +Request.type=100 +Request.group.v=00000001 +Request.construction=0 +AddRequest + +Request.h.v=00000002 +Request.type=100 +Request.group.v=00000001 +Request.construction=0 +AddRequest + +Request.h.v=00000003 +Request.type=100 +Request.group.v=00000001 +Request.construction=0 +AddRequest + +Request.h.v=00000004 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000005 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000006 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000007 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000009 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=0000000a +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=0000000b +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=0000000c +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=0000000d +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=0000000e +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=0000000f +Request.type=500 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000010 +Request.type=500 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000011 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=00000014 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=00000015 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000016 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=00000017 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000018 +Request.type=500 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000019 +Request.type=500 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=0000001b +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=0000001c +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=0000001d +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=0000001e +Request.type=400 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=0000001f +Request.type=400 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=00000024 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=00000025 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=00000028 +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Request.h.v=00000029 +Request.type=400 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=0 +AddRequest + +Request.h.v=0000002a +Request.type=200 +Request.workplane.v=80020000 +Request.group.v=00000002 +Request.construction=1 +AddRequest + +Entity.h.v=00010000 +Entity.type=10000 +Entity.construction=0 +Entity.point[0].v=00010001 +Entity.normal.v=00010020 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00010001 +Entity.type=2000 +Entity.construction=1 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00010020 +Entity.type=3000 +Entity.construction=0 +Entity.point[0].v=00010001 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00020000 +Entity.type=10000 +Entity.construction=0 +Entity.point[0].v=00020001 +Entity.normal.v=00020020 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00020001 +Entity.type=2000 +Entity.construction=1 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00020020 +Entity.type=3000 +Entity.construction=0 +Entity.point[0].v=00020001 +Entity.actNormal.w=0.50000000000000000000 +Entity.actNormal.vx=0.50000000000000000000 +Entity.actNormal.vy=0.50000000000000000000 +Entity.actNormal.vz=0.50000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00030000 +Entity.type=10000 +Entity.construction=0 +Entity.point[0].v=00030001 +Entity.normal.v=00030020 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00030001 +Entity.type=2000 +Entity.construction=1 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00030020 +Entity.type=3000 +Entity.construction=0 +Entity.point[0].v=00030001 +Entity.actNormal.w=0.50000000000000000000 +Entity.actNormal.vx=-0.50000000000000000000 +Entity.actNormal.vy=-0.50000000000000000000 +Entity.actNormal.vz=-0.50000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00040000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=00040001 +Entity.point[1].v=00040002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00040001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=100.00000000000000000000 +Entity.actPoint.y=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00040002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00050000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=00050001 +Entity.point[1].v=00050002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00050001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.y=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00050002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=100.00000000000000000000 +Entity.actPoint.y=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00060000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=00060001 +Entity.point[1].v=00060002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00060001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00060002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.y=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00070000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=00070001 +Entity.point[1].v=00070002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00070001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00070002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00090000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=00090001 +Entity.point[1].v=00090002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00090001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=4.00000000000000000000 +Entity.actPoint.y=92.90000000000000568434 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00090002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.y=92.90000000000000568434 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000a0000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=000a0001 +Entity.point[1].v=000a0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000a0001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=95.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000a0002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000b0000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=000b0001 +Entity.point[1].v=000b0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000b0001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=16.10000000000000142109 +Entity.actPoint.y=90.79999999999999715783 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000b0002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=16.10000000000000142109 +Entity.actPoint.y=95.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000c0000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=000c0001 +Entity.point[1].v=000c0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000c0001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=90.79999999999999715783 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000c0002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=16.10000000000000142109 +Entity.actPoint.y=90.79999999999999715783 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000d0000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=000d0001 +Entity.point[1].v=000d0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000d0001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=95.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000d0002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=90.79999999999999715783 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000e0000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=000e0001 +Entity.point[1].v=000e0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000e0001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=16.10000000000000142109 +Entity.actPoint.y=95.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000e0002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=95.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000f0000 +Entity.type=14000 +Entity.construction=0 +Entity.point[0].v=000f0001 +Entity.point[1].v=000f0002 +Entity.point[2].v=000f0003 +Entity.normal.v=000f0020 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000f0001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=16.10000000000000142109 +Entity.actPoint.y=92.90000000000000568434 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000f0002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=16.10000000000000142109 +Entity.actPoint.y=90.79999999999999715783 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000f0003 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=16.10000000000000142109 +Entity.actPoint.y=95.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=000f0020 +Entity.type=3001 +Entity.construction=0 +Entity.point[0].v=000f0001 +Entity.workplane.v=80020000 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00100000 +Entity.type=14000 +Entity.construction=0 +Entity.point[0].v=00100001 +Entity.point[1].v=00100002 +Entity.point[2].v=00100003 +Entity.normal.v=00100020 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00100001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=92.90000000000000568434 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00100002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=95.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00100003 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=90.79999999999999715783 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00100020 +Entity.type=3001 +Entity.construction=0 +Entity.point[0].v=00100001 +Entity.workplane.v=80020000 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00110000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=00110001 +Entity.point[1].v=00110002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00110001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=6.10000000000000053291 +Entity.actPoint.y=92.90000000000000568434 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00110002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=4.00000000000000000000 +Entity.actPoint.y=92.90000000000000568434 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00140000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=00140001 +Entity.point[1].v=00140002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00140001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=5.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00140002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=9.20000000000000106581 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00150000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=00150001 +Entity.point[1].v=00150002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00150001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=83.90000000000000568434 +Entity.actPoint.y=5.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00150002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=5.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00160000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=00160001 +Entity.point[1].v=00160002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00160001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=83.90000000000000568434 +Entity.actPoint.y=9.20000000000000106581 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00160002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=83.90000000000000568434 +Entity.actPoint.y=5.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00170000 +Entity.type=11000 +Entity.construction=0 +Entity.point[0].v=00170001 +Entity.point[1].v=00170002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00170001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=9.20000000000000106581 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00170002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=83.90000000000000568434 +Entity.actPoint.y=9.20000000000000106581 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00180000 +Entity.type=14000 +Entity.construction=0 +Entity.point[0].v=00180001 +Entity.point[1].v=00180002 +Entity.point[2].v=00180003 +Entity.normal.v=00180020 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00180001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=7.09999999999999964473 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00180002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=5.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00180003 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=9.20000000000000106581 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00180020 +Entity.type=3001 +Entity.construction=0 +Entity.point[0].v=00180001 +Entity.workplane.v=80020000 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00190000 +Entity.type=14000 +Entity.construction=0 +Entity.point[0].v=00190001 +Entity.point[1].v=00190002 +Entity.point[2].v=00190003 +Entity.normal.v=00190020 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00190001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=83.90000000000000568434 +Entity.actPoint.y=7.10000000000000053291 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00190002 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=83.90000000000000568434 +Entity.actPoint.y=9.20000000000000106581 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00190003 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=83.90000000000000568434 +Entity.actPoint.y=5.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00190020 +Entity.type=3001 +Entity.construction=0 +Entity.point[0].v=00190001 +Entity.workplane.v=80020000 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001b0000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=001b0001 +Entity.point[1].v=001b0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001b0001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=5.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001b0002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001c0000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=001c0001 +Entity.point[1].v=001c0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001c0001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=93.90000000000000568434 +Entity.actPoint.y=7.09999999999999964473 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001c0002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=96.00000000000000000000 +Entity.actPoint.y=7.09999999999999964473 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001d0000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=001d0001 +Entity.point[1].v=001d0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001d0001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=96.00000000000000000000 +Entity.actPoint.y=7.09999999999999964473 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001d0002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=100.00000000000000000000 +Entity.actPoint.y=7.09999999999999964473 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001e0000 +Entity.type=13000 +Entity.construction=0 +Entity.point[0].v=001e0001 +Entity.normal.v=001e0020 +Entity.distance.v=001e0040 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001e0001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=83.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001e0020 +Entity.type=3001 +Entity.construction=0 +Entity.point[0].v=001e0001 +Entity.workplane.v=80020000 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001e0040 +Entity.type=4000 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actDistance=1.75000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001f0000 +Entity.type=13000 +Entity.construction=0 +Entity.point[0].v=001f0001 +Entity.normal.v=001f0020 +Entity.distance.v=001f0040 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001f0001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=17.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001f0020 +Entity.type=3001 +Entity.construction=0 +Entity.point[0].v=001f0001 +Entity.workplane.v=80020000 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=001f0040 +Entity.type=4000 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actDistance=1.75000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00240000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=00240001 +Entity.point[1].v=00240002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00240001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=83.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00240002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=100.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00250000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=00250001 +Entity.point[1].v=00250002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00250001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=17.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00250002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00280000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=00280001 +Entity.point[1].v=00280002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00280001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=17.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00280002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=83.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00290000 +Entity.type=13000 +Entity.construction=0 +Entity.point[0].v=00290001 +Entity.normal.v=00290020 +Entity.distance.v=00290040 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00290001 +Entity.type=2001 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actPoint.x=50.00000000000000000000 +Entity.actPoint.y=50.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00290020 +Entity.type=3001 +Entity.construction=0 +Entity.point[0].v=00290001 +Entity.workplane.v=80020000 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=00290040 +Entity.type=4000 +Entity.construction=0 +Entity.workplane.v=80020000 +Entity.actDistance=25.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=002a0000 +Entity.type=11000 +Entity.construction=1 +Entity.point[0].v=002a0001 +Entity.point[1].v=002a0002 +Entity.workplane.v=80020000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=002a0001 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.y=50.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=002a0002 +Entity.type=2001 +Entity.construction=1 +Entity.workplane.v=80020000 +Entity.actPoint.x=100.00000000000000000000 +Entity.actPoint.y=50.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=80020000 +Entity.type=10000 +Entity.construction=0 +Entity.point[0].v=80020002 +Entity.normal.v=80020001 +Entity.actVisible=1 +AddEntity + +Entity.h.v=80020001 +Entity.type=3010 +Entity.construction=0 +Entity.point[0].v=80020002 +Entity.actNormal.w=1.00000000000000000000 +Entity.actVisible=1 +AddEntity + +Entity.h.v=80020002 +Entity.type=2012 +Entity.construction=1 +Entity.actVisible=1 +AddEntity + +Constraint.h.v=00000001 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00040001 +Constraint.ptB.v=00050002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000002 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00050001 +Constraint.ptB.v=00060002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000003 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00060001 +Constraint.ptB.v=00070002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000004 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00070001 +Constraint.ptB.v=00040002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000005 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00040000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000006 +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00050000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000007 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00060000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000008 +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00070000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000009 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=80020002 +Constraint.ptB.v=00060001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000000a +Constraint.type=30 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=100.00000000000000000000 +Constraint.ptA.v=00060001 +Constraint.ptB.v=00060002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.x=-28.20447760824285410308 +Constraint.disp.offset.y=1.70345236923580656274 +AddConstraint + +Constraint.h.v=0000000b +Constraint.type=50 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00050000 +Constraint.entityB.v=00060000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000000e +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=4000000e +Constraint.ptA.v=00090002 +Constraint.entityA.v=00060000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000000f +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00090000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000010 +Constraint.type=30 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=4.00000000000000000000 +Constraint.ptA.v=00090001 +Constraint.ptB.v=00090002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.x=0.64079642504508471657 +Constraint.disp.offset.y=-6.82628453767151732734 +AddConstraint + +Constraint.h.v=00000012 +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=40000012 +Constraint.ptA.v=000a0002 +Constraint.entityA.v=00050000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000013 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=000a0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000014 +Constraint.type=30 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=5.00000000000000000000 +Constraint.ptA.v=000a0001 +Constraint.ptB.v=000a0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.x=4.01877502562304478317 +AddConstraint + +Constraint.h.v=00000015 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000b0001 +Constraint.ptB.v=000c0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000016 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000c0001 +Constraint.ptB.v=000d0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000017 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000d0001 +Constraint.ptB.v=000e0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000018 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000e0001 +Constraint.ptB.v=000b0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000019 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=000b0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000001a +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=000c0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000001b +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=000d0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000001c +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=000e0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000001d +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000a0001 +Constraint.ptB.v=000d0001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000001f +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000c0002 +Constraint.ptB.v=000f0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000020 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000e0001 +Constraint.ptB.v=000f0003 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000021 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000e0002 +Constraint.ptB.v=00100002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000022 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=000d0002 +Constraint.ptB.v=00100003 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000023 +Constraint.type=100 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00090001 +Constraint.entityA.v=00100000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000024 +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=40000024 +Constraint.ptA.v=00100001 +Constraint.entityA.v=000d0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000025 +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=40000025 +Constraint.ptA.v=000f0001 +Constraint.entityA.v=000b0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000026 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00100001 +Constraint.ptB.v=00110001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000027 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00090001 +Constraint.ptB.v=00110002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000028 +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00110000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000029 +Constraint.type=30 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=4.20000000000000017764 +Constraint.ptA.v=000d0001 +Constraint.ptB.v=000d0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.x=-11.87609617448848453591 +Constraint.disp.offset.y=-0.13588159507657815439 +AddConstraint + +Constraint.h.v=0000002a +Constraint.type=30 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=10.00000000000000000000 +Constraint.ptA.v=000c0001 +Constraint.ptB.v=000c0002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.y=-3.34897904332306062258 +AddConstraint + +Constraint.h.v=0000002f +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00140001 +Constraint.ptB.v=00150002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000030 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00150001 +Constraint.ptB.v=00160002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000031 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00160001 +Constraint.ptB.v=00170002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000032 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00170001 +Constraint.ptB.v=00140002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000033 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00140000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000034 +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00150000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000035 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00160000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000036 +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00170000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000038 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00150002 +Constraint.ptB.v=00180002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000039 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00170001 +Constraint.ptB.v=00180003 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000003a +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00170002 +Constraint.ptB.v=00190002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000003b +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00160002 +Constraint.ptB.v=00190003 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000003d +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=4000003d +Constraint.ptA.v=00190001 +Constraint.entityA.v=00160000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000003e +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=4000003e +Constraint.ptA.v=00180001 +Constraint.entityA.v=00140000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000044 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00180002 +Constraint.ptB.v=001b0001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000045 +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=40000045 +Constraint.ptA.v=001b0002 +Constraint.entityA.v=00070000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000046 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=001b0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000048 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00180001 +Constraint.ptB.v=001c0001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000049 +Constraint.type=100 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=001c0002 +Constraint.entityA.v=00180000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000004a +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=001c0002 +Constraint.ptB.v=001d0001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000004b +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=4000004b +Constraint.ptA.v=001d0002 +Constraint.entityA.v=00040000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000004c +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=001d0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000004d +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=001c0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000004f +Constraint.type=50 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00140000 +Constraint.entityB.v=000d0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000050 +Constraint.type=50 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=000e0000 +Constraint.entityB.v=00150000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000051 +Constraint.type=50 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=001d0000 +Constraint.entityB.v=00090000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000052 +Constraint.type=50 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=001b0000 +Constraint.entityB.v=000a0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000053 +Constraint.type=130 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=001f0000 +Constraint.entityB.v=001e0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000067 +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=40000067 +Constraint.ptA.v=00240002 +Constraint.entityA.v=00050000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000068 +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00240000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000006a +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=4000006a +Constraint.ptA.v=00250002 +Constraint.entityA.v=00070000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000006b +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00250000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000006c +Constraint.type=50 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00250000 +Constraint.entityB.v=00240000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000074 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=001f0001 +Constraint.ptB.v=00280001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000076 +Constraint.type=30 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=66.00000000000000000000 +Constraint.ptA.v=00280001 +Constraint.ptB.v=00280002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.x=-10.80938481694326291915 +Constraint.disp.offset.y=1.18271494476183525180 +AddConstraint + +Constraint.h.v=00000077 +Constraint.type=90 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=3.50000000000000000000 +Constraint.entityA.v=001e0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.x=3.98732719143105240889 +Constraint.disp.offset.y=1.54279659737579177836 +AddConstraint + +Constraint.h.v=00000078 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00240001 +Constraint.ptB.v=00280002 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000079 +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00250001 +Constraint.ptB.v=00280001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000007a +Constraint.type=81 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=00280000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000007b +Constraint.type=90 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valA=50.00000000000000000000 +Constraint.entityA.v=00290000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +Constraint.disp.offset.x=30.83556101702975382750 +Constraint.disp.offset.y=8.68522475384672887344 +AddConstraint + +Constraint.h.v=0000007c +Constraint.type=70 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00290001 +Constraint.entityA.v=00280000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000007d +Constraint.type=20 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00280002 +Constraint.ptB.v=001e0001 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000007e +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=4000007e +Constraint.ptA.v=002a0001 +Constraint.entityA.v=00060000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=0000007f +Constraint.type=42 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.valP.v=4000007f +Constraint.ptA.v=002a0002 +Constraint.entityA.v=00040000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000080 +Constraint.type=80 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.entityA.v=002a0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + +Constraint.h.v=00000081 +Constraint.type=70 +Constraint.group.v=00000002 +Constraint.workplane.v=80020000 +Constraint.ptA.v=00290001 +Constraint.entityA.v=002a0000 +Constraint.other=0 +Constraint.other2=0 +Constraint.reference=0 +AddConstraint + diff --git a/oscilloscopeKnobs.scad b/oscilloscopeKnobs.scad new file mode 100644 index 0000000..09444a4 --- /dev/null +++ b/oscilloscopeKnobs.scad @@ -0,0 +1,63 @@ +height = 13.25; +topDiameter =9.75; +lowerDiameter = 10.85; +stepDiameter = 9; +stepDepth = 1.5; + +crossDepth = .75; // original mesurement ~0.25 +crossWidth = 2.25; +crossStartHeight = 2; + +// mostly not really measured +chamferHeight = 10; +chamferDiameter = topDiameter-crossDepth*2; + +// measured from metal pole, not plastic knob +knobDepth = 7; +knobDiameter = 4.75; +knobFlatDiameter = 4; +knobTolerance = 0.1; + +$fn = 100; + +difference () { + union() { + translate([0,0,stepDepth]) { + difference() { + // main exterior + intersection() { + cylinder(r1=lowerDiameter/2, r2=topDiameter/2, h=height-stepDepth); + // chamfer + union() { + translate([0,0,chamferHeight]) + cylinder(r1=lowerDiameter/2, r2=chamferDiameter/2, h=height-stepDepth-chamferHeight); + cylinder(r=lowerDiameter/2, h=chamferHeight); + } + } + + // cross + difference() { + union() translate([0, 0, height/2 - .01]) { + cube([lowerDiameter, crossWidth, height], center=true); + cube([crossWidth, lowerDiameter, height], center=true); + } + // put back the middle + cylinder(r1=lowerDiameter/2 - crossDepth, + r2=topDiameter/2 - crossDepth, h=height-stepDepth); + // put back the bottom + cylinder(r=lowerDiameter, h=crossStartHeight); + } + } + } + + //bottom step + cylinder(r=stepDiameter/2, h=stepDepth+0.01); + } + + //inner concavity + difference() { + translate([0,0,-0.01]) cylinder(d=knobDiameter + knobTolerance*4, h=knobDepth + 0.01); + #translate([-stepDiameter/2, knobFlatDiameter - knobDiameter/2 + knobTolerance*5, 0]) + cube([stepDiameter, stepDiameter, height]); + } +} diff --git a/relay_enclosure/enclosure.py b/relay_enclosure/enclosure.py new file mode 100644 index 0000000..111b7b5 --- /dev/null +++ b/relay_enclosure/enclosure.py @@ -0,0 +1,107 @@ +import cadquery as cq + +# parameter definitions +p_outerWidth = 100.0 # Outer width of box enclosure +p_outerLength = 150.0 # Outer length of box enclosure +p_outerHeight = 50.0 # Outer height of box enclosure + +p_thickness = 3.0 # Thickness of the box walls +p_sideRadius = 10.0 # Radius for the curves around the sides of the box +p_topAndBottomRadius = ( + 2.0 # Radius for the curves on the top and bottom edges of the box +) + +p_screwpostInset = 12.0 # How far in from the edges the screw posts should be place. +p_screwpostID = 4.0 # Inner Diameter of the screw post holes, should be roughly screw diameter not including threads +p_screwpostOD = 10.0 # Outer Diameter of the screw posts.\nDetermines overall thickness of the posts + +p_boreDiameter = 8.0 # Diameter of the counterbore hole, if any +p_boreDepth = 1.0 # Depth of the counterbore hole, if +p_countersinkDiameter = 0.0 # Outer diameter of countersink. Should roughly match the outer diameter of the screw head +p_countersinkAngle = 90.0 # Countersink angle (complete angle between opposite sides, not from center to one side) +p_flipLid = True # Whether to place the lid with the top facing down or not. +p_lipHeight = 1.0 # Height of lip on the underside of the lid.\nSits inside the box body for a snug fit. + +# outer shell +oshell = ( + cq.Workplane("XY") + .rect(p_outerWidth, p_outerLength) + .extrude(p_outerHeight + p_lipHeight) +) + +# weird geometry happens if we make the fillets in the wrong order +if p_sideRadius > p_topAndBottomRadius: + oshell = oshell.edges("|Z").fillet(p_sideRadius) + oshell = oshell.edges("#Z").fillet(p_topAndBottomRadius) +else: + oshell = oshell.edges("#Z").fillet(p_topAndBottomRadius) + oshell = oshell.edges("|Z").fillet(p_sideRadius) + +# inner shell +ishell = ( + oshell.faces("Z") + .workplane(-p_thickness) + .rect(POSTWIDTH, POSTLENGTH, forConstruction=True) + .vertices() + .circle(p_screwpostOD / 2.0) + .circle(p_screwpostID / 2.0) + .extrude(-1.0 * (p_outerHeight + p_lipHeight - p_thickness), True) +) + +# split lid into top and bottom parts +(lid, bottom) = ( + box.faces(">Z") + .workplane(-p_thickness - p_lipHeight) + .split(keepTop=True, keepBottom=True) + .all() +) # splits into two solids + +# translate the lid, and subtract the bottom from it to produce the lid inset +lowerLid = lid.translate((0, 0, -p_lipHeight)) +cutlip = lowerLid.cut(bottom).translate( + (p_outerWidth + p_thickness, 0, p_thickness - p_outerHeight + p_lipHeight) +) + +# compute centers for screw holes +topOfLidCenters = ( + cutlip.faces(">Z") + .workplane(centerOption="CenterOfMass") + .rect(POSTWIDTH, POSTLENGTH, forConstruction=True) + .vertices() +) + +# add holes of the desired type +if p_boreDiameter > 0 and p_boreDepth > 0: + topOfLid = topOfLidCenters.cboreHole( + p_screwpostID, p_boreDiameter, p_boreDepth, 2.0 * p_thickness + ) +elif p_countersinkDiameter > 0 and p_countersinkAngle > 0: + topOfLid = topOfLidCenters.cskHole( + p_screwpostID, p_countersinkDiameter, p_countersinkAngle, 2.0 * p_thickness + ) +else: + topOfLid = topOfLidCenters.hole(p_screwpostID, 2.0 * p_thickness) + +# flip lid upside down if desired +if p_flipLid: + topOfLid = topOfLid.rotateAboutCenter((1, 0, 0), 180) + +# return the combined result +result = topOfLid.union(bottom) diff --git a/rotaryAttachmentCone.scad b/rotaryAttachmentCone.scad new file mode 100644 index 0000000..72a4a78 --- /dev/null +++ b/rotaryAttachmentCone.scad @@ -0,0 +1,33 @@ +tipR = 70/2; // 95/2 +baseR = 10; +length = 20; +thickness = 3; + +connectorInnerR = 6/2; +connectorOuterR = 18/2; +connectorLength = 8; +connectorScrewD = 3.75; //4mm screws + +shaftLength = 11.5; +shaftBaseToFlat = 1; +shaftFlat = 4; + + +difference() { + cylinder(r=connectorOuterR, h=connectorLength); // connector outer + translate([0,0,-0.01]) // connector inner + cylinder(r=connectorInnerR, h=shaftLength); // axel hole + translate([0,0,shaftBaseToFlat + shaftFlat/2]) { // screw holes + rotate(90, [1,0,0]) + cylinder(d=connectorScrewD, h=connectorOuterR + 0.1); + rotate(90, [0,1,0]) + cylinder(d=connectorScrewD, h=connectorOuterR + 0.1); + } +} + +difference() { //cone + translate([0,0,connectorLength]) // outer + cylinder(r1=connectorOuterR, r2=tipR+thickness, h=length + (shaftLength - connectorLength)); + translate([0,0,shaftLength]) // inner + cylinder(r1=baseR, r2=tipR, h=length + 0.01); +} diff --git a/sharpieHolder.scad b/sharpieHolder.scad new file mode 100644 index 0000000..78d1ab3 --- /dev/null +++ b/sharpieHolder.scad @@ -0,0 +1,29 @@ +sharpieRadius = 12/2; +thickness = 2; + +magnetThickness = 1.67; +magnetHeight = 19; +magnetWidth = 9.5; +magnetBaseThickness = 1; + +wallWidth = 0.6; // for single back wall +magnetPlay = 0.4; + +backThickness = thickness + magnetThickness + wallWidth + magnetPlay; +height = magnetBaseThickness*2 + magnetHeight + magnetPlay; + +difference() { + linear_extrude(height) { + difference() { + union() { + circle(sharpieRadius + thickness); + translate([-sharpieRadius - thickness, 0]) + square([(sharpieRadius + thickness)*2, sharpieRadius + backThickness]); + } + circle(sharpieRadius); + } + } + + translate([-magnetWidth/2, sharpieRadius + thickness, magnetBaseThickness]) + cube([magnetWidth*2, magnetThickness + magnetPlay, magnetHeight + magnetPlay]); +} diff --git a/taz-6-camera/camera-bracket.py b/taz-6-camera/camera-bracket.py new file mode 100644 index 0000000..efbe5b1 --- /dev/null +++ b/taz-6-camera/camera-bracket.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 + +import cadquery as cq +from cadquery import exporters + + +camera_width = 36 + 1 +camera_height = 5.5 + 1 + +bracket_width = 10 +bracket_thickness = 3 + +bolt_hole_diameter = 3.4 + +corner_radius = 1 + + +result = ( + cq + .Workplane("front") + .box(camera_width + bracket_thickness * 2, bracket_width, camera_height + bracket_thickness) + .faces(">Y") + .workplane() + .move(yDist=-bracket_thickness/2) + .rect(camera_width, camera_height, True) + .cutThruAll() + .faces(">X") + .vertices("Z[1]").workplane(centerOption="CenterOfMass").hole(bolt_hole_diameter) + .mirror("YZ", union=True) + .edges("%Line").edges("not