hackathon_awards/2024/hackathon2024trophy.scad

59 lines
1.2 KiB
OpenSCAD
Raw Normal View History

2024-07-25 14:58:36 +00:00
/**
2024-07-27 09:34:50 +00:00
Trophy cutting lines.
t=plywood thickness
w=width of the trophy
If you need to scale the trophy up or down,
uncomment the "scale" and "s" below to set the scaling factor.
Assuming 1 unit in OpenSCAD corresponds to 1mm.
Author: Artur Kerge
2024-07-25 14:58:36 +00:00
**/
w=80;
t=6;
//s=1;
//scale([s,s,0])
module base() {
2024-07-27 09:34:50 +00:00
polygon(
// points go clockwise from bottom left of the base
points=[
[0,0],[0,t],[8,7],[17.5,10],[25,15],[28,20],[30.5,30],[31.5,40],[32,50],[32,61],[40,61],[40,0]
]
);
2024-07-25 14:58:36 +00:00
};
module beaker(){
2024-07-27 09:34:50 +00:00
union() {
// want to make the beaker lower? decrese y in translate below
translate([0,60,0]) union(){
// cutout for the sign
difference() {
square(w);
translate([0,w/4.5,0]) color("red") square([t,42]);
}
// resizes the beaker bottom circle to an ellips
translate([w/2,0,0]) resize([w,30]) circle(d=w,false);
};
2024-07-25 14:58:36 +00:00
2024-07-27 09:34:50 +00:00
// beaker base
union() {
base();
translate([2*40,0,0]) mirror([1,0,0]) base();
2024-07-25 14:58:36 +00:00
}
2024-07-27 09:34:50 +00:00
}
2024-07-25 14:58:36 +00:00
}
2024-07-27 09:34:50 +00:00
// vertical cutouts for the trophy
2024-07-25 14:58:36 +00:00
difference(){
2024-07-27 09:34:50 +00:00
beaker();
translate([w/2-t/2,0,0]) color("green") square([t,75]);
2024-07-25 14:58:36 +00:00
}
difference(){
2024-07-27 09:34:50 +00:00
translate([2*w+5,0,0]) mirror([1,0,0]) beaker();
translate([w+5+w/2-t/2,150/2,0]) color("red") square([t,75]);
2024-07-25 14:58:36 +00:00
}