mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-08-09 17:06:34 +02:00
Makerbeam work in progress
This commit is contained in:
@@ -35,10 +35,10 @@ module extrusions()
|
|||||||
rotate(90)
|
rotate(90)
|
||||||
layout(heights, gap)
|
layout(heights, gap)
|
||||||
rotate(-90)
|
rotate(-90)
|
||||||
extrusion(list[$i], 80, cornerHole = extrusion_width(list[$i]) > 20);
|
extrusion(list[$i], 80);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
extrusion(e, 80, cornerHole = extrusion_width(e) > 20);
|
extrusion(e, 80);
|
||||||
|
|
||||||
if ($preview)
|
if ($preview)
|
||||||
extrusions();
|
extrusions();
|
||||||
|
@@ -37,7 +37,7 @@ function extrusion_center_hole(type) = abs(extrusion_center_hole_wd(t
|
|||||||
function extrusion_corner_hole(type) = abs(extrusion_corner_hole_wd(type)); //! Diameter of corner hole or side if square
|
function extrusion_corner_hole(type) = abs(extrusion_corner_hole_wd(type)); //! Diameter of corner hole or side if square
|
||||||
function extrusion_center_square(type) = abs(extrusion_center_square_wd(type)); //! Size of center square or tube
|
function extrusion_center_square(type) = abs(extrusion_center_square_wd(type)); //! Size of center square or tube
|
||||||
|
|
||||||
module extrusion_cross_section(type, cornerHole) {
|
module extrusion_cross_section(type, cornerHole=true) {
|
||||||
width = extrusion_width(type);
|
width = extrusion_width(type);
|
||||||
height = extrusion_height(type);
|
height = extrusion_height(type);
|
||||||
centerSquare = extrusion_center_square(type);
|
centerSquare = extrusion_center_square(type);
|
||||||
@@ -54,7 +54,7 @@ module extrusion_cross_section(type, cornerHole) {
|
|||||||
if(d < 0)
|
if(d < 0)
|
||||||
circle(d = -d);
|
circle(d = -d);
|
||||||
|
|
||||||
module extrusion_corner(type, cornerHole) {
|
module extrusion_corner(type) {
|
||||||
fillet = extrusion_fillet(type);
|
fillet = extrusion_fillet(type);
|
||||||
cornerSize = (width - channelWidth) / 2;
|
cornerSize = (width - channelWidth) / 2;
|
||||||
cornerHoleDiameter = abs(extrusion_corner_hole(type));
|
cornerHoleDiameter = abs(extrusion_corner_hole(type));
|
||||||
@@ -74,7 +74,7 @@ module extrusion_cross_section(type, cornerHole) {
|
|||||||
translate([fillet, fillet])
|
translate([fillet, fillet])
|
||||||
square([cornerSquare - fillet, cornerSquare - fillet]);
|
square([cornerSquare - fillet, cornerSquare - fillet]);
|
||||||
}
|
}
|
||||||
if(cornerHole)
|
if(cornerHole && cornerHoleDiameter)
|
||||||
translate([cornerSquare / 2, cornerSquare / 2])
|
translate([cornerSquare / 2, cornerSquare / 2])
|
||||||
squircle(extrusion_corner_hole_wd(type));
|
squircle(extrusion_corner_hole_wd(type));
|
||||||
}
|
}
|
||||||
@@ -117,7 +117,7 @@ module extrusion_cross_section(type, cornerHole) {
|
|||||||
translate([0, side * (width - height) / 2])
|
translate([0, side * (width - height) / 2])
|
||||||
for(angle = [0, 90])
|
for(angle = [0, 90])
|
||||||
rotate(angle + (side < 0 ? 180 : 0))
|
rotate(angle + (side < 0 ? 180 : 0))
|
||||||
extrusion_corner(type, cornerHole);
|
extrusion_corner(type);
|
||||||
|
|
||||||
if(count >= 1)
|
if(count >= 1)
|
||||||
for(i = [1 : count])
|
for(i = [1 : count])
|
||||||
@@ -133,7 +133,7 @@ module extrusion_cross_section(type, cornerHole) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module extrusion(type, length, center = true, cornerHole = false) { //! Draw the specified extrusion
|
module extrusion(type, length, center = true, cornerHole = true) { //! Draw the specified extrusion
|
||||||
|
|
||||||
vitamin(str("extrusion(", type[0], ", ", length, arg(cornerHole, false, "cornerHole"), "): Extrusion ", type[0], " x ", length, "mm"));
|
vitamin(str("extrusion(", type[0], ", ", length, arg(cornerHole, false, "cornerHole"), "): Extrusion ", type[0], " x ", length, "mm"));
|
||||||
|
|
||||||
|
@@ -19,19 +19,21 @@
|
|||||||
//
|
//
|
||||||
// Extrusion
|
// Extrusion
|
||||||
//
|
//
|
||||||
// W H d1 d2 sq cw cwi t st f recess
|
// W H d1 d2 sq cw cwi t st f recess
|
||||||
E1515 = [ "E1515", 15, 15, -3.3, 0, 5.5, 6.2, 9.5, 1.0, 0.9, 0.5, false ];
|
Makerbeam = [ "Makerbeam", 10, 10, -2.5, 0, 4, 3, 6.5, 1, 1, 0.25, false ];
|
||||||
E2020 = [ "E2020", 20, 20, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
|
MakerbeamXL = [ "MakerbeamXL", 15, 15, -2.55, -2.55, 5, 3, 5.7, 1.1, 2, 0.25, false ];
|
||||||
E2020t = [ "E2020t",20, 20, -5.0, -3, 7.8, 6.2, 11.0, 1.8, 1.5, 1.5, [7.2, 0.5] ];
|
E1515 = [ "E1515", 15, 15, -3.3, 0, 5.5, 6.2, 9.5, 1.0, 0.9, 0.5, false ];
|
||||||
E2040 = [ "E2040", 20, 40, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
|
E2020 = [ "E2020", 20, 20, -4.2, 0, 8, 6, 12.0, 2, 2, 1, false ];
|
||||||
E2060 = [ "E2060", 20, 60, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
|
E2020t = [ "E2020t", 20, 20, -5.0, 0, 7.8, 6.2, 11.0, 1.8, 1.5, 1.5, [7.2, 0.5] ];
|
||||||
E2080 = [ "E2080", 20, 80, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
|
E2040 = [ "E2040", 20, 40, -4.2, 0, 8, 6, 12.0, 2, 2, 1, false ];
|
||||||
E3030 = [ "E3030", 30, 30, -6.8, -4.2, 12, 8, 16.5, 2, 2, 1, false ];
|
E2060 = [ "E2060", 20, 60, -4.2, 0, 8, 6, 12.0, 2, 2, 1, false ];
|
||||||
E3060 = [ "E3060", 30, 60, -6.8, -4.2, 12, 8, 16.5, 2, 2, 1, false ];
|
E2080 = [ "E2080", 20, 80, -4.2, 0, 8, 6, 12.0, 2, 2, 1, false ];
|
||||||
E4040 = [ "E4040", 40, 40, -10.5, -6.0, 15, 10, 20.0, 5.5, 3, 1, false ];
|
E3030 = [ "E3030", 30, 30, -6.8, -4.2, 12, 8, 16.5, 2, 2, 1, false ];
|
||||||
E4040t = [ "E4040t",40, 40, -10, 6.8, -16, 10, 20.0, 4.0, 2.4, 1.5, [12, 1] ];
|
E3060 = [ "E3060", 30, 60, -6.8, -4.2, 12, 8, 16.5, 2, 2, 1, false ];
|
||||||
E4080 = [ "E4080", 40, 80, -10.5, -6.0, 15, 10, 20.0, 5.5, 3, 1, false ];
|
E4040 = [ "E4040", 40, 40, -10.5, -6.0, 15, 10, 20.0, 5.5, 3, 1, false ];
|
||||||
|
E4040t = [ "E4040t", 40, 40, -10, 6.8, -16, 10, 20.0, 4.0, 2.4, 1.5, [12, 1] ];
|
||||||
|
E4080 = [ "E4080", 40, 80, -10.5, -6.0, 15, 10, 20.0, 5.5, 3, 1, false ];
|
||||||
|
|
||||||
extrusions = [E1515, [E2020t, E2020], E2040, E2060, E2080, E3030, E3060, [E4040t, E4040], E4080];
|
extrusions = [Makerbeam, [E1515, MakerbeamXL], [E2020t, E2020], E2040, E2060, E2080, E3030, E3060, [E4040t, E4040], E4080];
|
||||||
|
|
||||||
use <extrusion.scad>
|
use <extrusion.scad>
|
||||||
|
Reference in New Issue
Block a user