Initial commit

This commit is contained in:
Ian Gulliver
2024-07-03 22:04:09 -07:00
parent 205d9b95bd
commit ee10afaf26
5 changed files with 219 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
use <spoolmount_a.scad>
module prusa_enclosure_mount_top_right() {
spoolmount_a();
rotate([0, 0, 45])
difference() {
union() {
for (o = [-20, 20]) {
translate([0, o, 0])
difference() {
// Side body
hull() {
for (x = [30, 127]) {
for (y = [-7, 7]) {
translate([x, y, 2.5])
scale([0.7, 0.7, 1.0])
sphere(d=5, $fn=50);
}
}
}
// Through screw hole
translate([120, 0, -1])
cylinder(h=7, d=3.2, $fn=50);
// Hex nut / screw head cutout
translate([120, 0, 3.7])
linear_extrude(2.61, center=true)
polygon(points=[
[-2.8, 1.6175],
[0, 3.235],
[2.8, 1.6175],
[2.8, -1.6175],
[0, -3.235],
[-2.8, -1.6175],
]);
}
}
// Center body
hull() {
for (x = [30, 115]) {
for (y = [-25, 25]) {
translate([x, y, 2.5])
scale([0.7, 0.7, 1.0])
sphere(d=5, $fn=50);
}
}
}
}
// Weight reduction holes rows 1/3/5
for (x = [49 : 12 : 105]) {
for (y = [-20 : 20 : 20]) {
translate([x, y, -1])
cylinder(h=7, d=9, $fn=50);
}
}
// Weight reduction holes rows 2/4
for (x = [54.5 : 12 : 105]) {
for (y = [-10 : 20 : 10]) {
translate([x, y, -1])
cylinder(h=7, d=9, $fn=50);
}
}
}
}
prusa_enclosure_mount_top_right();

46
ptfe_guide.scad Normal file
View File

@@ -0,0 +1,46 @@
module ptfe_guide() {
difference() {
hull() {
for (x = [-22, 22]) {
for (y = [-4, 4]) {
for (z = [-3, 3]) {
translate([x, y, z])
sphere(d=4, $fn=100);
}
}
}
}
// Screw hole
{
// Top hex nut / screw cap head cutout
translate([0, 0, 3.7])
linear_extrude(2.61, center=true)
polygon(points=[
[-2.8, 1.6175],
[0, 3.235],
[2.8, 1.6175],
[2.8, -1.6175],
[0, -3.235],
[-2.8, -1.6175],
]);
// Through hole
translate([0, 0, 0])
cylinder(h=10, d=3.2, center=true, $fn=100);
// Bottom screw thread protrusion cutout
translate([0, 0, -4.5])
cylinder(h=1.01, d=4.4, center=true, $fn=100);
}
// PTFE holes
for (x = [-18, -10, 10, 18]) {
translate([x, 0, 0])
rotate([90, 0, 0])
cylinder(h=14, d=4.4, center=true, $fn=100);
}
}
}
ptfe_guide();

57
spoolmount_a.scad Normal file
View File

@@ -0,0 +1,57 @@
use <torus.scad>
// SpoolMount fixed side (i.e. attached to printer or enclosure)
module spoolmount_a() {
// Ring
difference() {
cylinder(h=5, r=42, $fn=200);
translate([0, 0, -1])
cylinder(h=7, r=25, $fn=200);
}
// Hooks
for (x = [-33, 33]) {
translate([x, 0, 5])
rotate([0, -90, 0])
linear_extrude(6, center=true) {
polygon(points=[
[0, 0],
[0, 4],
[2, 4],
[4, 6],
[5, 6],
[5, 2],
[3, 0],
[0, 0],
]);
translate([3, 2])
circle(r=2, $fn=50);
}
}
// Locking bump
translate([0, -30.8, 5])
rotate([0, -90, 0])
linear_extrude(6, center=true) {
polygon(points=[
[0, 0],
[1.2, -4],
[1.2, -5],
[0, -5],
[0, 0],
]);
}
// Rounded edges
translate([0, 0, 2.5]) {
// Inside
torus(r_major=25, r_minor=2.5, xs=0.7, $fn=200);
// Outside
torus(r_major=42, r_minor=2.5, xs=0.7, $fn=200); // 43.75
}
}
spoolmount_a();

39
spoolmount_b.scad Normal file
View File

@@ -0,0 +1,39 @@
use <torus.scad>
// SpoolMount removable side (i.e. attached to spool holder or cage)
module spoolmount_b() {
difference() {
// Ring
cylinder(h=5, r=42, $fn=200);
translate([0, 0, -1])
cylinder(h=7, r=25, $fn=200);
// Holes
for (a = [0 : 30 : 330]) {
rotate([0, 0, a])
translate([29.75, 0, 0]) {
// Center through hole
translate([3.25, 0, 3])
cube([6.5, 8, 7], center=true);
// Diagonal sides
translate([3.25, 0, 4])
rotate([45, 0, 0])
cube([6.5, sqrt(72), sqrt(72)], center=true);
// Flat top cutout
translate([3.25, 0, 5])
cube([6.5, 12, 2], center=true);
}
}
}
// Rounded edges
translate([0, 0, 2.5]) {
torus(r_major=25, r_minor=2.5, xs=0.7, $fn=200);
torus(r_major=42, r_minor=2.5, xs=0.7, $fn=200);
}
}
spoolmount_b();

6
torus.scad Normal file
View File

@@ -0,0 +1,6 @@
module torus(r_major, r_minor, xs=1.0) {
rotate_extrude()
translate([r_major, 0, 0])
scale([xs, 1.0, 1.0])
circle(r=r_minor);
}