mirror of
https://github.com/DJSundog/NopSCADlib.git
synced 2024-11-27 09:10:02 -05:00
Added SK shaft support brackets.
This commit is contained in:
parent
9e826c1a09
commit
a08216d0b8
30
tests/sk_brackets.scad
Normal file
30
tests/sk_brackets.scad
Normal file
@ -0,0 +1,30 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2018
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
include <../core.scad>
|
||||
use <../utils/layout.scad>
|
||||
|
||||
include <../vitamins/sk_brackets.scad>
|
||||
|
||||
module sk_brackets()
|
||||
layout([for(s = sk_brackets) 1.5 * sk_size(s)[1]])
|
||||
sk_bracket_assembly(sk_brackets[$i]);
|
||||
|
||||
if($preview)
|
||||
sk_brackets();
|
||||
|
112
vitamins/sk_bracket.scad
Normal file
112
vitamins/sk_bracket.scad
Normal file
@ -0,0 +1,112 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2018
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
//
|
||||
//! SK shaft support brackets
|
||||
//
|
||||
include <../core.scad>
|
||||
include <../utils/fillet.scad>
|
||||
|
||||
include <screws.scad>
|
||||
use <washer.scad>
|
||||
|
||||
sk_bracket_color = grey70;
|
||||
|
||||
function sk_diameter(type) = type[1]; //! Rod hole diameter
|
||||
function sk_hole_offset(type) = type[2]; //! Rod hole offset
|
||||
function sk_size(type) = [type[4],type[6],type[5]]; //! Size of bracket
|
||||
function sk_base_height(type) = type[7]; //! Height of base containing the screws
|
||||
function sk_screw_separation(type) = type[9]; //! Separation of screws in the base
|
||||
|
||||
module sk_bracket(type) { //! SK shaft support bracket
|
||||
vitamin(str("sk_bracket(", type[0], "): SK", sk_diameter(type), " shaft support bracket"));
|
||||
|
||||
d = type[1];
|
||||
h = type[2];
|
||||
E = type[3];
|
||||
W = type[4];
|
||||
L = type[5];
|
||||
F = type[6];
|
||||
G = type[7];
|
||||
P = type[8];
|
||||
B = type[9];
|
||||
S = type[10];
|
||||
bolthole_radius = type[11];
|
||||
|
||||
color(sk_bracket_color) {
|
||||
translate([0 , -h, 0]) {
|
||||
fillet = 0.5;
|
||||
rotate([-90, 0, 0])
|
||||
linear_extrude(G)
|
||||
difference() {
|
||||
translate([-(W - 2*fillet) / 2, -L / 2, 0])
|
||||
square([W - 2 * fillet, L]);
|
||||
translate([-B / 2, 0])
|
||||
circle(r = bolthole_radius);
|
||||
translate([B / 2, 0])
|
||||
circle(r = bolthole_radius);
|
||||
}
|
||||
for(x = [W / 2 - 2 * fillet, -W / 2 + 2 * fillet])
|
||||
translate([x, G / 2, 0])
|
||||
rounded_rectangle([4 * fillet, G, L], fillet);
|
||||
}
|
||||
|
||||
translate([0, -h, -L /2])
|
||||
linear_extrude(L) {
|
||||
fillet = 0.75;
|
||||
difference() {
|
||||
translate([-P / 2, 0])
|
||||
rounded_square([P, F], fillet, center = false);
|
||||
cut_width = 1;
|
||||
translate([-cut_width / 2, h + cut_width])
|
||||
square([cut_width, F - h]);
|
||||
translate([0, h])
|
||||
circle(d = d);
|
||||
}
|
||||
translate([P/2,G])
|
||||
fillet(fillet, 0);
|
||||
translate([-P/2,G])
|
||||
rotate(90)
|
||||
fillet(fillet, 0);
|
||||
}
|
||||
}
|
||||
// Add the retaining bolt. No hole was cut, since it is only for display.
|
||||
color(grey20)
|
||||
translate([P / 2 - screw_head_height(M3_cap_screw) / 2, (F - h + d / 2) / 2, 0])
|
||||
rotate([0,90,0])
|
||||
not_on_bom() no_explode()
|
||||
screw(M3_cap_screw, P - screw_head_height(M3_cap_screw) / 2 + eps);
|
||||
}
|
||||
|
||||
|
||||
module sk_bracket_assembly(type, screw_length = 16, screw_type = M5_cap_screw) { //! Assembly with fasteners in place
|
||||
sk_bracket(type);
|
||||
|
||||
washer_type = screw_washer(screw_type);
|
||||
washer_thickness = washer_thickness(washer_type);
|
||||
|
||||
for (x = [-sk_screw_separation(type), sk_screw_separation(type)])
|
||||
translate([x / 2, sk_base_height(type) - sk_hole_offset(type), 0])
|
||||
rotate([-90, 0, 0]) {
|
||||
screw_and_washer(screw_type, screw_length);
|
||||
translate_z(-screw_length + 2 * washer_thickness)
|
||||
nut(screw_nut(screw_type))
|
||||
washer(washer_type);
|
||||
}
|
||||
}
|
||||
|
35
vitamins/sk_brackets.scad
Normal file
35
vitamins/sk_brackets.scad
Normal file
@ -0,0 +1,35 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2018
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
//
|
||||
// SK shaft support brackets
|
||||
//
|
||||
|
||||
include <../core.scad>
|
||||
include <../vitamins/screws.scad>
|
||||
|
||||
// d h E W L F G P B S bolthole
|
||||
SK8 = ["SK8", 8, 20, 21, 42, 14, 32.8, 6, 18, 32, 5.5, M5_clearance_radius];
|
||||
SK10 = ["SK10", 10, 20, 21, 42, 14, 32.8, 6, 18, 32, 5.5, M5_clearance_radius];
|
||||
SK12 = ["SK12", 12, 23, 21, 42, 14, 37.5, 6, 18, 32, 5.5, M5_clearance_radius];
|
||||
SK16 = ["SK16", 16, 27, 24, 48, 16, 44.0, 8, 25, 38, 5.5, M5_clearance_radius];
|
||||
|
||||
sk_brackets = [SK8, SK10, SK12, SK16];
|
||||
use <sk_bracket.scad>
|
||||
|
Loading…
Reference in New Issue
Block a user