Close
0%
0%

Boxes.py

Cut out boxes and other stuff with a laser cutter

Similar projects worth following
An (Online) Box Generator for laser cutters.

  • Boxespy is an online box generator
  • Boxespy is an Inkscape plug-in
  • Boxespy is library to write your own
  • Boxespy is free software licensed under GPL v3+
  • Boxespy is written in Python 3

Boxespy comes with a growing set of ready-to-use, fully parametrized generators. See https://florianfesti.github.io/boxes/html/generators.html for the full list.

Features

Of course the library and the generators allow selecting the "thickness"
of the material used and automatically adjusts lengths and width of
joining fingers and other elements.

The "burn" parameter compensates for the material removed by the laser. This
allows fine tuning the gaps between joins up to the point where plywood
can be press fitted even without any glue.


Finger Joints are the work horse of the library. They allow edges
and T connections. Their size is scaled up with the material
"thickness" to maintain the same appearance. The library also allows
putting holes and slots for screws (bed bolts) into finger joints,
although this is currently not supported for the available generators.

Dovetail joints can be used to join pieces in the same plane.

Flex allows bending and stretching the material in one direction. This
is used for rounded edges and living hinges.

Documentation

https://florianfesti.github.io/boxes/html/index.html

  • Personal Backlog

    Florian Festi03/08/2023 at 23:13 1 comment

    Being able to put more time into the project have I looked into my local repository and it is full of half finished projects - most of them new "box" generators. I have been working on getting some of them in shape for inclusion. Additionally there where a few needs that popped up that also needed instant addressing. Funny enough a lot of these new generators come in pairs.

    So I did a roll holder for the kitchen after the old, 3D printed one broke:

    Well, it is mounted to the wall... so a "Wall" variant was needed:

    After finishing both I found another 20% finished holder in my working dir. It is more ambitious with 3 layers on each side that allow locking in the axle by rotating the middle layer. No idea why that didn't get finished. May be one day the two above get a fancy sibling...

    For another project I need to 3D print a small part (yes, I know, heresy) but the filament didn't come with it's own spool. So, I did a spool that can be separated into two parts using the BayonetBox as a basis: 

    And as I was at it it was just too easy not the strip it down to a one piece spool (and then add some fancy reinforcements):


    One generator I started a long time ago was one for generating Tetris blocks. At the time this wasn't that easy and quite a bit of work. Nowadays this is much easier as we have the polygonWall method that gets a list of lengths and angles and handles the rest. There also is a companion method to create all the side walls from the same list. So the only tricky part was getting the lengths right as we do want the walls to be within the perimeter of the block structure. I am optimistic they fit, but I have not yet cut them out. So if you feel adventurous and "need some Tetris blocks in your life" please donate a few good pictures.

    Another "thing" that I started long ago and started over with more than once is my Seven Segments feature. The idea is to use a LED stripe on its side and wind it through the seven segments. So you can create a seven segment display without much soldering or special circuit boards and from semi small to quite big. The obvious use case is a seven segment clock. Both of them are still flagged "unstable". But I am not sure if I get to build one any time soon. So if one brave soul is looking an LED stripe fueled clock project let me know.


    So far my backlog is all but empty and I still have more ideas. I just started with a wire straightener holding two rows of v-groove ball bearings. I have a cryptic font that is mostly finished with each letter is just a few shapes that are only legible when surrounded by a border. I wanted to create a calendar with them, preferably perpetual or even some clever mechanical one. I saw a cube box at the Fablab of the University of Oulu that is cut directly between pieces without creating gaps. And I have a half working one for arbitrary sizes.  I have toyed a bit with flexures and thought about doing a laser cut microscope like the OpenFlexure Microscope although with very different kinematic. And I have a dozen more that are not much more than the first few lines of code and I am not confident enough to publicly admit here.

  • Old News and New News

    Florian Festi02/17/2023 at 10:43 0 comments

    It's been a while since the last proper log entry...

    The last few years were not that great for many things - including Boxes.py. But even with things going slow or not moving anywhere for months a lot of changes have piled up over this long time. Also it looks like this year is a lot better and things have actually already picked up speed in December of last year. Not only have I been able to do more but several old and new contributors have shown up and gave the project a very notable boost. To deal with the long backlog of new features and box generators while there is so much new stuff coming in I decide to mix in the old with the new.

    Wall Mounted Boxes and Tool Holders

    After a brief discussion here in the comments in early 2022 I factored and renamed the SlatWall group to WallMounted. While slat walls are fancy not many people have them. The whole group is only there because a few panels fell into the hands of our hacker space. Now the generators can have different styles of hooks and also work with DIN rails or French Cleats. It is relatively easy to add new ways of hooking the boxes and tool holders to different things. So it you have ideas open a ticket on GitHub - or start a discussion in the comments below.

    There are also few new generators in this group:

    • SlatWallPinRow allows you to hang stuff on the wall.
    • WallStairs allows you to design your own tool holders.

    and I recently added a few more sample images.

    On the search for the right box generator

    Caleb Crome is one of our new and very prolific contributors. One theme of his work is making finding the right box generator easier. He wrote a Gallery page that shows all sample images side by side for a quick overview.

    The second, complementary new feature is a search field on the menu page. It shows all matching box generators and matches the English name but also the translated name and short description. This is all done with some - not even too complicated - Java Script magic directly in the browser.

    A third feature is not merged yet. It will allow getting or adding QR codes with a link and settings of a generated box. That way it is easier to pass the settings around with a mobile phone or to figure out how to get the drawing from an already laser cut piece.

    These new features are not all Caleb has done so far. Prepare to hear more from him as soon as we get into new generators.

  • Server Health Improvements

    Florian Festi01/09/2023 at 15:35 0 comments

    The last few months complaints about poor performance and an increasing number of 502 errors have been piling up. The later were especially puzzling as it means there is a problem in the communication between the web server and uwsgi instance in the container. While there was some load on the machine everything looked fine at the first glance and there was nothing in the logs that hinted at a bug.

    At the same time there were similar complaints for the web2py application that runs on the same machine. Well, actually this thing is a VM that runs on a server of a friend of a friend that does a few other things and is only maintained to the bare necessity. When I put Boxes.py there the question I asked myself was not "How do I host the greatest box generator on the internet?" but "Now that I hacked argparse to produce web pages how can I show this to a few people?"

    Over the holidays I had time to look a bit deeper. Turns out the web2py app offers the data with different sorting and filtering and a horde of web crawlers eating it all up. Adding a robots.txt got rid of them and dropped the load from 0.7 to below 0.1. I may loosening this up a bit in the future but for now I just banned bots completely - including from Boxes.py.

    Looking at the logs from Boxes.py it was very apparent that there are even more connections coming in. Most of them of course are these nice pop-up images in the menu. While I still didn't have access the the main machine it dawned on me that the Boxes.py instance probably gets throttled down due to too many request. This would create timeouts and though the 502 errors. To fix that I moved all the pictures to the GH (documentation) pages and adjusted the links to point there. As this would be very annoying for people that run Boxes.py locally (me) this change affects the wsgi mode only. Yes, the boxesserver should grow a config file for things like that but I just couldn't be bothered.

    So performance has notably improved and I hope you all can now create your boxes without seeing 502 error messages. Looking into the access log it turns out there are quite  a lot of you. There are tens of thousands of request per day - even with the pictures moved elsewhere. This is kinda cool but also kinda scary...

  • It's all Fun and Games...

    Florian Festi10/23/2020 at 17:29 0 comments

    ...until someone makes an insert for Agricola - then it is even more fun ... and even more games:

    Kudos to Guillaume Collic who wrote this master piece. I especially like how he made use of already existing code and pieces and combines them with new edges types and new ideas. It re-uses the Divider Tray and regular boxes but combines them with new solutions like cutouts to make gripping the tiles easier. A very neat idea (but a bit difficult to see in the picture) are the sliding dividers in the trays for the wooden pieces. They are prevented from tumbling around by small triangular feet but are otherwise free to move left and right depending on how much space is needed in the compartments.

    The two box types holding the tiles clearly deserve to get a generator on their own. Guillaume already has ticket opened to make it easier to re-use complete generators by others. Splitting these boxes out might be a good exercise to create the infrastructure still missing.

    If you are on your way to your laser cutter you should probably stick to the default material thickness of 3mm or something close. While not stated in the generator description I have the suspicion that adding too much width with thicker material might end up with an insert that cannot be - well - inserted into the box.

    Inserts and organizers for board games is a very welcome new topic in the Boxes.py. I hope at some point we can make this a category in the UI and rescue this gem from the "Misc" section. I have the hope that Guillaume may contribute some more. But may his works also inspires others. The more pieces and features there already are the easier such task becomes. 

  • New Boxes For Your Electronics Projects

    Florian Festi05/21/2020 at 12:32 0 comments

    Often just a generic box is just not enough, but you need something that can house the electronics of your project. The ElectronicsBox was the first variant with this in mind. But in the end it is just a box meant to be bolted down and screwed shut:

    QuitButton needed something else: A housing with a slanted front to mount a LCDisplay and a few buttons.

    As a first stop gap solution (other than just turning a pentagon box on it's side) I implemented Console using the relatively new polygonWall() code that turns a list of lengths and angles into a side wall. The actual win here is that there is a .polygonWalls() method that is rendering all the walls between the sides. The result is still a bit simple, but  at least has the right shape:

    But as with a lot of other boxes there is a severe lack of lockable doors or hatches. And while non rectangular finger joints are cool they are rather distracting around the front panel.

    So here is an improved Console2:

    There are a few variants. You can choose with or without removable back wall, with or without removable front panel and the front panel - as seen here -  clean and glued or attached with finger joints on the sides.

    The panel is held in place by spring loaded tabs:

    The two tabs per side and both springs being one single, laser cut piece.

    The back wall is hooked in at the bottom and has two flush latches at the top:

    The latches are made small enough that they cannot be opened or closed by hand but need a small tool like a screwdriver. This is on purpose to avoid people accidentally sticking their fingers into the electric parts inside. To prevent the latches from opening they have an integral leaf spring and a very small recess that locks them in place when closed. This way they can only be re-opened when pressed in a little bit against the spring.

  • Boxes.py on heise.de

    Florian Festi05/20/2020 at 19:48 2 comments

    Heise.de is the German speaking IT news site. The Heise publishing house also issues the Make magazine. So via the Make news feed this article in German (translated by Google) made it to get global feed at heise.de.

    There is nothing in the article regular readers of this project log don't already know about. But getting this level of exposure is quite nice and made my day.

    Herzlich Willkommen an alle Heise-Leser!

  • New Back End

    Florian Festi05/20/2020 at 08:23 0 comments

    So the new back end is finally merged into the master branch. If you update your own installation you need to install the affine Python module which is available both via pip but also in most distributions. Cairo is no longer needed. This should make installation on Windows much easier.

    The SVG produce by the new back end is also much better than the old one. Artifacts like repeated moves are filtered out and the outline of parts is much more continuous. The weird inverted arcs in inner corners are - for the most part - replaced with smooth Bezier loops. This should reduce acceleration in the corners and allow for faster cutting.

    I am still pondering whether it is worth adding a native DXF back end. While there is only very few commands needed by Boxes.py the format does not look like fun. I am also scared that it won't support the text the way we might need. For now the output still uses pstoedit for converting to DXF.

  • Test new Python backend!

    Florian Festi04/06/2020 at 10:06 0 comments

    Boxes.py is using the Cairo graphics library to generate SVG and PostScript (which is then converted to more formats with pstoedit). This has always been a pain. There is little control over the actual output. Getting the library to run on Windows is a real pain and creates a continuous stream of tickets, questions and complaints.

    So there has always been the thought of replacing Cairo with something else. But thoka finally put in the work to put together a native Python backend. After me not finding the time to take care of the PR for much too long it is now ready to be tested. Please check out https://www.festi.info/boxes.nocairo/

    Beside not needing Cairo it has the following improvements:

    • Continues outlines for most parts
    • Better grouping within the SVG file
    • Improved burn correction with inner corners now being a loop instead of changing direction twice

    Other changes

    • Text rendered as text not as glyphs
    • <deleted>No use of hlines and vlines (yet)</deleted>

    Please test with you tool chain and report issue back. Either here as comments or in the GitHub PR or a new ticket.

    If you want to test locally there is a nocairo branch in the main repository.

    Thank you!

    Update:

    Turns out I had to redo the text "rendering". The text was never that well thought out as Boxes.py is not a word processor. I now do know much more about PostScript and it's font system than I ever wanted...

    To give the code more exposure I now moved the main instance (https://www.festi.info/boxes.py/) to the nocairo branch. The Cairo back end is still available at https://www.festi.info/boxes.cairo/ . But I expect to call the new back end final and ditch Cairo completely soon - if there are no major issues popping up. 

  • A Boxes.py story

    Florian Festi03/01/2020 at 12:06 0 comments

    Looking at tickets on GitHub is not always fun. They are full of bugs and missing features people stumbled across and ideas that are not bad enough to ignore but not good enough to work on right away.

    But from time to time there are stories that unfold in there that are too good to be forgotten in a closed ticket. So I am putting this one here:

    In the beginning there is a need for a box - a cash box. And there is an idea how it should look like:

    And there even are some plans - although not quite in the right size:

    So the question arises if there is a generator that can already do this. Well, sort of. There is the RoundedBox and it probably can be extended to get similar results.

    But as so often that's a bit too involved for a mere mortal. So Inkscape is called to the rescue instead:

    with green being from boxes.py, the red added to get the results in blue.

    And the final box is looking gorgeous:

    That's just to good be stay a one-off. Actually extending the RoundedBox wasn't that hard. Half of the patch is just increasing the opening on top/front for the new style. Of course the real work is done in the parts (RoundedPlate and SurroundingWall) that make up the box and need to learn about the new feature. So this could have been a nice show case how easy it is to extend the library. Unfortunately these parts are both pretty old and only used at few places. So there is a bit of refactoring and a few tweaks and bug fixes needed to make this all work eventually:

    The keen observer may have noticed that the edge type of the SurroundingWall has changed from "F" to "f" making the top and bottom a bit more sturdy as the corner holes don't continue into the sides. Otherwise this is very close to the Inkscape version.

    Thanks to bwente for the work and inspiration to finally do this!

  • Spicy

    Florian Festi12/16/2019 at 22:45 2 comments

    The kitchen in our hacker space needed a better solution for its spices. The wire frame shelf was disorganized and just not that great over all. Turns out you can get some nice tin cans for spices for just like 70ct each - already coated in black paint that can easily be laser-etched away. Now we just needed a new kind of rack that holds a lot of them. The obvious solution would be tilting them so you can read what's on the lid and each can be accessed directly. I was already thinking about a variant of the wine rack just with each cell tilted upward. But then there was a better idea: Have the cans sink into a horizontal plate:

    Although the rack is made specifically for the black cans it turns out other more or less cylindrical objects of more or less the same size also fit in well enough.

    While getting the math right and creating the ellipse arcs was a bit tricky the rack itself is easy to assemble:


    The generator can be found in the Shelves section.

View all 55 project logs

Enjoy this project?

Share

Discussions

gwvwadc wrote 10/18/2022 at 12:15 point

I'm having problems designing universal box in Firefox browser. Every time I generate a project I receive this message

Proxy Error

The proxy server received an invalid
response from an upstream server.

The proxy server could not handle the request GET /boxes.py/UniversalBox.

Reason: Error reading from remote server

Apache/2.4.6 (CentOS) Server at www.festi.info Port 443

I have tried different settings in parameters, cleared the cache in Firefox and restarted the browser, but still have the same message appear. This doesn't happen if I am using Safari (which I am NOT a fan of).

All of the other design options appear to work correctly. 

I also should add that this problem has only recently appeared with Firefox.  I have used the universal design in the past with no problems at all.

  Are you sure? yes | no

stujen65 wrote 10/22/2022 at 22:28 point

I am getting the same issue, had it for about two to three weeks using chrome & edge. If I use safari on my Iphone I do not get the error.

  Are you sure? yes | no

dt61373 wrote 09/30/2022 at 20:10 point

Hey this Project is awesome!!, made my first sliding drawer box and now working on flex boxes.  Is there any way to get dove tail joints on the other boxes, or just the flex boxes? I love the aesthetic of dove tails.  Thanks and keep up the great work!!!

  Are you sure? yes | no

Florian Festi wrote 10/01/2022 at 19:26 point

The dovetails are only for joining flat panels and cannot create corners. This is a limitation of laser cutters - and Boxes.py - being 2D. As such their application is limited. The other generator that makes use of them is the JointPanel in Misc.

  Are you sure? yes | no

afbigfish wrote 09/04/2022 at 16:30 point

Ok, first I am loving this box generator.  Hoping someone can help with an issue I have.  Whenever I export the file as a DXF I get a double line with a whole bunch of extra funky lines in the corners.  When I export as an SVG its fine.  I would prefer to export directly as an DXF.  I have only had the laser for 2 days and made 2 projects but cant figure out this DXF issue. I tried all the different corner options for output and its all the same.  

  Are you sure? yes | no

Florian Festi wrote 09/07/2022 at 10:39 point

Unfortunately there is not that much that can be done. The DXF is created from the PS (postscript) output by converting it with ps2edit. If anyone can suggest a better suited tool I am happy to switch to something more reliable. Tooling in this area is a bit sparse.

  Are you sure? yes | no

Florian Festi wrote 09/21/2022 at 09:51 point

May be converting the SVG with Inkscape is an option for you: inkscape --export-type=dxf --export-extension=org.ekips.output.dxf_outlines drawing.svg

That's actually something I could add to the backend. Not sure if I want to run stuff through Inkscape on my server, though...

Edit:

Final conclusion in the Inscape Forum thread was 

inkscape --actions="select-all:all;selection-ungroup;selection-ungroup;selection-ungroup;object-to-path;select-all:all;selection-ungroup" --export-type=dxf --export-filename="C:\ExportFileLocation\NewExport.dxf" --export-extension=org.ekips.output.dxf_outlines "C:\OriginalFileLocation\OriginalSVG.svg"

Not sure if this is really fitting as this wasn't about Boxes.py but it might give some clues on what to try.

  Are you sure? yes | no

nir wrote 08/08/2022 at 20:09 point

Hi :) Awesome project! Really!

I think there's a bug wit the ShutterBox functions, it seems to be working only with 2/3mm thickness (I'm using the browser-based GUI). For example, using a thickness of 3.5mm leads to missing holes and more.

I'll be manually fixing the file in light-burn, but just FYI :)

  Are you sure? yes | no

Florian Festi wrote 08/10/2022 at 09:37 point

I am not quite seeing that. But in general if edges get too small the fingers don't no longer fit and are omitted. So there is a minimum size where small details still fit. But you can make finger smaller in the Finger Joint Settings. Often it is already enough to lower the surroundingspaces setting to 1 or 0.5 or even 0.0 - the default for the ShutterBox is already lowered to 0.5, though. If the finger itself is too big you can lower the finger and space settings.

  Are you sure? yes | no

nir wrote 08/10/2022 at 17:51 point

Thanks for the help! It took me a while to figure it out, but I realized the surroundingspaces is too high like you said. It works well when I lower it (checking the 'debug' mode made things weirder by the way). I think the problem was that I had to cut things on my laser before I could figure out things are off. I'll dig into the code sometime and see if I could suggest a warning message when fingers or other parts are omitted. Awesome project, well done :)

By the way, would it be okay if I post a YouTube video / instructables.com article with reference to the site? (you can see my work at nirlivne.com) 

  Are you sure? yes | no

Florian Festi wrote 08/12/2022 at 13:56 point

The debug setting is more for developers who want to see if all the pieces are placed properly.

Youtube videos and instructables articles are of course very welcome. I finally need to start a page where I collect such things.

  Are you sure? yes | no

3dkev wrote 07/24/2022 at 16:42 point

Hi, I can't get the plugin fully to work in Inkscape 1.2.1 on win 11.
I'm using the boxes.py plugin from the Mightyscape plugin collection.
I can change the values such as dimensions, material thickness etc.
If I want to generate the SVG, or ask for a preview I get:

There was no C:\Users\kevin\AppData\Local\Temp\box.svg output generated. Cannot continue. Command was:
boxes angledbox --x 100 --y 100 --h 100 --outside true --bottom_edge F --n 5 --top angled hole --thickness 3 --tabs 0 --debug false --labels true --reference 100 --burn 0.1 --FingerJoint_angle 90 --FingerJoint_style rectangular --FingerJoint_surroundingspaces 2 --FingerJoint_edge_width 1 --FingerJoint_finger 2 --FingerJoint_play 0 --FingerJoint_space 2 --FingerJoint_width 1 --output C:\Users\kevin\AppData\Local\Temp\box.svg C:\Users\kevin\AppData\Local\Temp\box.svg

I already let boxes.exe run as admin, and it has writing permissions.

  Are you sure? yes | no

Florian Festi wrote 07/27/2022 at 22:20 point

I don't really have any experience with Boxes.py on Windows - and even less with Inkspace on Windows. You are probably best off directly asking at the Mightyscape project who's author put a significant effort into packaging Boxes.py for Inkscape.

  Are you sure? yes | no

ClaneSharke wrote 07/12/2022 at 14:29 point

Could we have an option for slide on lid with finger joint rails on?  similar to the card box but with the bottom rail finger jointed instead of a full panel for the bottom rail.

  Are you sure? yes | no

Florian Festi wrote 07/20/2022 at 11:27 point

This is actually a really good idea. May take a few more days to get that done, though.

  Are you sure? yes | no

Aaron wrote 06/27/2022 at 21:52 point

Hi all, I have a slight issue with the Type Tray divider/box. If I set the burn value so the outside edges are nice and tight the slots that join the continuous walls become too tight, this becomes more of an issue the bigger the box, therefore the tight joints are on multiple sliding surfaces at once, which all have to be slid at once, I would like to be able to keep the fingers tight, but there is no real value in having the wall slots super tight, it would be great if these burn values could be set independantly of the finger joint values. Thanks for reading.

  Are you sure? yes | no

Florian Festi wrote 06/28/2022 at 07:01 point

Yeah, I have run into that myself but was able to more or less force things in place. Opened a ticket upstream: https://github.com/florianfesti/boxes/issues/410

As noted there this requires more infrastructure than one might think from the outside. But that would also allow more features for the slots - like having them snap locked in place. This would be very useful for things like the TrayInsert which is currently a bit flimsy.

  Are you sure? yes | no

Craftfoodandbeer wrote 06/22/2022 at 18:29 point

Howdy, Your tool is amazing. I make lots of acrylic and wood boxes with it, Thank you for making it. How can I add the slide on lid from the card box to a Tray Layout? That would help me make the perfect box for some hobby projects I have in mind.

  Are you sure? yes | no

Florian Festi wrote 06/26/2022 at 19:45 point

You currently can't. Either you need to write a new generator or pick and choose the parts and hole patterns from both generators. As an alternative you could glue a TrayLayout into a CardBox - may be replacing the pieces at left and right.

  Are you sure? yes | no

aidenapearce wrote 04/29/2022 at 17:19 point

Hi Florian, fantastic project. I can see a lot of uses for this tool.

One feature suggestion, or perhaps there's a setting I can't find, but it would be really nice to be able to make typetray or similar boxes with different thickness of material for the outer walls and inner dividers. For a complicated case, this could make a much smaller, and cheaper, box with sturdy sides.

  Are you sure? yes | no

Florian Festi wrote 05/01/2022 at 10:30 point

Yes, you are not the first one to make this suggestion. I guess at some point someone has to put in the work to make this happen.

  Are you sure? yes | no

Chris Davis wrote 04/20/2022 at 15:08 point

After creating a box using the web interface, when I export the image using Save as PDF, the resulting file is larger in scale, so the boxes are off by 5-10mm. Is this a common problem?

  Are you sure? yes | no

Florian Festi wrote 04/27/2022 at 06:35 point

See https://florianfesti.github.io/boxes/html/faq.html#why-is-my-box-a-bit-too-big

If this doesn't explain what you are seeing please open a ticket on Git Hub with the link to the generated box: https://github.com/florianfesti/boxes/issues

  Are you sure? yes | no

immztoivo wrote 04/10/2022 at 18:27 point

Hey, boxes.py does not work. It just gave me an error:
Reason: Error reading from remote server

  Are you sure? yes | no

Gary Kean wrote 03/11/2022 at 23:16 point

Hey Florian,

I only recently installed boxes.py and am enjoying it very much, but I have run into a weird anomaly.  

1) Whenever I build a box using the "burn" option, I get a file that some of the corners have loops instead of crisp corners, some have small curves, and still others seem square and fine. I found that if I set the "burn" option to "0.0", these problems go away. It seems, however, that that feature is very useful to allow for kerf in my designs. Any thoughts?

2) Is there any way to have the option of having different length fingers for box base (and top) perimeters and fingers for box sides? In other words, I'd like to have 5 width fingers on the floor of the box and 2 width fingers up the sides.

3) Trays - Is there any way to have consistent fingers around the base rather than having the side divided and the fingers centered on the size of the individual sections?  It would be nice to have the creation of fingers ignore the sections created inside the tray. I make mostly non-symmetrical trays and the fingers get skewed based on the size of the final sections rather than being consistently placed around the base.

Thanks

  Are you sure? yes | no

Florian Festi wrote 03/19/2022 at 15:00 point

1) https://florianfesti.github.io/boxes/html/faq.html#why-are-there-tiny-weird-loops-in-the-corners

2) no, not with any of the current box generators. One way to achieve this might be frankenstein a box from two boxes with different settings by copying the finger holes or bottom edge over. 

3) no, this sort of thing might work for some edges but the walls inserted from above need to be split properly to avoid fingers hitting the perpendicular walls.

  Are you sure? yes | no

Florian Festi wrote 04/20/2022 at 10:31 point

Oh, I forgot to mention it here: I added a "inner_corners" option that allows you to choose the way those are rendered. Choosing "corner" will make those arcs disappear.

  Are you sure? yes | no

Pedro Marques wrote 02/01/2022 at 13:12 point

It would be great to have more DinRail sfuff like shelfs or other systems.

Imagine to have stuff to use Din Rails like french cleats 

  Are you sure? yes | no

Florian Festi wrote 02/08/2022 at 14:10 point

May be the Slatwall generators can be adapted to use the DinRail edges. This would give a good number of finished stuff.

  Are you sure? yes | no

Pedro Marques wrote 02/09/2022 at 15:15 point

yes that would be great...

i think the way the "boxes" fix on dinrail can be more simple than the current dinrail template

  Are you sure? yes | no

Chris Davis wrote 04/20/2022 at 15:11 point

It would also be great to have a regular French cleat option too (adjust the height and depth of the cleat.)

  Are you sure? yes | no

stevenhirst wrote 01/13/2022 at 15:27 point

I would like to make the 'fingers' of the finger joints slightly longer than necessary. Say using 3mm material, if I could make the fingers 4mm and then sand them flat once the box is assembled to reduce the 'burned wood' effect.

Is there a 'finger joint setting' for this?

  Are you sure? yes | no

Florian Festi wrote 01/16/2022 at 14:48 point

There is now (finally). See extra_length in Finger Joint Settings or https://github.com/florianfesti/boxes/issues/270

  Are you sure? yes | no

samboa86 wrote 12/11/2021 at 21:28 point

I'm sad with all these boxes there isn't one with a sliding off lid? That is the one that I needed. No body has designed one of these yet? lovely project overall

  Are you sure? yes | no

Florian Festi wrote 12/21/2021 at 07:59 point

Yeah, the lid situation is not that great yet. But there are a few options already: CardBox can be done with one compartment only. The TwoPiece box has a lid that slides off vertically. The UniversalBox supports a sliding lid with the matching top_edge selected. For something more fancy there is the ShutterBox.

  Are you sure? yes | no

lechlew wrote 11/25/2021 at 08:37 point

Hi, I have problem, because boxes generator is not working properly with output file ai or pdf. It generates svg file, dxf, but not pdf and ai. The problem is that sometimes it doesn't generate bottom of the box in ai file. Or only one wall. And sometimes it generates everything correctly. Please let me know what I do wrong.

  Are you sure? yes | no

Erik wrote 09/21/2021 at 22:23 point

Florian, what a great project! I wish to join two ClosedBoxes with a ChestHinge. So, I have copied the IntegratedHingeBox, and I am modifying it to add finger joints to the smooth edges, and two more pieces to fit in them. When I try to create a CompoundEdge of type "pf", the hinge portion becomes very disjoint from the ChestHinge portion. The same thing happens with ChestHingeTop. Is this a bug, or user error? Thanks so much!

  Are you sure? yes | no

Florian Festi wrote 09/23/2021 at 13:00 point

There are probably two issues: Between both sides of the hinge is no space for the two walls. So normal calculations won't work.

Additionally the p edge is outset by the size of the hinge eye. This is compensated in the IntegratedHingeBox by setting ignore_widths accordingly. This reduces the length of the back edge so the hinge fits in the normal size of the box.

The easiest way to make this all work is probably to not use rectangularWall but draw the side walls "by hand" just using the edges (e.g. self.edges["f"](x) ) and corner() or edgeCorner().

  Are you sure? yes | no

Erik wrote 09/23/2021 at 14:43 point

Thanks Florian, I will give it a try. Just for reference, this is similar to what I want to accomplish: https://cdn.shopify.com/s/files/1/0163/5172/3595/products/hexbox1_1024x1024.jpg?v=1629874881

I would of course add the hexagonal holes to the output SVG manually. Thank you for the great answer!

  Are you sure? yes | no

Florian Festi wrote 09/23/2021 at 15:46 point

This looks really nice! Looking forward to have this added.

  Are you sure? yes | no

suleyusta wrote 08/27/2021 at 23:43 point

hi. i have a question about this flex test:

https://www.festi.info/boxes.py/FlexTest?language=en

can we make margins to the left and rigtht of the flexpattern?

  Are you sure? yes | no

Florian Festi wrote 09/04/2021 at 06:57 point

Not quite sure what you are asking for. There are margins - although of fixed width. This generator is only meant to be for testing different settings. If you want to use the flex for anything useful adjust the piece with some vector graphics program like Inkscape.

  Are you sure? yes | no

hd wrote 08/19/2021 at 17:46 point

Hello everyone!

I've created two standard cardboxes recently and have a note. The inner height doesn't count with the thickness of the material, probably the bottom part.

Inner height of 66 (t=5mm) and 70mm (t=3mm) is therefore 61 and 67mm only.

Is that my fault or a bug?

  Are you sure? yes | no

Florian Festi wrote 09/04/2021 at 06:54 point

Well, I would argue it doesn't account for the lid. Anyway, fixed now in https://github.com/florianfesti/boxes/commit/cd604f0d53058d0b66922ba822ae76b56c186cc3. Thanks for reporting.

Note that I pulled a few other changes to the server that re-arrange the parts and add part names. The names can be de-selected by un-checking "labels" in the Default Settings.

  Are you sure? yes | no

cr10s wrote 05/03/2021 at 06:40 point

Bonjour
Merci beaucoup pour ce super projet

j'aimerais signaler une erreur dans  PhoneHolder, le troisième objet est mal formé

encore merci, j'ai créé de jolie boite grâce à vous


Hello
Thank you very much for this great project

I would like to report an error in PhoneHolder, the third object is malformed

thank you again, I created a nice box thanks to you

  Are you sure? yes | no

Florian Festi wrote 05/31/2021 at 15:09 point

Sorry, I didn't quite see what was the issue right away. It is fixed now.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates