Introduction: DIY Lamp Shade

This is the documentation of modeling and 3D printing a DIY lamp shade.

Step 1: Measurement

I have a very basic IKEA light stand at home. Super easy to disassembly. After tear it down I use tape measure (only one available) to get the dimensions. My plan is to print the bottom cone shape first.

Readings I have:

Openning circle diameter : 43mm

Outer rim of the bottom flat area: 60mm

Height of the cone part by itself: roughly 20mm (this one is difficult with tape measure)

I also noticed that the light shade itself is too big for the printer.

Step 2: Base Test

The design started with the base ring.

I created 2 circles and boolean difference them to get the ring. Then I create the slope surface with revolve. Then I combine the bottom surface and the slope into one surface. Tried offset surface to thicken this shape but failed.

Luckily, I realized I can make the whole shape just by revolving a polyline. I created the polyline profile with 1mm thickness and revolve it. I am proud that I thought about this solution, which reduced my original approach of combining 4 surfaces into one single step.

Step 3: Print and Validate

After exporting and open the file in Ultimate Cura, I noticed that although printable, the cone's size is kind of too big. Then I realized that I used diameter as my radius when creating the curve profile. The simple scaling will screw everything up. Thanks to the one-step revolving methods, remaking the model is very quick.

The printed result looks pretty good, and it fitted the light stand perfectly.

Step 4: Shade Design - Adopt Code

After playing around with the code provided my Prof. Jennifer Jacob (contact me if someone needs it), I gradually realized how the code works, as well as how each grasshopper component functions.

My goal was to create the lampshade shown on the image. The angle is very sharp and uniform. I tried to accomplish the shape with the provided code. The code can create various shape loosely so it is inspirational. However, it is not suitable to fit the output accurately to my target shape.

After reading through the code, I disentangled the code and created simpler shapes.

I also changed a few lines of code to create the saw wave shape. After several rounds of trial-and-error, I found rewriting my version of code is necessary, and luckily it should not take too long.

Step 5: Shade Design - Write New Code

My version of code has a different design which enabled easier alignment of the start and the end points in the longitudinal direction. The code will adjust the interval angles according to the number of sections. ( this is abstract to understand)

I started with the simple design: uniform radius along vertical axis, plain saw wave shape. I added some key points along the vertical axis, so that it have different diameters in different height. This results in some bug for this generated mesh. Rhino complained it as invalid mesh. After some debugging I replace the key points strategy into a linear function strategy. I used a cosine function to modulate the diameters with the height.

Step 6: Shade Design - Fine Tune

I have added some other features.

I wish to make the saw wave effect gradually changed from none at the bottom into intense at the top. I also increased the number of saws.

I also modeled the lamp stand so that I can see the proportion between the shade's height and the lamp's height so that I can tweak the parameters.

The really challenge is how to combine the shade with the designed base. I ended up just layered then together and export them as one object, though they are two objects in Rhino.

I did many attempt but rhino does not work as I wished. The only thing effective was to use a planar surface to cut off the lamp shade's bottom to make the rim flat. However the lamp's shade cut face is circular. Instead it is a polygon which is impossible to align with the base perfectly or boolean union them. I just carefully align them together according the close up camera in the preview window.

Step 7: Shade Design - 3D Print

The exported file got previewed in Cura 3D finely. I rotated it upside down to eliminate the need of support for the base part. With the time estimated over 24 hours, I just have to keep my finger crossed.

After the start of printing, I quickly found the printer did not handle the saw shape well. I think the saw wave is too sharp to print. I wanna have it start with the rounded bottom first and then gradually change to saw shape as it goes up, so I flipped it back to the original orientation.

After 2 hours of printing, it is good so far. Let me keep my finger crossed again.