Introduction: Generating Elliptical Boxes Using a Laser Cutter and Inkscape
This Instructable will teach you how to make elliptical boxes of different shapes and sizes like the ones pictured above. These boxes are easy to customize so you can add your own personal touch.
Step 1: Tools and Materials
- A computer.
Inkscape, a free and open source vector drawing application.
The elliptical box Inkscape plugin, available from github (see below). There are two reasons for using this plugin instead of drawing everything by hand:
- Inkscape prints lines in the order and direction in which they are drawn. The plugin generates the cut pattern in a way that tries to minimize unnecessary laser movement.
- Generating the notch pattern on an ellipse is tricky. On a circle the notches are evenly spaced and the distance along an arc is easy to calculate, for ellipses it is much harder.
Access to a laser cutter. Since laser cutters can be set up in different ways it is important to be aware of how your laser is set up. The one I have access to is set up as follows: red lines are to be cut, blue lines are shallow cuts (i.e. they don’t cut through the material but they leave a visible line) black or grayscale is engraved (this can also be a bitmap image).
Material to make the box. MDF or multiplex works well, plexiglass is also possible but it is harder to bend. It is best if the material is not too thick, 3 or 4 mm works great.
(Edit September 30th: add reasons why to use the plugin)
Step 2: Software Installation
You can get an installer for the latest Inkscape version here. The installation is very straight forward and should not give you any problems.
To install the elliptical box plugin first download it here, this will download a zip archive containing three files. To install the plugin you need to copy ell_box.py and ell_box.inx to your Inkscape extensions directory.
The location of this directory depends on your operating system and on whether you want to install it only for yourself or for all users on the computer.
Windows
For a personal install copy the files to C:\Users\USERNAME\AppData\Roaming\inkscape\extensions (where USERNAME is your username). You can create the directory if it doesn't exist yet.
If you want all users to have access, copy the files to C:\Program Files\Inkscape\share\extensions (you need to have administrative rights in order to do this).
Mac or Linux
Personal install: put both files in~/.config/inkscape/extensions
Install for all users: put them in /usr/share/inkscape/extensions
If you start Inkscape the plugin will show up in the Extensions menu under Laser tools --> Elliptical box maker.
Step 3: Plugin Parameters Explained
Here is a quick overview of the parameters. Don't worry if they don't make much sense right now. The next step will be a step-by-step walk-through.
- Unit: The unit that you want to use.
- Material thickness: It is best if your material is not too thick because you’ll need to bend it. 3 or 4 mm works very well; 6mm is too thick for a small box (it may still work for a larger box).
- Height: The inside height of the box.
- Width:The inside width of the box. It is best to make this value bigger than the height if you want to prevent it from tipping over.
- Depth: Outside depth of the box (slight inconsistency here, sorry)
- Cut distance:The distance between the cuts on the round wraparound part.
The closer you put these cuts the more flexible it will be. Note that there will be an offset cut at half this distance. 2 – 4 mm works well.
This distance is recalculated to get an even spread over the available space so the actual value will be slightly different.
- Number of cuts: This is the number of in line cuts across the depth of the wraparound. The fewer the cuts the more flexible the wraparound will be.
- Lid angle:This is the angle that the lid takes up, measured from the center of the ellipse. 120° works well.
- Invert lid notches: This inverts the notch pattern on the lid. Normally there is one notch on the body that keeps the lid from sliding sideways. If you invert it the lid can slide to the side (it's a bit hard to explain, just try it and you'll see the difference).
- Central rib:This option creates a notch pattern and corresponding holes that allow you to easily create things such as: handles, center dividers or other decorations (see examples at the end of this tutorial)
Step 4: Creating a Simple Box With a Handle: Making the File
The output of plugin does require a little more work before it is ready to send to the laser so here is a step-by-step guide to create the box as shown in the pictures. It is made from 3mm thick MDF.
This page also mentions several Inkscape operations if you need more help on using Inkscape, check this page.
Start Inkscape.
- It is a good idea to set the page size equal to your material size (you can find this under File --> Document properties
- Run the elliptical box maker with the following parameters
Units: mm
Material thickness: 3
Heigh: 55
Width: 70
Depth: 60
Cut distance: 3
Number of cuts: 2
Lid angle: 120
Create central rib in the lid: Checked
Click “apply” and close the popup window.
You’ll notice that five items appear on the page. The
topmost part is the body wraparound, below that is the lid wraparound. Then there is the side panel (there is only one for now, we’ll duplicate it after we have drawn the separating line between body and lid). The lowermost parts are the notch patterns for the inner and outer ribs.You don’t need the inside rib so go ahead and delete it (click on it and press the delete key).
Finish the side of the box. By default the constituent parts are grouped so they can easily be moved as a whole. Before you can edit the side you need to ungroup it by selecting it and then selecting Object-->Ungroup and then click on a blank part of the page so you have nothing selected.
Now delete the text on the side. You’ll also notice two green lines, these indicate the division between body and lid and you need to draw a cutting line. In order to do this use the Bezier tool from the menu on the left.
It helps to also enable snapping in the right side menu and make sure snap to cusp nodes is selected.
Now just draw over the green lines, the snap should help to hit the points exactly. Your last point should be a double click (otherwise you will continue to draw line segments).
To turn this line into a curve use the path node tool from the left side menu , select the middle node and make it symmetric.
Use the path node tool to make something that looks like the example above. You can also go for a different shape if you like.
You can now delete the green guide lines.
The side is now complete. It is a good idea to group all the lines (use the select tool from the left menu, draw a box around the side panel and use Object-->Group).
Now use Edit-->Duplicate to make a copy of the side panel and position it on an empty part of your sheet.
To create the handle you need the outside rib. Ungroup and delete the text like you did for the side. There is also one line too many on the right side, delete that as well.
Use the Bezier, Ellipse and Path node tools to draw a handle that is attached to the notches like in the image on the left. Use your creativity; there is absolutely no need to copy my design.
Once again it’s a good idea to group all parts of the handle if you are done with it.
All parts are now ready to be cut. Like I said before the laser I use will only cut the lines that are in red.
To make all lines red use Edit-->Select all and then Object-->Fill and stroke…, this will give you a popup window. Select the Stroke paint tab and pull the red slider all the way to the right (or type 255 in the textbox next to it) all your lines are now red and ready to be cut.
Step 5: Creating a Simple Box With a Handle: Cutting and Assembling
Using the laser
I cannot give an explanation for every type of laser so here is just a very short general description.
To your computer the laser cutter looks like a printer with some extra software to manage settings and control the laser. Make sure the laser is properly focused and that you have selected the proper material template.
If you have never worked with the laser ask if someone can help you get started.
Assembling the box
This can be slightly fidgety but with a bit of patience it is certainly doable.
It can be tricky to fit the second side because you can make the first side fall out. You can always use tape or rubber bands to keep it together.
Assembling the lid should be easier as it is smaller and less curved. Always start with the center rib.
The box should stay together without any glue. If you want to make it more robust you can use a little bit of glue (wood glue works well for MDF).
Step 6: Beyond Simple Boxes
As you can see in the above images it is possible to use the plugin as a base for more imaginative designs.
Here are some tips and observations:
- Always start your assembly with the central notch part
- Fitting the central part can be tricky, especially on strongly curved parts.
- You can use a thin knife to help push or pull the wraparound when you are assembling a tricky bit (just be careful that you don't cut yourself).
Converting notches to holes
You can see that the notches in the side panels have been changed to create holes where the front fins are. The easiest way to do this is by using the ellipse tool and editing the start and endpoints of the elliptical arcs (see also the last picture above). Inkscape has the tendency to change the arc to a segment when you do this so you may have to switch it back to arc.
Removing holes on the wraparound
If you tick the Central rib check-box you will get the holes and notches to make a rib. If you do not want the rib to go all the way round you can delete parts of it. Removing the notches is trivial, just select them and press delete.
Removing the holes in the wraparound is slightly more work but not very hard either. First delete the horizontal lines that make up the top and bottom of the hole.
You may now notice that the vertical lines above and under where the hole used to be are shorter than the ones to the side of it. If it doesn't bother you then fine, you are done.
It is however not too hard to make them longer. First select all short lines on the upper side (use shift-click to select multiple items) and then adjust the length. Then use the same procedure for the lower side.
Step 7: Closing Thoughts
Thanks for reading this far.
This is my first instructable, I hope you like it.
There are some of my files on this page, try them if you like (they all require 3mm thick material).
The plugin is hosted at Github so if you want to add features, report bugs or just take a look please go here. The programming language is python.

Participated in the
DIY University Contest

Participated in the
Teach It! Contest Sponsored by Dremel
4 People Made This Project!
- MartiJ made it!
- juggler made it!
- GoDt made it!
- thomas.pilkington.378 made it!
41 Comments
5 years ago
It doesn´t work for me. I have the same problem with the helper extention.
Reply 5 years ago
You need to install the helper extension too...
https://github.com/BvdP/Inkscape_helper
Reply 2 years ago
Could you please walk me through the steps for installing the Inkscape_helper?
I have tried everything and STILL can't get this extension to work.
2 years ago
Is there anyone who could please walk me through the steps for installing the Inkscape_helper?
I have tried everything and STILL can't get this extension to work.
I have never been able to get ANY added extensions to work.
ALWAYS error messages. With this one I get:
"Traceback (most recent call last):
File "ell_box.py", line 3, in
from inkscape_helper.Coordinate import Coordinate
ModuleNotFoundError: No module named 'inkscape_helper' "
How do I fix this??? Inkscape has produced nothing but Headaches, frustration, and TONS of wasted hours for me!
Question 2 years ago on Introduction
Hi,
I'm still having trouble with the helper files. Error below. I have Inkscape version 1.0. I have downloaded the ell files and placed them in the extensions folder. I have downloaded the helper files that are dated 7/8/2020. I have placed them in the extensions folder, and also placed them in a new folder in the extensions folder called Inkscape_helper. None of this is working, the error persists. I don't know what a module is, but I do have a PY file called Coordinate and I have a PY file called inkscape_helper.
Traceback (most recent call last):
File "ell_box.py", line 3, in <module>
from inkscape_helper.Coordinate import Coordinate
ModuleNotFoundError: No module named 'inkscape_helper.Coordinate'; 'inkscape_helper' is not a package
Any info would be useful, I was looking forward to modifying this for a variety of options.
3 years ago
Traceback (most recent call last):
File "ell_box.py", line 3, in <module>
import Inkscape_helper.inkscape_helper as doc
ImportError: No module named Inkscape_helper.inkscape_helper
Question 4 years ago
Great tool! But I can't get it to work. I have added the inkscape helper and I am getting this error. Traceback (most recent call last):
File "ell_box.py", line 230, in <module>
effect.affect()
File "inkex.py", line 278, in affect
self.getoptions(args)
File "inkex.py", line 174, in getoptions
self.options, self.args = self.OptionParser.parse_args(args)
AttributeError: EllipticalBox instance has no attribute 'OptionParser'. I am not much for coding so It would be nice to use it. Hope this helps.
4 years ago
Anyone got the Shark pattern? I am busy cutting the fish one now but owuld love to try the shark one. Great Instrucitble! Well Done
6 years ago
I am still trying to get this to work. I had the helper module problem, i did what was said below, now i'm getting this...
Traceback (most recent call last):
File "ell_box.py", line 230, in <module>
effect.affect()
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 263, in affect
self.getoptions(args)
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 159, in getoptions
self.options, self.args = self.OptionParser.parse_args(args)
AttributeError: EllipticalBox instance has no attribute 'OptionParser'
Reply 6 years ago
I'm not sure what's going on here. The error occurs in inkex.py which is a module that comes with Inkscape.
It's probably best to try and use the plugin from here:
https://github.com/BvdP/elliptical-box-maker/archive/v1.0.zip which is the released version.
Reply 5 years ago
That worked, can the creator of this page please update the links?
Reply 6 years ago
I have exactely the same error:
Traceback (most recent call last):
File "ell_box.py", line 230, in <module>
effect.affect()
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 263, in affect
self.getoptions(args)
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 159, in getoptions
self.options, self.args = self.OptionParser.parse_args(args)
AttributeError: EllipticalBox instance has no attribute 'OptionParser'
I have tried to uninstall and reinstall Inkscape and I have copied the helper module in - as it says below.
Reply 6 years ago
And now - for some for me unknown reason - it works!! Strange.. ;)
Reply 6 years ago
HUZZAH!!!!!!!!!! IT WORKS NOW!!!!!!!! thank you thank you thank yoU!!!!!!!!!!!!!!
5 years ago
The downloadable pre-made patterns are useless to me, no matter which settings I choose while importing (since the svg format is too old), all the corners of the notches are either overlapping or not even touching, it would take hours and hours to line them back up, I'll just use the pattern generator if it works. By reading these comments, it has flaws, well, we'll see.
5 years ago
Thanks for sharing! Great Instructable.
5 years ago
我成功了兩個
5 years ago
Great Instruckable!!!
Are the shark and dino available?
7 years ago
The new version of this inkscape extension needs the inkscape_helper module, which is downloadable from the author's github repositories. Put the two files in a folder called "Inkscape_helper" (note the capital I) and put the folder into the extensions directory where you put the ell_box.pi and ell_box.inx files.
Reply 5 years ago
Put the two files in a folder called "Inkscape_helper"
which two files do you mean? there are more files in the "inkscape_helper-master" folder -->