diff --git a/libtest.png b/libtest.png index 75cab67..1cd6271 100644 Binary files a/libtest.png and b/libtest.png differ diff --git a/libtest.scad b/libtest.scad index 73cbc4b..43c47be 100644 --- a/libtest.scad +++ b/libtest.scad @@ -33,6 +33,7 @@ use use use use +use use use use @@ -40,6 +41,7 @@ use use use use +use use use use @@ -60,8 +62,10 @@ use use use use +use use use +use use use use @@ -94,7 +98,13 @@ use use use -x5 = 800; +x0 = 0; +x1 = x0 + 100; +x2 = x1 + 90; +x3 = x2 + 130; +x4 = x3 + 200; +x5 = 850; +x6 = x5 + 150; cable_grommets_y = 0; @@ -133,13 +143,12 @@ translate([x5 + 60, cable_grommets_y + 200]) translate([x5, cable_grommets_y + 250]) handle(); -translate([900, 600]) +translate([950, 600]) box_test(); translate([850, 1260]) bbox_test(); -x0 = 0; inserts_y = 0; nuts_y = inserts_y + 20; washers_y = nuts_y + 100; @@ -204,10 +213,6 @@ translate([x0, linear_bearings_y]) { rods(); } -translate([x0+150, linear_bearings_y+30]) { - extrusions(); -} - translate([x0 + 10, hot_ends_y]) hot_ends(); @@ -236,7 +241,6 @@ translate([x0, psus_y]) { psu_shrouds(); } -x1 = x0 + 100; zipties_y = 0; bulldogs_y = zipties_y + 40; @@ -246,7 +250,6 @@ translate([x1, zipties_y]) translate([x1, bulldogs_y]) bulldogs(); -x2 = x1 + 90; leds_y = 0; carriers_y = leds_y + 40; spades_y = carriers_y + 40; @@ -293,8 +296,6 @@ translate([x2, toggles_y]) translate([x2, components_y]) components(); - -x3 = x2 + 150; veroboard_y = 0; d_connectors_y = veroboard_y + 110; iecs_y = d_connectors_y + 80; @@ -303,6 +304,7 @@ ssrs_y = modules_y + 80; blowers_y = ssrs_y + 60; batteries_y = blowers_y + 100; steppers_y = batteries_y + 70; +extrusions_y = steppers_y + 100; translate([x3, veroboard_y]) veroboard_test(); @@ -343,16 +345,22 @@ translate([x3, batteries_y]) translate([x2, steppers_y]) // interloper stepper_motors(); +translate([x2, extrusions_y]) { + extrusions(); +} + translate([x3, transformers_y]) transformers(); -x4 = x3 + 220; belts_y = 0; rails_y = belts_y + 200; -cable_strips_y = rails_y + 300; +extrusion_brackets_y = rails_y + 250; +sk_brackets_y = extrusion_brackets_y + 80; +kp_pillow_blocks_y = sk_brackets_y + 50; +scs_bearing_blocks_y = kp_pillow_blocks_y + 60; -translate([x4 + 112, belts_y + 58]) { +translate([x4 + 130, belts_y + 58]) { belt_test(); translate([0, 60]) @@ -362,9 +370,22 @@ translate([x4 + 112, belts_y + 58]) { translate([x4, rails_y + 130]) rails(); -translate([x4, cable_strips_y]) - cable_strips(); +translate([780, 0]) + rotate(90) + cable_strips(); + +translate([x4, kp_pillow_blocks_y]) + kp_pillow_blocks(); + +translate([x4, sk_brackets_y]) + sk_brackets(); + +translate([x4, extrusion_brackets_y]) + extrusion_brackets(); + +translate([x4, scs_bearing_blocks_y]) + scs_bearing_blocks(); + -x6 = x5 + 150; translate([x6, 125]) light_strips(); diff --git a/readme.md b/readme.md index fea22b4..5675b89 100644 --- a/readme.md +++ b/readme.md @@ -626,10 +626,10 @@ Brackets for joining extrusions at a corner. ### Vitamins | Qty | Module call | BOM entry | | ---:|:--- |:---| -| 1 | ```extrusion(E2020, 20, false)``` | Extrusion E2020 x 20mm | -| 1 | ```extrusion(E2020, 30, false)``` | Extrusion E2020 x 30mm | -| 1 | ```extrusion(E2020, 40, false)``` | Extrusion E2020 x 40mm | -| 1 | ```extrusion(E2020, 50, false)``` | Extrusion E2020 x 50mm | +| 1 | ```extrusion(E2020, 20)``` | Extrusion E2020 x 20mm | +| 1 | ```extrusion(E2020, 30)``` | Extrusion E2020 x 30mm | +| 1 | ```extrusion(E2020, 40)``` | Extrusion E2020 x 40mm | +| 1 | ```extrusion(E2020, 50)``` | Extrusion E2020 x 50mm | | 2 | ```extrusion_corner_bracket(E20_corner_bracket)``` | Extrusion corner bracket 20 | | 2 | ```extrusion_inner_corner_bracket(E20_inner_corner_bracket, true)``` | Extrusion inner corner bracket 4.5 | | 1 | ```extrusion_inner_corner_bracket(E20_inner_corner_bracket, false)``` | Extrusion inner corner bracket 4.5 | @@ -669,21 +669,21 @@ Aluminium extrusion. ### Modules | Module | Description | |:--- |:--- | -| ```extrusion(type, length, center = false, cornerHole = false)``` | Draw the specified extrusion | +| ```extrusion(type, length, center = true, cornerHole = false)``` | Draw the specified extrusion | ![extrusions](tests/png/extrusions.png) ### Vitamins | Qty | Module call | BOM entry | | ---:|:--- |:---| -| 1 | ```extrusion(E2020, 80, false)``` | Extrusion E2020 x 80mm | -| 1 | ```extrusion(E2040, 80, false)``` | Extrusion E2040 x 80mm | -| 1 | ```extrusion(E2060, 80, false)``` | Extrusion E2060 x 80mm | -| 1 | ```extrusion(E2080, 80, false)``` | Extrusion E2080 x 80mm | -| 1 | ```extrusion(E3030, 80, false)``` | Extrusion E3030 x 80mm | -| 1 | ```extrusion(E3060, 80, false)``` | Extrusion E3060 x 80mm | -| 1 | ```extrusion(E4040, 80, false)``` | Extrusion E4040 x 80mm | -| 1 | ```extrusion(E4080, 80, false)``` | Extrusion E4080 x 80mm | +| 1 | ```extrusion(E2020, 80)``` | Extrusion E2020 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(E3030, 80)``` | Extrusion E3030 x 80mm | +| 1 | ```extrusion(E3060, 80)``` | Extrusion E3060 x 80mm | +| 1 | ```extrusion(E4040, 80)``` | Extrusion E4040 x 80mm | +| 1 | ```extrusion(E4080, 80)``` | Extrusion E4080 x 80mm | Top @@ -2008,15 +2008,13 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o | 1 | ```pcb(RPI0)``` | Raspberry Pi Zero | | 16 | ```screw(M2_cap_screw, 25)``` | Screw M2 cap x 25mm | | 4 | ```screw(M2p5_cap_screw, 16)``` | Screw M2.5 cap x 16mm | -| 8 | ```screw(M2p5_cap_screw, 20)``` | Screw M2.5 cap x 20mm | -| 4 | ```screw(M2p5_cap_screw, 35)``` | Screw M2.5 cap x 35mm | -| 8 | ```screw(M2p5_pan_screw, 20)``` | Screw M2.5 pan x 20mm | -| 4 | ```screw(M2p5_pan_screw, 25)``` | Screw M2.5 pan x 25mm | +| 12 | ```screw(M2p5_cap_screw, 20)``` | Screw M2.5 cap x 20mm | +| 4 | ```screw(M2p5_pan_screw, 20)``` | Screw M2.5 pan x 20mm | +| 8 | ```screw(M2p5_pan_screw, 25)``` | Screw M2.5 pan x 25mm | | 4 | ```screw(M2p5_pan_screw, 35)``` | Screw M2.5 pan x 35mm | | 8 | ```screw(M3_cap_screw, 30)``` | Screw M3 cap x 30mm | | 4 | ```screw(M3_cap_screw, 35)``` | Screw M3 cap x 35mm | -| 4 | ```screw(M4_cap_screw, 30)``` | Screw M4 cap x 30mm | -| 8 | ```screw(M4_cap_screw, 35)``` | Screw M4 cap x 35mm | +| 12 | ```screw(M4_cap_screw, 35)``` | Screw M4 cap x 35mm | | 3 | ```terminal_35(2)``` | Terminal block 2 way 3.5mm | | 2 | ```green_terminal(gt_2p54, 4)``` | Terminal block 4 way 0.1" | | 1 | | USB A to Mini B lead | @@ -2029,24 +2027,24 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o ### Printed | Qty | Filename | | ---:|:--- | -| 4 | pcb_spacer20130.stl | | 4 | pcb_spacer20140.stl | | 4 | pcb_spacer20150.stl | | 4 | pcb_spacer20160.stl | -| 4 | pcb_spacer25100_2.stl | +| 4 | pcb_spacer20170.stl | +| 4 | pcb_spacer25100.stl | | 4 | pcb_spacer25110_2.stl | | 4 | pcb_spacer25120_2.stl | -| 4 | pcb_spacer25230.stl | +| 4 | pcb_spacer25130_2.stl | | 4 | pcb_spacer25240.stl | -| 4 | pcb_spacer2570.stl | +| 4 | pcb_spacer2550.stl | | 4 | pcb_spacer2580.stl | | 4 | pcb_spacer2590.stl | -| 4 | pcb_spacer30170.stl | | 4 | pcb_spacer30180.stl | -| 4 | pcb_spacer30220.stl | -| 4 | pcb_spacer40190.stl | +| 4 | pcb_spacer30190.stl | +| 4 | pcb_spacer30230.stl | | 4 | pcb_spacer40200.stl | | 4 | pcb_spacer40210.stl | +| 4 | pcb_spacer40220.stl | Top @@ -2603,6 +2601,9 @@ Machine screws and wood screws with various head styles. --- ## Scs_bearing_blocks +SCSnUU and SCSnLUU bearing blocks + + [vitamins/scs_bearing_blocks.scad](vitamins/scs_bearing_blocks.scad) Object definitions. [vitamins/scs_bearing_block.scad](vitamins/scs_bearing_block.scad) Implementation. @@ -2784,8 +2785,8 @@ SK shaft support brackets ### Vitamins | Qty | Module call | BOM entry | | ---:|:--- |:---| -| 2 | ```extrusion(E2020, 20, false)``` | Extrusion E2020 x 20mm | -| 2 | ```extrusion(E3030, 20, false)``` | Extrusion E3030 x 20mm | +| 2 | ```extrusion(E2020, 20)``` | Extrusion E2020 x 20mm | +| 2 | ```extrusion(E3030, 20)``` | 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 | diff --git a/tests/extrusion_brackets.scad b/tests/extrusion_brackets.scad index d43d11b..4432067 100644 --- a/tests/extrusion_brackets.scad +++ b/tests/extrusion_brackets.scad @@ -23,7 +23,7 @@ include <../vitamins/extrusions.scad> include <../vitamins/washers.scad> include <../vitamins/nuts.scad> -module extrusion_brackets() { +module extrusion_brackets(examples = false) { extrusion_inner_corner_bracket(E20_inner_corner_bracket); translate([30, 0]) @@ -34,27 +34,32 @@ module extrusion_brackets() { eWidth = extrusion_width(E2020); - translate([0, 60]) { - extrusion_inner_corner_bracket(E20_inner_corner_bracket); - translate([-eWidth / 2, 0, 0]) - rotate([-90, 0, 0]) - extrusion(E2020, 20); - translate([-eWidth, -eWidth / 2, 0]) - rotate([0, 90, 0]) - extrusion(E2020, 40); - } + if(examples) { + translate([20, 60, 10]) rotate([90, 0, 180]) { + extrusion_inner_corner_bracket(E20_inner_corner_bracket); - translate([60, 60]) { - extrusion_corner_bracket_assembly(E20_corner_bracket); - translate([-eWidth / 2, 0, 0]) - rotate([-90, 0, 0]) - extrusion(E2020, 30); - translate([-eWidth, -eWidth / 2, 0]) - rotate([0, 90, 0]) - extrusion(E2020, 50); + translate([-eWidth / 2, 0, 0]) + rotate([-90, 0, 0]) + extrusion(E2020, 20, false); + + translate([-eWidth, -eWidth / 2, 0]) + rotate([0, 90, 0]) + extrusion(E2020, 40, false); + } + + translate([100, 60, 10]) rotate([90, 0, 180]) { + extrusion_corner_bracket_assembly(E20_corner_bracket); + + translate([-eWidth / 2, 0, 0]) + rotate([-90, 0, 0]) + extrusion(E2020, 30, false); + + translate([-eWidth, -eWidth / 2, 0]) + rotate([0, 90, 0]) + extrusion(E2020, 50, false); + } } } if($preview) - let($show_threads = true) - extrusion_brackets(); + extrusion_brackets(true); diff --git a/tests/png/extrusion_brackets.png b/tests/png/extrusion_brackets.png index aa612ae..0246350 100644 Binary files a/tests/png/extrusion_brackets.png and b/tests/png/extrusion_brackets.png differ diff --git a/tests/png/pcbs.png b/tests/png/pcbs.png index 654e20f..d933cd0 100644 Binary files a/tests/png/pcbs.png and b/tests/png/pcbs.png differ diff --git a/tests/png/scs_bearing_blocks.png b/tests/png/scs_bearing_blocks.png index ee5342d..97e8c38 100644 Binary files a/tests/png/scs_bearing_blocks.png and b/tests/png/scs_bearing_blocks.png differ diff --git a/tests/scs_bearing_blocks.scad b/tests/scs_bearing_blocks.scad index deb4864..2c798db 100644 --- a/tests/scs_bearing_blocks.scad +++ b/tests/scs_bearing_blocks.scad @@ -22,7 +22,7 @@ use <../utils/layout.scad> include <../vitamins/scs_bearing_blocks.scad> module scs_bearing_blocks() - layout([for(s = scs_bearing_blocks) 2 * scs_size(s)[0]]) { + layout([for(s = scs_bearing_blocks) scs_size(s).x], 10) { part_thickness = 5; scs_bearing_block_assembly(scs_bearing_blocks[$i], part_thickness); diff --git a/tests/sk_brackets.scad b/tests/sk_brackets.scad index aa19505..0ca77cb 100644 --- a/tests/sk_brackets.scad +++ b/tests/sk_brackets.scad @@ -31,10 +31,9 @@ module sk_brackets() { 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); + extrusion($i < 2 ? E2020 : E3030, 20, false); } } if($preview) - let($show_threads = true) - sk_brackets(); + sk_brackets(); diff --git a/vitamins/extrusion.scad b/vitamins/extrusion.scad index 4ecb965..913e82b 100644 --- a/vitamins/extrusion.scad +++ b/vitamins/extrusion.scad @@ -117,12 +117,11 @@ module extrusion_cross_section(type, cornerHole) { extrusion_center_section(type); } -module extrusion(type, length, center = false, cornerHole = false) { //! Draw the specified extrusion +module extrusion(type, length, center = true, cornerHole = false) { //! Draw the specified extrusion - vitamin(str("extrusion(", type[0], ", ", length, ", ", center, "): Extrusion ", type[0], " x ", length, "mm")); + vitamin(str("extrusion(", type[0], ", ", length, arg(cornerHole, false, "cornerHole"), "): Extrusion ", type[0], " x ", length, "mm")); color(grey90) linear_extrude(length, center = center) extrusion_cross_section(type, cornerHole); } - diff --git a/vitamins/pcbs.scad b/vitamins/pcbs.scad index 47b58bd..cd07f07 100644 --- a/vitamins/pcbs.scad +++ b/vitamins/pcbs.scad @@ -352,6 +352,6 @@ RAMPSEndstop = ["RAMPSEndstop", "RAMPS Endstop Switch", []]; -pcbs = [ExtruderPCB, PI_IO, RPI0, EnviroPlus, RPI3, ArduinoUno3, ArduinoLeonardo, Keyes5p1, PERF80x20, PERF70x50, PERF70x30, PERF60x40, PERF74x51, PSU12V1A, DuetE, Duex2, Duex5, Melzi, ZC_A0591, RAMPSEndstop]; +pcbs = [RAMPSEndstop, ExtruderPCB, PI_IO, RPI0, EnviroPlus, RPI3, ArduinoUno3, ArduinoLeonardo, Keyes5p1, PERF80x20, PERF70x50, PERF70x30, PERF60x40, PERF74x51, PSU12V1A, DuetE, Duex2, Duex5, Melzi, ZC_A0591]; use diff --git a/vitamins/scs_bearing_block.scad b/vitamins/scs_bearing_block.scad index 6a8d4b2..90d997c 100644 --- a/vitamins/scs_bearing_block.scad +++ b/vitamins/scs_bearing_block.scad @@ -18,7 +18,7 @@ // // -// SCSnUU and SCSnLUU bearing blocks +//! SCSnUU and SCSnLUU bearing blocks //