Variable Sized Laser Cut Box Plans (Apple Mac Users, Only)




Introduction: Variable Sized Laser Cut Box Plans (Apple Mac Users, Only)



Inspired by Jon Hollander's, I decided that I would like to improve on the idea of laser cut boxes. I wanted to have boxes, with hinges and a bit more control that Jon's web-based application.

If you own a Mac, there is a superb FREE graphics application called Nodebox, using the Python programming language (easy to understand), that allows you to draw ultra fast ultra precise 2-D graphics of any complexity you like and output the results to a standard .pdf file. But unlike the standard graphics programs like Illustrator, you have to write code to say what you want to do. Thus...

x = 1*cm
line(x,0,10*cm,5*cm, stroke=color(1,0,0), strokewidth=.5)
line(x,0,10*cm,5*cm, stroke=color(1,0,0), strokewidth=.5)

will draw two red lines of width .5 points from from (x,y) coordinates = (1cm,0) to (10cm,5cm) then from (2cm,0) to (10cm,5cm)

SADLY the Nodebox version I use is only available to run on Apple Macs running OSX. There are open source versions of Nodebox available, but these are much more complicated to use for straight geometrical drawing. So if you don't own a Mac, read no further.

The advantage of this programming approach to graphics is that you can change the parameters in the code (say length, breadth and width) and get get the plans for a different box.

If you have any experience in computer coding, Python is dead-easy to learn. If you have no experience, don't worry, you just have to change a few numbers and a couple of words (True & False - yes those two words) here and there.


Step 1: Download NodeBox

To get the required program go to

you should see the screen above.

Use the experimental version. It has been around for ages and is entirely trouble free.

Once downloaded, you should find folder called Nodebox in your download folder. Put this in you applications folder and you are ready to go. The program is well documented .

All praise to Frederik de Bleser and Tom de Smeldt for this great application.

Next you need to download the file below. Instructables will download the file but gives it a weird name, so you need to change this to Hinged

Open this file with Nodebox.

Step 2: Open 'Hinged' in Nodebox

You should see this....

Step 3: Press Command R

Command R runs the code

Step 4: Press Command 0 (zero)

Command 0 shrinks the whole graphic to fit the left window

Now all you have to do is change what parameters you like in the top right hand window and Press Command R to see the results

Step 5: Try the Little Test Box

Change a line of code near the beginning from

# If Little_Test_Box is True, a little test box is drawn
Little_Test_Box = False


# If Little_Test_Box is True, a little test box is drawn
Little_Test_Box = True

Press Command R to run the graphic

and you get the plans to make the little Test box, as shown above

Step 6: Output Your Results - Laser Ready

Once you are happy with your results,


To_Laser to True

Command R to run the graphic again. You will not see anything, since the line width is so fine (0.01 pt - the standard for the laser cutter I use). But the lines will be there when you...

Press Command E to output your work to (hopefully) a laser-ready .pdf file that is fully editable in any graphics program such as Illustrator.

Step 7: Finding the Right Kerf for Your Material

The program needs to know the correct Kerf. Kerf is half the width of the laser cut line. You need to consider that if you cut exactly on the outline of box that you wish to cut, then because of the width of the burnt cut, you box will be smaller than required. This program corrects for this.

If you set the parameter ...

Show_Kerfing to True

you will see what is meant. See the left hand image above. In this case, the Kerf has been set to a ridiculously large value so you can see the result. The Blue lines are where the laser will cut in order to cut down to the required Red lines.

You need to have two Kerf values. One for the body of the box, where the finger joints should be quite tight. And one for the corners of the lid which should NOT be tight

Kerf = .1*mm # HALF the width of the Laser cut. Use the 'Kerf Finder' to find the right value
# Decresasing this will make your finger joints looser and vice versa

Lid_Kerf = 0*mm # Use a lower number here to make the lid fit a little less tightly
# You can make this negative, if required

To find the correct value of Kerf, set the parameter

Which = 7

Run the graphic and you will get the 2nd image, above. Output and laser cut onto a scrap of your final material.

Find the kerf value where you have a snug, but not tight joint.

Step 8: Caveat

I have not bother with any checks for consistency. If you put in incompatible parameters, you will get weird results. But the great advantage of this approach is that you can see the results and if it looks odd, then it is odd!

In the image above, clearly the finger joint size is not suitable

Step 9: Have Fun.....

I assume that people downloading this have access to a Laser cutter - so no instruction is given here about actually printing to or operating the laser cutter ....

If people like this approach, I may add the option to add text and patterns to the box faces. Let me know!

Be the First to Share


    • Big and Small Contest

      Big and Small Contest
    • Make It Bridge

      Make It Bridge
    • For the Home Contest

      For the Home Contest



    4 years ago

    While I like the idea of this hinge (and the idea of programming boxes in Python) I don't like the huge holes it creates - needlessly. Why not making the holes and slots narrower so the hinge part just fits in left and right. A new piece with a slot at the bottom could be put in the middle to close most of the remaining opening and keep the hinge parts from coming back out.


    Reply 4 years ago

    Hi, thanks for your comment. Your ideas are good - and I might try to implement. But, as with so many of my projects, this idea grew like Topsy, out of nothing with no real forethought or planning and more-or-less serves my purpose.

    Why not program the changes yourself!


    Reply 4 years ago

    Well, I like the idea of programming boxes in Python so much that I have my own generator. So I am kinda hesitant to getting started on a second one. And just stealing the idea would be kinda rude.


    Reply 4 years ago

    You are more than welcome to use any of my ideas or methods. But eventually let me know what your output looks like. Just have fun.


    Reply 4 years ago

    Also I know it is always a difficult business to alter someone else’s code. What’s obvious to me will probably be Greek to you and vice versa. So it is really best if you code it yourself!!

    DIY Hacks and How Tos

    Nice. I really wish that I had access to a laser cutter. This would be much better than buying plastic boxes to put my projects in.