cup-holder/shelf.scad

64 lines
1000 B
OpenSCAD

include <Round-Anything/polyround.scad>
$fn = $preview ? 30 : 60;
module jar() {
cylinder(100, 40, 40);
}
module cup() {
cylinder(155, 31, 42);
}
module arm() {
translate([-40, -200, -200])
cube([80, 400, 200]);
}
module base() {
translate([0, 0, -6])
linear_extrude(15) {
polygon(polyRound([
[-55, -40, 10],
[ 55, -40, 10],
[ 55, 40, 10],
[-55, 40, 10],
]));
}
}
module grip(length) {
translate([40, 0, 0])
rotate([-90, 0, 0])
linear_extrude(15, center=true)
polygon(polyRound([
[ 0, 0, 0],
[10, 0, 0],
[10, length, 10],
[ 0, length, 0],
]));
}
translate([0, 0, 6]) {
difference() {
base();
cylinder(100, 35, 35);
}
grip(30);
rotate([0, 0, 180])
grip(60);
if($preview)
color("#999999") {
arm();
}
if($preview)
color("#7777ff") {
*jar();
cup();
}
}