Commit cc9a5de1 authored by György Kurucz's avatar György Kurucz
Browse files

Various stuff

parent 8f4d1958
co_sd_card = [32, 24, 2.1];
co_usd_card = [15, 11, 1];
// IKEA stuff (mostly inaccurate, approximate measurements)
ikea_samla_22l_handle_slope = 3;
use <../include/short.scad>;
tube_filter_diameter = 65;
tube_filter_length = 10;
tube_filter_diameter = 68;
tube_filter_length = 30;
tube_filter_ear_count = 6;
tube_filter_grid_spacing = 4;
tube_filter_grid_thickness = 4;
tube_filter_wall = 3;
tube_filter_lip = 10;
tube_filter_lip_thickness = 5;
$fn = 100;
module filter_rectangular(
spacing = 4,
wall = -1,
size = 23
size = 23,
thickness = 5,
level_offset = 0.4
) {
_wall = wall < 0 ? spacing / 4 : wall;
step = spacing + _wall;
s = size - _wall;
for (x = [-s/2:step:s/2])
ext(thickness) for (x = [-s/2:step:s/2])
translate([x, -s/2]) square([_wall, size]);
for (y = [-s/2:step:s/2])
ext(thickness - level_offset) for (y = [-s/2:step:s/2])
translate([-s/2, y]) square([size, _wall]);
}
module filter_cylinder(
spacing = 4,
wall = -1,
diameter = 30,
thickness = 5,
length = 10
) {
_wall = wall < 0 ? spacing / 4 : wall;
step = spacing + _wall;
nr = ceil(diameter * PI / step);
nl = ceil((length - _wall) / step);
for (i = [0:nr])
rZ(i * 360 / nr) tX(diameter/2 - thickness)
tY(-_wall/2)
cube([thickness, _wall, length]);
for (i = [0:nl])
tZ(i * (length - _wall) / nl)
ext(_wall)
ring(od = diameter, th = thickness);
}
module gutter() {
d = 105;
tZ(tube_filter_length / 2) tZ(d/2) rX(90) cylinder(d = d, h = tube_filter_diameter * 2, center=true);
}
module ear() {
w = tube_filter_diameter / 5;
tX(tube_filter_diameter / 2) intersection() {
......@@ -31,26 +64,53 @@ module ear() {
}
module tube_filter() {
wall = 3;
wall = tube_filter_wall;
diameter = tube_filter_diameter;
th = tube_filter_grid_thickness;
th = tube_filter_grid_spacing + 1;
length = tube_filter_length;
// tube
ext(tube_filter_length) difference() {
circle(d=diameter); circle(d = diameter - wall * 2);
}
filter_cylinder(
spacing = tube_filter_grid_spacing,
diameter = diameter,
length = length,
thickness = wall
);
// filter grid
ext(th) intersection() {
intersection() {
filter_rectangular(
spacing = tube_filter_grid_spacing, size = diameter);
circle(d = diameter);
spacing = tube_filter_grid_spacing,
size = diameter,
thickness = th
);
ext(th) circle(d = diameter);
}
// joiner rings at top & bottom
ext(th) ring(od = diameter, th = wall);
// ears
for (i = [0:tube_filter_ear_count]) {
rZ(i * 360 / tube_filter_ear_count) ext(th) ear();
}
// for (i = [0:tube_filter_ear_count]) {
// tZ(length - th)
// rZ(i * 360 / tube_filter_ear_count)
// ext(th) ear();
// }
}
tube_filter();
\ No newline at end of file
difference() {
union() {
difference() {
union() {
intersection() {
sf = (tube_filter_diameter + tube_filter_lip * 2) / tube_filter_diameter;
gutter();
tZ(tube_filter_wall) scale([sf, 1, 1]) cylinder(d = tube_filter_diameter, h = tube_filter_length * 1.1);
}
tube_filter();
}
tZ(tube_filter_lip_thickness) scale([0.7, 1, 0.7]) gutter();
}
}
tZ(tube_filter_wall + 5) cylinder(d = tube_filter_diameter - tube_filter_wall * 2, h = tube_filter_length * 2);
}
include <../include/short.scad>;
include <../include/common_objects.scad>;
$fn = 32;
shaft = 8;
wall = 2;
h = 8;
base = 25;
screw_hole = 3;
screw_head = 5;
diff() {
hull() {
scale([1,1,1]) cylinder(d = base, h = wall);
cylinder(d = shaft + wall * 2, h = h);
}
rX(ikea_samla_22l_handle_slope) tZ(wall) ext(h) union() {
circle(d = shaft);
tX(-shaft/2) square([shaft, 100]);
}
}
\ No newline at end of file
s=[35,15,3];
pad=3;
r=1;
text_w = 0.8;
$fn=40;
hole=3;
difference() {
minkowski() {
sphere(r);
cube(s-[r,r,r]);
}
co = hole/2+r/2;
translate([s[0]/2-r/2+co/2,s[1]/2-r/2,s[2]/2]) linear_extrude(s[2])
scale([text_w,1,1]) text("1505", valign="center", halign="center", size=s[1]-pad);
translate([co,co,-50]) cylinder(d=hole,h=100);
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment