mirror of
https://github.com/DJSundog/NopSCADlib.git
synced 2024-11-23 15:23:51 -05:00
Merge branch 'sk_brackets_tidy' of https://github.com/martinbudden/NopSCADlib into martinbudden-sk_brackets_tidy
This commit is contained in:
commit
0335545334
@ -22,11 +22,13 @@ use <../utils/layout.scad>
|
|||||||
include <../vitamins/sk_brackets.scad>
|
include <../vitamins/sk_brackets.scad>
|
||||||
|
|
||||||
module sk_brackets() {
|
module sk_brackets() {
|
||||||
|
part_thickness = 5;
|
||||||
nuts = [undef, M5_nut, M5_sliding_t_nut, M5_sliding_t_nut];
|
nuts = [undef, M5_nut, M5_sliding_t_nut, M5_sliding_t_nut];
|
||||||
layout([for(s = sk_brackets) 1.5 * sk_size(s)[1]])
|
layout([for(s = sk_brackets) 1.5 * sk_size(s)[1]])
|
||||||
sk_bracket_assembly(sk_brackets[$i], nut_type = nuts[$i]);
|
sk_bracket_assembly(sk_brackets[$i], part_thickness, nut_type = nuts[$i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($preview)
|
if($preview)
|
||||||
sk_brackets();
|
let($show_threads = true)
|
||||||
|
sk_brackets();
|
||||||
|
|
||||||
|
@ -36,15 +36,15 @@ function sk_screw_separation(type) = type[9]; //! Separation of screws in the ba
|
|||||||
module sk_bracket(type) { //! SK shaft support bracket
|
module sk_bracket(type) { //! SK shaft support bracket
|
||||||
vitamin(str("sk_bracket(", type[0], "): SK", sk_diameter(type), " shaft support bracket"));
|
vitamin(str("sk_bracket(", type[0], "): SK", sk_diameter(type), " shaft support bracket"));
|
||||||
|
|
||||||
d = type[1];
|
d = sk_diameter(type);
|
||||||
h = type[2];
|
h = sk_hole_offset(type);
|
||||||
E = type[3];
|
E = type[3];
|
||||||
W = type[4];
|
W = sk_size(type)[0];
|
||||||
L = type[5];
|
L = sk_size(type)[2];
|
||||||
F = type[6];
|
F = sk_size(type)[1];
|
||||||
G = type[7];
|
G = sk_base_height(type);
|
||||||
P = type[8];
|
P = type[8];
|
||||||
B = type[9];
|
B = sk_screw_separation(type);
|
||||||
S = type[10];
|
S = type[10];
|
||||||
bolthole_radius = type[11];
|
bolthole_radius = type[11];
|
||||||
|
|
||||||
@ -93,24 +93,35 @@ module sk_bracket(type) { //! SK shaft support bracket
|
|||||||
screw(M3_cap_screw, P - screw_head_height(M3_cap_screw) / 2 + eps);
|
screw(M3_cap_screw, P - screw_head_height(M3_cap_screw) / 2 + eps);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module sk_bracket_hole_positions(type) { //! Place children at hole positions
|
||||||
module sk_bracket_assembly(type, screw_length = 16, screw_type = M5_cap_screw, nut_type = undef) { //! Assembly with fasteners in place
|
|
||||||
sk_bracket(type);
|
|
||||||
|
|
||||||
nut_type = is_undef(nut_type) ? screw_nut(screw_type) : nut_type;
|
|
||||||
|
|
||||||
for (x = [-sk_screw_separation(type), sk_screw_separation(type)])
|
for (x = [-sk_screw_separation(type), sk_screw_separation(type)])
|
||||||
translate([x / 2, sk_base_height(type) - sk_hole_offset(type), 0])
|
translate([x / 2, sk_base_height(type) - sk_hole_offset(type), 0])
|
||||||
rotate([-90, 0, 0]) {
|
rotate([-90, 0, 0])
|
||||||
screw_and_washer(screw_type, screw_length);
|
children();
|
||||||
translate_z(-screw_length + 2 * washer_thickness(screw_washer(screw_type)))
|
}
|
||||||
if(nut_type == M5_sliding_t_nut)
|
|
||||||
translate_z(nut_thickness(nut_type))
|
module sk_bracket_assembly(type, part_thickness, screw_type = M5_cap_screw, nut_type = undef) { //! Assembly with fasteners in place
|
||||||
vflip()
|
sk_bracket(type);
|
||||||
sliding_t_nut(nut_type);
|
|
||||||
else
|
screw_type = is_undef(screw_type) ? scs_screw(type) : screw_type;
|
||||||
nut(nut_type)
|
screw_washer_thickness = washer_thickness(screw_washer(screw_type));
|
||||||
washer(nut_washer(nut_type));
|
nut_type = is_undef(nut_type) ? screw_nut(screw_type) : nut_type;
|
||||||
}
|
nut_washer_type = nut_washer(nut_type);
|
||||||
|
nut_washer_thickness = nut_washer_type ? washer_thickness(nut_washer_type) : 0;
|
||||||
|
|
||||||
|
nut_offset = sk_base_height(type) + part_thickness + nut_thickness(nut_type) + nut_washer_thickness;
|
||||||
|
screw_length = screw_longer_than(nut_offset + screw_washer_thickness);
|
||||||
|
|
||||||
|
sk_bracket_hole_positions(type) {
|
||||||
|
screw_and_washer(screw_type, screw_length);
|
||||||
|
translate_z(-nut_offset)
|
||||||
|
if(nut_type == M5_sliding_t_nut)
|
||||||
|
translate_z(nut_thickness(nut_type))
|
||||||
|
vflip()
|
||||||
|
sliding_t_nut(nut_type);
|
||||||
|
else
|
||||||
|
nut(nut_type)
|
||||||
|
washer(nut_washer(nut_type));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user