diff --git a/tests/bom.scad b/tests/bom.scad deleted file mode 100644 index 19568c3..0000000 --- a/tests/bom.scad +++ /dev/null @@ -1,107 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// - -// -//! BOM and assembly demonstration -// -include <../core.scad> -include <../vitamins/sheets.scad> -use <../vitamins/insert.scad> -$explode = 1; // Normally set on the command line when generating assembly views with views.py - -screw = M3_cap_screw; -sheet = PMMA3; -height = 10; - -insert = screw_insert(screw); -washer = screw_washer(screw); - -module widget(thickness) { - vitamin(str("widget(", thickness, "): Rivit like thing for ", thickness, "mm sheets")); - t = 1; - color("silver") { - cylinder(d = 3, h = thickness + 2 * eps, center = true); - - for(end = [-1, 1]) - translate_z(end * (thickness / 2 + t / 2 + eps)) - cylinder(d = 4, h = t, center = true); - } -} - -module widgit_stl() { - stl("widget"); - - union() { - rounded_rectangle([30, 30, 3], 2); - - render() insert_boss(insert, height, 2.2); - } -} - -module widgit_dxf() { - dxf("widget"); - - difference() { - sheet_2D(sheet, 20, 20, 1); - - drill(screw_clearance_radius(screw), 0); - } -} - -//! * Push the insert into the base with a soldering iron heated to 200°C -module widgit_base_assembly() -assembly("widgit_base") { - color(pp1_colour) - widgit_stl(); - - translate_z(height) - insert(insert); -} - -//! * Magically insert the widget into the acrylic sheet -module widget_top_assembly() -assembly("widget_top") { - translate([-5, 5]) - widget(sheet_thickness(sheet)); - - render_2D_sheet(sheet) // Must be last because it is transparent - widgit_dxf(); -} - -//! * Screw the two assemblies together -module widgit_assembly() -assembly("wigdit") { - - widgit_base_assembly(); // Note this is not exloded because it is sub-assembly - - translate_z(height) { - translate_z(sheet_thickness(sheet)) - screw_and_washer(screw, screw_longer_than(sheet_thickness(sheet) + 2 * washer_thickness(washer) + 3), true); - - explode(5) - translate_z(sheet_thickness(sheet) / 2 + eps) - widget_top_assembly(); - } -} - -module boms() { - widgit_assembly(); -} - -boms(); diff --git a/tests/iecs.scad b/tests/iecs.scad deleted file mode 100644 index 77245ee..0000000 --- a/tests/iecs.scad +++ /dev/null @@ -1,30 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/iecs.scad> - -use <../utils/layout.scad> - -module iecs() - layout([for(i = iecs) iec_flange_h(i)], 10) - rotate(90) - iec_assembly(iecs[$i], 3); - -if($preview) - iecs(); diff --git a/tests/kp_pillow_blocks.scad b/tests/kp_pillow_blocks.scad deleted file mode 100644 index fc4eb7c..0000000 --- a/tests/kp_pillow_blocks.scad +++ /dev/null @@ -1,33 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/kp_pillow_blocks.scad> - -use <../utils/layout.scad> - -module kp_pillow_blocks() { - screws = [M4_cap_screw, M4_cap_screw, M5_cap_screw, M5_cap_screw]; - nuts = [M4_sliding_t_nut, M4_hammer_nut, M5_sliding_t_nut, M5_nut]; - assert(len(screws) == len(kp_pillow_blocks) && len(nuts) == len(kp_pillow_blocks)); - layout([for(k = kp_pillow_blocks) 2 * kp_size(k)[1]]) - kp_pillow_block_assembly(kp_pillow_blocks[$i], screw_type = screws[$i], nut_type = nuts[$i]); -} - -if($preview) - kp_pillow_blocks(); diff --git a/tests/ldrs.scad b/tests/ldrs.scad deleted file mode 100644 index a3139ed..0000000 --- a/tests/ldrs.scad +++ /dev/null @@ -1,27 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../vitamins/ldrs.scad> - -use <../utils/layout.scad> - -module ldrs() - layout([for(l = ldrs) ldr_diameter(l)], 5) - LDR(ldrs[$i]); - -ldrs(); diff --git a/tests/leds.scad b/tests/leds.scad deleted file mode 100644 index 98e4ca1..0000000 --- a/tests/leds.scad +++ /dev/null @@ -1,29 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../utils/core/core.scad> -use <../utils/layout.scad> - -include <../vitamins/leds.scad> - -module leds() - layout([for(l = LEDs) led_diameter(l)], 5) - led(LEDs[$i], ["green", "blue", "red"][$i % 3]); - -if($preview) - leds(); diff --git a/tests/pcb.scad b/tests/pcb.scad deleted file mode 100644 index d0c1014..0000000 --- a/tests/pcb.scad +++ /dev/null @@ -1,109 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2020 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/microswitches.scad> -include <../vitamins/d_connectors.scad> - -use <../vitamins/pcb.scad> - -gt_5x17 = ["gt_5x17", 5, 10, 17, 5, 11, 0.4, 9, 2,1.5, 1, 3, 6, 0, 0, 0]; -gt_5x11 = ["gt_5x11", 5, 8, 11, 5, 7, 0.4, 7, 1.5,1.5, 1,2.5, 6, 0, 0, 0]; - -TMC2130HeatSinkColor = "DeepSkyBlue"; -TMC2130 = ["TMC2130", "TMC2130", - 20, 14, 1.6, 0, 3, 0, "white", false, [], - [ - [ 10, 1, 0, "-2p54header", 8, 1 ,undef, "blue" ], - [ 10, 13, 0, "-2p54header", 8, 1], - [ 12, 7, 0, "-chip", 6, 4, 1, grey20 ], - // mock up a heat sink - [ 10, 7, 0, "block", 9, 9, 2, TMC2130HeatSinkColor ], - [ 10, 11, 0, "block", 9, 1, 11, TMC2130HeatSinkColor ], - [ 10, 9, 0, "block", 9, 1, 11, TMC2130HeatSinkColor ], - [ 10, 7, 0, "block", 9, 1, 11, TMC2130HeatSinkColor ], - [ 10, 5, 0, "block", 9, 1, 11, TMC2130HeatSinkColor ], - [ 10, 3, 0, "block", 9, 1, 11, TMC2130HeatSinkColor ], - ], - [] -]; - -test_pcb = ["TestPCB", "Test PCB", - 50, 500, 1.6, // length, width, thickness - 3, // Corner radius - 2.75, // Mounting hole diameter - 6, // Pad around mounting hole - "green",// Color - false, // True if the parts should be separate BOM items - // hole offsets - [ [3, 3], [3, -3], [-3, 3], [-3, -3] ], - // components - [ - [ 10, 10, 0, "2p54header", 4, 1], - [ 25, 10, 0, "2p54header", 5, 1, undef, "blue" ], - [ 10, 20, 0, "2p54boxhdr", 4, 2], - [ 10, 30, 0, "2p54socket", 6, 1], - [ 25, 30, 0, "2p54socket", 4, 1, undef, undef, undef, "red" ], - [ 10, 40, 0, "chip", 10, 5, 1, grey20], - [ 10, 60, 180, "rj45"], - [ 8, 80, 180, "usb_A"], - [ 8, 100, 180, "usb_Ax2"], - [ 3, 120, 180, "usb_uA"], - [ 8, 140, 180, "usb_B"], - [ 10, 160, 0, "buzzer"], - [ 25, 160, 0, "buzzer", 4.5, 8.5], - [ 10, 175, 0, "potentiometer"], - [ 30, 175, 0, "potentiometer", 7, 8], - [ 8, 190, 180, "jack"], - [ 6, 200, 180, "barrel_jack"], - [ 5, 220, 180, "hdmi"], - [ 3, 240, 180, "mini_hdmi"], - [ 10, 250, 0, "flex"], - [ 10, 265, 0, "flat_flex"], - [ 10, 280, 0, "D_plug", DCONN9], - [ 10, 300, 0, "molex_hdr", 2], - [ 10, 310, 0, "jst_xh", 2], - [ 10, 320, 180, "term254", 3], - [ 20, 320, 180, "term254", 3, undef, grey20], - [ 10, 340, 180, "gterm35", 4, [1,2]], - [ 20, 340, 180, "gterm35", 4, [1,2], "red"], - [ 30, 340, 180, "gterm", gt_5x11, 3], - [ 10, 360, 180, "gterm635", 2], - [ 25, 360, 180, "gterm635", 2, undef, "blue"], - [ 40, 360, 180, "gterm", gt_5x17, 2, undef, grey20], - [ 40, 340, 180, "gterm", gt_5x17, 3, [1], "red"], - [ 10, 380, 180, "term35", 4], - [ 20, 380, 180, "term35", 3, "lime"], - [ 10, 400, 0, "transition", 5], - [ 10, 410, 0, "block", 10, 5, 8, "orange"], - [ 10, 420, 0, "button_6mm"], - [ 10, 435, 0, "microswitch", small_microswitch], - [ 12, 450, 0, "pcb", 11, TMC2130 ], - [ 12, 456, 0, "2p54socket", 8, 1 ], - [ 12, 444, 0, "2p54socket", 8, 1, undef, undef, undef, "red" ], - [ 10, 470, 0, "standoff", 5, 4.5, 12.5, 2.54], - [ 6, 480, 180, "uSD", [12, 11.5, 1.4]], - ], - // accessories - [] -]; - - -if($preview) - let($show_threads = true) - pcb(test_pcb); diff --git a/tests/pcb_mount.scad b/tests/pcb_mount.scad deleted file mode 100644 index e1fe8a3..0000000 --- a/tests/pcb_mount.scad +++ /dev/null @@ -1,35 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2019 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../utils/core/core.scad> -use <../printed/pcb_mount.scad> - -PI_IO = ["PI_IO", "PI_IO V2", 35.56, 25.4, 1.6, 0, 0, 0, "green", true, [], - [[(3.015 - 2.7) * 25.4 - 3.5 /2, (4.5 - 3.685) * 25.4, 90, "term35", 2], - [(3.46 - 2.7) * 25.4 - 3.5 /2, (4.5 - 3.69) * 25.4, 90, "term35", 2], - [(3.91 - 2.7) * 25.4 - 3.5 /2, (4.5 - 3.69) * 25.4, 90, "term35", 2], - [(3.4 - 2.7) * 25.4, (4.5 - 4.15) * 25.4, 0, "2p54socket", 13, 2], - ], []]; - -module pcb_mounts() - if($preview) - pcb_mount_assembly(PI_IO, 3); - else - pcb_mount(PI_IO); - -pcb_mounts(); diff --git a/tests/pcbs.scad b/tests/pcbs.scad deleted file mode 100644 index 7493ad9..0000000 --- a/tests/pcbs.scad +++ /dev/null @@ -1,31 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/pcbs.scad> - -use <../utils/layout.scad> - -module pcbs() - layout([for(p = pcbs) pcb_width(p)], 10) - translate([0, pcb_length(pcbs[$i]) / 2]) - rotate(90) - pcb_assembly(pcbs[$i], 5 + $i, 3); - -if($preview) - pcbs(); diff --git a/tests/psu_shroud.scad b/tests/psu_shroud.scad deleted file mode 100644 index c2ceb4e..0000000 --- a/tests/psu_shroud.scad +++ /dev/null @@ -1,37 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/psus.scad> - -use <../utils/layout.scad> -use <../printed/psu_shroud.scad> - -thickness = 3; - -module psu_shrouds() - layout([for(p = psus) psu_width(p)], 10) let(psu = psus[$i]) - if(psu_terminals(psu)) - rotate(90) { - if($preview) - psu_shroud_fastened_assembly(psu, 6, thickness, psu[0]); - else - psu_shroud(psu, 6, psu[0]); - } - -psu_shrouds(); diff --git a/tests/psus.scad b/tests/psus.scad deleted file mode 100644 index c964e4a..0000000 --- a/tests/psus.scad +++ /dev/null @@ -1,35 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/psus.scad> - -use <../utils/layout.scad> - -module psus() - layout([for(p = psus) psu_width(p)], 10) let(p = psus[$i]) - rotate(atx_psu(p) ? 0 : 90) { - psu(p); - - psu_screw_positions(p) - translate_z(3) - screw_and_washer(psu_screw(p), 8); - } - -if($preview) - psus(); diff --git a/tests/scs_bearing_blocks.scad b/tests/scs_bearing_blocks.scad deleted file mode 100644 index d927ca1..0000000 --- a/tests/scs_bearing_blocks.scad +++ /dev/null @@ -1,35 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2020 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/scs_bearing_blocks.scad> - -use <../utils/layout.scad> - -module scs_bearing_blocks() - layout([for(s = scs_bearing_blocks) scs_size(s).x], 10) { - part_thickness = 5; - scs_bearing_block_assembly(scs_bearing_blocks[$i], part_thickness); - - if($i > 0) // skip $i==0, since no SCS6LUU long variant to match SCS6UU - translate([0, 60]) - scs_bearing_block_assembly(scs_bearing_blocks_long[$i - 1], part_thickness); - } - -if($preview) - scs_bearing_blocks(); diff --git a/tests/sk_brackets.scad b/tests/sk_brackets.scad deleted file mode 100644 index f2d34f8..0000000 --- a/tests/sk_brackets.scad +++ /dev/null @@ -1,39 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/sk_brackets.scad> -include <../vitamins/extrusions.scad> - -use <../utils/layout.scad> - -module sk_brackets() { - screws = [M4_dome_screw, M4_cap_screw, M5_cap_screw, M5_cap_screw]; - nuts = [M4_hammer_nut, M4_sliding_t_nut, M5_sliding_t_nut, undef]; - // channel depth = 6 for 2020 extrusion, 9 for 3030 extrusion - depths = [6, 6, 9, 0]; - layout([for(s = sk_brackets) 1.5 * sk_size(s)[1]]) { - sk_bracket_assembly(sk_brackets[$i], screw_type = screws[$i], nut_type = nuts[$i], max_screw_depth = depths[$i]); - translate([0, -sk_hole_offset(sk_brackets[$i]) - extrusion_width($i < 2 ? E2020 : E3030) / 2, 0]) - rotate([0, 90, 0]) - extrusion($i < 2 ? E2020 : E3030, 20, false); - } -} - -if($preview) - sk_brackets(); diff --git a/tests/ssr_shroud.scad b/tests/ssr_shroud.scad deleted file mode 100644 index 2745c0a..0000000 --- a/tests/ssr_shroud.scad +++ /dev/null @@ -1,36 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/ssrs.scad> - -use <../utils/layout.scad> -use <../printed/ssr_shroud.scad> - -thickness = 3; - -module ssr_shrouds() - layout([for(s = ssrs) ssr_width(s)], 15) let(ssr = ssrs[$i]) - rotate(90) { - if($preview) - ssr_shroud_fastened_assembly(ssr, 6, thickness, ssr[0]); - else - ssr_shroud(ssr, 6, ssr[0]); - } - -ssr_shrouds(); diff --git a/tests/ssrs.scad b/tests/ssrs.scad deleted file mode 100644 index b55a51b..0000000 --- a/tests/ssrs.scad +++ /dev/null @@ -1,30 +0,0 @@ -// -// NopSCADlib Copyright Chris Palmer 2018 -// nop.head@gmail.com -// hydraraptor.blogspot.com -// -// This file is part of NopSCADlib. -// -// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the -// GNU General Public License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along with NopSCADlib. -// If not, see . -// -include <../core.scad> -include <../vitamins/ssrs.scad> - -use <../utils/layout.scad> - -module ssrs() - layout([for(s = ssrs) ssr_width(s)], 15) - rotate(90) - ssr_assembly(ssrs[$i], M4_cap_screw, 3); - -if($preview) - ssrs();