Extrusions now default to centered. New parts added to the libtest picture.
Extrusion bracket examples rotated for clearer view and made optional. Added missing description for scs_bearing_blocks. Extrusion no longer shows centre parameter but does show no default cornerHole.
BIN
libtest.png
Before Width: | Height: | Size: 769 KiB After Width: | Height: | Size: 776 KiB |
55
libtest.scad
@ -33,6 +33,7 @@ use <tests/components.scad>
|
||||
use <tests/d_connectors.scad>
|
||||
use <tests/displays.scad>
|
||||
use <tests/extrusions.scad>
|
||||
use <tests/extrusion_brackets.scad>
|
||||
use <tests/fans.scad>
|
||||
use <tests/fuseholder.scad>
|
||||
use <tests/geared_steppers.scad>
|
||||
@ -40,6 +41,7 @@ use <tests/hot_ends.scad>
|
||||
use <tests/iecs.scad>
|
||||
use <tests/inserts.scad>
|
||||
use <tests/jack.scad>
|
||||
use <tests/kp_pillow_blocks.scad>
|
||||
use <tests/leadnuts.scad>
|
||||
use <tests/leds.scad>
|
||||
use <tests/ldrs.scad>
|
||||
@ -60,8 +62,10 @@ use <tests/ring_terminals.scad>
|
||||
use <tests/rockers.scad>
|
||||
use <tests/rod.scad>
|
||||
use <tests/screws.scad>
|
||||
use <tests/scs_bearing_blocks.scad>
|
||||
use <tests/sealing_strip.scad>
|
||||
use <tests/sheets.scad>
|
||||
use <tests/sk_brackets.scad>
|
||||
use <tests/spades.scad>
|
||||
use <tests/springs.scad>
|
||||
use <tests/ssrs.scad>
|
||||
@ -94,7 +98,13 @@ use <tests/psu_shroud.scad>
|
||||
use <tests/flat_hinge.scad>
|
||||
use <tests/pcb_mount.scad>
|
||||
|
||||
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();
|
||||
|
57
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 |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@ -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 |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@ -2603,6 +2601,9 @@ Machine screws and wood screws with various head styles.
|
||||
---
|
||||
<a name="Scs_bearing_blocks"></a>
|
||||
## 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 |
|
||||
|
@ -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);
|
||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 88 KiB |
@ -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);
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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 <pcb.scad>
|
||||
|
@ -18,7 +18,7 @@
|
||||
//
|
||||
|
||||
//
|
||||
// SCSnUU and SCSnLUU bearing blocks
|
||||
//! SCSnUU and SCSnLUU bearing blocks
|
||||
//
|
||||
|
||||
|
||||
|