Close

A Boxes.py story

A project log for Boxes.py

Cut out boxes and other stuff with a laser cutter

florian-festiFlorian Festi 03/01/2020 at 12:060 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!

Discussions