1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-09-08 22:21:25 +02:00

Compare commits

..

12 Commits

Author SHA1 Message Date
Chris Palmer
4a95ce528e Merge branch 'martinbudden-pancake_stepper' 2021-01-02 11:02:27 +00:00
Chris Palmer
138f45730b Updated images and readme. 2021-01-02 11:02:06 +00:00
Chris Palmer
8d1ff3584c Merge branch 'pancake_stepper' of https://github.com/martinbudden/NopSCADlib into martinbudden-pancake_stepper 2021-01-02 10:38:27 +00:00
Chris Palmer
26b2b63b6e Merge branch 'martinbudden-rocker' 2021-01-02 10:13:23 +00:00
Chris Palmer
611772d960 Updated readme for rocker. 2021-01-02 10:12:54 +00:00
Chris Palmer
b6e648b485 Merge branch 'rocker' of https://github.com/martinbudden/NopSCADlib into martinbudden-rocker 2021-01-02 10:10:03 +00:00
Chris Palmer
e224ee0ad2 Removed z fight in printed box test. 2021-01-02 10:04:24 +00:00
Chris Palmer
10c3df466b screw_polysink can now have h = 0 to get just the cone. 2021-01-02 10:04:03 +00:00
Martin Budden
3e4eedc25f Added JST connector to NEMA17P in tests. 2020-12-31 12:30:06 +00:00
Chris Palmer
029265e1b9 Add rr_green to global_defs. 2020-12-31 12:27:46 +00:00
Martin Budden
7449857ab7 Added NEMA17P pancake stepper motor. 2020-12-31 12:20:11 +00:00
Martin Budden
49f6da767a Added size and slot convenience functions. Added non-rounded hole. 2020-12-31 11:59:41 +00:00
11 changed files with 27 additions and 15 deletions

View File

@@ -26,7 +26,7 @@
// Setting $bom after including lib overrides bom in the libs but not in the local file.
// Setting $_bom in the local file overrides it in the local file but not in the libs.
//
//function is_undef(x) = x == undef;
rr_green = [0, 146/255, 0]; // RepRap logo colour
$_bom = is_undef($bom) ? 0 : $bom; // 0 no bom, 1 assemblies and stls, 2 vitamins as well
$exploded = is_undef($explode) ? 0 : $explode; // 1 for exploded view
@@ -34,7 +34,7 @@ layer_height = is_undef($layer_height) ? 0.25 : $layer_height; // lay
extrusion_width = is_undef($extrusion_width) ? 0.5 : $extrusion_width; // filament width when printing
nozzle = is_undef($nozzle) ? 0.45 : $nozzle; // 3D printer nozzle
cnc_bit_r = is_undef($cnc_bit_r) ? 1.2 : $cnc_bit_r; // minimum tool radius when milling 2D objects
pp1_colour = is_undef($pp1_colour) ? [0, 146/255, 0] : $pp1_colour; // printed part colour 1, RepRap logo colour
pp1_colour = is_undef($pp1_colour) ? rr_green : $pp1_colour; // printed part colour 1, RepRap logo colour
pp2_colour = is_undef($pp2_colour) ? "Crimson" : $pp2_colour; // printed part colour 2
pp3_colour = is_undef($pp3_colour) ? "SteelBlue" : $pp3_colour; // printed part colour 3
pp4_colour = is_undef($pp4_colour) ? "darkorange" : $pp4_colour;// printed part colour 4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 860 KiB

After

Width:  |  Height:  |  Size: 862 KiB

View File

@@ -351,7 +351,7 @@ modules_y = iecs_y + 60;
ssrs_y = modules_y + 80;
blowers_y = ssrs_y + 60;
batteries_y = blowers_y + 100;
steppers_y = batteries_y + 70;
steppers_y = batteries_y + 55;
panel_meters_y = steppers_y + 70;
extrusions_y = panel_meters_y + 80;

View File

@@ -2785,11 +2785,17 @@ Rocker switch. Also used for neon indicator in the same form factor.
| `rocker_spades(type)` | Spade types and positions |
| `rocker_width(type)` | Body width |
### Functions
| Function | Description |
|:--- |:--- |
| `rocker_size(type)` | Width, height, and depth in a vector |
| `rocker_slot(type)` | Rocker slot in a vector |
### Modules
| Module | Description |
|:--- |:--- |
| `rocker(type, colour)` | Draw the specified rocker switch |
| `rocker_hole(type, h = 0)` | Make a hole to accept a rocker switch, by default 2D, set h for 3D |
| `rocker_hole(type, h = 0, rounded = true)` | Make a hole to accept a rocker switch, by default 2D, set h for 3D |
![rockers](tests/png/rockers.png)
@@ -3455,15 +3461,16 @@ NEMA stepper motor model.
| Qty | Module call | BOM entry |
| ---:|:--- |:---|
| 4 | `ring_terminal(M3_ringterm)` | Ring terminal 3mm |
| 15 | `screw(M3_pan_screw, 8)` | Screw M3 pan x 8mm |
| 20 | `screw(M3_pan_screw, 8)` | Screw M3 pan x 8mm |
| 1 | `NEMA(NEMA14)` | Stepper motor NEMA14 x 36mm |
| 1 | `NEMA(NEMA16)` | Stepper motor NEMA16 x 19.2mm |
| 1 | `NEMA(NEMA17P)` | Stepper motor NEMA17 x 26.5mm |
| 1 | `NEMA(NEMA17S)` | Stepper motor NEMA17 x 34mm |
| 1 | `NEMA(NEMA17M)` | Stepper motor NEMA17 x 40mm |
| 1 | `NEMA(NEMA17)` | Stepper motor NEMA17 x 47mm |
| 1 | `NEMA(NEMA23)` | Stepper motor NEMA22 x 51.2mm |
| 11 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
| 15 | `star_washer(M3_washer)` | Washer star M3 x 0.5mm |
| 16 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
| 20 | `star_washer(M3_washer)` | Washer star M3 x 0.5mm |
<a href="#top">Top</a>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

@@ -107,7 +107,7 @@ assembly("box1") {
screw_and_washer(foot_screw(foot), 6);
}
translate_z(height + top_thickness + base_thickness + eps) vflip()
translate_z(height + top_thickness + base_thickness + 2 * eps) vflip()
%render() box1_base_stl();
}

View File

@@ -22,9 +22,9 @@ include <../vitamins/stepper_motors.scad>
use <../utils/layout.scad>
module stepper_motors()
layout([for(s = stepper_motors) NEMA_width(s)], 5) let(m = stepper_motors[$i]) {
layout([for(s = stepper_motors) NEMA_width(s)], 5, no_offset = true) let(m = stepper_motors[$i]) {
rotate(180)
NEMA(m, 0, m == NEMA17M || m == NEMA17M8);
NEMA(m, 0, m == NEMA17P || m == NEMA17M || m == NEMA17M8);
translate_z(4)
NEMA_screws(m, M3_pan_screw, n = $i, earth = $i > 4 ? undef : $i - 1);

View File

@@ -36,6 +36,8 @@ function rocker_bezel(type) = type[10]; //! Bezel width
function rocker_pivot(type) = type[11]; //! Pivot distance from the back of the flange
function rocker_button(type) = type[12]; //! How far the button extends from the bezel
function rocker_spades(type) = type[13]; //! Spade types and positions
function rocker_size(type) = [rocker_width(type), rocker_height(type), rocker_depth(type)]; //! Width, height, and depth in a vector
function rocker_slot(type) = [rocker_slot_w(type), rocker_slot_h(type)]; //! Rocker slot in a vector
module rocker(type, colour) { //! Draw the specified rocker switch
vitamin(str("rocker(", type[0], "): ", rocker_part(type)));
@@ -87,6 +89,6 @@ module rocker(type, colour) { //! Draw the specified rocker switch
}
}
module rocker_hole(type, h = 0) //! Make a hole to accept a rocker switch, by default 2D, set h for 3D
module rocker_hole(type, h = 0, rounded = true) //! Make a hole to accept a rocker switch, by default 2D, set h for 3D
extrude_if(h)
rounded_square([rocker_slot_w(type), rocker_slot_h(type)], 1, center = true);
rounded_square([rocker_slot_w(type), rocker_slot_h(type)], rounded ? 1 : 0, center = true);

View File

@@ -295,8 +295,10 @@ module screw_polysink(type, h = 100, alt = false) { //! A countersink hole made
poly_cylinder(r = r, h = lh, center = false);
}
translate_z(layers * layer_height)
poly_cylinder(r = rmin, h = h / 2 - layers * layer_height, center = false);
remainder = h / 2 - layers * layer_height;
if(remainder > 0)
translate_z(layers * layer_height)
poly_cylinder(r = rmin, h = remainder, center = false);
}
}

View File

@@ -27,10 +27,11 @@ NEMA17 = ["NEMA17", 42.3, 47, 53.6/2, 25, 11, 2, 5, 24,
NEMA17M = ["NEMA17M", 42.3, 40, 53.6/2, 25, 11, 2, 5, 20, 31, [12.5, 11]];
NEMA17M8= ["NEMA17M8", 42.3, 40, 53.6/2, 25, 11, 2, 8, [280, 8, 4], 31, [12.5, 11]];
NEMA17S = ["NEMA17S", 42.3, 34, 53.6/2, 25, 11, 2, 5, 24, 31, [8, 8]];
NEMA17P = ["NEMA17P", 42.3, 26.5, 53.6/2, 25, 11, 2, 5, 26.5, 31, [10, 8]];
NEMA16 = ["NEMA16", 39.5, 19.2, 50.6/2, 50.6/2, 11, 2, 5, 12, 31, [8, 8]];
NEMA14 = ["NEMA14", 35.2, 36, 46.4/2, 21, 11, 2, 5, 21, 26, [8, 8]];
NEMA23 = ["NEMA23", 56.4, 51.2, 75.7/2, 35, 38.1/2, 1.6, 6.35, 24, 47.1, [8, 8]];
stepper_motors = [NEMA14, NEMA16, NEMA17S, NEMA17M, NEMA17, NEMA23];
stepper_motors = [NEMA14, NEMA16, NEMA17P, NEMA17S, NEMA17M, NEMA17, NEMA23];
use <stepper_motor.scad>