diff --git a/Designs.ezdraw b/Designs.ezdraw
new file mode 100644
index 0000000..7afae81
--- /dev/null
+++ b/Designs.ezdraw
@@ -0,0 +1,1296 @@
+
+
+
+
+ AAAA_CurrentOSXVersion
+ macOS Big Sur: 1775.104000
+ AAAA_DKDDocumentVersion
+ 9.0.0 : Mobile Friendly
+ AAAA_EazyDrawVersion
+ 10.2.4
+ AAAB_Build
+ 4006
+ AAAB_Distribution
+ App Store
+ AAA_DKDQuicklookData
+
+ JVBERi0xLjMKJcTl8uXrp/Og0MTGCjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNv
+ ZGUgL0xlbmd0aCAxMjc1ID4+CnN0cmVhbQp4AZWWS29URxCF9/dX9NImoumq6ueCTVAU
+ CZQFYnbAIjIhEJkFGIm/n6/6zr0zhgGBvZhxu6vq1OOc6o/hefgYUqzhfXj05E7CzV2Q
+ cHcTEr+ljNBTDZ/+CW+Dhqd+Q8OTF/OfKbx4gqnMPx76B1eXmw+haVCpQXIOJbvtixnj
+ /sXARW5FraPOL1yXwFnv69mQmK1mXW6DWYnJShDp8yzcBq02jzRbnJa34d1Ff5diO0ji
+ BBs59mQeFbzaUkyj2PSusVXAu/vjmVlez6y2aTUj9r6cvFyK5XnacC/ScKdxaPU8/UyS
+ EUIFvyrByLyPkhdNtCO1zEmKrRcS7xJT6SPcBGsa66DEUiWWJNyq3OJTwFpqs2C5xJYT
+ ZtpjJciCmbkroytisVodwURjz4NbSWItBjog6dDAR+GgEk2b4YrS9xJzKdkWLRpL7y0A
+ SXMrQY1G8W0elCEOUiXRxHS6JH2Qbd3dgH7EUlpZzoJJSScwYhpTZf52wCINHxRhS4tA
+ kjSKeYWOyS8jRSmqJLrVp7sj80RPVSQtKk3r91qDp+Waxt6PxU9Ka5xsXbsJp1s109Kk
+ 4eSJEmnOEGaLZ4mJGZYp/47KNEcrhNmRG961g25Lz0rD0azjXgTvugqz4TWynqOM7imu
+ RWSY3AdNpSLHSmeGyAZHey8ycGrKfe/Y4idlGJwPe1tPt7bWnzwd5+Ms2jZEy45pH7QN
+ 8mkczxLbZnZLfp/qrT44PM7+VkVAbgyBvMdan1i09eMbrlH9dxcZ6GxNq9K9/0bHnLa/
+ Hxi1o7rBtwKrtKNtjFpX6cvhQ3h0OAgKeHgbrr48/uvvz789uw6H/8IfB/e9aaq6pqY4
+ SJofvglshSDQCp199OedLP/eMYkSR6ar0CLqZK+Hn9L7MmR+X4PlzUWkQrEQX8bZtSDX
+ tnyY054NP6oNgnZkbc3YhX2Nq4G4blsrFEICYkMGMG09pgZdC0pC/QsaLB1VyDqPlLl3
+ 9XNClSYWSq8x9e5KKj6ctXIRJ0WTx3V/dUANP6tqhr/L1m+9LiV8CS9/nOwErNVXhXmu
+ G2DPvw6SOQGeJRkO4yykyogDxp0DnnVqwxfODtjPrNX2XWsv6bY2vztMvm/uD1Nzhe6V
+ 5pRKWdHae8P0Mly9efzpmlEIVw+/PKAkD+4+fvr86speXV8vr8Ph6Tpi4pU6m4115L7e
+ yT7L7MioWgQ5QMlpkmfOILNgWTgua6RJlt9bYQCuje00xVAyPWJppsF6Kc4IdkKiv7fL
+ sR7ryE/uMGr0CTX25wBbu7fWMXaHvUKBUqkA3CD4DALPOJMoKuucqAujaZvWmbJtoROO
+ ig88W4IXgaNx4XeHLCXf4/4kWI0XD300/pkh2yF7bqKqZ5AXtRFzqvkcMtJPauzF86hr
+ ZdDWc8gKqdD3M8jTYas/MPayft3sS21ulQdSa+3osXqtxNjh2mg9sHltOGz3R4oDnfG6
+ Vu9P9RSxhxaw1/9beQzcLn5WDeGbJRw4mlTKvv8z3Me6FxThGKmwT4qrcaYXUMmjJz9i
+ V0luK/UvGP9kV1bInkpn58D9HbKiX8mm4OyQ18lUnw/Yv0V1a8lowhlkOsKToGVn/xGy
+ Gpn3+SC8bHwc9vlm/hXyQwJmn9VsndpQr3vkv7p5HMurqzcPn0H2fZvQ/eXnqG4wHIby
+ woDyabjG+RuNrjpT0TOWAVk6+Of/A3jwb08KZW5kc3RyZWFtCmVuZG9iagoxIDAgb2Jq
+ Cjw8IC9UeXBlIC9QYWdlIC9QYXJlbnQgMiAwIFIgL1Jlc291cmNlcyA0IDAgUiAvQ29u
+ dGVudHMgMyAwIFIgL01lZGlhQm94IFswIDAgNTU5IDgwNl0KPj4KZW5kb2JqCjQgMCBv
+ YmoKPDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwgL0NzMSA1
+ IDAgUiAvQ3MyIDYgMCBSID4+IC9FeHRHU3RhdGUKPDwgL0dzMSA4IDAgUiAvR3MyIDkg
+ MCBSID4+IC9Gb250IDw8IC9UVDEgNyAwIFIgPj4gPj4KZW5kb2JqCjggMCBvYmoKPDwg
+ L1R5cGUgL0V4dEdTdGF0ZSAvY2EgMC44OTkgPj4KZW5kb2JqCjkgMCBvYmoKPDwgL1R5
+ cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgplbmRvYmoKMTAgMCBvYmoKPDwgL04gMSAvQWx0
+ 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
+ kh2S5cltKZopM1IaUl6lhqSuSe2aNmHagmkX00zSxGnN6fT0lPT69MHpodPXT++Z4TGj
+ csbNmfYzi2demGUyK3fW8dmas3mzD2dQM1Iz9ma848Xy6niDc7hztswZ4AfzN/CfCoIE
+ 6wR9Qn/hGuHjTP/MNZm9Wf5Za7P6RIGiGlG/OFi8Wfw8OyJ7e/arnNic3TkfclNzD+Qx
+ 8jLyWiQ6khzJ2Xzz/OL8q1InaaW0a67v3PVzB2RRsvoCrGBmQXOhHvxT2iF3kH8u7y4K
+ KKotej0vZd7hYu1iSXFHiWPJspLHpWGlX88n5vPnt5VZli0p617AWbBjIbZwzsK2RdaL
+ Khb1LA5fvGeJ6pKcJT+Vs8vXlP/5WepnrRVmFYsrHn0e/vm+SmalrPLWUr+l278gvhB/
+ cWnZxGWblr2vElT9WM2urql+t5y//Mcv3b7c+OWHFZkrLq30XLltFW2VZNXN1YGr96zR
+ XlO65tHaqWub1rHWVa37c/3s9RdqJtVs36C6Qb6ha2P0xuZNNptWbXq3WbS5s3ZK7YEt
+ pluWbXm1VbD12ragbY3bzbZXb3/7lfir2zvCdzTV2dXV7KTtLNr5666UXe1fe3/dUG9S
+ X13/127J7q49CXvONng1NOw13btyH2WffF/f/hn7r3wT8k1zo0vjjgMGB6oPooPyg0++
+ zfj25qGoQ22HvQ83fmf73ZYjukeqmrCmkqaBo6KjXc1pzVdbIlvaWv1aj3zv+v3uY5bH
+ ao/rH195QvVExYkPJ0tPDp6Snuo/nXX6Udvstntnpp25cTb+7KVzUefO/xD2w5l2TvvJ
+ 8/7nj13wvdDyo/ePRy96Xmzq8Og48pPHT0cueV5quux1ufmKz5XWq5OvnrgWeO309ZDr
+ P9zg3rjYGdN59Wbyzdu3Ztzqui243Xsn987zu0V3h+4thot91QOtBzUPTR/W/Wv8vw50
+ eXYd7w7p7vg58ed7j/iPnv5S8Mu7nopfNX6teWzxuKHXvfdYX1jflSfTn/Q8lT4d6q/8
+ Tfu3Lc8cnn33e9DvHQPTBnqey55/+GP5C+MXu/+c9GfbYNzgw5d5L4deVb02fr3njfeb
+ 9repbx8PzXtHf7fxr/F/tb6Pen//Q96HD/8GCQ/4YgplbmRzdHJlYW0KZW5kb2JqCjUg
+ MCBvYmoKWyAvSUNDQmFzZWQgMTAgMCBSIF0KZW5kb2JqCjExIDAgb2JqCjw8IC9OIDMg
+ L0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9MZW5ndGggMzM2IC9GaWx0ZXIgL0ZsYXRlRGVj
+ b2RlID4+CnN0cmVhbQp4AWNgYFJJLCjIYWFgYMjNKykKcndSiIiMUmB/yMAOhLwMYgwK
+ icnFBY4BAT5AJQwwGsRGgG/XGBhBvMu6ILNOSU1tUq0X8LWYKXz14ivRJoQ6rCyulNTi
+ ZKDMHyBOTS4oKmFgYEwBspXLSwpA7A4gW6QI6Cggew6InQ5hbwCxkyDsI2A1IUHOQDU3
+ gGyF5IxEoBmMP4BsnSQk8XQkNtReoBIGbpfM4oKcxEqFAGMQl7qgJLUC6A8GBuf8gsqi
+ zPSMEgVHYCilKnjmJevpKBgZGJozMIDCHGLr50BwWDKKnUGINd9nYLDd/////90IMa/9
+ DAwbgTq5diLENCwYGAS5GRhO7CxILEoEm8cMJJnS0hgYPi1nYOCNZGAQvgDUE12cZmwE
+ lmfkcWJgYL33//9nNQYG9skMDH8n/P//e9H//38XMzAw32FgOJAHABUhZe4KZW5kc3Ry
+ ZWFtCmVuZG9iago2IDAgb2JqClsgL0lDQ0Jhc2VkIDExIDAgUiBdCmVuZG9iagoyIDAg
+ b2JqCjw8IC9UeXBlIC9QYWdlcyAvTWVkaWFCb3ggWzAgMCA1NTkgODA2XSAvQ291bnQg
+ MSAvS2lkcyBbIDEgMCBSIF0gPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9DYXRh
+ bG9nIC9QYWdlcyAyIDAgUiAvVmVyc2lvbiAvMS40ID4+CmVuZG9iago3IDAgb2JqCjw8
+ IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0FBQUFBQitB
+ dmVuaXItQm9vayAvRm9udERlc2NyaXB0b3IKMTMgMCBSIC9FbmNvZGluZyAvTWFjUm9t
+ YW5FbmNvZGluZyAvRmlyc3RDaGFyIDQwIC9MYXN0Q2hhciAxMTkgL1dpZHRocyBbIDI2
+ MAoyNjAgNDQ0IDY2NiAwIDMzMyAyNzggMCAwIDAgNTU2IDU1NiAwIDU1NiAwIDAgMCAw
+ IDAgMCAwIDY2NiAwIDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDYzMCAwIDg5MCAwIDAg
+ MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDUxOSAwIDQ4MiA2MTEKMCAw
+ IDAgMCAwIDAgMCAwIDAgMCAwIDAgNjExIDMzMiA0MjYgMzMyIDAgMCA3MjIgXSA+Pgpl
+ bmRvYmoKMTMgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAv
+ QUFBQUFCK0F2ZW5pci1Cb29rIC9GbGFncyAzMiAvRm9udEJCb3gKWy0xNjcgLTI4OCAx
+ MDAwIDk0MF0gL0l0YWxpY0FuZ2xlIDAgL0FzY2VudCAxMDAwIC9EZXNjZW50IC0zNjYg
+ L0NhcEhlaWdodAo3MDggL1N0ZW1WIDcyIC9YSGVpZ2h0IDQ2OCAvU3RlbUggNjYgL0F2
+ Z1dpZHRoIDUyNyAvTWF4V2lkdGggMTAwMCAvRm9udEZpbGUyCjE0IDAgUiA+PgplbmRv
+ YmoKMTQgMCBvYmoKPDwgL0xlbmd0aDEgMTQ2MjggL0xlbmd0aCA3NTkzIC9GaWx0ZXIg
+ L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AZ1bC3RV1Zne+5yc3Ny8L3mTkNybmyfkffMg
+ CiEJCQ9ByIBIYkWwCIJVAwoCVkfWlNbKtKNtFaXTVldbKNhZy8xq1RA7SlcVxXEqrSCC
+ aUVbnroKq9X6KCbzff8+O+Cjs2YV3ezv/Gc///2/9n8u625Zv0Ilq83KVe3Lb7p2jZI/
+ XiaqweW3rQubZ3cK6vDKNdff5D9frZT+4vU3blppnr0PlGr4xaoV115nntV51M2rQDDP
+ uhF1yaqb1m00z3F7UV9xY/9y/733Ep6rbrp2oz+/GsZz+OZrb1qBGn9a+VfJmv5b1xEo
+ Nfnn+GvumltW+O11L9bzlry6+C+Nhyw1WcUJkU9KJSrlqOCOMYpWnfNGElcvTZvynspz
+ T5F+R+kPZdxDGx44Ndo3csw95f4HyEF0NH8wkntq5Nv8e7RvtA+9zNj+a1RZg0pNUkOg
+ O8qZpIfAXpfgaVQzVYdqUqUqVyVMehpru/wTz5664qJn9TSGuJjwNAa8Ws1Qzf4AmCNe
+ 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
+ BVil9nX4QubgQtRHpuEfhximHTSc8ZAo1Wo1iriK9YYaUFsA7kf5MYokCd+SN8hYgYGu
+ /MJ3bKgfgzuyo/UGcEwPYwoDqS9jcYcPvm0pbwlAeg92KQUDJ2Jg/sOVFLPGlcyo8gyG
+ Ad5BkTWOfVBqBKVLqMZOLEZP4chirpXM6qUuGeBngyvsmVUwAOOr16x28feTso1yiJa8
+ KhfRy9exDPnPjcp/V9/o3Nl1p3PjvPsvu8O547L79cGRLfoOKVV688hmCDYMpvwZfRyp
+ hc/7kwViDXxBF+acgTx/GCqXDnnh7xVS8c/pFiHU4Y8Gs9RVaKmp0zIMkzSqg386J3Xc
+ tuLm1bdUd/b3f+l/AdmbuIYKZW5kc3RyZWFtCmVuZG9iagoxNSAwIG9iago8PCAvUHJv
+ ZHVjZXIgKG1hY09TIFZlcnNpb24gMTEuMyBcKEJ1aWxkIDIwRTE1M1wpIFF1YXJ0eiBQ
+ REZDb250ZXh0KSAvQ3JlYXRpb25EYXRlCihEOjIwMjAxMjMwMDQyNjQyWjAwJzAwJykg
+ L01vZERhdGUgKEQ6MjAyMDEyMzAwNDI2NDJaMDAnMDAnKSA+PgplbmRvYmoKeHJlZgow
+ IDE2CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMTM3MCAwMDAwMCBuIAowMDAwMDA1
+ NzA4IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwMTQ3NCAwMDAwMCBu
+ IAowMDAwMDA1MjAwIDAwMDAwIG4gCjAwMDAwMDU2NzIgMDAwMDAgbiAKMDAwMDAwNTg1
+ NSAwMDAwMCBuIAowMDAwMDAxNjIxIDAwMDAwIG4gCjAwMDAwMDE2NjkgMDAwMDAgbiAK
+ MDAwMDAwMTcxMyAwMDAwMCBuIAowMDAwMDA1MjM2IDAwMDAwIG4gCjAwMDAwMDU3OTEg
+ MDAwMDAgbiAKMDAwMDAwNjIyOCAwMDAwMCBuIAowMDAwMDA2NDgwIDAwMDAwIG4gCjAw
+ MDAwMTQxNjIgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAxNiAvUm9vdCAxMiAwIFIg
+ L0luZm8gMTUgMCBSIC9JRCBbIDw1ZTYyMTQwMGU5YTI1NzM2NjE5ODE4YTNkNjk1NTc5
+ Yj4KPDVlNjIxNDAwZTlhMjU3MzY2MTk4MThhM2Q2OTU1NzliPiBdID4+CnN0YXJ0eHJl
+ ZgoxNDMyNQolJUVPRgo=
+
+ ArchiveMatchStore
+
+ Archive_Stores
+
+
+ Class_Store
+ DKDLock
+ Match_Hashes
+
+
+ BinIndex
+ 10
+ BinMatches
+
+
+ CenterLock
+ YES
+
+
+
+
+ BinIndex
+ 14
+ BinMatches
+
+
+
+
+
+ NHashBins
+ 16
+
+
+ Class_Store
+ DKDGraphicStyle
+ Match_Hashes
+
+
+ BinIndex
+ 8
+ BinMatches
+
+
+ DrawsFill
+ NO
+ DrawsLine
+ YES
+ LineCapStyle
+ Square
+ LineJoinStyle
+ Miter
+ LineRGB
+
+ Blue
+ 0
+ BluePlus
+ 0
+ ColorSpace
+ NSCalibratedRGBColorSpace
+ ColorSpacePlus
+ DKDP3ColorSpace
+ Green
+ 0
+ GreenPlus
+ 0
+ Opacity
+ 1
+ OpacityPlus
+ 1
+ Red
+ 0
+ RedPlus
+ 0
+
+ LineWidth
+ 1
+ MiterLimit
+ 10
+ StrokePosition
+ Front
+ WindingRule
+ Non-Zero
+
+
+
+
+ BinIndex
+ 10
+ BinMatches
+
+
+ DrawsFill
+ NO
+ DrawsLine
+ NO
+ LineCapStyle
+ Square
+ LineJoinStyle
+ Miter
+ LineWidth
+ 1
+ MiterLimit
+ 10
+ StrokePosition
+ Front
+ WindingRule
+ Non-Zero
+
+
+
+
+ NHashBins
+ 16
+
+
+ Class_Store
+ DKDParagraph
+ Match_Hashes
+
+
+ BinIndex
+ 0
+ BinMatches
+
+
+ FirstLineHeadIndent
+ 0
+ HeadIndent
+ 0
+ LineFragmentPadding
+ 5
+ LineSpacing
+ 0
+ ParagraphSpacing
+ 0
+ ParagraphSpacingBefore
+ 0
+ TailIndent
+ 0
+ TextAlignment
+ Left
+
+
+
+
+ NHashBins
+ 16
+
+
+ Class_Store
+ DKDFont
+ Match_Hashes
+
+
+ BinIndex
+ 0
+ BinMatches
+
+
+ Family
+ Avenir
+ Name
+ Avenir-Book
+ Size
+ 12
+
+
+
+
+ NHashBins
+ 16
+
+
+ Class_Store
+ DKDTextAttributes
+ Match_Hashes
+
+
+ BinIndex
+ 0
+ BinMatches
+
+
+ Font
+ 0
+ ForeColor
+
+ ColorSpace
+ NSCalibratedWhiteColorSpace
+ Opacity
+ 1
+ White
+ 0
+
+ Paragraph
+ 0
+
+
+
+
+ NHashBins
+ 16
+
+
+ Class_Store
+ DKDArrow
+ Match_Hashes
+
+
+ BinIndex
+ 6
+ BinMatches
+
+
+ ArrowAngle
+ 160
+ ArrowArchiveVersion
+ 9
+ ArrowBackEnd
+ YES
+ ArrowForEachSegment
+ NO
+ ArrowForm
+ solid
+ ArrowFrontEnd
+ YES
+ ArrowLineWidthFraction
+ 0.25
+ ArrowOffset
+ 0
+ ArrowSize
+ 8
+ ReferenceArrow
+ Relief
+ UseCurveFillAndStroke
+ YES
+
+
+
+
+ NHashBins
+ 16
+
+
+ Class_Store
+ DKDDashPattern
+ Match_Hashes
+
+
+ BinIndex
+ 8
+ BinMatches
+
+
+ DashName
+ Short
+ DashOn
+ YES
+ DashSequence
+
+ 4
+ 4
+
+
+
+
+
+ NHashBins
+ 16
+
+
+
+ DKDChangeTimeStamp
+ 2020-12-30 04:26:29 +0000
+ DKDCreateTimeStamp
+ 2020-12-30 03:07:44 +0000
+ DKDDisplayGraphicDetails
+
+ AngleFormatDisplayDetails
+
+ AngleDirection
+ Right
+ AngleForm
+ degrees
+ AngleRotation
+ Counter Clockwise
+ PrecisionAngles
+ 2
+
+ AnglesDisplaySpec
+
+ FormDisplaySpec
+ Decimal
+ PrecisionDisplaySpec
+ 2
+ TextAlignDisplaySpec
+ Left
+ UnitsDisplaySpec
+ Punctuation
+
+ AreaForm
+ Natural
+ HelpTipDisplaySpec
+
+ FormDisplaySpec
+ Decimal
+ PrecisionDisplaySpec
+ 3
+ TextAlignDisplaySpec
+ Left
+ UnitsDisplaySpec
+ Abbreviate
+
+ InspectingSpecIndex
+ 0
+ LengthsDisplaySpec
+
+ FormDisplaySpec
+ Decimal
+ PrecisionDisplaySpec
+ 2
+ TextAlignDisplaySpec
+ Left
+ UnitsDisplaySpec
+ Nothing
+
+ PercentDisplaySpec
+
+ FormDisplaySpec
+ Decimal
+ PrecisionDisplaySpec
+ 1
+ TextAlignDisplaySpec
+ Left
+ UnitsDisplaySpec
+ Punctuation
+
+ PercentFormatDisplayDetails
+
+ PercentForm
+ Percent
+ PrecisionPercents
+ 1
+
+
+ DKDGrids
+
+ DynamicSnapGrid
+ YES
+ GuidesLayer
+ NO
+ MajorGrid
+
+ GridAboveGraphics
+ NO
+ GridRGB
+
+ Blue
+ 1
+ BluePlus
+ 1
+ ColorSpace
+ NSCalibratedRGBColorSpace
+ ColorSpacePlus
+ DKDP3ColorSpace
+ Green
+ 0.713725
+ GreenPlus
+ 0.713725
+ Opacity
+ 0.6
+ OpacityPlus
+ 0.6
+ Red
+ 0.54902
+ RedPlus
+ 0.54902
+
+ GridSpacingX
+ 72
+ GridSpacingY
+ 72
+ LinkGridToRulers
+ NO
+ PrintLineWidth
+ 1
+ PrintsGrid
+ NO
+ ShowsGrid
+ YES
+ SnapsToGrid
+ NO
+
+ MinorGrid
+
+ GridAboveGraphics
+ NO
+ GridRGB
+
+ Blue
+ 0.87451
+ BluePlus
+ 0.87451
+ ColorSpace
+ NSCalibratedRGBColorSpace
+ ColorSpacePlus
+ DKDP3ColorSpace
+ Green
+ 0.854902
+ GreenPlus
+ 0.854902
+ Opacity
+ 1
+ OpacityPlus
+ 1
+ Red
+ 0.745098
+ RedPlus
+ 0.745098
+
+ GridSpacingX
+ 18
+ GridSpacingY
+ 18
+ LinkGridToRulers
+ NO
+ PrintLineWidth
+ 0.5
+ PrintsGrid
+ NO
+ ShowsGrid
+ YES
+ SnapsToGrid
+ NO
+
+ SnapDrawing
+ NO
+ SnapEnds
+ NO
+ SnapGuidelines
+ NO
+ SnapRadiusGrid
+ 3
+ SnapSound
+ None
+ SoftSnap
+ NO
+
+ DKDHideExtension
+ YES
+ DKDLayersList
+
+
+ CloakLayerGuidelines
+ NO
+ CloakLayerVertices
+ NO
+ FullLayerScale
+
+ ArchivePrecision
+ 12
+ ScaleOriginX
+ 0
+ ScaleOriginY
+ 0
+ ScalePlusDown
+ YES
+ ScalePlusToRight
+ YES
+ ScaleScale
+ 1
+ ScaleUnits
+ Centimeters
+
+ GraphicsList
+
+
+ Bounds
+ {{72, 216}, {144, 54}}
+ Class
+ DKDRectangle
+ DKDLockInfo
+ 14
+ GraphicID
+ 7F103856
+ GraphicStyle
+ 8
+
+
+ AngleRotatedRect
+ 300
+ Bounds
+ {{216.269598048, 91.4364178411}, {118.765371804, 151.707658145}}
+ CenterRotatedRect
+ {275.652283951, 167.290246914}
+ Class
+ DKDRotatedRect
+ DKDLockInfo
+ 14
+ GraphicID
+ C9032956
+ GraphicStyle
+ 8
+ HeightRotatedRect
+ 54
+ WidthRotatedRect
+ 144
+
+
+ AngleRotatedRect
+ 240
+ Bounds
+ {{216, 243.095308642}, {118.765371804, 151.707658145}}
+ CenterRotatedRect
+ {275.382685902, 318.949137714}
+ Class
+ DKDRotatedRect
+ DKDLockInfo
+ 14
+ GraphicID
+ D4DD3956
+ GraphicStyle
+ 8
+ HeightRotatedRect
+ 54
+ WidthRotatedRect
+ 144
+
+
+ Bounds
+ {{69.7577864185, 81.25919297}, {323.333900332, 323.333900332}}
+ Class
+ DKDCircle
+ DKDLockInfo
+ 10
+ GraphicID
+ 2EBAE966
+ GraphicStyle
+ 8
+
+
+ AttributedText
+
+ String
+ w=Mat+Kerf
+
+ TextAttribute
+ 0
+
+ Bounds
+ {{150.728190743, 231.821773144}, {63.2203840323, 16.9732029081}}
+ Class
+ DKDTextArea
+ DKDLockInfo
+ 14
+ GraphicID
+ 72438F76
+ GraphicStyle
+ 10
+
+
+ Class
+ DKDLine
+ DKDLockInfo
+ 14
+ DkBezArrow
+ 6
+ DkBezDashPattern
+ 8
+ GraphicID
+ 04F76186
+ GraphicStyle
+ 8
+ SVGPath
+ M180.665507944,268.26297029 L181.571345305,219.911730138
+
+
+ AttributedText
+
+ String
+ d=r-w*.25*sqrt(3)
+ TextAttribute
+ 0
+
+ Bounds
+ {{70.7486475269, 244.543608396}, {111.452, 16.1480836237}}
+ Class
+ DKDTextArea
+ DKDLockInfo
+ 14
+ GraphicID
+ 245F1E86
+ GraphicStyle
+ 10
+
+
+ Class
+ DKDLine
+ DKDLockInfo
+ 14
+ DkBezDashPattern
+ 8
+ GraphicID
+ F2C60996
+ GraphicStyle
+ 8
+ SVGPath
+ M144.225083452,215.418376059 L143.642376732,269.737600506
+
+
+ Class
+ DKDLine
+ DKDLockInfo
+ 14
+ DkBezArrow
+ 6
+ DkBezDashPattern
+ 8
+ GraphicID
+ 40909A96
+ GraphicStyle
+ 8
+ SVGPath
+ M68.1614378349,242.122180048 L217.132743011,242.5252265
+
+
+ Class
+ DKDLine
+ DKDLockInfo
+ 14
+ DkBezArrow
+ 6
+ DkBezDashPattern
+ 8
+ GraphicID
+ 7535FB96
+ GraphicStyle
+ 8
+ SVGPath
+ M68.9205671339,239.838414421 L141.244276957,239.149800849
+
+
+ AttributedText
+
+ String
+ c=.5(d-K)
+ TextAttribute
+ 0
+
+ Bounds
+ {{68.8686926377, 226.703141056}, {59.912, 16}}
+ Class
+ DKDTextArea
+ DKDLockInfo
+ 14
+ GraphicID
+ A9DDAC96
+ GraphicStyle
+ 10
+
+
+ Class
+ DKDLine
+ DKDLockInfo
+ 14
+ DkBezDashPattern
+ 8
+ GraphicID
+ 78419A27
+ GraphicStyle
+ 8
+ SVGPath
+ M315.141968732,104.20969452 L231.172171971,247.342821819
+
+
+ HideDimensions
+ NO
+ LayerColorMod
+
+ DKDOnColorMod
+ NO
+ DKDOpacityColorMod
+ 0.5
+ DKDOutlineColorMod
+ NO
+ DKDTintColorColorMod
+
+ ColorSpace
+ NSCalibratedWhiteColorSpace
+ Opacity
+ 1
+ White
+ 0.5
+
+ DKDTintFractionColorMod
+ 0.5
+
+ LayerLock
+ NO
+ LayerName
+ Paper
+ LayerState
+ Active
+ OutlineLayer
+ NO
+
+
+ DKDPagesSpec
+
+ BackgroundDisplay
+ Background
+ CanvasBorder
+
+ Blue
+ 0.533333
+ BluePlus
+ 0.533333
+ ColorSpace
+ NSCalibratedRGBColorSpace
+ ColorSpacePlus
+ DKDP3ColorSpace
+ Green
+ 0.533333
+ GreenPlus
+ 0.533333
+ Opacity
+ 1
+ OpacityPlus
+ 1
+ Red
+ 0.54902
+ RedPlus
+ 0.54902
+
+ CanvasColor
+
+ Catalog
+ System
+ Catalog-Color
+ windowBackgroundColor
+
+ CanvasMargin
+ 0
+ DetailsDrawerWidth
+ 260
+ DisplayAttributesBar
+ YES
+ DisplayRulers
+ NO
+ FullScreen
+ NO
+ FullScreenCanvasMargin
+ 141.73228
+ LayersDrawerWidth
+ 266
+ NonFullScreenCanvasMargin
+ 0
+ NumberAcrossFirst
+ YES
+ PagesAcross
+ 1
+ PagesDown
+ 1
+ PagesSpecBackgroundRGB
+
+ ColorSpace
+ NSCalibratedWhiteColorSpace
+ Opacity
+ 1
+ White
+ 1
+
+ PagesSpecPrintBackground
+ NO
+ ShowPageBreaks
+ NO
+ SizeChecker
+ 8
+ aCheckerColor
+
+ Blue
+ 0.941176
+ BluePlus
+ 0.941176
+ ColorSpace
+ NSCalibratedRGBColorSpace
+ ColorSpacePlus
+ DKDP3ColorSpace
+ Green
+ 0.941176
+ GreenPlus
+ 0.941176
+ Opacity
+ 1
+ OpacityPlus
+ 1
+ Red
+ 0.941176
+ RedPlus
+ 0.941176
+
+ bCheckerColor
+
+ Blue
+ 0.784314
+ BluePlus
+ 0.784314
+ ColorSpace
+ NSCalibratedRGBColorSpace
+ ColorSpacePlus
+ DKDP3ColorSpace
+ Green
+ 0.784314
+ GreenPlus
+ 0.784314
+ Opacity
+ 1
+ OpacityPlus
+ 1
+ Red
+ 0.784314
+ RedPlus
+ 0.784314
+
+
+ DKDPrintInfo
+
+ BottomMargin
+ 18
+ Copies
+ 1
+ FallBackPaperSizeHeight
+ 842
+ FallBackPaperSizeWidth
+ 595
+ FirstPage
+ 1
+ HorizontalPagination
+ 2
+ HorizontallyCentered
+ YES
+ LastPage
+ -1
+ LeftMargin
+ 18
+ MustCollate
+ YES
+ Orientation
+ 0
+ PaperName
+ A4
+ PaperSizeHeight
+ 842
+ PaperSizeWidth
+ 595
+ PreviewPageNumber
+ 1
+ PrintAllPages
+ YES
+ PrintJobDisposition
+ NSPrintSpoolJob
+ PrintSavePath
+
+ PrintScalingFactor
+ 1
+ PrinterName
+ Annus Horribilis
+ ReversePageOrder
+ NO
+ RightMargin
+ 18
+ TopMargin
+ 18
+ VerticalPagination
+ 0
+ VerticallyCentered
+ YES
+ XPrintMirror
+ NO
+ YPrintMirror
+ NO
+
+ DKDSaveTimeStamp
+ 2020-12-30 04:26:42 +0000
+ DKDTablet
+
+ BrushDynamic
+ NO
+ BrushFit
+ 6
+ PenMax
+ 25
+ PenMin
+ 0.5
+ PenPressureFactor
+ 0.5
+ PencilDynamic
+ NO
+ PencilFit
+ 7
+
+ DKDTimeFormat
+
+ Field 0 Include
+ Weekday
+ Field 0 Type
+ Long
+ Field 1 Include
+ Month
+ Field 1 Type
+ Short
+ Field 2 Include
+ Day
+ Field 2 Type
+ Number
+ Field 3 Include
+ Year
+ Field 3 Type
+ Long
+ Include GMT
+ NO
+ Include Title
+ YES
+ IncludeDate
+ YES
+ IncludeTime
+ YES
+ Seperator 0
+ -
+ Seperator 1
+ .
+ Seperator 2
+ ,
+ Seperator 3
+
+ Time Seperator
+ :
+ TimeAfterDate
+ YES
+ Twelve Hour Clock
+ YES
+ Used Once
+ YES
+
+ DKDToolbarSelectedButtonPairs
+
+ ColorTextToolbarItemIdentifier_0
+
+ HSB_000020
+
+
+ DKDWindowState
+
+ CursorMode
+ Nothing
+ DocCenter
+ {279.5, 254.507839721}
+ DocumentFileName
+ /Users/neeri/Development/honeyrack/Designs.ezdraw
+ DrawersOnMainView
+ YES
+ GDetailsLayersDrawerEdgePreference
+ Auto
+ GraphicDetailsOpen
+ NO
+ LayerActiveAbove
+ NO
+ LayerOpen
+ NO
+ LayerSelect
+ Active Only
+ LayersDrawerEdgePreference
+ Auto
+ OutlineDrawing
+ NO
+ WindowLocation
+ 300 85 845 751 0 0 1440 875
+ ZoomPercent
+ 142.382812
+
+ GroupEdit
+ Fixed
+ NumberColorsToListInContextMenu
+ 12
+ NumberPairColorsToListInContextMenu
+ 6
+
+
diff --git a/honeyrack.py b/honeyrack.py
new file mode 100755
index 0000000..9185eef
--- /dev/null
+++ b/honeyrack.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python3
+#
+# honeyrack.py - Generate laser cut parts for honeycomb style shelf
+#
+
+import argparse
+import re
+import math
+import sys
+
+parser = argparse.ArgumentParser('Generate parts for honeycomb style shelf')
+parser.add_argument('x', type=int, help='Number of cells in bottom row')
+parser.add_argument('y', type=int, default=3, help='Number of rows')
+parser.add_argument('--side', default='5cm', help='Length of side')
+parser.add_argument('--depth', default='10cm', help='Depth')
+parser.add_argument('--tab', default='1cm', help='Length of connective tabs')
+parser.add_argument('--kerf', default='.2mm', help='Amount of kerf adjustment')
+parser.add_argument('--fringe', default='1cm', help='Space around tabs')
+parser.add_argument('--stem', default='2cm', help='Width of connectors')
+parser.add_argument('--disc', default='2cm', help='Radius of auxiliary discs')
+parser.add_argument('--num_discs', default='2', help='Number of auxiliary discs')
+parser.add_argument('--thickness', default='.125in', help='Material thickness')
+
+args = parser.parse_args()
+
+DIMENSION = re.compile(r'(\-?\d*(?:\.\d*)?)\s*(cm|mm|m|in)')
+def to_mm(length):
+ m = DIMENSION.fullmatch(length)
+ if m == None:
+ abort("{} should be a length with an unit (m, cm, mm, in)".format(length))
+ v = float(m.group(1))
+ u = m.group(2)
+ if u == 'mm':
+ return v
+ elif u == 'cm':
+ return v*10
+ elif u == 'm':
+ return v*1000
+ elif u == 'in':
+ return v*25.4
+
+args.side = to_mm(args.side)
+args.depth = to_mm(args.depth)
+args.tab = to_mm(args.tab)
+args.kerf = to_mm(args.kerf)
+args.fringe = to_mm(args.fringe)
+args.stem = to_mm(args.stem)
+args.disc = to_mm(args.disc)
+args.thickness = to_mm(args.thickness)
+
+def compute_notch():
+ global args
+ if 'notch' in args:
+ return
+
+ depth = args.disc - (args.thickness+args.kerf)*0.25*math.sqrt(3) # Half of the height of equilateral triangle
+ args.notch = 0.5*(depth-args.kerf)
+
+def disc(x, y):
+ compute_notch()
+ global args
+
+ cut = args.thickness+args.kerf
+ cone = math.asin(0.5*cut/args.disc)
+ cx = x+args.disc
+ cy = y+args.disc
+ t0 = -cone
+ x0 = cx+math.cos(t0)*args.disc
+ y0 = cy-math.sin(t0)*args.disc
+ print(''.format(args.disc, args.disc, x0, y0))
+
+print('')