extrusion_corner_bracket_assembly() and extrusion_inner_corner_bracket() can now be passed the extrusion type.
E2020t and E4040t thinner extrusions added to work with the brackets. Extrusions can now have recessed channels, round or square centre sections and holes. Fixed the shape of extrusion centre section spars. T-nuts now have 45 degree chamfers instead of a fixed 1mm minimum thickness.
@@ -23,8 +23,9 @@ include <../vitamins/extrusion_brackets.scad>
|
||||
include <../vitamins/washers.scad>
|
||||
include <../vitamins/nuts.scad>
|
||||
|
||||
module inner_bracket_test(bracket, extrusion, backwards = false)
|
||||
module inner_bracket_test(bracket, backwards = false)
|
||||
rotate([90, 0, 180]) {
|
||||
extrusion = extrusion_inner_corner_bracket_extrusion(bracket);
|
||||
eWidth = extrusion_width(extrusion);
|
||||
size = extrusion_inner_corner_bracket_size(bracket);
|
||||
tnut = extrusion_inner_corner_bracket_tnut(bracket);
|
||||
@@ -34,16 +35,17 @@ module inner_bracket_test(bracket, extrusion, backwards = false)
|
||||
|
||||
translate([-eWidth / 2, 0])
|
||||
rotate([-90, 0, 0])
|
||||
extrusion(extrusion, size.x - nut_thickness(tnut) - extrusion_tab_thickness(extrusion), false);
|
||||
extrusion(extrusion, size.x - nut_thickness(tnut) - extrusion_tab_thickness(extrusion), false, cornerHole = eWidth > 20);
|
||||
|
||||
translate([-eWidth, -eWidth / 2])
|
||||
rotate([0, 90, 0])
|
||||
extrusion(extrusion, eWidth + size.y - nut_thickness(tnut) - extrusion_tab_thickness(extrusion), false);
|
||||
extrusion(extrusion, eWidth + size.y - nut_thickness(tnut) - extrusion_tab_thickness(extrusion), false, cornerHole = eWidth > 20);
|
||||
}
|
||||
|
||||
|
||||
module bracket_test(bracket, extrusion)
|
||||
module bracket_test(bracket)
|
||||
rotate([90, 0, 180]) {
|
||||
extrusion = extrusion_corner_bracket_extrusion(bracket);
|
||||
eWidth = extrusion_width(extrusion);
|
||||
size = extrusion_corner_bracket_size(bracket);
|
||||
|
||||
@@ -51,11 +53,11 @@ module bracket_test(bracket, extrusion)
|
||||
|
||||
translate([-eWidth / 2, 0])
|
||||
rotate([-90, 0, 0])
|
||||
extrusion(extrusion, size.y, false);
|
||||
extrusion(extrusion, size.y, false, cornerHole = eWidth > 20);
|
||||
|
||||
translate([-eWidth, -eWidth / 2])
|
||||
rotate([0, 90, 0])
|
||||
extrusion(extrusion, eWidth + size.x, false);
|
||||
extrusion(extrusion, eWidth + size.x, false, cornerHole = eWidth > 20);
|
||||
}
|
||||
|
||||
|
||||
@@ -76,19 +78,19 @@ module extrusion_brackets(examples = false) {
|
||||
|
||||
if(examples) {
|
||||
translate([20, 50, 10])
|
||||
inner_bracket_test(E20_inner_corner_bracket, E2020, true);
|
||||
inner_bracket_test(E20_inner_corner_bracket, true);
|
||||
|
||||
translate([20, 80, 10])
|
||||
inner_bracket_test(E20_inner_corner_bracket, E2020);
|
||||
inner_bracket_test(E20_inner_corner_bracket);
|
||||
|
||||
translate([20, 120, 10])
|
||||
bracket_test(E20_corner_bracket, E2020);
|
||||
bracket_test(E20_corner_bracket);
|
||||
|
||||
translate([100, 70, 10])
|
||||
inner_bracket_test(E40_inner_corner_bracket, E4040);
|
||||
inner_bracket_test(E40_inner_corner_bracket);
|
||||
|
||||
translate([100, 130, 10])
|
||||
bracket_test(E40_corner_bracket, E4040);
|
||||
bracket_test(E40_corner_bracket);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -21,9 +21,24 @@ use <../utils/layout.scad>
|
||||
|
||||
include <../vitamins/extrusions.scad>
|
||||
|
||||
gap = 10;
|
||||
|
||||
module extrusions()
|
||||
layout([for(e = extrusions) extrusion_width(e)], 10)
|
||||
extrusion(extrusions[$i], 80, cornerHole = extrusion_width(extrusions[$i]) > 20);
|
||||
layout([for(e = extrusions) is_list(e[0]) ? extrusion_width(e[0]) : extrusion_width(e)], gap)
|
||||
let(e = extrusions[$i])
|
||||
if(is_list(e[0])) {
|
||||
list = e;
|
||||
heights = [for(e = list) extrusion_height(e)];
|
||||
l = len(heights) - 1;
|
||||
offset = (heights * [for(i = [0 : l]) 1] + l * gap) / 2;
|
||||
translate([0, -offset])
|
||||
rotate(90)
|
||||
layout(heights, gap)
|
||||
rotate(-90)
|
||||
extrusion(list[$i], 80, cornerHole = extrusion_width(list[$i]) > 20);
|
||||
}
|
||||
else
|
||||
extrusion(e, 80, cornerHole = extrusion_width(e) > 20);
|
||||
|
||||
if ($preview)
|
||||
extrusions();
|
||||
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |