Files
3D/tools/leather_splitter/scad/leather-skiver-machine.scad
2025-06-28 15:32:11 +02:00

182 lines
5.7 KiB
OpenSCAD

$fn=60;
include <BOSL2/std.scad>
include <boltsos_0.4.1/BOLTS.scad>
l_width=12;
p_height=8;
module bearing() {
color("grey") tube(l=5, od=16, id=4);
}
module m4_screw() {
rotate([0,180,90]) {
DIN931("M4");
translate([0,0,-1.3]) DIN931("M4");
}
}
module arm() {
difference() {
union() {
cuboid([150,20,7], rounding=2);
translate([74,0,0]) zcyl(l=7, d=20, rounding=2);
translate([-74,0,0]) zcyl(l=7, d=20, rounding=2);
}
translate([74,0,2]) zcyl(l=5, d=12.4, rounding=-1);
translate([-74,0,0]) {
zcyl(l=7, d=12.5, rounding=-1);
translate([0,0,2]) bearing();
}
translate([-10,0,0]) {
zcyl(l=7, d=12.5, rounding=-1);
translate([0,0,2]) bearing();
}
translate([35,0,0]) {
translate([0,10,0]) zcyl(l=2, d=10, rounding=1);
translate([0,6,0]) zcyl(l=10, d=3.5, rounding=0);
translate([0,-10,0]) zcyl(l=2, d=10, rounding=1);
translate([0,-6,0]) zcyl(l=10, d=3.5, rounding=0);
}
}
}
module base() {
difference() {
union() {
prismoid(size1=[70,l_width], size2=[22,l_width], xang=[51,62], h=61, rounding=2);
translate([21,0,34]) cuboid([28,l_width,68], rounding=2);
translate([9,0,55]) ycyl(l=l_width, d=26, rounding=2);
rotate([0,-30,0]) translate([38,0,50]) zcyl(l=15, d=10, rounding=1);
}
rotate([0,-30,0]) translate([38,0,38]) {
cuboid([9,l_width+10,28], rounding=4.5);
translate([0,0,15.5]) zcyl(l=8.5, d=5, rounding=-1);
}
translate([8,0,22]) rotate([0,-40,0]) scale([.70,1,1]) ycyl(l=l_width, d=30, rounding=-2);
}
}
/*[guide]*/
color("red") {
rotate([0,-30,0]) {
translate([36,0,42]) {
difference() {
ycyl(l=130, d=9, rounding=3);
* cuboid([9,130,9], rounding=3);
translate([0,50,-1.5]) rotate([0,180,90]) m4_screw();
translate([0,-50,-1.5]) rotate([0,180,90]) m4_screw();
}
}
}
}
/*[blade]*/
color("grey") {
translate([28.5,0,60.5]) cuboid([14.25,100,.5]);
}
/*[machine]*/
color("cyan", alpha=1) {
difference() {
union() {
// plate
translate([-7.5,0,0]) difference() {
cuboid([85,120,p_height], rounding=2);
zcyl(l=p_height, d=60, rounding=-2);
}
// bases
translate([0,-50,0]) base();
translate([0,50,0]) base();
translate([-15,-51,20]) ycyl(l=l_width+1, d=8.5, rounding=1);
translate([-15,51,20]) ycyl(l=l_width+1, d=8.5, rounding=1);
// blade support
translate([22,0,56]) prismoid(size1=[7,102], size2=[16,102], xang=[20,80], h=4);
//
rotate([0,30,0]) {
translate([-7,0,71]) {
translate([0,-52.5,0]) zcyl(l=10, d=7, rounding=1);
translate([0,52.5,0]) zcyl(l=10, d=7, rounding=1);
}
}
}
// spring screw holes
rotate([0,30,0]) {
translate([-7,0,72]) {
translate([0,-52.5,0]) zcyl(l=15, d=3.5);
translate([0,52.5,0]) zcyl(l=15, d=3.5);
}
}
// blade & holes
translate([30,0,60.5]) cuboid([14.25,102,1.5], rounding=.75);
translate([22,0,57.5]) {
translate([0,-35,0]) DIN931("M3") zcyl(l=10, d=3.75);
DIN931("M3") zcyl(l=10, d=3.75);
translate([0,35,0]) DIN931("M3") zcyl(l=10, d=3.75);
}
// plate holes
translate([25,35,0]) {
zcyl(l=p_height, d=4, rounding=-1);
translate([0,0,p_height/2-1]) zcyl(l=1.5, d1=4, d2=9);
}
translate([-41,50,0]) {
zcyl(l=p_height, d=4, rounding=-1);
translate([0,0,p_height/2-1]) zcyl(l=1.5, d1=4, d2=9);
}
translate([25,-35,0]) {
zcyl(l=p_height, d=4, rounding=-1);
translate([0,0,p_height/2-1]) zcyl(l=1.5, d1=4, d2=9);
}
translate([-41,-50,0]) {
zcyl(l=p_height, d=4, rounding=-1);
translate([0,0,p_height/2-1]) zcyl(l=1.5, d1=4, d2=9);
}
// side screw holes
translate([-15,0,20]) {
translate([0,51,0]) ycyl(l=l_width+1, d=4.5, rounding=-1);
translate([0,-51,0]) ycyl(l=l_width+1, d=4.5, rounding=-1);
translate([0,43.5,0]) rotate([-90,0,0]) m4_screw();
translate([0,-43.5,0]) rotate([90,0,0]) m4_screw();
}
}
}
/*[arms]*/
translate([59,-60,20]) rotate([-90,0,0]) arm();
translate([59,60,20]) rotate([90,0,0]) arm();
color("pink", alpha=0.5) {
* translate([-74,-50,0]) ycyl(l=1, d=130);
translate([49,-60,57]) rotate([-90,-30,0]) arm();
}
/*[tubes]*/
color("grey", alpha=.75) {
translate([49,0,20]) {
difference() {
union() {
ycyl(l=110, d=16, rounding=1);
ycyl(l=112, d=8.5, rounding=1);
}
translate([0,49,0]) ycyl(l=15, d=4.2, rounding=-1);
translate([0,-49,0]) ycyl(l=15, d=4.2, rounding=-1);
}
}
translate([42.5,0,54]) {
difference() {
union() {
ycyl(l=110, d=16, rounding=1);
ycyl(l=112, d=8.5, rounding=1);
}
translate([0,49,0]) ycyl(l=15, d=4.2, rounding=-1);
translate([0,-49,0]) ycyl(l=15, d=4.2, rounding=-1);
}
}
}
* color("grey", alpha=0.5) {
translate([74,0,0]) rotate([90,0,0]) tube(l=107, od=12, id=10);
translate([-10,0,0]) rotate([90,0,0]) tube(l=90, od=20, id=16);
}