mirror of
https://github.com/DJSundog/NopSCADlib.git
synced 2024-11-27 09:10:02 -05:00
Added 30x10 square radial fan.
This commit is contained in:
parent
4cb324ed37
commit
dd38fa6e5d
@ -40,8 +40,10 @@ function blower_base(type) = type[13]; //! Thickness of the base
|
|||||||
function blower_top(type) = type[14]; //! Thickness of the top
|
function blower_top(type) = type[14]; //! Thickness of the top
|
||||||
function blower_wall(type) = type[15]; //! Side wall thickness
|
function blower_wall(type) = type[15]; //! Side wall thickness
|
||||||
function blower_lug(type) = type[16]; //! Height of the lugs
|
function blower_lug(type) = type[16]; //! Height of the lugs
|
||||||
|
function blower_wall_left(type) = type[15]; //! Left side wall thickness
|
||||||
|
function blower_wall_right(type) = type[17]; //! Right wall thickness (for square fans)
|
||||||
|
|
||||||
function blower_casing_is_square(type) = len(blower_screw_holes(type)) > 3; //! True for square radial fans, false for spiral shape radial blowers
|
function blower_casing_is_square(type) = blower_depth(type) < 15; //! True for square radial fans, false for spiral shape radial blowers
|
||||||
function blower_exit_offset(type) = blower_casing_is_square(type) ? blower_length(type) / 2 : blower_exit(type) / 2; //! Offset of exit's centre from the edge
|
function blower_exit_offset(type) = blower_casing_is_square(type) ? blower_length(type) / 2 : blower_exit(type) / 2; //! Offset of exit's centre from the edge
|
||||||
|
|
||||||
fan_colour = grey(20);
|
fan_colour = grey(20);
|
||||||
@ -74,41 +76,54 @@ module blower_fan(type, casing_is_square) {
|
|||||||
module blower_square(type) { //! Draw a square blower
|
module blower_square(type) { //! Draw a square blower
|
||||||
width = blower_width(type);
|
width = blower_width(type);
|
||||||
depth = blower_depth(type);
|
depth = blower_depth(type);
|
||||||
wall = blower_wall(type);
|
wall_left = blower_wall_left(type);
|
||||||
|
wall_right = blower_wall_right(type);
|
||||||
|
hole_count = len(blower_screw_holes(type));
|
||||||
hole_pitch = (blower_screw_holes(type)[1].x - blower_screw_holes(type)[0].x) / 2;
|
hole_pitch = (blower_screw_holes(type)[1].x - blower_screw_holes(type)[0].x) / 2;
|
||||||
corner_radius = width / 2 - hole_pitch;
|
corner_radius = width / 2 - hole_pitch;
|
||||||
corner_inset = (width - blower_exit(type)) / 2;
|
corner_inset = (width - blower_exit(type) - wall_left - wall_right) / (hole_count == 2 ? 1 : 2);
|
||||||
|
|
||||||
|
module inset_corners()
|
||||||
|
translate([width / 2, width / 2])
|
||||||
|
for(i = hole_count == 2 ? [1, 3] : [0 : 3])
|
||||||
|
rotate(i * 90)
|
||||||
|
translate([-width / 2 - eps, -width/ 2 - eps])
|
||||||
|
quadrant(corner_inset, corner_inset - corner_radius);
|
||||||
|
|
||||||
module square_inset_corners(remove_center = false)
|
module square_inset_corners(remove_center = false)
|
||||||
difference() {
|
difference() {
|
||||||
//overall outside
|
//overall outside
|
||||||
square([width, width], center = false);
|
rounded_square([width, width], corner_radius, center = false);
|
||||||
|
|
||||||
if (remove_center) {
|
if (remove_center) {
|
||||||
// cut out the inside, leaving the corners
|
// cut out the inside, leaving the corners
|
||||||
translate([corner_inset + wall, -eps])
|
translate([hole_count == 2 ? wall_left : corner_inset + wall_left, -eps])
|
||||||
square([width - 2 * (wall + corner_inset), width - wall + eps], center = false);
|
square([blower_exit(type), width / 2], center = false);
|
||||||
|
translate(blower_axis(type))
|
||||||
translate([wall, corner_inset + wall])
|
circle(d = blower_bore(type) + 1);
|
||||||
square([width - 2 * wall, width - 2 * (wall + corner_inset)], center = false);
|
|
||||||
} else {
|
} else {
|
||||||
// cut out the bore for the fan
|
// cut out the bore for the fan
|
||||||
translate(blower_axis(type))
|
translate(blower_axis(type))
|
||||||
circle(d = blower_bore(type));
|
circle(d = blower_bore(type));
|
||||||
}
|
}
|
||||||
// corner inset
|
inset_corners();
|
||||||
translate([width / 2, width / 2])
|
|
||||||
for(i = [0 : 3])
|
|
||||||
rotate(i * 90)
|
|
||||||
translate([-width / 2 - eps, -width/ 2 - eps])
|
|
||||||
quadrant(corner_inset, corner_inset - corner_radius);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
base_height = blower_base(type);
|
base_height = blower_base(type);
|
||||||
linear_extrude(base_height)
|
linear_extrude(base_height)
|
||||||
difference () {
|
difference () {
|
||||||
rounded_square([width, width], corner_radius, center = false);
|
rounded_square([width, width], corner_radius, center = false);
|
||||||
|
blower_hole_positions(type)
|
||||||
|
circle(d = blower_screw_hole(type));
|
||||||
|
}
|
||||||
|
|
||||||
|
// add the lugs which may be higher than the base
|
||||||
|
linear_extrude(blower_lug(type))
|
||||||
|
difference () {
|
||||||
|
intersection() {
|
||||||
|
rounded_square([width, width], corner_radius, center = false);
|
||||||
|
inset_corners();
|
||||||
|
}
|
||||||
blower_hole_positions(type)
|
blower_hole_positions(type)
|
||||||
circle(d = blower_screw_hole(type));
|
circle(d = blower_screw_hole(type));
|
||||||
}
|
}
|
||||||
|
@ -24,8 +24,9 @@
|
|||||||
// h h s t t
|
// h h s t t
|
||||||
RB5015 = ["RB5015", "Blower Runda RB5015", 51.3, 51, 15, 31.5, M4_cap_screw, 26, [27.3, 25.4], 4.5, [[4.3, 45.4], [47.3,7.4]], 20, 14, 1.5, 1.3, 1.2, 15];
|
RB5015 = ["RB5015", "Blower Runda RB5015", 51.3, 51, 15, 31.5, M4_cap_screw, 26, [27.3, 25.4], 4.5, [[4.3, 45.4], [47.3,7.4]], 20, 14, 1.5, 1.3, 1.2, 15];
|
||||||
PE4020 = ["PE4020", "Blower Pengda Technology 4020", 40, 40, 20, 27.5, M3_cap_screw, 22, [21.5, 20 ], 3.2, [[37,3],[3,37],[37,37]], 29.3, 17, 1.7, 1.2, 1.3, 13];
|
PE4020 = ["PE4020", "Blower Pengda Technology 4020", 40, 40, 20, 27.5, M3_cap_screw, 22, [21.5, 20 ], 3.2, [[37,3],[3,37],[37,37]], 29.3, 17, 1.7, 1.2, 1.3, 13];
|
||||||
BL40x10 =["BL40x10","Square radial fan 4010", 40, 40,9.5, 27, M2_cap_screw, 16, [24, 20 ], 2.4, [[2,2],[38,2],[2,38],[38,38]], 30 , 9.5, 1.5, 1.5, 1.1, 1.5];
|
BL30x10 =["BL30x10","Square radial fan 3010", 30, 30,10.1,25, M2_cap_screw, 16, [16, 15 ], 2.4, [[2,28],[28,2]], 21.2, 9.5, 1.1, 1.2, 2.5, 2.8, 0.9];
|
||||||
|
BL40x10 =["BL40x10","Square radial fan 4010", 40, 40,9.5, 27, M2_cap_screw, 16, [24, 20 ], 2.4, [[2,2],[38,2],[2,38],[38,38]], 27.8, 9.5, 1.5, 1.5, 1.1, 1.5, 1.1];
|
||||||
|
|
||||||
blowers = [BL40x10, PE4020, RB5015];
|
blowers = [BL30x10, BL40x10, PE4020, RB5015];
|
||||||
|
|
||||||
use <blower.scad>
|
use <blower.scad>
|
||||||
|
Loading…
Reference in New Issue
Block a user