From 9956d7a3f5f69f0455874858731793fa1cd9521c Mon Sep 17 00:00:00 2001 From: Jan Grzybowski Date: Sun, 28 Jul 2024 01:21:41 +0200 Subject: [PATCH] New generator: HobbyCase --- boxes/generators/hobbycase.py | 177 +++++++ examples/HobbyCase.svg | 815 +++++++++++++++++++++++++++++ static/samples/HobbyCase-thumb.jpg | Bin 0 -> 4597 bytes static/samples/HobbyCase.jpg | Bin 0 -> 53586 bytes static/samples/samples.sha256 | 1 + 5 files changed, 993 insertions(+) create mode 100644 boxes/generators/hobbycase.py create mode 100644 examples/HobbyCase.svg create mode 100644 static/samples/HobbyCase-thumb.jpg create mode 100644 static/samples/HobbyCase.jpg diff --git a/boxes/generators/hobbycase.py b/boxes/generators/hobbycase.py new file mode 100644 index 00000000..0670b0b7 --- /dev/null +++ b/boxes/generators/hobbycase.py @@ -0,0 +1,177 @@ +# Copyright (C) 2024 Jan Grzybowski +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +from __future__ import annotations + +import boxes +from boxes import * + + +class HobbyCase(Boxes): + """A case that can be used in any hobby involving small pieces in need of organizing.""" + + ui_group = "Tray" + + description = """ +The hobby case is defined by units, "cells" of the case. +You define depth, height and widths of the cells. +By combining dimensions with number of columns and rows slots for shelves are generated. +Slots can be populated by: + +* shelves (horizontal piece of plywood that covers full width and depth of the column. You can put anything on them, but they also provide some structural integrity. It is recommended to have a least one shelve every 2-4 slots (depending on the unit height) +* rails (3 horizontal pieces that stick out of the side and back walls of the column. They can be used to allow taller things placed on shelves below, but also some sliding drawers can be put in them. +""" + + def __init__(self) -> None: + super().__init__() + self.debug = None + self.add_rails = True + self.add_cover = True + self.addSettingsArgs(boxes.edges.FingerJointSettings) + self.argparser.add_argument("--unit_d", action="store", type=float, default=128, help="Depth of single unit") + self.argparser.add_argument("--unit_h", action="store", type=float, default=50, help="Height of single unit") + self.argparser.add_argument("--unit_w", action="store", type=argparseSections, default="215*3", help="Widths of unit columns, eg. 215*3 or 150:215:150") + self.argparser.add_argument("--rows", action="store", type=int, default=6, help="Number of rows in each of the columns") + self.argparser.add_argument("--shelves_n", action="store", type=argparseSections, default="2:3:2", help="How many shelves should each column have eg. 2:3:2. Use integers only!") + self.argparser.add_argument("--add_rails", action="store", type=boolarg, default=True, help="Should rails be generated for slots unpopulated by shelves?") + self.argparser.add_argument("--add_cover", action="store", type=boolarg, default=True, help="Should cover for the case be generated?") + self.addSettingsArgs(boxes.edges.StackableSettings, angle=90, width=0.0, height=2.0) + + + def prepare(self): + self.cols = len(self.unit_w) + + self.sum_w = sum(self.unit_w) + self.inside_w = self.sum_w + 2 * (self.cols - 1) * self.thickness + self.outside_w = self.inside_w + 2 * self.thickness + + self.sum_h = self.rows * self.unit_h + self.inside_h = self.sum_h + (self.rows - 1) * self.thickness + self.outside_h = self.inside_h + 2 * self.thickness + + self.shelves_n = [int(w) for w in self.shelves_n] + self.railsets = [self.rows - 1 - shelve for shelve in self.shelves_n] + + self.inside_depth = self.unit_d + self.outside_depth = self.inside_depth + 2 * self.thickness + + s = self.edgesettings.get("FingerJoint", {}) + s["width"] = 2.0 + doubleFingerJointSettings = edges.FingerJointSettings(self.thickness, True, **self.edgesettings.get("FingerJoint", {})) + self.addPart(edges.FingerHoles(self, doubleFingerJointSettings), name="doubleFingerHolesAt") + + # Top / Bottom walls + def top_and_bottom(self, move="up"): + for name in ["bottom", "top"]: + self.rectangularWall(self.inside_w, self.outside_depth, "fFeF", + callback=[self.topAndBottomHolesCallback], + move=move, + label=f"{name} ({self.inside_w}x{self.outside_depth})") + + def topAndBottomHolesCallback(self): + self.cut_double_wall_holes(self.inside_depth) + + # Vertical walls + def vertical_walls(self, move="up"): + self.ctx.save() + + self.verticalWall(self.outside_depth, self.inside_h, label="left") + + for i in range(2 * (self.cols - 1)): + self.verticalWall(self.inside_depth, self.inside_h, label="vertical wall") + + self.verticalWall(self.outside_depth, self.inside_h, move="up", label="right") + + self.move(self.outside_depth, self.inside_h + 2 * self.thickness, move) + + def verticalWall(self, x, y, edges="feff", move="right", label=None): + label = f"{label}\n({x}x{y})" + self.rectangularWall(x, y, edges, callback=[self.slotsHolesCallback], move=move, label=label) + + def slotsHolesCallback(self): + self.cut_shelve_holes_in_single_column(self.inside_depth, 0) + + # Cover + def cover(self, move="up"): + x = self.outside_w + y = self.outside_h - self.thickness + + _edges = ["e", "z", "e", "z", "e"] + hole_edge_length = self.unit_w[0]/2 + straight_edge_length = (x - 2 * hole_edge_length) / 3 + lengths = [straight_edge_length, hole_edge_length, straight_edge_length, hole_edge_length, straight_edge_length] + edge_with_cutouts = boxes.edges.CompoundEdge(self, _edges, lengths) + + self.rectangularWall(x, y, ["e", "e", edge_with_cutouts, "e"], move=move, label=f"cover plate\n({x}x{y})") + + # Shelves + def shelves(self, move="up"): + for columnIndex, unit_width in enumerate(self.unit_w): + x = unit_width + y = self.inside_depth + self.partsMatrix(self.shelves_n[columnIndex], 0, move, + self.rectangularWall, + x, y, "efff", label=f"shelf (column {columnIndex})\n({x}x{y})") + + # Rails + def rails(self, move="up"): + for col_idx, unit_width in enumerate(self.unit_w): + for n in range(self.railsets[col_idx]): + self.railSet(self.inside_depth, unit_width, move) + + def railSet(self, sideLength, backLength, move=None): + self.ctx.save() + self.rectangularWall( sideLength,0, "feSe", move="right") + self.rectangularWall( backLength - 8*self.thickness,0, "feSe", move="right") + self.rectangularWall( sideLength,0, "feSe", move="right") + self.move(2*sideLength+backLength, 3 * self.thickness, move) + + # Base plate + def base_plate(self, move="up"): + self.rectangularWall(self.inside_w, self.inside_h, "FFFF", + callback=[self.baseplate_callback], + label=f"base plate\n({self.inside_w}x{self.inside_h})", move=move) + + def baseplate_callback(self): + for col in range(self.cols): + posx = sum(self.unit_w[:col]) + col * 2 * self.thickness + self.cut_shelve_holes_in_single_column(self.unit_w[col], posx) + self.cut_double_wall_holes(self.inside_h) + + # Render + def render(self) -> None: + if self.debug: + self.spacing = 0 + else: + self.spacing = 10 + self.prepare() + self.base_plate() + self.shelves() + if self.add_cover: + self.cover() + self.top_and_bottom() + self.vertical_walls() + if self.add_rails: + self.rails() + + # Helper functions + def cut_double_wall_holes(self, length): + for col in range(1, self.cols): + posx = self.thickness + sum(self.unit_w[:col]) + (col-1) * 2 * self.thickness + self.doubleFingerHolesAt(posx, 0, length, angle=90) + + def cut_shelve_holes_in_single_column(self, length, posx = 0): + for row in range(1, self.rows): + posy = 0.5 * self.thickness + row * self.unit_h + (row-1) * self.thickness + self.fingerHolesAt(posx, posy, length, angle=0) diff --git a/examples/HobbyCase.svg b/examples/HobbyCase.svg new file mode 100644 index 00000000..e344b33a --- /dev/null +++ b/examples/HobbyCase.svg @@ -0,0 +1,815 @@ + + + +HobbyCase + + +Tray - HobbyCase +boxes HobbyCase +A case that can be used in any hobby involving small pieces in need of organizing. + + +The hobby case is defined by units, "cells" of the case. +You define depth, height and widths of the cells. +By combining dimensions with number of columns and rows slots for shelves are generated. +Slots can be populated by: + +* shelves (horizontal piece of plywood that covers full width and depth of the column. You can put anything on them, but they also provide some structural integrity. It is recommended to have a least one shelve every 2-4 slots (depending on the unit height) +* rails (3 horizontal pieces that stick out of the side and back walls of the column. They can be used to allow taller things placed on shelves below, but also some sliding drawers can be put in them. + + +Created with Boxes.py (https://boxes.hackerspace-bamberg.de/) +Command line: boxes HobbyCase +Command line short: boxes HobbyCase + + + + + 100.0mm, burn:0.10mm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (657.0x315.0)base plate + + + (215.0x128)shelf (column 0) + + + (215.0x128)shelf (column 0) + + + (215.0x128)shelf (column 1) + + + (215.0x128)shelf (column 1) + + + (215.0x128)shelf (column 1) + + + (215.0x128)shelf (column 2) + + + (215.0x128)shelf (column 2) + + + (663.0x318.0)cover plate + + + + + + + + + + + + + + + + + + + + + + + bottom (657.0x134.0) + + + + + + + + + + + + + + + + + + + + + + + top (657.0x134.0) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (134.0x315.0)left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (128x315.0)vertical wall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (128x315.0)vertical wall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (128x315.0)vertical wall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (128x315.0)vertical wall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (134.0x315.0)right + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/samples/HobbyCase-thumb.jpg b/static/samples/HobbyCase-thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..14ad226551f19fd519d79c26b57d488f7a4c7bd4 GIT binary patch literal 4597 zcmb`IXHXMbw}z9@TL3A7bZG*DfM5ursMOG<2m(Qo8cHyP-c&f!i+~iV2T>paqDb#3 z0--~w5tbLW0PzM1d-xHI?J|JGXbu6Nejv-id1#VmkDPaCcc00IF3;N<~a zkN_G0I%*nP8frRPT3UK~ItK7nW-t>In3tV{_3CwgVPPSDK|xVTMQKrS`5S_QGU~VF zAy5?+6%pzC+V_;T6=5pSe?)-v^z>jxFb^{`4^&K04ElfOq7A@G3rGhLD1fX05G#;^ z6?pLtzQ1V~=ms3_hXV!P zVASlYvwO6QdF;~8m@FB|O{R^Fa!NOUUwv1V%WOBLhHshK|6#j(0qAL-BjUP;Wr~n6 zLx$a6wgq*T+<70|=L37(}FJp?bzW;5dUOvXC$KBxORi>z*iBsoxdxk^CVcEAK;OI z^M`xMFbR+*1I~k_8X%L%8 zR1RDKR}8UeE8PeAVaKJ^@2~l%Aeg4*`^|#A4;?4Ea9)-MTPl`Y1UKc;ma#Mf0VEc1)T;R3kce4qOrPZL^@9SRj z5s5srG)Z;E6{>FD2dd`s_Dv&=jUh5#eWheox0C~&U{nxpicW531)@erjv?aohaY~3 zccd3Te|rIV#&M+a!6Ls9VaAER+l@XEv;S2bkSm#>9X&eQe=B9s)LJQ}O<+;4GN;&j zfAPuezO@s%K{+?o+`>jwc*AB~)7T+OZku1fw^z-b)E>4lJZ4IpW4%gBUbp?}fYpOP z=4mP41`E9UX8*{|(LTc_{uYl6hv(UC*s-Nig*TH%pgo~s>;i!OwQpH%l#G(L2u9MJ z#7%dlW)W51kb~yi6u1;0Y5Zr@OfG zTZdH-VFmWmuTgW~-{>yM51L;9Dh#EX6D0oLP_zjgX$nrYoWG6AZJK{}ESNBw0`?UC z@vcf?Ys*s8IcI?m8?VLCuPNPIN0{Lz4{~51Ew0PMH6j*D@@|LISPFS5CUjOloU2C^ zAU!N&mxGiBt&Lk_jdXMy`r##3syw47ln%kxTYODj>|1$tmHZW>hGB?Dlo9^occHx_tz8Jmp}R(mRCNuc;P=h0*mgNLUtjSEwk_u-XXuY&h(%HF>EX;gPP*G9VX#VSl~I~#SZUP+2`7Q`JWPzW%9)TGR&3ijgo@wD zcoi0iFmjnx5PiPO2cgAOO3SSywwC4=>qAnZ%6~#?W0yPyh~RM$d~4IHtElw0p?NF$ zt2J!;i|lAWF~#9lTH!%_5nrZXuH*CQ-{uJI-&_lkN#XXm{mC4M0M~`8_mKH9CSOm* znsis3ya0=^kB6UJ+pe%`EGaEU)Zvc{CXVO3z7*yKg7fx{oP^9hwOc-4 zcRRE~mDaXym*47IOfK%DoXmAchknviRhG;gTy<}X^-$h(99@g4C!Fk`6!??P=5msi zGYor-rcTj`T~00bws-3MPu+d43}?|tFLwv$k14^pycmzA#Cx*w8oYP8kyb$>%oLH# zUt}HiW{8*9q_#<@*ot1}lN}o?V-nXx%|}H^NQXwX-d5iStEbWBN3o3wR=q+o15DdW za|?eh+^OjK6Y{{XZln`{AHw^`y||yo!8NQ{{4V6GTSsr6OYB)#4rO zu?o-%viU4{JpCSK!w5lL321f543!a68^ zunLM4cOw+ND#YOjx!;#Lm!-YEl)gpa z-w9*zjo#0oogU|eykxkg$>h-G9f5B0yIz^$&q1yE7lw)g&$kwbl^)9K+2t`lnh9-6 zU->hUFLk60u2yZ1<7$W|eIO&X#0`uhmnrsd+ zLp6nDh^bjM@H4P;n3{}#v0!bV3kW#oxcNO!1`#?UXInB?Vn5B>$Lz}AB9++X(RjFm z_epe596}RrE-OlRM(LS9XIO;%!XXD12cig)r|fJse{8C1%C1( z?&rd1=@$UPek)e2itYm@0**-%l&_3(CKJcx_nti2eoomze%o+Y!5Ll~lqH+#?{=op z$q3x#Hh`7Fi=!OwXEwiv8LRB^OGG&-L$n;4jVC&ft3Op2JIga928YIBRyc1>9kAGu zjnuN;E&yW!%%I|qo<^#z&L18n9)W)zKwCx4BuAt+F^hK^(!Tlmz6dO$(-Ku_JM?mB z)qkn+0FG25pmZuUEJSNLQ_};kugiHkV=ASt`Bvv{39cB~XXr<` z0O-zMeN30!JFxkTbCM<0rqHHR{8Kkvq1=5<;Ds%E6&AhQv$D6_i_gC*oq6@4Gk8DpJp(v|=Zq=$U#U0gNBjS?;haS|I&#gwurtV6*9qJnsMPw-O)w-}= zQJOxdcXLLh9&FaCm5k%9Iu1(IcOI!V7vgxLm-PWX)rhPp*kA#9=)}3ci+Gm zOVR`DGuXi<{R3}&Zb4%w9b0YX^0l2Sh4(%^+kJShU3WgASkdII#=vagxP5q|?8?^o z5_Q2ObbTlA8U3a~%>2ia2tEr#&48sE9mastYUOY3rqlMbz40rfdwk0rQ@IYM`p+A5 ztpyZhekfhNKNCilz{dEBZnaDot>au|6?z7Wq!Xmk=;gpXfRk6(or;0Q5c3qc_*(=@ zn}sDvmCBp*OoPEu7>ni8|FYDTk;ti%>M+uQNnL~R_;u9}F%_OhbA4U*t=s>BQpk%} ztiDNZOY7mjau0WF_yX`V;{x!O2eD_q-ppCkSh?8&zj4@UvuLvVxgRb3Nvv8^2bpNf z9Bnr5Q_^uHRX+7X$52!yqAWf`Nr`27XP3cjuhJEF(R z^1C)*rL#0%0|zVE5E~Yi9yecCWkA3byhbpN_`QIcbeUY=9v(;3X@m1pTbS?#0JOHV z`wRbE`ttjx3Rcmiz zD1`e=0?uEfm%-|Ly6_D%hsTv@6w%>V`eB_)@jAs=PbIi|%7(4<-mi+eyIP0`4;PTUuxb$fj(bE@C%q9UHEbzKz>8FalH zBS|T{nMdZKH-~5Myc;;_I)4ik0D<;fZY^N?&wQ~BIwQX7frVfIW$d<>SHOMVRmjboYOKf{+PS~8l|AYiJe>G2k(Hheu>C2>ms0(4pFyofy|X!|6<-d~^C#?xhbN*>8Q>=z`Q~nc z?xp&~c3Kc_IB}o7^*Z~(1z^Lh{{oO$4S`$x74n5xm8|!|SV53@4c)t#>F; zRhwvX>dk!yNYv#ryVc7kOo$dXZjZh4@^Bh#5tLr;IdERsL(Hx5Mi0BlUfB;ZAE^q; zTzl*CfO?v{Q-UaeNZ=thu6(h!s}fky(uNnq>AS16-`l)==u>8(oMPATza5P3x}He< zRXW}qY{ORANi%7Ts4}4UToL-{ywN9D#LX=PRhEdJzIpfLRrbRC=$^M9GRXR) z7k#PI&BEqH40FHBhN}f u;ZhVV$9Ko_%F0!?6eGP2Z`l|BkqFN%QZ1U4v!KG__8$xW--8hs-~S7{b(g6C literal 0 HcmV?d00001 diff --git a/static/samples/HobbyCase.jpg b/static/samples/HobbyCase.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a8fea32f73e2ca5642084c49a8c2b6bb7e0769b GIT binary patch literal 53586 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 literal 0 HcmV?d00001 diff --git a/static/samples/samples.sha256 b/static/samples/samples.sha256 index 46de4b77..0e60f0af 100644 --- a/static/samples/samples.sha256 +++ b/static/samples/samples.sha256 @@ -188,3 +188,4 @@ b7842f3c19ae8ff35f1c9d05e9dd333f08563e645b8539bbe46487719da0f19e ../static/samp d7f7fd6c1b5a51c4fdfc21a03d55597f04d78383fef2138bc6ade4ee95676bc9 ../static/samples/CompartmentBox-closed.jpg fec237bd76c18f1cad18a888f57299e5ff5033ab8032e7a26ea0b1259a42d150 ../static/samples/CompartmentBox-lid.jpg 5c2127a79948504f629ed792de539022411e428eb46dc8ad9c5286fb397cd603 ../static/samples/CompartmentBox.jpg +ca53e3c8b9ba8d46ca2d6fdff24865514dde27380b409fef82f0b87ac0bada2d ../static/samples/HobbyCase.jpg