-
More Documentation
09/14/2018 at 13:30 • 0 commentsUpdating the API docs has been on the ToDo list for one and a half year. Turns out being on vacation far away from a laser cutter is helping. Not only did I update some doc strings - which are the basis for the Sphinx generated API docs - but I wrote some new documents:
And I added an Introduction to the Edge classes. The rest of the page probably still needs some work as some Edge types are still missing. The Settings classes and their role in creating the HTML and Inkscape user interfaces and in creating the Edge instances probably also deserves a bit more text.
What also helped getting it done - probably not getting it done well - was a good amount of medication. It at least prevented me from doing something more complicated - and may be more rewarding - instead. I hope it does not show too much. So if something looks weird or doesn't make sense please open a ticket on GitHub or leave a comment below.
-
Boxes.py goes to Jupyter
09/10/2018 at 14:19 • 0 commentsNo, Boxes.py didn't make it to space - yet. But @speendo used a Jupyter notebook to develop a housing for his switch. After a bit of back and forth we now have an example notebook that allows to play around interactively in your web browser - sort of. You still need Boxes.py running on your system - or where ever your Jupyter instance is running. If you do not have Boxes.py installed in your Python path you can uncomment and adjust the sys.path line in the first code cell.
The example code - a simple, single shelve to screw to the wall - did not yet make it into the regular code. So it is only available in the notebook for now.
-
Reuse your previous Box settings
08/14/2018 at 10:40 • 0 commentsWhen designing the web interface I was deliberately using URL parameters so the link to the rendered SVG can be used to generate it again and to adjust the values. But so far there was no way to get those values back into the input form. Yes, you *can* edit the URL directly but this got much less convenient when the settings for the edges got added and the URL looks like a database.
bwente rightly complained about this in #66. So I finally fixed it. Now you can just remove the &render=1 at the end of the URL or turn the 1 into a 0 to open the input form filled with the previously used values.
The actual issue in #66 - adding the URL as a comment in the SVG file - is still unresolved. So far I could not yet bring myself to re-open and rework the SVG file. But there are several issues open that would require this. So one day eventually...
In the mean time Rotzbua created a greasemonkey script that adds the comment on the client side.
-
3rd Party Instructions
04/26/2018 at 19:51 • 0 commentsI accidentally stumbled across an Instructable for laser cutting boxes and though to my self: They look nice but very much like the ones my generator does. Did someone just steal my ideas?
After scrolling down I realized that the instructable is actually about Boxes.py - which explains the similarity of the boxes quite nicely. It is also quite nicely done.
Thanks to Andrea Biffi for all the work!
-
Trouble with pstoedit
04/15/2018 at 11:47 • 0 commentsAlthough it is not available on the public online generator Boxes.py supports generating formats like DXF directly using the pstoedit utility. Unfortunately this broke recently due to ghostscript dropping the -dDELAYBIND parameter in 9.22.
Luckily ghostscript upstream decided to add it back in 9.23. So if you run into trouble consider updating or downgrading your ghostscript installation.
Pstoedit also indicated that the next version may work without -dDELAYBIND. So as soon as 3.71 comes out the issue may be off the table for ever.
-
Boxes.py on Windows?
12/20/2017 at 09:47 • 5 commentsHi!
I am getting questions about Boxes.py on Windows I can't really answer - both as private message or as GitHub tickets. I personally have not used Windows for anything else than occasionally using a Desktop program (like the control software for our laser cutter) in over a decade. So I really have no clue.
Has anyone been able to run Boxes.py on their Windows machine and is able to share the steps needed preferably including links to the libraries and tools required. Are there any changes that would make installing it easier?
Has any one been able to make the Inkscape plugins work on Windows?
Any feed back that help improving the (very thin) install documentation or the installation itself is welcome!
Update:
Finally we have step by step instructions with screen shots for Windows 10 (64 bit). Many thanks to Martin Müller!
-
Boxes.py gets musical
11/25/2017 at 23:04 • 0 commentsDue to the many requests of a single person I added another thing that is not completely unlike a box:
This contraption is an end pin for a bass recorder. Well it is an end pin if you add the pin at the clamp on the right. Imagine a black, metal, telescopic mono pod - as you might use with a camera but a bit shorter (for some reason it did not make it on the pictures). May be at least adding the bottom piece of the recorder gives a better idea ...
Although these things are weird and serve a very rare purpose they multiply rather quickly.
-
Side Projects
11/16/2017 at 20:30 • 0 commentsI has been a bit quiet here the last couple of weeks. But this has little to do with me not working on Boxes.py but rather with me working on something so big it needs its own project page: Flipper the Cocktail Bot
Yes, yes, it is only in part made with Boxes.py and still not in the GitHub repository. But it turns out a working cocktail bot doesn't help with that...
As a consolation I made you a new box.
-
Submitting to 2017 Hackaday Prize
10/02/2017 at 20:37 • 0 commentsMotivation
Laser cutters are awesome! Really - get one (for your hacker space)! But they are inherently 2D. So you need to be a bit creative to create something three dimensional. One way is using finger joints to join sheets to larger structures. Another is using flex cuts to bend flat pieces into the 3rd dimension.
The Challenge
I looked for a way to do that. Preferably a way to generate generic sketches that can easily be resized, that can be parametrized for different thickness and kerf. A solution that would not just scale size but adjust the number of fingers and flex cuts. A solution that would not only allow picking the size but also the style of the joints and other features - and that is open source so I can share my creations.
I looked at various CAD programs and available boxes generators that could be extended with my ideas. FreeCAD was still not there yet at the time. OpenSCAD did not support simple cuts which are needed for flex. The available box generators were either closed source or not really worth the effort. In addition, most parametric tools were 3D and required extra steps to generate a 2D drawing suitable for laser cutting.The Solution
So I decided I can do this by myself. All it takes is a bit of turtle graphics. Can't be that difficult.
Four years and 10k LOC later you can create over forty different things. There is an API to build your own stuff - and some people have. Many users just generate parts, and modify and arrange them in a vector graphics program like Inkscape.
I started with simple boxes. Today the project stretches far beyond and includes things like trays and shelves, traffic (aka Jenkins) lights and a honey comb wine rack.
Boxes.py has even spawned its own sub projects here on Hackaday.io: A cute little robot and my first steps towards laser cut gear boxes.
-
Knobs for all!
10/02/2017 at 10:57 • 0 commentsOk, this is kinda embarrassing: About a year ago I added knobs to go on screw heads. They got used by generators like the Rotary Attachment (a contraption to laser engrave round objects) or the Pole Hook (a contraptions to hook a huge recorder to a music stand). Turns out they were not available anywhere else - although they are pretty handy for all other kind of thing. So:
ConcaveKnob and WaivyKnob
As always probably not the best names, but at least they are reasonably good looking. Please actually measure the size of the hex head you want to use and may be even reduce the value by a tenth of a Millimetre or two. Hex heads are typically a bit smaller than their nominal width to fit comfortably in the wrench while you probably want to press it in.
Not so good looking is the text output as rendered on my server. Locally everything is fine but for a while now the Cairo library only renders weird characters instead of the size of the reference block. If anyone has an idea how to fix this (on libcairo on Python 2.7) let me know. Setting the font face does not help.