Laser Cut Desk Organizer
Programmed in Python
Course: Digital Manufacturing
Software-driven fabrication exercise consisting of writing a program that generates parts for an acrylic box. The input to the program specifies the dimensions of the box, material thickness, and any other relevant parameters. Once the program generates an SVG file, a converted, DXF-formatted file is imported into a laser-cutter software to cut acrylic sheets. This program aids product variability and allows for easy customization.
Initial Design With Equations
Software
Users can customize the size of the organizer by inputting the height, width, and number of shelves desired. The user can also input text to be engraved on the front and bottom shelf of the box as a string. If the user input is outside the defined range, an error is detected and the user is asked to input a value within the correct range. The following steps are used to generate an SVG file from our Python programmed software:
​
Get user input (height, width, number of shelves) in millimeters.
​Generate critical points as a function of height and width.
Generate the teeth joints of each critical point based on the user input.
Generate the position of screw holes.
Write SVG file.
Formulas
Width_back = width_bottom - (2*thickness_acrylic) → this accounts of the thickness of both side pieces and ensures the back piece would fit in between them. The same was done to the width of the shelves so that they fit in between the side pieces as well.
The shelves positions were calculated by looping through the number of shelves the user inputted and multiplying each x position by the corresponding shelf number (3 shelves → 0, 1, 2), The shelves were spaced out in the x axis by multiplying and adding three times the thickness to the initial x position: shelf_pos_x=((shelf_pos_x+(3*t))*i+(3*t))
For user-specified text, text is resized based on the size of width of the organizer.
Conditions
Box height: within 50-750 mm
Box width: within 50-450 mm
Number of shelves: <5
Maximum user-specified string: 25 characters
Once the user types in the reasonable input parameters, the desk organizer is generated automatically.
Example inputs and produced SVG
Skills and Tools
Programming
Python
AutoDesk
Manufacturing
Nova51 Laser Cutter
Topics
Numerical control
Generative and algorithmic design