Little parametrize of hotend mount

This commit is contained in:
Przemek Grondek 2021-08-23 15:17:52 +02:00
parent d2685dd999
commit 422aee55a9
4 changed files with 83 additions and 50 deletions

View file

@ -1,51 +1,57 @@
include <../lib/common.scad>; include <../lib/common.scad>;
$fn = 100; $fn = 100;
width = 35;
depth = 30;
part = "cover"; e3d_width = 22;
part = "mount";
difference() { difference() {
distance = width / 2;
// part // part
if (part == "mount") { if (part == "mount") {
translate([0, 0, 0]) translate([0, 0, 0])
cube([30, 15, 42.5]); cube([width, 15, 42.5]);
} else if (part == "cover") { } else if (part == "cover") {
translate([0, 15, 0]) translate([0, 15, 0])
cube([30, 15, 42.5]); cube([width, 15, 42.5]);
translate([26, 27, - 6])
cube([6, 3, 6]);
translate([20.2146, 27, 0.895]) // mount for part cooling fan shroud
translate([distance + 11, 27, - 6])
cube([6, 3, 6]);
translate([distance + 5 + 0.2146, 27, 0.895])
rotate([0, 50, 0]) rotate([0, 50, 0])
cube([9, 3, 6]); cube([9, 3, 6]);
} }
// space for fan mount // space for fan mount
translate([40, 0, 0]) translate([width + 10, 0, 0])
rotate([0, - 90, 0]) rotate([0, - 90, 0])
fan_mount(); fan_mount();
// space for extruder // space for extruder
translate([4, 4, 0]) translate([(width - e3d_width) / 2, 4, 0])
translate([11, 11, 0])
e3d_v6(); e3d_v6();
screw_mounts(); screw_mounts();
// hole for part cooling fan // hole for part cooling fan
translate([20, 30, 37]) translate([distance + 5, depth, 37])
rotate([90, 0, 0]) rotate([90, 0, 0])
translate([1.5, 1.5, 0]) translate([1.5, 1.5, 0])
cylinder(d = 3, h = 5); cylinder(d = 3, h = 5);
translate([27.5, 30, - 4.5]) translate([distance + 12.5, depth, - 4.5])
rotate([90, 0, 0]) rotate([90, 0, 0])
translate([1.5, 1.5, 0]) translate([1.5, 1.5, 0])
cylinder(d = 4, h = 5); cylinder(d = 4, h = 5);
} }
module e3d_v6() { module e3d_v6() {
translate([11, 11, 0]) {
h0 = - 14; h0 = - 14;
rotate([0, 0, 180]) rotate([0, 0, 180])
translate([- 8, - 3.5, h0]) translate([- 8, - 3.5, h0])
@ -75,52 +81,75 @@ module e3d_v6() {
translate([0, 0, h6]) translate([0, 0, h6])
cylinder(d = 11.5, h = 6.5, $fn = 6); cylinder(d = 11.5, h = 6.5, $fn = 6);
} }
}
module fan_mount() { module fan_mount() {
cube([30, 30, 10]); fan_size = 30;
fan_thickness = 10;
cube([fan_size, fan_size, fan_thickness]);
// screw holes // screw holes
translate([1.5 + 1.5, 1.5 + 1.5, 10]) translate([1.5 + 1.5, 1.5 + 1.5, fan_thickness])
cylinder(d = 3, h = 10); cylinder(d = 3, h = 10);
translate([30 - (1.5 + 1.5), 1.5 + 1.5, 10]) translate([fan_size - (1.5 + 1.5), 1.5 + 1.5, fan_thickness])
cylinder(d = 3, h = 10); cylinder(d = 3, h = 10);
translate([1.5 + 1.5, 30 - (1.5 + 1.5), 10]) translate([1.5 + 1.5, fan_size - (1.5 + 1.5), fan_thickness])
cylinder(d = 3, h = 10); cylinder(d = 3, h = 10);
// fan duct // fan duct
translate([1, 1, 0]) translate([1, 1, 0])
translate([14, 14, 0]) translate([(fan_size / 2) - 1, (fan_size / 2) - 1, 0])
cylinder(d1 = 28, d2 = 22, h = 25); cylinder(d1 = fan_size - 2, d2 = 22, h = width / 2 + fan_thickness);
translate([1, 1, 0]) translate([1, 1, 0])
translate([14, 14, 20]) translate([(fan_size / 2) - 1, (fan_size / 2) - 1, width / 2 + fan_thickness])
cylinder(d = 22, h = 25); cylinder(d = 22, h = width / 2 + 0.1);
} }
module screw_mounts() { module screw_mounts() {
screw_cover_mounts();
screw_x_carriage_mount();
}
module screw_cover_mounts() {
screw_distance = 24;
screw_size = 3;
distance_from_edge = (width - screw_distance) / 2;
// cover mount // cover mount
translate([1.5, 24, 29]) translate([distance_from_edge, 24, 29])
rotate([90, 0, 0]) { rotate([90, 0, 0]) {
screw_mount(length = 17, nut_size = 6, screw_size = 3, nut = "square"); translate([screw_size, screw_size, 0])
rotate([0, 0, 180])
screw_mount(length = 17, nut_size = 6, screw_size = screw_size, nut = "square+");
translate([1.5, 1.5, - 20]) translate([1.5, 1.5, - 20])
cylinder(d = 6, h = 20); cylinder(d = 6, h = 20);
} }
translate([25.5, 24, 29]) translate([width - distance_from_edge - screw_size, 24, 29])
rotate([90, 0, 0]) { rotate([90, 0, 0]) {
screw_mount(length = 17, nut_size = 6, screw_size = 3, nut = "square"); screw_mount(length = 17, nut_size = 6, screw_size = screw_size, nut = "square+");
translate([1.5, 1.5, - 20]) translate([1.5, 1.5, - 20])
cylinder(d = 6, h = 20); cylinder(d = 6, h = 20);
} }
}
module screw_x_carriage_mount() {
screw_distance = 23;
screw_size = 3;
distance_from_edge = (width - screw_distance) / 2;
// X carriage mount // X carriage mount
translate([2, 15, 35]) translate([distance_from_edge, 15, 35])
rotate([90, 0, 0]) rotate([90, 0, 0])
screw_mount(length = 20, nut_size = 6, screw_size = 3, nut = "none"); screw_mount(length = 20, nut_size = 6, screw_size = 3, nut = "none");
translate([25, 15, 35]) translate([width - (distance_from_edge + screw_size), 15, 35])
rotate([90, 0, 0]) rotate([90, 0, 0])
screw_mount(length = 20, nut_size = 6, screw_size = 3, nut = "none"); screw_mount(length = 20, nut_size = 6, screw_size = 3, nut = "none");
} }

Binary file not shown.

Binary file not shown.

View file

@ -8,7 +8,11 @@ module screw_mount(length, nut_size, screw_size, nut = "none") {
} else if (nut == "square") { } else if (nut == "square") {
translate([- nut_size / 2, - nut_size / 2, length - 3]) translate([- nut_size / 2, - nut_size / 2, length - 3])
cube([nut_size, nut_size, 3]); cube([nut_size, nut_size, 3]);
} if (nut == "square+") {
translate([- nut_size / 2, - nut_size / 2, length - 3])
cube([nut_size+100, nut_size, 3]);
} }
} }
} }