IMG_2494 - Copy

This is the perfect gift for your girlfriend!

I created the box and the drawer using a Python script that writes svg-files. The tree was created from an image in Inkscape. The box is designed for 3mm MDF.

You can download the design files below or on Thingiverse:


Assembly Instructions

First, assemble the main box using parts 1, 2, 3, 4 and 5. Slide the tree parts (12) into each other and fit them into the slots of part 1. Now we can assemble the drawer with parts 6, 7, 8, 9 and 10. Glue the handle parts (11) onto each other and fit them in the slot on the front panel of the drawer (8). Finally, the subdividers of the drawers can be assembled. Slide the parts a (13) into the parts b (14) and place the subdividers into the drawer.

2015-12-30 15_33_03-JewelryBox.svg - Inkscape

The best presents are useful, beautiful and home made. My uncle creates beautiful beech chopping boards that are made from a single plank. The planks are treated in a pressure oven to make sure that they remain straight. When he showed me the chopping boards, I really wanted to engrave images on them.

These are the results of the cutting boards I engraved:

I made a youtube video of the engraving process:

Download my source files below or on my Thingiverse page:

Today, I designed a laser cut model of a rhinoceros, inspired by the designs of Atelier Pierre. In this post I share my Inkscape design files, and I will also explain how you can alter my design for a different material thickness or a different model size.

2015-12-27 00_53_01-Untitled - Rhinoceros 5.0 Commercial - [Perspective]2015-12-27 00_57_35-Untitled - Rhinoceros 5.0 Commercial - [Perspective]

Sizing the model

Open the rhino_formodification.svg file in Inkscape. Select all shapes and enter your desired width/height of your rhino model. Make sure to have clicked the lock symbol to lock the proportions of width and height. In my example, I changed the height to 150mm, which corresponds to a length of 330mm.

2015-12-27 01_21_18-Clipboard

Guide lines

2015-12-27 01_29_32-E__FabLab_Laser_rhino_rhino_formodification.svg - InkscapeTo make sure that we can place the rectangles in the correct position after deciding the material thickness, we need to add some guide lines to our drawing. Enable the snapping functionality and make sure to snap to edges and midpoints of bounding boxes. Create two vertical guides through the center line of the rectangles. Then, create a horizontal guide where the two rectangles meet. Guides can be created by clicking inside the measurement grid on the edges of the drawing area and dragging towards the drawing area. Keep dragging until the line snaps to the desired snapping points.

2015-12-27 01_31_01-Add a New Post ‹ — WordPress

Sizing the rectangles

From the menu, choose Object>Transform to open the transform panel on the right. Select the rectangles one by one and and enter the desired width in the scale field. The height is not very important, because it can be manually adapted after repositioning the rectangles.

2015-12-27 01_41_19-E__FabLab_Laser_rhino_rhino_formodification.svg - Inkscape

Repositioning the rectangles

Drag the rectangles to their original position, with their center line on the vertical guide and the bottom or top on the horizontal guide. Use the snapping functionality to make the positioning easy.

2015-12-27 01_45_54-E__FabLab_Laser_rhino_rhino_formodification.svg - Inkscape

Finishing up

2015-12-27 01_53_37-E__FabLab_Laser_rhino_rhino_formodification.svg - InkscapeSelect the rhino legs and the top two rectangles and drag them downwards. If you hold shift during the dragging, it only moves in vertical or horizontal direction. At this point, make sure that the rectangles stick out completely of the geometry. This is necessary for the boolean difference operation that we are going to perform. Select one of the rectangles and the shape it needs to cut into. Then, select Path>Difference to cut out the rectangle from the shape. Do this for all rectangles to obtain the final shape. Download this file to see the final result.

2015-12-27 01_57_46-E__FabLab_Laser_rhino_rhino_formodification.svg - Inkscape



You need Python! And, when it is not installed on your computer, this post is for you. The instructions are for Windows users, because mac users have Python pre-installed and Linux users can figure out how to install Python on their own.

Go to the Python website and download the latest Python version. Currently, there are two major Python versions. The old Python, which is version 2.7.xx and the new Python 3.xx.xx. A lot of external libraries did not yet get a compatibility update for Python 3, so I use Python 2.7. More information about the differences between the two Python versions can be found here.

Once you’ve downloaded the installer msi-file, run the file and choose to Install it for all users. In the Select Destination Directory window, you have the option to choose where to install Python. I prefer to install it in C:\Python27\. This is a clean path without any spaces, which will make life easy when we start coding. Continue the installation until it has finished.

2015-12-23 20_44_40-Python27

Now you have Python installed on your computer, but the system does not know where to find the Python executable yet. You will need to add two paths to your system path variable. And of course, windows makes that so easy that it is just 25 clicks away. Therefore, I made a video tutorial, so you can easily follow my instructions.

Now we know that we can run Python, we want to create our first Python script. Create a new text file on your desktop and call it ‘’. Edit the file and add the following code:

print 'Let us create a truly unique program...'
print '...'
print '...'
print 'Hello, world!'
print '...'
output = raw_input('Was this satisfying? (Y/N)\n')
print ''

if output == 'Y':
	print 'Thanks'
elif output == 'N':
	print 'Tough crowd...'
	print 'Following instructions is not your strength...'

This small program prints a message, asks a user for input and then responds based on the user input. To run your program, we need to start the cmd where we created the Python file. I told you to do this on your desktop, so we will start a cmd there. The easiest way to start a cmd in a certain folder is to shift-right-click in that folder and then choose ‘Open command window here’. 2015-12-24 00_49_37-Program Manager

In the cmd window, type python and press enter. The program will ask you a question and you can answer with Y or N. Confirm your answer by pressing enter and the program will respond. You just created your first Python program!
2015-12-24 00_50_35-C__Windows_system32_cmd.exe

2015-12-23 13_51_50-crosspattern.svg - Inkscape

Something that always amazes FabLab visitors, is flexible wood. By laser cutting special patterns in the wood, it is possible to make the wood flex without breaking. Aaron Porterfield has created an instructable with different patterns to create flexible wood. The flexibility of the wood is dependent on the thickness of the wood, the shape of the pattern and the size of the pattern. If you want to read more about the physics, click here.

Today, I made some flexible Christmas ornaments for the Christmas tree. We will need some general geometry and of course the flexibility patterns. I will cut the ornaments in 3mm MDF. If you want to create flexibility patterns for other materials or another material thickness, you will need to experiment with the pattern dimensions.

Here are some pictures of the final result, with proof of flexibility:


All of the source files can be downloaded by following the links below. You can also download them on my Thingiverse page.


The pattern

A pattern consists of a base geometry that is repeated horizontally and vertically. We will create the base geometry in Inkscape and use the translate functionality to repeat it. I will explain this for the line pattern, but the same method can be applied to create any pattern.

The goal

The goal is to create this interlaced line pattern. The lines are 20mm wide, the horizontal distance between two lines is 3mm, the vertical distance between 2 lines is 2,5mm.

2015-12-23 14_17_10-linepattern.svg - Inkscape

Drawing a horizontal line

Draw a horizontal line using the Draw Bezier Curve tool 2015-12-23 14_01_22-New document 1 - Inkscape. By holding ctrl when drawing ensures that you can only draw horizontal, vertical or diagonal lines. When you have clicked twice to make a horizontal line, Inkscape allows you to keep on drawing. To end your line, press enter. You should end up with something like this:

2015-12-23 14_04_25-New document 1 - Inkscape




Setting the line length

To set the line length, use the Select tool 2015-12-23 14_08_13-New document 1 - Inkscape to select your line. If you are in transform modus, you should see transform arrows around your line (see picture below). In the top toolbar, you can then set the width of your line, by selecting the correct units (mm) and changing the number next to W to 20. The height of the line is dependent on the stroke of the line and at this point we don’t care about that.

2015-12-23 14_08_56-New document 1 - Inkscape

2015-12-23 14_09_24-New document 1 - Inkscape

Basic shape

To create the interlaced pattern, we will need to duplicate and translate the line to its interlaced position. Because the line length is 20mm and the horizontal inter-line distance is 3mm, we need a horizontal translation of 11,5mm and a vertical translation of 2,5mm.

Press ctrl-D to duplicate your line on top of the old line. In the Menu bar, choose Object>Transform to open the Transform panel in the right sidebar. Select your line and enter 11,5mm as horizontal and -2,5mmm as vertical translation.

2015-12-23 15_02_41-New document 1 - Inkscape

This should be the result, two interlaced lines, ready for the pattern!

2015-12-23 15_03_09-New document 1 - Inkscape

Creating the pattern

First we will repeat the pattern horizontally. Select the two lines and set the horizontal distance to 23mm. Press ctrl-d to duplicate the two lines, then apply the transformation. Repeat this multiple times to get the desired width of the pattern.2015-12-23 15_08_50-New document 1 - Inkscape

The result will look like this:2015-12-23 15_11_30-New document 1 - Inkscape

Now we need to repeat the pattern vertically. Select all the lines and set the vertical distance to -2,5mm. Press ctrl-d to duplicate the two lines, then apply the transformation. Repeat this multiple times to get the desired height of the pattern.2015-12-23 15_13_29-

The result will look like this:

2015-12-23 15_14_12-New document 1 - Inkscape


GoogleTreeFabLabs are busy this time of year. You will see of a lot of strange faces sitting at the FabLab tables, struggling with Adobe Illlustrator or AutoCAD. Yes, these are architecture or design students, struggling to get their school projects finished for the end of the first semester. They do not come to a FabLab because they are passionate about making, but just because it is cheaper than paying a company to laser cut their panels. Fine by me, but the thing that really bothers me is that they are not willing to learn how to use the software and the machines of the FabLab properly. On top of that, they think that because they have a deadline that was yesterday, all of the machine time should be dedicated only to their project. Damn you, if I would have seen you even just once during the year trying to learn how to operate the machines, I would even help you to finish your project. But now, I’ll just write a blog post and look angry.

Ok, enough rambling for today. Let’s design some Christmas gifts!

FYI: The Christmas tree image is based on the google Christmas tree. I made a vector drawing out of it in Inkscape. Here is the link to the svg file.




Before I start posting about what I created, I thought it would be nice to make a short overview of software tools that I use for creating stuff.

inkscapeMy favorite 2D software tool is Inkscape. It is a vector drawing program and completely free (unlike Adobe Illustrator). To me it is the go-to program for everything that I need to lasercut. It automatically contours bitmap images, can do boolean operations on shapes, imports a lot of formats and exports to almost any file format.

sketchupFor most of my 3D design, I use Google Sketchup. I really love the simplicity of the 3D drawing, which is completely different from any other CAD program I’ve used. I can sketch things like houses or furniture very quickly to get an idea of how an interior will look like. But also basic parts can be created for 3D printing with a proper STL export plugin.

OpenSCAD-logoSome 3D models are better to create as parametric designs. OpenSCAD is a program for creating 2D and 3D shapes in a kind of programming language. For a software developer like me, it makes sense to use this tool. But I can imagine that this program has a very steep learning curve for the ‘normal’ people.

cura-logoTo 3D print your designs, you will need to slice your 3D objects (STL file) into layers and calculate the machine code for the 3D printer (gcode). Cura is such a free slicer, which is created by the same guys of the Ultimaker. I love this software for its simplicity and it gives me very good 3D prints.


I use several programming languages, but my go-to language for making stuff will always be Python. This language is open source and comes pre-installed on OSX. The language has a peculiar syntax that will scare any Java or C++ programmer at first. But once you embrace the simplicity of this language and its millions of free external libraries, you see how powerful Python really is. Python works for a simple 10-line script up to an application with a full GUI with 3D interaction possibilities.

I believe that these 5 programs should be installed on the computer of every real maker. If you don’t agree, let me know in the comments ;-).