25 lines
658 B
OpenSCAD
25 lines
658 B
OpenSCAD
total_height = 220;
|
|
volume = 118; //mL
|
|
cup_height = 30;
|
|
wall_thickness = 3;
|
|
|
|
// Calculate radius
|
|
inside_radius = sqrt(volume*1000/(PI*cup_height));
|
|
|
|
$fn=100;
|
|
// Generate cup
|
|
union(){
|
|
translate([0,0,cup_height/2+wall_thickness/2])
|
|
difference(){
|
|
cylinder(r=inside_radius+wall_thickness, h=cup_height+wall_thickness, center=true);
|
|
|
|
translate([0,0,wall_thickness])
|
|
cylinder(r=inside_radius, h=cup_height+wall_thickness, center=true);
|
|
}
|
|
|
|
translate([0,0,total_height/2])
|
|
rotate_extrude(angle=30)
|
|
translate([wall_thickness/2+inside_radius,0,0])
|
|
square(size=[wall_thickness, total_height], center=true);
|
|
}
|