182 lines
5.7 KiB
OpenSCAD
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);
|
|
}
|