1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-09-25 14:39:01 +02:00

Compare commits

...

5 Commits

Author SHA1 Message Date
Chris Palmer
80eb5ebc43 Merge branch 'elliotf-makerbeam-extrusions' 2025-07-01 15:03:35 +01:00
Chris Palmer
d15cf6cf35 Updated images and readme. 2025-07-01 15:03:08 +01:00
Chris Palmer
2769c3714c Merge branch 'makerbeam-extrusions' of https://github.com/elliotf/NopSCADlib into elliotf-makerbeam-extrusions 2025-07-01 14:32:07 +01:00
Chris Palmer
185bb8d6a9 Updated changelog. 2025-07-01 14:13:07 +01:00
Elliot Foster
ca9cc97b2a Makerbeam work in progress 2025-06-28 13:17:56 -05:00
9 changed files with 39 additions and 30 deletions

View File

@@ -3,6 +3,11 @@
This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes.
### [v21.39.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.39.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.38.1...v21.39.0 "diff with v21.38.1")
* 2025-07-01 [`915ceea`](https://github.com/nophead/NopSCADlib/commit/915ceea296aa54e8432c98ac01d527d214740953 "show commit") [C.P.](# "Chris Palmer") Updated images and readme.
* 2025-06-28 [`5a14c55`](https://github.com/nophead/NopSCADlib/commit/5a14c55ca5fc064c0ca04f1f4058bac25f2a65be "show commit") [E.F.](# "Elliot Foster") Add the Mellow Fly D5 PCB
#### [v21.38.1](https://github.com/nophead/NopSCADlib/releases/tag/v21.38.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v21.38.0...v21.38.1 "diff with v21.38.0")
* 2025-05-16 [`9c5014b`](https://github.com/nophead/NopSCADlib/commit/9c5014b73d51d5071259fb7df814b8a62016d214 "show commit") [C.P.](# "Chris Palmer") Updated examples.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@@ -473,7 +473,7 @@ translate([x3 + 10, hot_ends_y])
translate([x2, panel_meters_y])
panel_meters();
translate([x2, extrusions_y])
translate([x2 - 15, extrusions_y])
extrusions();
translate([x2, box_sections_y])

View File

@@ -1210,24 +1210,26 @@ Aluminium extrusion.
### Modules
| Module | Description |
|:--- |:--- |
| `extrusion(type, length, center = true, cornerHole = false)` | Draw the specified extrusion |
| `extrusion(type, length, center = true, cornerHole = true)` | Draw the specified extrusion |
![extrusions](tests/png/extrusions.png)
### Vitamins
| Qty | Module call | BOM entry |
| ---:|:--- |:---|
| 1 | `extrusion(E1515, 80)` | Extrusion E1515 x 80mm |
| 1 | `extrusion(E2020, 80)` | Extrusion E2020 x 80mm |
| 1 | `extrusion(E2020t, 80)` | Extrusion E2020t x 80mm |
| 1 | `extrusion(E2040, 80)` | Extrusion E2040 x 80mm |
| 1 | `extrusion(E2060, 80)` | Extrusion E2060 x 80mm |
| 1 | `extrusion(E2080, 80)` | Extrusion E2080 x 80mm |
| 1 | `extrusion(E1515, 80, cornerHole = true)` | Extrusion E1515 x 80mm |
| 1 | `extrusion(E2020, 80, cornerHole = true)` | Extrusion E2020 x 80mm |
| 1 | `extrusion(E2020t, 80, cornerHole = true)` | Extrusion E2020t x 80mm |
| 1 | `extrusion(E2040, 80, cornerHole = true)` | Extrusion E2040 x 80mm |
| 1 | `extrusion(E2060, 80, cornerHole = true)` | Extrusion E2060 x 80mm |
| 1 | `extrusion(E2080, 80, cornerHole = true)` | Extrusion E2080 x 80mm |
| 1 | `extrusion(E3030, 80, cornerHole = true)` | Extrusion E3030 x 80mm |
| 1 | `extrusion(E3060, 80, cornerHole = true)` | Extrusion E3060 x 80mm |
| 1 | `extrusion(E4040, 80, cornerHole = true)` | Extrusion E4040 x 80mm |
| 1 | `extrusion(E4040t, 80, cornerHole = true)` | Extrusion E4040t x 80mm |
| 1 | `extrusion(E4080, 80, cornerHole = true)` | Extrusion E4080 x 80mm |
| 1 | `extrusion(Makerbeam, 80, cornerHole = true)` | Extrusion Makerbeam x 80mm |
| 1 | `extrusion(MakerbeamXL, 80, cornerHole = true)` | Extrusion MakerbeamXL x 80mm |
<a href="#top">Top</a>
@@ -4303,8 +4305,8 @@ SK shaft support brackets
### Vitamins
| Qty | Module call | BOM entry |
| ---:|:--- |:---|
| 2 | `extrusion(E2020, 20)` | Extrusion E2020 x 20mm |
| 2 | `extrusion(E3030, 20)` | Extrusion E3030 x 20mm |
| 2 | `extrusion(E2020, 20, cornerHole = true)` | Extrusion E2020 x 20mm |
| 2 | `extrusion(E3030, 20, cornerHole = true)` | Extrusion E3030 x 20mm |
| 2 | `sliding_t_nut(M4_hammer_nut)` | Nut M4 hammer |
| 2 | `sliding_t_nut(M4_sliding_t_nut)` | Nut M4 sliding T |
| 2 | `sliding_t_nut(M5_sliding_t_nut)` | Nut M5 sliding T |

View File

@@ -35,10 +35,10 @@ module extrusions()
rotate(90)
layout(heights, gap)
rotate(-90)
extrusion(list[$i], 80, cornerHole = extrusion_width(list[$i]) > 20);
extrusion(list[$i], 80);
}
else
extrusion(e, 80, cornerHole = extrusion_width(e) > 20);
extrusion(e, 80);
if ($preview)
extrusions();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -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_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);
height = extrusion_height(type);
centerSquare = extrusion_center_square(type);
@@ -54,7 +54,7 @@ module extrusion_cross_section(type, cornerHole) {
if(d < 0)
circle(d = -d);
module extrusion_corner(type, cornerHole) {
module extrusion_corner(type) {
fillet = extrusion_fillet(type);
cornerSize = (width - channelWidth) / 2;
cornerHoleDiameter = abs(extrusion_corner_hole(type));
@@ -74,7 +74,7 @@ module extrusion_cross_section(type, cornerHole) {
translate([fillet, fillet])
square([cornerSquare - fillet, cornerSquare - fillet]);
}
if(cornerHole)
if(cornerHole && cornerHoleDiameter)
translate([cornerSquare / 2, cornerSquare / 2])
squircle(extrusion_corner_hole_wd(type));
}
@@ -117,7 +117,7 @@ module extrusion_cross_section(type, cornerHole) {
translate([0, side * (width - height) / 2])
for(angle = [0, 90])
rotate(angle + (side < 0 ? 180 : 0))
extrusion_corner(type, cornerHole);
extrusion_corner(type);
if(count >= 1)
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"));

View File

@@ -19,19 +19,21 @@
//
// Extrusion
//
// 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 ];
E2020 = [ "E2020", 20, 20, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
E2020t = [ "E2020t",20, 20, -5.0, -3, 7.8, 6.2, 11.0, 1.8, 1.5, 1.5, [7.2, 0.5] ];
E2040 = [ "E2040", 20, 40, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
E2060 = [ "E2060", 20, 60, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
E2080 = [ "E2080", 20, 80, -4.2, -3, 8, 6, 12.0, 2, 2, 1, false ];
E3030 = [ "E3030", 30, 30, -6.8, -4.2, 12, 8, 16.5, 2, 2, 1, false ];
E3060 = [ "E3060", 30, 60, -6.8, -4.2, 12, 8, 16.5, 2, 2, 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 ];
// W H d1 d2 sq cw cwi t st f recess
Makerbeam = [ "Makerbeam", 10, 10, -2.5, 0, 4, 3, 6.5, 1, 1, 0.25, false ];
MakerbeamXL = [ "MakerbeamXL", 15, 15, -2.55, -2.55, 5, 3, 5.7, 1.1, 2, 0.25, false ];
E1515 = [ "E1515", 15, 15, -3.3, 0, 5.5, 6.2, 9.5, 1.0, 0.9, 0.5, false ];
E2020 = [ "E2020", 20, 20, -4.2, 0, 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] ];
E2040 = [ "E2040", 20, 40, -4.2, 0, 8, 6, 12.0, 2, 2, 1, false ];
E2060 = [ "E2060", 20, 60, -4.2, 0, 8, 6, 12.0, 2, 2, 1, false ];
E2080 = [ "E2080", 20, 80, -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 ];
E3060 = [ "E3060", 30, 60, -6.8, -4.2, 12, 8, 16.5, 2, 2, 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>