Modele dla Oliwki na kwiatki
This commit is contained in:
parent
b8a93390a5
commit
8e2c6387c9
2 changed files with 90 additions and 0 deletions
32
Oliwka/na_kamyczki.scad
Normal file
32
Oliwka/na_kamyczki.scad
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
// To jest taka podstawecznka na te metalowe półki małe, żeby można było stawiać kamyczki
|
||||
|
||||
width=220;
|
||||
length=160;
|
||||
|
||||
height_down = 5;
|
||||
height_up = 15;
|
||||
wall_thickness = 2;
|
||||
shelf_thickness = 1;
|
||||
|
||||
include <BOSL2/std.scad>
|
||||
include <BOSL2/shapes3d.scad>
|
||||
|
||||
wt = wall_thickness;
|
||||
st = shelf_thickness;
|
||||
total_height = height_up + height_down + shelf_thickness;
|
||||
|
||||
difference() {
|
||||
// głowny model
|
||||
translate([width/2+wt, length/2+wt, total_height/2])
|
||||
cuboid([width + wt*2, length + wt*2, total_height], rounding=2);
|
||||
// wycięcie na dole
|
||||
translate([wt,wt,-0.1])
|
||||
cube([width, length, height_down]);
|
||||
// wycięcie na górze
|
||||
translate([width/2, length/2, height_up])
|
||||
translate([wt,wt,height_down + st + 0.1])
|
||||
cuboid([width, length, height_up * 2], rounding=10);
|
||||
}
|
||||
|
||||
|
||||
// cuboid();
|
||||
58
Oliwka/plant_pot_saucer.scad
Normal file
58
Oliwka/plant_pot_saucer.scad
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// Plant pot saucer
|
||||
// date: 19-3-2025
|
||||
// author: Floris van den Bosch
|
||||
|
||||
// parameters
|
||||
top_diameter = 110;
|
||||
wall_thickness = 2;
|
||||
spoke_spacing = 100.0;
|
||||
|
||||
// derived parameters
|
||||
height = 0.15 * top_diameter;
|
||||
bottom_diameter = top_diameter - height;
|
||||
number_of_spokes = max(floor(PI * top_diameter / spoke_spacing), 3);
|
||||
spoke_center_offset = 0.15 * top_diameter;
|
||||
|
||||
$fa = 0.5;
|
||||
$fs = 0.5;
|
||||
|
||||
difference(){
|
||||
// outer shell
|
||||
cylinder(h = height, d1 = bottom_diameter, d2 = top_diameter);
|
||||
|
||||
// interior cutout
|
||||
difference(){
|
||||
w = 2 * wall_thickness;
|
||||
d_bottom = bottom_diameter - w;
|
||||
d_top = top_diameter - w;
|
||||
translate([0,0,wall_thickness])
|
||||
cylinder(h = height, d1 = d_bottom, d2 = d_top);
|
||||
|
||||
r = w;
|
||||
translate([0, 0, wall_thickness / 2])
|
||||
linear_extrude(3/2 * wall_thickness)
|
||||
offset(r=-r)
|
||||
offset(r=r)
|
||||
union(){
|
||||
for(angle = [0:360/number_of_spokes:360]){
|
||||
rotate([0 ,0, angle])
|
||||
// main spokes
|
||||
hull(){
|
||||
translate([spoke_center_offset, 0])
|
||||
circle(r = w);
|
||||
translate([top_diameter, 0])
|
||||
circle(r = w);
|
||||
}
|
||||
|
||||
}
|
||||
//rounded corners
|
||||
t = 1.001 * wall_thickness / height;
|
||||
c = t * d_top + (1 - t) * d_bottom;
|
||||
difference(){
|
||||
circle(d=c + r);
|
||||
circle(d=c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in a new issue