JBOX (english description)

To read the German description go to JBOX

3 Matryoshka boxes from wood

JBOX creates parametrized boxes; essentially the wall parts of a box as CAD-file. You simply define parameters like length, width, height etc., the rest does JBOX. JBOX needs Java 6 and runs on Windows, Linux and Mac. Additionally you need QCAD or LibreCAD to open the output files and work with them. (these are the programs which I used for testing) Now since version 2.0 the output dxf-files should open for any 2D-CAD-program.

Filezip.gif JBOX.zip (292 KB)
Version vom 16.2.2015

(Sourcecode included)




After download click on runJBOX.bat; it starts a Java-GUI where you define the parameters of your design. For instance, for a standard box you define length, width, height, material thickness and laser cutting. After clicking the generate-button (you have to define a dxf-file at this point) the design is generated into the chosen file. After generating you have to open the file once with qcad and store it; this rectifies the file to a proper dxf.

Additional parameter (since versin 1.4) is tooth width (default is a tooth width equal to material thickness) stärke). For extra wide teeth enter the desired value in field zinkung length.


The value for the paramter laser cutting is typically chosen between 0.03 und 0.2 millimeters. Wenn you choose a higher value the pieces will fit more tightly; an option when you want to work without glue. 0.2 millimeter is already an extreme value; for instance when you work with plywood you can hammer the wall pieces into place. The box will hold without glue.

The generated design is well suited to refine it manually in QCAD (or any CAD-program of your choice) For instance you will need extra holes when you work on a box for an electronic circuit.

Generally it is advisable to rearrange the generated parts (manually, in your CAD-program) to use your cutting material sparingly. When I have a large job of many pieces I generate one or several rectangles with the size of the raw sheets. Working with these rectangles you can make best use of your material almost up to the last millimeter.



Standard Box

The standard box consisting of its six walls.

Recursive Drawers

Box with raised floor to contain and fix Arduino and Pololu (Top and Bottom)

With this option you can create Matryoshka boxes. I call them also the recursive boxes'. Additonal parameter is the number of drawer and the size of the hole to push the drawers out.


A multidrawer is a half open box with several drawers.

Box with raised floor

A box where the bottom wall is raised. (raise height is a a parameter) This design is meant as casing of electronic gadgets. The raised box floor gives room to fix your nuts and hide them too.

Customized Boxes

The program generates parts which fit exactly together. However, often the box you need will be a little different. For instance for an electronic casing you will put openings at various places. Or you want to have the edge contain the teeth holes completely.

Use the result of JBOX as a building block to go on. Some of these changes I have progammed like the box with the raised floor, but one could do these adaptions from a standard box, manually, with little effort.


You can leave questions and suggestions at the discussion page of this arcticle.