I got a very sad email from Technopolis last week, to bring the message that they will shut down the FabLab service. This was my home on Saturdays and I really loved to come there and experiment with my ideas. This was there email:
We hebben ondertussen de werking en de activiteiten van het FabLab onder de loep genomen, en met pijn in ons hart hebben we weloverwogen besloten om de Fablab-service stop te zetten.
Onze excuses voor het ongemak en bedankt voor je begrip.
In the mean time, we have investigated the activities of the FabLab and we made the well considered decision to shut down the FabLab service.
Our apologies for the inconvenience and thank you for the understanding.
So in honor of this sad day, I made a 3D model of a broken heart. Luckily, you need a non-broken heart first to create a broken one, so I can reuse it for Valentines Day in two weeks. I ordered a blue polished polyamide 3d print on i.materialise. If I receive the part, I will create a post with pictures of the model. My heart 3d models can be downloaded on Thingiverse…
Last week, I tried out the examples in the Kinect Developer browser toolkit. It seems that there are a couple of other software tool options for 3D scanning. I tried out Skanect which worked very well, but it doesn’t allow you to save the models if you use the free version. 130$ is a bit steep for fooling around with a Kinect sensor.
Luckily, there is another tool available: ReconstructMe. It worked great out of the box and got a very decent 3D scan of myself. My girlfriend stepped in to help point the Kinect scanner, while I was slowly rotating on a rotating bar stool. The scan just missed a small part on top of my head and there was a hole under my chin. But nothing that could not be fixed with a little mesh editing.
After exporting the STL-file, I opened up 123D Make, which is a very nice program for automatically creating laser cut plans from 3D objects. You can load a 3D model, decide how large your object needs to be and enter your laser cut material properties. Then it offers different construction techniques that will create a different effect. I chose radial slices for 2mm MDF to create a model with a height of 20cm.
The FabLab was closed this Saturday, so I had to find something else to do. My brother and I went to the games shop (Game Mania), because he wanted to buy a PS4. In the shop window I saw a second hand Kinect sensor for 39 euros. So I decided to try out some weekend DIY 3D scanning.
When I came home, I tried to plug in the Kinect into my computers USB port. Too bad, a Kinect has a connector that looks like a USB port, but isn’t one. The connector provides an additional 12V to the Kinect next to the 5V USB default. There is a Kinect to USB adapter, but it costs more than the Kinect itself and that would mean no 3D scanning this weekend. I looked on the internet and found an instructable to transform the Kinect plug to a USB plug.
What you need:
A Kinect of an Xbox 360
A spare USB cable (will be destroyed)
A spare 12V, 1.5A adapte
To provide the additional 12V to the Kinect, you need a 12V adapter with at least 1.5A. If the amperage of your adapter is higher than 1.5A, that is no problem. The Kinect will only draw as much current as is necessary, but the voltage needs to be correct. I found an old Lacie drive adapter which provides both 5V at 2.0A and 12V at 2.5A. When cutting off the Lacie connector, I found a white and a red wire and the cable shielding which is the ground. I measured the voltage between the ground and the red and white wires to make sure which one would be the 12V wire. The red wire measured 13.92V, which should be ok for the voltage regulator in the Kinect. We will not be using the white wire, so I clipped off the copper and taped it.
The second thing we need is our spare USB cable. Find an old printer cable or a USB connector from an appliance you don’t use any more. I used the computer link cable of my TI-83 calculator. The advantage of the cable was that the USB plug was connected to a PCB with a connector and the cable shielding ended in an actual wire, which gave me 2 ground wires for an easier connection. A normal USB cable will have 4 wires (black, white, red, green) and the cable shielding. My wires had a small connector clip attached, but you will need to strip the wires when you use a normal USB cable.
Now we can destroy the Kinect connector to expose 5 wires (brown, black, white, red, green) and the cable meshing. Clip off the cable meshing and strip the colored wires.
Now we can connect the USB wires, Kinect wires and the adapter wires. Connect the red, white and green wires of the USB cable to the corresponding colors of the Kinect cable. Connect the ground of the adapter to the black wires of the Kinect and the USB connector. Finally connect the 12V wire of the adapter to the brown Kinect wire. Use a soldering iron to make a good connection and then use heat shrink or electrical tape to shield the naked copper. Below, I made a wiring diagram that gives an overview of the connections. Your cable might not have the extra black cable, but then you will see the cable shielding, which can be clipped off.
After connecting the cables and taping each individual cable, we need to make sure that you will not be able to pull on the connections. I solved this by connecting the cables with zip ties and taping everything with electrical shape. It doesn’t look pretty, but it works.
Before connecting the Kinect to your computer, we need to install the drivers and the Kinect SDK. I use Windows 7, so I downloaded and installed the 64bit version of the Microsoft Kinect SDK v1.8. Additionally, I installed the Developer Kit, which contains some code examples for 3D scanning and skeleton tracking.
Finally it is time to connect your Kinect. Plug in the USB connector and if everything works, the green light of the Kinect should be blinking. To really make sure everything is installed correctly, go to the Control Panel via the Start menu. Type device manager in the search bar in the right upper corner of the Control Panel window. Click on Device Manager and it will open the Device Manager window. In the list, you should find the Kinect for Windows entry and if you expand the item, you should find the Kinect for Windows Audio, Camera and Device in the list.
Now we can test the Kinect using the Developer Toolkit Browser. Press the Start button and type Developer Toolkit Browser. Start the Developer Toolkit Browser v1.8.0 (Kinect for Windows). A window with a lot of code samples will start. Some of them can be run without having to compile anything.
The coolest sample is the shape game. It detects the body of up to two persons and displays this as a stick figure. The stick figure will mimic your movements so you can try to destroy the shapes that are falling downwards.
What I really wanted to try out is the 3D scanning possibilities of the Kinect. Find the Kinect Fusion Explorer-WPF in the list and click the run button.
I made a video of the skeleton Shape Game and 3D scanning example that I tried out. I scan my head in 3D, fill the holes in Meshmixer and prepare the mesh for 3D printing in Cura.
In my previous post, I showed some renders of the game I designed. During the weekend, I went to the FabLab and cut the files on the laser cutter to evaluate my design choices and tolerances. The thing that I was most unsure of was the hinges and the closing mechanism.
For the first iteration of my design, I was very pleased with the results. The virtual 3D assembly in Rhino really helped me to catch the obvious mistakes that I made.
The hinges work very well and they do not even need glue for the assembly. I did however needed to cut away some of the back panel near the hinge to allow the lid to be opened completely.
The closing mechanism worked, but my tolerances were off. I designed the cutout in the lid 13.5mm and the protrusion on the sidepanel 15mm. A difference of 1.5mm is apparently too large, so the mechanism did not work until I made the cutout slightly larger with a sharp knife and now it works perfectly. I can even turn the box upside down without the lid opening. However, I doubt that this mechanism will keep on working after 100 opening and closing cycles, especially in the soft MDF that I used. I think actual triplex would make this much more durable.
I will adapt my design files and try to cut the box again for verification, probably next Saturday. In the meantime, watch the movie of the final results and the laser cutting.
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.
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:
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.
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.
To 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.
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.
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.
Select 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.
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.
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 ‘MyFirstScript.py’. Edit the file and add the following code:
print 'Let us create a truly unique program...'
print 'Hello, world!'
output = raw_input('Was this satisfying? (Y/N)\n')
if output == 'Y':
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’.
In the cmd window, type python MyFirstScript.py 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!
FabLabs 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!