Geometric Lampshades

by jayleenli in Workshop > 3D Printing

3828 Views, 88 Favorites, 0 Comments

Geometric Lampshades

PXL_20210420_053008760.jpg
PXL_20210420_055214201.jpg
dodeca_model.PNG

Hello to the next installment of CS291I at UC Santa Barbara! This week our assignment was to create a lampshade for an existing lamp in our house.

However, since the only lamp that I could easily take off the lampshade was one where the bulb was upwards, I had to come up with something new to make a lampshade that would suit it. The shape I thought that would best work would be a lantern.

I also really like the idea of using 3D printing to create and highlight geometric shapes, and so I continued to explore that in this assignment.

I got the idea for the first lamp after seeing pictures of rectangular lanterns with really interesting parametric designs created with laser cutters. The base for that lamp is something that was unplanned and was made on a whim later.

The second dodecahedron lamp was actually the first lamp idea I wanted to make, but I thought it would be more difficult to make so made the rectangular one first and then tired the dodecahedron one.

Supplies

  • Rhino software
  • Grasshopper
  • 3D printer
  • Elmers purple gluestick
  • A lot of gorilla glue
  • A lamp

[Rectangular Lantern] Create the Randomized Squares

squares.PNG
squares_more_params.png
params.png

I created the pattern on the lamp by using Grasshopper to generate square rings along a sine wave. Each square ring was generated from a point from the sine wave and has some distance along the y axis away from the sine wave. Each square is also rotated.

All the following factors are randomized

  • offset from sine function
  • thickness of square ring (two parameters controlling the min and max of the range)
  • angle of square

[Rectangular Lantern] Measure, Enclose Squares Into Rectangular Space and Extrude

VERY BIG.PNG
sad.png
outside.PNG

I measured the lamp that I was going to place the design on and found out a base of about 3 in and height of 6 in was good. To make a stable structure I chose to make the edges .25 inches. So the actual lantern has dimensions 3.5in x 3.5in x 6.5in. These dimensions can be easily adjusted in grasshopper so for anyone who wants to make a similar lantern for a different size that option is there.

The lantern is made from 5 different parts. I printed each side individually because I knew with this design it would not be able to print well if the model was joined already.

After the curves were created, they were then passed to a grasshopper extrude component.

However there is an issue. The squares could be outside the boundary of the side of the lamp.

[Rectangular Lantern] Cut Outside Shapes and Make Pieces Fit Together

trim.PNG
trimmed.PNG
Capturecvsdsdfs.PNG
grasshoepper.PNG

To fix the issue, I did some research and found there is a trim component that can remove any geometries inside of a solid object.

Copying and making a few adjustments to the grasshopper border code I used this to make a boundary for the boundary to remove any parts of the squares that went outside of the rectangular confinement.

However, these rectangular pieces will not actually fit together with just a rectangular edge. To actually piece them together I needed to to slice the edges by about 45 degrees so adjacent pieces could fit together. I did this by creating a triangle curve and extruding it, then unioning it with the rectangular outside boundary and then trimmed the squares using that new shape(picture 1 and 2).

The 3rd picture is the final result of the Grasshopper code.

Additional capHole components were added as they help fix naked edges. This component reduced the chance that the boolean union would fail once the final brep was baked.

[Rectangular Lantern] Manual Adjustments

cut corners to fit.PNG
manual move floating.PNG
lamp side.PNG

The resulting brep is not unioned. Boolean unioning can fail very easily so I manually did the boolean unioning after baking. I selected groups of breps and unioned them together. If the boolean failed I would reduce the number of objects selected try to find the problematic square with another union operation. If I did find the problematic object I would just manually delete it. (Binary search anyone?)

There is also a chance for some squares to not touch any other surfaces and be floating. I also manually fixed these by moving the square to the closest edge.

Once everything is unioned, the lantern side is done!

[Rectangular Lantern] Adjust Parameters to Create the Top of Lantern

top.PNG

I adjusted the parameters in grasshopper and removed unnecessary code to create the top.

I also exported just the boundary to make the base of the lantern. I printed that square ring a bunch of times so I could assemble the base manually.

[Rectangular Lantern] Printing and Printing Troubles

overhand.PNG
flipped.PNG
PXL_20210417_031906318.jpg
PXL_20210417_033257118.jpg
PXL_20210417_065713365.jpg

Printing Trouble 1:

Something I found out I overlooked was that cut edges would be facing upwards so Cura would complain that those sides were not supposed. I fixed this simply by rotating the shape 180 degrees.

Printing Trouble 2:

Print almost covers the printer bed and the squares can be very detailed so the layers may not stick to the bed. I have had this issue with my personal printer before and so I already had the perfect solution. Elmers purple glue stick. If you are following this and want to use the models to create your own lantern be sure to put a LOT of glue on the bed. If you have a removable bed, the print will come right off so don't worry about it sticking to the bed! You can see the difference of the print with and without glue.

[Rectangular Lantern] Assembly

PXL_20210420_011027151.jpg
PXL_20210420_015023250.jpg
PXL_20210420_015030310.jpg
PXL_20210420_071548854.jpg

To assemble the lantern part, just connect the 4 sides together and put the top piece inside one of the openings. Make sure to put enough Gorilla glue!

To create the base, manually glued the rings together in any desired pattern. I just stacked them and slightly rotated each one.

[Dodecahedron Lantern] Creating the Base Pentagon Shape

penta.PNG
pentagon.PNG

Originally I wanted to parametrically create a more complicated design for the pentagon, but did not have enough time for the assignment deadline so I decided to go with a simple but interesting pattern. This pattern was replicating the pentagon shape multiple times, each slightly scaling down and rotated. The result surprised me and I am happy with it. There are 13 layers in the pentagon and each one was scaled by 81% and rotated -7.125 degrees.

To make the curves back into 3D form I used the PlanarSrf and extrude commands in Rhino.

[Dodecahedron Lantern] Creating the Dodecahedron Shape

6sides.PNG
mirror.png
dodeca_model.PNG

I followed this Instructable to figure out how to make the dodecahedron shape in Rhino. I did need to make some manual position adjustments because my pentagon side was 3D and not 2D.

The mirror and Orient3pt commands were key to making the dodecahedron shape. If you look closely at the model, some of the edges are not perfectly aligned. If I had time to calculate the exact position of each side using python that would most likely solve the issue. However, the resulting shape still looks great!

[Dodecahedron Lantern] Printing the Dodecahedron Shape

dodeca.PNG
scale.PNG
PXL_20210420_070537360.jpg

When I first made the pentagon design, there were 14 layers but after putting the model into Cura, I discovered the 14th pentagon was incorrectly rendered so I scaled down to 13. Also because I was not able to perfectly align each side, the model is actually slightly tilted. As you can see in the Cura preview in the first picture, the brim is not where it seems it should be. This is because the bottom plane is actually slightly tilted. To resolve the issue, I scaled the pentagon down in Cura and Cura was able to automatically adjust this issue. I will try printing later this week to see if the structure can print without any support material!

But for now, I just printed the pentagon shape and it looks good! One thing is that the edges are much thicker than maybe needed but I will try keeping that width to see if the printer can print the entire shape at once.

Done!

PXL_20210420_055214201.jpg
PXL_20210420_054633659.jpg
PXL_20210420_054553062.jpg
PXL_20210420_052951325.jpg
PXL_20210420_052632657.jpg

Some additional photos of the Rectangle lamp!

Grasshopper and Rhino files here.