This is for my personal random 3D models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

45 lines
1.3 KiB

$fn=100;
thickness = 5;
x = 250;
y = 190;
z = 120;
rim_breadth = 30;
drain_d = 34;
scale_center_crosspiece = 0.15;
difference () {
difference () {
union() {
// Base bowl
difference() {
cube([x, y, z], center=true);
translate([0, thickness/2+0.01, thickness/2+0.01])
cube([x-2*thickness, y-thickness, z-thickness], center=true);
}
// Center crosspiece
translate([0, 0, -z/2 + thickness + scale_center_crosspiece*z/2])
cube([2*thickness, y, scale_center_crosspiece*z], center=true);
// Rim back end
/*translate([0, -y/2 - rim_breadth/2, z/2-thickness/2])
cube([x, rim_breadth, thickness], center=true);*/
// Rim sides
/*for (v=[-1:2:1]) {
translate([v*(x + rim_breadth)/2, -rim_breadth/2, z/2-thickness/2])
cube([rim_breadth, y + rim_breadth, thickness], center=true);
}*/
// Front end dam
scale_dam = 0.4;
translate([0, y/2 - thickness/2, -z/2 + (scale_dam*z)/2])
cube([x, thickness, scale_dam*z], center=true);
}
// Drain
union() {
scale_drain_gland = 1.4;
cylinder(r=drain_d/2, h=2*z ,center=true);
translate([0, 0, -z/2+(scale_center_crosspiece*z)/2+thickness])
cylinder(r=scale_drain_gland*(drain_d/2), h=scale_center_crosspiece*z+thickness,center=true);
}
}
translate([-x/4 - rim_breadth/2, 0, 0])
cube([x/2+rim_breadth+0.01, 2*y, 2*z], center=true);
}