Skip to content

Instantly share code, notes, and snippets.

@N3MIS15
Last active December 12, 2020 19:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save N3MIS15/692596797beeded41519 to your computer and use it in GitHub Desktop.
Save N3MIS15/692596797beeded41519 to your computer and use it in GitHub Desktop.
Shopvac/Laser mount for my shapeoko
$fn=120;
spindle = 53;
vacuum = 37.2;
//%color("orange") rotate([0, 0, 90]) import("adapter_1_v1_0.stl");
translate([0, 0, 10]) color("red") {
%cylinder(r=spindle/2, h=90);
%translate([0, 0, -spindle]) cylinder(r=19/2, h=52);
%translate([0, 0, -72]) cylinder(r=3/2, h=20);
rotate([0, 0, -45]) {
%translate([-10.5, 0, -14.5]) rotate([0, 90]) cylinder(r=1, h=1);
%translate([-44, 0, -14.5]) rotate([0, 90]) cylinder(r=6, h=32);
}
}
rotate([0, 0, -45]) {
difference() {
union() {
translate([0, 0, 15]) cylinder(r=(spindle+4.8)/2, h=10); // spindle clamp
difference() {
hull() { // main body
rotate([0, 0, -90]) { // laser mount
translate([-(spindle+2.4)/2, 0, -4.5]) cube([2.4, 32, 30], center=true);
}
translate([-(spindle+2.4)/2, 0, -4.5]) rotate([0, 90]) cylinder(r=11, h=2.4, center=true); // hall effect mount
cylinder(r=(spindle+4.8)/2, h=15); // spindle mount
rotate([0, 0, 45]) translate([0, -65, 0]) cylinder(r=(vacuum/2)+2.4, h=15); //vacuum mount
}
cylinder(r=(spindle)/2, h=50, center=true); // spindle hole
translate([0, 0, 20]) cube([2, 60, 10], center=true); // clamp relief
translate([0, 0, 20]) cube([60, 2, 10], center=true); // clamp relief
// center cutout
translate([0, 0, -25]) difference() {
intersection() {
hull() {
cylinder(r=spindle/2, h=50);
rotate([0, 0, 45]) translate([0, -65, 0]) cylinder(r=(vacuum/2), h=50);
}
hull() {
cylinder(r=spindle/2-3.6, h=50);
rotate([0, 0, 45]) translate([0, -65, 0]) cylinder(r=(vacuum/2)-3.6, h=50);
}
}
cylinder(r=spindle/2+2.4, h=100, center=true);
rotate([0, 0, -135]) translate([0, 65, 0]) cylinder(r=(vacuum/2)+2.4, h=100, center=true);
} // end center cutout
// vacuum cutouts
rotate([0, 0, 45]) translate([0, -65, 0]) {
translate([0, 0, -50]) cylinder(r=(vacuum/2), h=100);
translate([0, (vacuum/2), 13]) cube([5, 5, 4], center=true);
} // end vacuum cutouts
}
translate([-(spindle-2.4)/2, 0, -4.5]) rotate([0, 90]) cylinder(r=11, h=2.4, center=true); //hall mount backing
// laser mount backing
rotate([0, 0, 90]) {
translate([(spindle-6)/2, 12.5, -4.5]) rotate([0, 90]) cylinder(r1=3.5, r2=5.65, h=4.8, center=true);
translate([(spindle-6)/2, -12.5, -4.5]) rotate([0, 90]) cylinder(r1=3.5, r2=5.65, h=4.8, center=true);
} // end laser mount backing
}
translate([-(spindle+2.4)/2, 0, -4.5]) rotate([0, 90]) cylinder(r=6.5, h=12, center=true); // hall effect mount cutout
rotate([0, 0, -90]) {
translate([-(spindle+2.4)/2, 12.5, -4.5]) rotate([0, 90]) cylinder(r=1.6, h=16, center=true); // laser mount cutout
translate([-(spindle+2.4)/2, -12.5, -4.5]) rotate([0, 90]) cylinder(r=1.6, h=16, center=true); // laser mount cutout
}
// clamp relief
translate([0, 0, 20]) {
cylinder(r=(spindle)/2, h=10, center=true);
cube([2, 60, 10], center=true);
cube([60, 2, 10], center=true);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment