1 changed files with 32 additions and 0 deletions
@ -0,0 +1,32 @@ |
|||
$fa=0.5; |
|||
$fs=0.2; |
|||
|
|||
module rounded_rectangle(l, w, r) { |
|||
union() { |
|||
square([l-2*r, w], center=true); |
|||
square([l, w-2*r], center=true); |
|||
translate([l/2-r, w/2-r]) circle(r=r); |
|||
translate([-l/2+r, w/2-r]) circle(r=r); |
|||
translate([-l/2+r, -w/2+r]) circle(r=r); |
|||
translate([l/2-r, -w/2+r]) circle(r=r); |
|||
} |
|||
} |
|||
|
|||
module box(l, w, h, r, thickness) { |
|||
difference() { |
|||
scale([1,1,-1]) |
|||
linear_extrude(height=h) |
|||
rounded_rectangle(l, w, r); |
|||
scale([1,1,-1]) |
|||
translate([0,0,-thickness]) |
|||
linear_extrude(height=h) |
|||
rounded_rectangle(l-thickness*2, w-thickness*2, r); |
|||
} |
|||
} |
|||
|
|||
// Small box |
|||
box(10, 20, 10, 1, 1); |
|||
|
|||
// Bigger box |
|||
translate([30, 30, 0]) |
|||
box(15, 15, 5, 3, 0.5); |
|||
Loading…
Reference in new issue