more designs
This commit is contained in:
80
cooling_tube_splitter_bus.scad
Normal file
80
cooling_tube_splitter_bus.scad
Normal file
@@ -0,0 +1,80 @@
|
||||
// fitting params
|
||||
fitting_inside_diam_top = 66;
|
||||
fitting_inside_diam_bottom = 61;
|
||||
fitting_length = 23;
|
||||
|
||||
wall_thickness = 2.5;
|
||||
curve_angle = 30;
|
||||
|
||||
$fn=100;
|
||||
module fitting(r_in, r_out, length){
|
||||
rotate(90,[1,0,0])
|
||||
difference(){
|
||||
linear_extrude(length)
|
||||
circle(r=r_out);
|
||||
linear_extrude(length)
|
||||
circle(r=r_in);
|
||||
}
|
||||
}
|
||||
|
||||
function custom_y(w, angle) = (w/2-w*(1-cos(angle)))/tan(angle)+w*sin(angle);
|
||||
|
||||
module one_side(r, w, angle){
|
||||
rotate_extrude(angle=angle)
|
||||
translate([w/2,0,0])
|
||||
circle(r=r);
|
||||
|
||||
y = custom_y(w, angle);
|
||||
translate([w/2,y,0])
|
||||
rotate(angle)
|
||||
mirror([1,0,0])
|
||||
rotate_extrude(angle=angle)
|
||||
translate([w/2,0,0])
|
||||
circle(r=r);
|
||||
|
||||
tri_x = w/2-w*(1-cos(angle));
|
||||
tri_y = tri_x/tan(angle);
|
||||
length = sqrt(pow(tri_y, 2) + pow(tri_x,2));
|
||||
rotate(angle,[0,0,1])
|
||||
translate([w/2,length,0])
|
||||
rotate(90,[1,0,0])
|
||||
linear_extrude(length)
|
||||
circle(r=r);
|
||||
}
|
||||
|
||||
module split_shape(r, w, angle){
|
||||
union(){
|
||||
one_side(r,w,angle);
|
||||
mirror([1,0,0])
|
||||
one_side(r,w,angle);
|
||||
}
|
||||
}
|
||||
|
||||
my_w = fitting_inside_diam_top+2*wall_thickness;
|
||||
difference(){
|
||||
split_shape(fitting_inside_diam_top/2+wall_thickness,
|
||||
my_w,
|
||||
curve_angle);
|
||||
split_shape(fitting_inside_diam_bottom/2,
|
||||
my_w,
|
||||
curve_angle);
|
||||
}
|
||||
|
||||
// one_side(fitting_inside_diam_top/2+wall_thickness,
|
||||
// my_w,
|
||||
// curve_angle);
|
||||
|
||||
translate([-my_w/2,0,0])
|
||||
fitting(fitting_inside_diam_top/2,
|
||||
fitting_inside_diam_top/2+wall_thickness,
|
||||
fitting_length);
|
||||
|
||||
translate([my_w/2,0,0])
|
||||
fitting(fitting_inside_diam_top/2,
|
||||
fitting_inside_diam_top/2+wall_thickness,
|
||||
fitting_length);
|
||||
|
||||
translate([0,custom_y(my_w, curve_angle)+fitting_length,0])
|
||||
fitting(fitting_inside_diam_top/2,
|
||||
fitting_inside_diam_top/2+wall_thickness,
|
||||
fitting_length);
|
||||
6
tomato_stand_sticks.scad
Normal file
6
tomato_stand_sticks.scad
Normal file
@@ -0,0 +1,6 @@
|
||||
thickness = 3;
|
||||
width = 3;
|
||||
length = 250;
|
||||
|
||||
linear_extrude(thickness)
|
||||
square(size=[width, length], center=true);
|
||||
Reference in New Issue
Block a user