diff --git a/libtest.png b/libtest.png
index 529f336..2731846 100644
Binary files a/libtest.png and b/libtest.png differ
diff --git a/libtest.scad b/libtest.scad
index d7aff26..cfd5a70 100644
--- a/libtest.scad
+++ b/libtest.scad
@@ -205,8 +205,8 @@ ball_bearings_y = pillars_y + 40;
pulleys_y = ball_bearings_y +40;
hot_ends_y = pulleys_y + 60;
linear_bearings_y = hot_ends_y + 50;
-sheets_y = linear_bearings_y + 100;
-pcbs_y = sheets_y + 40;
+sheets_y = linear_bearings_y + 90;
+pcbs_y = sheets_y + 60;
displays_y = pcbs_y + 170;
fans_y = displays_y + 80;
transformers_y = fans_y + 120;
diff --git a/readme.md b/readme.md
index c1cd1b6..4feef76 100644
--- a/readme.md
+++ b/readme.md
@@ -3154,6 +3154,7 @@ When woven sheets (e.g. carbon fibre) are rendered it is necessary to specify th
| 1 | `sheet(FoilTape, 30, 30, 2)` | Aluminium foil tape 30mm x 30mm x 0.05mm |
| 1 | `sheet(AL6, 30, 30, 2)` | Aluminium tooling plate 30mm x 30mm x 6mm |
| 1 | `sheet(AL8, 30, 30, 2)` | Aluminium tooling plate 30mm x 30mm x 8mm |
+| 1 | `sheet(Spring05, 30, 30, 2)` | Bi-metal saw blade 30mm x 30mm x 0.5mm |
| 1 | `sheet(Cardboard, 30, 30, 2)` | Corrugated cardboard 30mm x 30mm x 5mm |
| 1 | `sheet(Foam20, 30, 30, 2)` | Foam sponge 30mm x 30mm x 20mm |
| 1 | `sheet(DiBond, 30, 30, 2)` | Sheet DiBond 30mm x 30mm x 3mm |
@@ -3172,6 +3173,7 @@ When woven sheets (e.g. carbon fibre) are rendered it is necessary to specify th
| 1 | `sheet(CF3, 30, 30, 2)` | Sheet carbon fiber 30mm x 30mm x 3mm |
| 1 | `sheet(glass2, 30, 30, 2)` | Sheet glass 30mm x 30mm x 2mm |
| 1 | `sheet(Steel06, 30, 30, 2)` | Sheet mild steel 30mm x 30mm x 0.6mm |
+| 1 | `sheet(Silicone3, 30, 30, 2)` | Sheet silicone 30mm x 30mm x 3mm |
Top
diff --git a/tests/PCBs.scad b/tests/PCBs.scad
index 58403c7..314dfaf 100644
--- a/tests/PCBs.scad
+++ b/tests/PCBs.scad
@@ -29,7 +29,7 @@ module pcbs() {
rotate(90)
pcb_assembly(pcbs[$i], 5 + $i, 3);
- translate([0, 120])
+ translate([0, 110])
layout([for(p = perfboards) pcb_length(p)], 10)
translate([0, -pcb_width(perfboards[$i]) / 2])
pcb_assembly(perfboards[$i], 5 + $i, 3);
diff --git a/tests/png/pcbs.png b/tests/png/pcbs.png
index 0ddb286..e5706e0 100644
Binary files a/tests/png/pcbs.png and b/tests/png/pcbs.png differ
diff --git a/tests/png/sheets.png b/tests/png/sheets.png
index 2eaa377..8ad0d4f 100644
Binary files a/tests/png/sheets.png and b/tests/png/sheets.png differ
diff --git a/tests/sheets.scad b/tests/sheets.scad
index 77b0e7e..2dc029d 100644
--- a/tests/sheets.scad
+++ b/tests/sheets.scad
@@ -25,25 +25,30 @@ include <../vitamins/screws.scad>
width = 30;
2d = true;
-module sheets()
- layout([for(s = sheets) width], 5)
- let(sheet = sheets[$i], w = sheet_is_woven(sheet) ? width : undef)
- if(2d)
- render_2D_sheet(sheet, w = w, d = w)
- difference() {
- sheet_2D(sheet, width, width, 2);
+module sheets() {
+ rows = 2;
+ n = ceil(len(sheets) / rows);
+ w = width + 5;
+ for(y = [0 : rows - 1], x = [0 : n - 1], s = y * n + x)
+ if(s < len(sheets))
+ translate([width / 2 + x * w, y * w])
+ let(sheet = sheets[s], w = sheet_is_woven(sheet) ? width : undef)
+ if(2d)
+ render_2D_sheet(sheet, w = w, d = w)
+ difference() {
+ sheet_2D(sheet, width, width, 2);
- circle(3);
- }
- else
- render_sheet(sheet, w = w, d = w)
- difference() {
- sheet(sheet, width, width, 2);
-
- translate_z(sheet_thickness(sheet) / 2)
- screw_countersink(M3_cs_cap_screw);
- }
+ circle(3);
+ }
+ else
+ render_sheet(sheet, w = w, d = w)
+ difference() {
+ sheet(sheet, width, width, 2);
+ translate_z(sheet_thickness(sheet) / 2)
+ screw_countersink(M3_cs_cap_screw);
+ }
+}
if($preview)
sheets();
diff --git a/vitamins/sheets.scad b/vitamins/sheets.scad
index 171e103..844777b 100644
--- a/vitamins/sheets.scad
+++ b/vitamins/sheets.scad
@@ -45,11 +45,14 @@ Foam20 = [ "Foam20", "Foam sponge", 20,[0.3, 0.3, 0.3, 1 ],
AL6 = [ "AL6", "Aluminium tooling plate", 6, [0.9, 0.9, 0.9, 1 ], false];
AL8 = [ "AL8", "Aluminium tooling plate", 8, [0.9, 0.9, 0.9, 1 ], false];
Steel06 = [ "Steel06", "Sheet mild steel", 0.6,"silver" , false];
+Spring05 = [ "Spring05", "Bi-metal saw blade", 0.5,"#FBC300", false];
+Silicone3 = [ "Silicone3", "Sheet silicone", 3, [0.9, 0.9, 0.9, 0.95 ], false];
CF1 = [ "CF1", "Sheet carbon fiber", 1, grey(30), false, 2, 2, grey(25)];
CF2 = [ "CF2", "Sheet carbon fiber", 2, grey(30), false, 2, 2, grey(25)];
CF3 = [ "CF3", "Sheet carbon fiber", 3, grey(30), false, 2, 2, grey(25)];
-sheets = [CF1, CF2, CF3, MDF6, MDF10, MDF12, MDF19, PMMA2, PMMA3, PMMA6, PMMA8, PMMA10, glass2, DiBond, DiBond6, Cardboard, FoilTape, Foam20, AL6, AL8, Steel06];
+sheets = [CF1, CF2, CF3, MDF6, MDF10, MDF12, MDF19, PMMA2, PMMA3, PMMA6, PMMA8, PMMA10,
+ glass2, DiBond, DiBond6, Cardboard, FoilTape, AL6, AL8, Steel06, Spring05, Silicone3, Foam20];
use