57 lines
No EOL
1.5 KiB
OpenSCAD
57 lines
No EOL
1.5 KiB
OpenSCAD
include <BOSL2/std.scad>
|
|
include <BOSL2/screws.scad>
|
|
|
|
$fn = 36*5;
|
|
t = 1;
|
|
rounding = 1;
|
|
|
|
// base to connect to the printer
|
|
base_hole_distance = 40;
|
|
base_frame_hole_d = 4.5;
|
|
base_dim = [61,23,12];
|
|
|
|
// pivot
|
|
pivot_dist = 6;
|
|
pivot_d = 6;
|
|
pivot_t = 2;
|
|
pivot_h = 8;
|
|
|
|
// PTFE tube holder
|
|
tube_dist = 15 + 27;
|
|
tube_d0 = 2.5;
|
|
tube_d1 = 5;
|
|
tube_d2 = 7;
|
|
tube_h = base_dim[2];
|
|
|
|
diff("R", "K") {
|
|
// base
|
|
cuboid(base_dim, rounding=rounding, anchor=FWD);
|
|
// holes for screws
|
|
tag("R") back(base_dim[1]/2) left(base_hole_distance/2) cyl(d=base_frame_hole_d, h=base_dim[2], chamfer=-1);
|
|
tag("R") back(base_dim[1]/2) right(base_hole_distance/2) cyl(d=base_frame_hole_d, h=base_dim[2], chamfer=-1);
|
|
|
|
// connector
|
|
chain_hull() {
|
|
cuboid([base_dim[2], 3, base_dim[2]], rounding=rounding, anchor=FWD);
|
|
fwd(tube_dist - pivot_dist - t) ycyl(d=pivot_d, anchor=FWD);
|
|
}
|
|
|
|
chain_hull() {
|
|
fwd(tube_dist - pivot_dist) ycyl(d=pivot_d, anchor=BACK);
|
|
down(pivot_h) fwd(tube_dist) difference() {
|
|
cyl(d=tube_d2, h=tube_h);
|
|
back(2) cuboid(tube_h, anchor=BACK);
|
|
}
|
|
}
|
|
|
|
tag("R") fwd(tube_dist - pivot_dist + t) screw_hole("M3,30", "socket", thread=true, orient=FWD, $slop=0.1, anchor="head_bot", teardrop=true);
|
|
|
|
// PTFE holder
|
|
fwd(tube_dist) down(pivot_h) union() {
|
|
cyl(d=tube_d2, h=tube_h);
|
|
|
|
tag("R") cyl(d=tube_d0, h=tube_h, rounding=-rounding);
|
|
tag("R") cyl(d=tube_d1, h=tube_h, anchor=BOTTOM);
|
|
|
|
}
|
|
} |