# Initial Design Idea

• We are planning to make a cup holder to be used in cars, with the size and dimensions of both the object and the hole can be customized.
• Prior knowledge: Basic knowledge of OpenSCAD.
• What we need to learn: How to make the object’s dimensions customizable; we’ll probably look online if we don’t go over it in class.  We also need to learn how to make the inputs changeable on the top of the code, by having inputs for the variables in the code itself (Ex: Height).  Using the word Height in the code and having the Height defined above the code will allow the whole script to change flawlessly for the person trying to customize the cup holder.

## Design Iteration

• Our code works by creating a cylinder and using the difference function to create a hole in the first cylinder with another cylinder.  We also use the translate to lift it up on the Z-axis in order to maintain a base for our cup holder.  Our code allows the user to change not only the size of the hole to create a snug fit around a specific cup, it allows the user to change the width of the outside of the cup holder in order to have a snug fit inside the car’s cup holder.  This will reduce the chance of the drink and cup holder moving while driving.  We also used a smoother circle as a hole by making it have 100 edges so it would be a smooth entry and exit for the drink to reduce spillage.
• One major thing we had to change about our design was using the translate code to lift up the hole in order to have a base for the holder.  This was imperative because it would contain any spill in the cup holder and not the car.  Another major thing we had to change was shape of the piece that goes into the cup holder because it was initially a cube but that is evidently not ideal for the hole in a car cup holder.  It was very difficult getting the 2 cylinders to cooperate with each other but after trial and error it worked.

## Thingiverse Customizer

Code:

difference(){

//choose shape of exterior to fit space as needed
cylinder(20,20,20)

// adjust size of interior to accomodate cup/bottle
translate([0,0,2])cylinder(r=18,h=60,\$fn=100);

}

As shown in the code, you can customize the shape and size of the exterior, as well as the dimensions of the interior.  The purpose of this is so the user can customize the outside to fit their car’s cup holder and change inside to fit snug around the cup.

## Final Prints

In the first print we changed our code to create a more ovular opening for the holder.  This was done by only adjusting the X axis and holding the Y axis constant.

The second image was just a wider base so it could hold something a little bigger than a bottle.  This was done by reducing the height on the Z axis and increasing the X and Y axis uniformly.

The last image was our final print and it was accomplished by using a similar print in the second print, but instead of reducing the height on Z axis we increased it to create an actual full sized cup holder.  This is the most functional print.

The strengths of the lower heights is that it is easier to clean, but it has less support and increases risk of spillage.  The green print is the most functional and will serve the best use for the average person whether it be as a coffee holder, coaster, or a simple koozi.