mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-09-06 21:30:38 +02:00
Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b8546414c0 | ||
|
ab17de3b0b | ||
|
0b8141844c | ||
|
7d0548b033 | ||
|
8435a350d0 | ||
|
3e5d4b1c8e | ||
|
20f830a008 | ||
|
10bd8ff354 | ||
|
4459cca3ea | ||
|
95bbebd42d | ||
|
cc84a5a536 | ||
|
28c795e9f4 | ||
|
c5038db6d9 | ||
|
a08216d0b8 | ||
|
8f85ac73dc |
1
lib.scad
1
lib.scad
@@ -63,6 +63,7 @@ include <vitamins/mains_sockets.scad>
|
||||
include <vitamins/ldrs.scad>
|
||||
include <vitamins/geared_steppers.scad>
|
||||
include <vitamins/extrusions.scad>
|
||||
include <vitamins/sk_brackets.scad>
|
||||
|
||||
use <vitamins/jack.scad>
|
||||
use <vitamins/meter.scad>
|
||||
|
112
readme.md
112
readme.md
@@ -33,20 +33,20 @@ See [usage](docs/usage.md) for requirements, installation instructions and a usa
|
||||
<tr><td> <a href = "#Fuseholder">Fuseholder</a> </td><td> <a href = "#Screws">Screws</a> </td><td> <a href = "#Pcb_mount">Pcb_mount</a> </td><td> <a href = "#Sector">Sector</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#Geared_steppers">Geared_steppers</a> </td><td> <a href = "#Sealing_strip">Sealing_strip</a> </td><td> <a href = "#Psu_shroud">Psu_shroud</a> </td><td> <a href = "#Sweep">Sweep</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#Green_terminals">Green_terminals</a> </td><td> <a href = "#Sheets">Sheets</a> </td><td> <a href = "#Ribbon_clamp">Ribbon_clamp</a> </td><td> <a href = "#Thread">Thread</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#Hot_ends">Hot_ends</a> </td><td> <a href = "#Spades">Spades</a> </td><td> <a href = "#Screw_knob">Screw_knob</a> </td><td> <a href = "#Tube">Tube</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#Hygrometer">Hygrometer</a> </td><td> <a href = "#Spools">Spools</a> </td><td> <a href = "#Socket_box">Socket_box</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Iecs">Iecs</a> </td><td> <a href = "#Springs">Springs</a> </td><td> <a href = "#Ssr_shroud">Ssr_shroud</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Inserts">Inserts</a> </td><td> <a href = "#Ssrs">Ssrs</a> </td><td> <a href = "#Strap_handle">Strap_handle</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Jack">Jack</a> </td><td> <a href = "#Stepper_motors">Stepper_motors</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Ldrs">Ldrs</a> </td><td> <a href = "#Toggles">Toggles</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Leadnuts">Leadnuts</a> </td><td> <a href = "#Transformers">Transformers</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Leds">Leds</a> </td><td> <a href = "#Tubings">Tubings</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Light_strips">Light_strips</a> </td><td> <a href = "#Variacs">Variacs</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Linear_bearings">Linear_bearings</a> </td><td> <a href = "#Veroboard">Veroboard</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Mains_sockets">Mains_sockets</a> </td><td> <a href = "#Washers">Washers</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Meter">Meter</a> </td><td> <a href = "#Wire">Wire</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Microswitches">Microswitches</a> </td><td> <a href = "#Zipties">Zipties</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Microview">Microview</a> </td><td></td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Hot_ends">Hot_ends</a> </td><td> <a href = "#Sk_brackets">Sk_brackets</a> </td><td> <a href = "#Screw_knob">Screw_knob</a> </td><td> <a href = "#Tube">Tube</a> </td><td></td></tr>
|
||||
<tr><td> <a href = "#Hygrometer">Hygrometer</a> </td><td> <a href = "#Spades">Spades</a> </td><td> <a href = "#Socket_box">Socket_box</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Iecs">Iecs</a> </td><td> <a href = "#Spools">Spools</a> </td><td> <a href = "#Ssr_shroud">Ssr_shroud</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Inserts">Inserts</a> </td><td> <a href = "#Springs">Springs</a> </td><td> <a href = "#Strap_handle">Strap_handle</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Jack">Jack</a> </td><td> <a href = "#Ssrs">Ssrs</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Ldrs">Ldrs</a> </td><td> <a href = "#Stepper_motors">Stepper_motors</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Leadnuts">Leadnuts</a> </td><td> <a href = "#Toggles">Toggles</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Leds">Leds</a> </td><td> <a href = "#Transformers">Transformers</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Light_strips">Light_strips</a> </td><td> <a href = "#Tubings">Tubings</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Linear_bearings">Linear_bearings</a> </td><td> <a href = "#Variacs">Variacs</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Mains_sockets">Mains_sockets</a> </td><td> <a href = "#Veroboard">Veroboard</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Meter">Meter</a> </td><td> <a href = "#Washers">Washers</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Microswitches">Microswitches</a> </td><td> <a href = "#Wire">Wire</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Microview">Microview</a> </td><td> <a href = "#Zipties">Zipties</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#Modules">Modules</a> </td><td></td><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
|
||||
@@ -213,7 +213,7 @@ Individual teeth are not drawn, instead they are represented by a lighter colour
|
||||
| 2 | ```pulley(GT2x16_plain_idler)``` | Pulley GT2 idler smooth 9.63mm |
|
||||
| 2 | ```pulley(GT2x20ob_pulley)``` | Pulley GT2OB 20 teeth |
|
||||
| 1 | ```screw(M3_cs_cap_screw, 20)``` | Screw M3 cs cap x 20mm |
|
||||
| 4 | ```screw(M3_grub_screw, 6)``` | Screw M3 grub x 6mm |
|
||||
| 4 | ```screw(M3_grub_screw, 6)``` | Screw M3 grub x 6mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@@ -823,7 +823,7 @@ Parametric green terminal blocks
|
||||
### Modules
|
||||
| Module | Description |
|
||||
|:--- |:--- |
|
||||
| ```green_terminal(type, ways, skip = [])``` | Draw green terminal blocks, skip can be used to remove pins. |
|
||||
| ```green_terminal(type, ways, skip = [], colour = "lime")``` | Draw green terminal blocks, skip can be used to remove pins. |
|
||||
| ```terminal_254(ways, skip = [])``` | Draw 0.1" terminal block |
|
||||
|
||||

|
||||
@@ -2027,10 +2027,10 @@ Face order is bottom, top, left, right, front, back.
|
||||
| 1 | ```psu(PD_150_12)``` | PSU PD-150-12 |
|
||||
| 1 | ```psu(S_250_48)``` | PSU S-250-48 |
|
||||
| 1 | ```psu(S_300_12)``` | PSU S-300-12 |
|
||||
| 4 | ```screw(No632_pan_screw, 8)``` | Screw 6-32 pan x 8mm |
|
||||
| 4 | ```screw(M3_cap_screw, 8)``` | Screw M3 cap x 8mm |
|
||||
| 8 | ```screw(M3_pan_screw, 8)``` | Screw M3 pan x 8mm |
|
||||
| 4 | ```screw(M4_cap_screw, 8)``` | Screw M4 cap x 8mm |
|
||||
| 4 | ```screw(No632_pan_screw, 8)``` | Screw 6-32 pan x 8mm |
|
||||
| 4 | ```screw(M3_cap_screw, 8)``` | Screw M3 cap x 8mm |
|
||||
| 8 | ```screw(M3_pan_screw, 8)``` | Screw M3 pan x 8mm |
|
||||
| 4 | ```screw(M4_cap_screw, 8)``` | Screw M4 cap x 8mm |
|
||||
| 12 | ```washer(M3_washer)``` | Washer M3 x 7mm x 0.5mm |
|
||||
| 8 | ```washer(M4_washer)``` | Washer M4 x 9mm x 0.8mm |
|
||||
|
||||
@@ -2096,10 +2096,10 @@ Timing belt pulleys, both toothed and plain with internal bearings for idlers.
|
||||
| 1 | ```pulley(GT2x20um_pulley)``` | Pulley GT2UM 20 teeth |
|
||||
| 1 | ```pulley(T2p5x16_pulley)``` | Pulley T2.5 16 teeth |
|
||||
| 1 | ```pulley(T5x10_pulley)``` | Pulley T5 10 teeth |
|
||||
| 1 | ```screw(M3_grub_screw, 3)``` | Screw M3 grub x 3mm |
|
||||
| 2 | ```screw(M3_grub_screw, 4)``` | Screw M3 grub x 4mm |
|
||||
| 4 | ```screw(M3_grub_screw, 6)``` | Screw M3 grub x 6mm |
|
||||
| 1 | ```screw(M4_grub_screw, 6)``` | Screw M4 grub x 6mm |
|
||||
| 1 | ```screw(M3_grub_screw, 3)``` | Screw M3 grub x 3mm |
|
||||
| 2 | ```screw(M3_grub_screw, 4)``` | Screw M3 grub x 4mm |
|
||||
| 4 | ```screw(M3_grub_screw, 6)``` | Screw M3 grub x 6mm |
|
||||
| 1 | ```screw(M4_grub_screw, 6)``` | Screw M4 grub x 6mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@@ -2384,14 +2384,14 @@ Machine screws and wood screws with various head styles.
|
||||
| 1 | ```screw(M3_cap_screw, 10)``` | Screw M3 cap x 10mm |
|
||||
| 1 | ```screw(M3_cs_cap_screw, 10)``` | Screw M3 cs cap x 10mm |
|
||||
| 1 | ```screw(M3_dome_screw, 10)``` | Screw M3 dome x 10mm |
|
||||
| 1 | ```screw(M3_grub_screw, 6)``` | Screw M3 grub x 6mm |
|
||||
| 1 | ```screw(M3_grub_screw, 6)``` | Screw M3 grub x 6mm |
|
||||
| 1 | ```screw(M3_hex_screw, 10)``` | Screw M3 hex x 10mm |
|
||||
| 1 | ```screw(M3_low_cap_screw, 10)``` | Screw M3 low cap x 10mm |
|
||||
| 1 | ```screw(M3_pan_screw, 10)``` | Screw M3 pan x 10mm |
|
||||
| 1 | ```screw(M4_cap_screw, 25)``` | Screw M4 cap x 25mm |
|
||||
| 1 | ```screw(M4_cs_cap_screw, 25)``` | Screw M4 cs cap x 25mm |
|
||||
| 1 | ```screw(M4_dome_screw, 25)``` | Screw M4 dome x 25mm |
|
||||
| 1 | ```screw(M4_grub_screw, 6)``` | Screw M4 grub x 6mm |
|
||||
| 1 | ```screw(M4_grub_screw, 6)``` | Screw M4 grub x 6mm |
|
||||
| 1 | ```screw(M4_hex_screw, 30)``` | Screw M4 hex x 30mm |
|
||||
| 1 | ```screw(M4_pan_screw, 30)``` | Screw M4 pan x 30mm |
|
||||
| 1 | ```screw(M5_cap_screw, 30)``` | Screw M5 cap x 30mm |
|
||||
@@ -2497,6 +2497,54 @@ Note that modules that drill holes will return a 2D object if ```h``` is set to
|
||||
| 1 | ```sheet(Steel06, 30, 30, 2)``` | Sheet mild steel 30mm x 30mm x 0.6mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
|
||||
---
|
||||
<a name="Sk_brackets"></a>
|
||||
## Sk_brackets
|
||||
SK shaft support brackets
|
||||
|
||||
|
||||
[vitamins/sk_brackets.scad](vitamins/sk_brackets.scad) Object definitions.
|
||||
|
||||
[vitamins/sk_bracket.scad](vitamins/sk_bracket.scad) Implementation.
|
||||
|
||||
[tests/sk_brackets.scad](tests/sk_brackets.scad) Code for this example.
|
||||
|
||||
### Properties
|
||||
| Function | Description |
|
||||
|:--- |:--- |
|
||||
| ```sk_base_height(type)``` | Height of base containing the screws |
|
||||
| ```sk_diameter(type)``` | Rod hole diameter |
|
||||
| ```sk_hole_offset(type)``` | Rod hole offset |
|
||||
| ```sk_screw_separation(type)``` | Separation of screws in the base |
|
||||
|
||||
### Functions
|
||||
| Function | Description |
|
||||
|:--- |:--- |
|
||||
| ```sk_size(type)``` | Size of bracket |
|
||||
|
||||
### Modules
|
||||
| Module | Description |
|
||||
|:--- |:--- |
|
||||
| ```sk_bracket(type)``` | SK shaft support bracket |
|
||||
| ```sk_bracket_assembly(type, screw_length = 16, screw_type = M5_cap_screw, nut_type = undef)``` | Assembly with fasteners in place |
|
||||
|
||||

|
||||
|
||||
### Vitamins
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 4 | ```sliding_t_nut(M5_sliding_t_nut)``` | Nut M5 sliding T |
|
||||
| 4 | ```nut(M5_nut)``` | Nut M5 x 4mm |
|
||||
| 1 | ```sk_bracket(SK10)``` | SK10 shaft support bracket |
|
||||
| 1 | ```sk_bracket(SK12)``` | SK12 shaft support bracket |
|
||||
| 1 | ```sk_bracket(SK16)``` | SK16 shaft support bracket |
|
||||
| 1 | ```sk_bracket(SK8)``` | SK8 shaft support bracket |
|
||||
| 8 | ```screw(M5_cap_screw, 16)``` | Screw M5 cap x 16mm |
|
||||
| 12 | ```washer(M5_washer)``` | Washer M5 x 10mm x 1mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
|
||||
---
|
||||
@@ -2713,7 +2761,7 @@ NEMA stepper motor model.
|
||||
### Vitamins
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 24 | ```screw(M3_pan_screw, 8)``` | Screw M3 pan x 8mm |
|
||||
| 24 | ```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(NEMA17S)``` | Stepper motor NEMA17 x 34mm |
|
||||
@@ -3507,7 +3555,7 @@ Star washers can be omitted by setting ```star_washers``` to false.
|
||||
| 3 | ```insert(F1BM2p5)``` | Heatfit insert M2.5 |
|
||||
| 3 | ```insert(F1BM3)``` | Heatfit insert M3 |
|
||||
| 3 | ```insert(F1BM4)``` | Heatfit insert M4 |
|
||||
| 3 | ```screw(M2_cap_screw, 8)``` | Screw M2 cap x 8mm |
|
||||
| 3 | ```screw(M2_cap_screw, 8)``` | Screw M2 cap x 8mm |
|
||||
| 3 | ```screw(M2p5_pan_screw, 10)``` | Screw M2.5 pan x 10mm |
|
||||
| 3 | ```screw(M3_dome_screw, 10)``` | Screw M3 dome x 10mm |
|
||||
| 3 | ```screw(M4_dome_screw, 12)``` | Screw M4 dome x 12mm |
|
||||
@@ -3727,7 +3775,7 @@ Star washers can be omitted by setting ```star_washers``` to false.
|
||||
| 3 | ```insert(F1BM2p5)``` | Heatfit insert M2.5 |
|
||||
| 3 | ```insert(F1BM3)``` | Heatfit insert M3 |
|
||||
| 3 | ```insert(F1BM4)``` | Heatfit insert M4 |
|
||||
| 3 | ```screw(M2_cap_screw, 8)``` | Screw M2 cap x 8mm |
|
||||
| 3 | ```screw(M2_cap_screw, 8)``` | Screw M2 cap x 8mm |
|
||||
| 3 | ```screw(M2p5_pan_screw, 10)``` | Screw M2.5 pan x 10mm |
|
||||
| 3 | ```screw(M3_dome_screw, 10)``` | Screw M3 dome x 10mm |
|
||||
| 3 | ```screw(M4_dome_screw, 16)``` | Screw M4 dome x 16mm |
|
||||
@@ -3871,7 +3919,7 @@ inserts don't grip well in rubber.
|
||||
| ---:|:--- |:---|
|
||||
| 1 | ```insert(F1BM3)``` | Heatfit insert M3 |
|
||||
| 1 | ```nut(M4_nut, nyloc = true)``` | Nut M4 x 3.2mm nyloc |
|
||||
| 1 | ```screw(M3_cap_screw, 8)``` | Screw M3 cap x 8mm |
|
||||
| 1 | ```screw(M3_cap_screw, 8)``` | Screw M3 cap x 8mm |
|
||||
| 1 | ```screw(M4_cap_screw, 16)``` | Screw M4 cap x 16mm |
|
||||
| 1 | ```washer(M3_washer)``` | Washer M3 x 7mm x 0.5mm |
|
||||
| 2 | ```washer(M4_washer)``` | Washer M4 x 9mm x 0.8mm |
|
||||
@@ -4286,7 +4334,7 @@ be fully customised by passing a list of properties.
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 2 | ```insert(F1BM3)``` | Heatfit insert M3 |
|
||||
| 2 | ```screw(M3_pan_screw, 8)``` | Screw M3 pan x 8mm |
|
||||
| 2 | ```screw(M3_pan_screw, 8)``` | Screw M3 pan x 8mm |
|
||||
| 2 | ```washer(M3_penny_washer)``` | Washer penny M3 x 12mm x 0.8mm |
|
||||
| 2 | ```star_washer(M3_washer)``` | Washer star M3 x 0.5mm |
|
||||
|
||||
@@ -4758,7 +4806,7 @@ heirachical BOMs are also generated for real projects.
|
||||
| ---:|:--- |:---|
|
||||
| 1 | ```insert(F1BM3)``` | Heatfit insert M3 |
|
||||
| 1 | ```widget(3)``` | Rivit like thing for 3mm sheets |
|
||||
| 1 | ```screw(M3_cap_screw, 8)``` | Screw M3 cap x 8mm |
|
||||
| 1 | ```screw(M3_cap_screw, 8)``` | Screw M3 cap x 8mm |
|
||||
| 1 | ```sheet(PMMA3, 20, 20, 1)``` | Sheet acrylic 20mm x 20mm x 3mm |
|
||||
| 1 | ```washer(M3_washer)``` | Washer M3 x 7mm x 0.5mm |
|
||||
| 1 | ```star_washer(M3_washer)``` | Washer star M3 x 0.5mm |
|
||||
|
BIN
tests/png/sk_brackets.png
Normal file
BIN
tests/png/sk_brackets.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
32
tests/sk_brackets.scad
Normal file
32
tests/sk_brackets.scad
Normal file
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// 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 <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
include <../core.scad>
|
||||
use <../utils/layout.scad>
|
||||
|
||||
include <../vitamins/sk_brackets.scad>
|
||||
|
||||
module sk_brackets() {
|
||||
nuts = [undef, M5_nut, M5_sliding_t_nut, M5_sliding_t_nut];
|
||||
layout([for(s = sk_brackets) 1.5 * sk_size(s)[1]])
|
||||
sk_bracket_assembly(sk_brackets[$i], nut_type = nuts[$i]);
|
||||
}
|
||||
|
||||
if($preview)
|
||||
sk_brackets();
|
||||
|
@@ -39,9 +39,8 @@ function gt_y_offset(type) = type[13]; //! Offset of the pins from centre o
|
||||
function gt_y_offset2(type) = type[14]; //! Offset of the pins screws from the screws
|
||||
function gt_tube_h(type) = type[15]; //! Height of optional tubes around the screws
|
||||
|
||||
module green_terminal(type, ways, skip = []) { //! Draw green terminal blocks, skip can be used to remove pins.
|
||||
module green_terminal(type, ways, skip = [], colour = "lime") { //! Draw green terminal blocks, skip can be used to remove pins.
|
||||
pitch = gt_pitch(type);
|
||||
|
||||
imperial = str(pitch / inch(1));
|
||||
vitamin(str("green_terminal(", type[0], ", ", ways, "): Terminal block ", ways, " way ", len(imperial) < 5 ? str(pitch / inch(1), "\"") : str(pitch, "mm")));
|
||||
width = ways * pitch;
|
||||
@@ -79,7 +78,7 @@ module green_terminal(type, ways, skip = []) { //! Draw green terminal blocks, s
|
||||
}
|
||||
}
|
||||
|
||||
color("lime") {
|
||||
color(colour) {
|
||||
rotate([90, 0, 0])
|
||||
linear_extrude(height = pitch, center = true, convexity = 5)
|
||||
polygon(points = [ // Vertical section
|
||||
|
@@ -18,6 +18,14 @@
|
||||
//
|
||||
// Green terminal blocks
|
||||
//
|
||||
|
||||
// f b y y
|
||||
// h h f h b s f o o
|
||||
// p d e e d e d c r f f t
|
||||
// i e i i e i e r o b b f f u
|
||||
// t p g t g p g p e n o o s s b
|
||||
// c t h o h t h t w t x x e t e
|
||||
// h h t p t h t h r t w h t 2 h
|
||||
gt_2p54 = ["gt_2p54", 2.54, 6.6, 10, 3, 6, 0.4, 6.4, 1, 1, 0.2, 2, 2, 0, 0, 0];
|
||||
gt_3p5 = ["gt_3p5", 3.5, 7.3, 8.5, 4, 5, 0.4, 4, 0, 1.35, 0.4, 1.8, 2, 0, 0, 0];
|
||||
gt_6p35 = ["gt_6p35", 6.35, 12.6, 17.4, 6.8, 12, 0.4, 11, 2, 2.7, 0.8, 3.4, 4.2, 1.8, 1.1, 21.4];
|
||||
|
@@ -66,7 +66,7 @@ module leadscrew(d , l, lead, starts, center = true) { //! Draw a leadscrew with
|
||||
|
||||
translate_z(center ? 0 : l / 2)
|
||||
if(show_threads && pitch)
|
||||
thread(d - pitch, lead, l, thread_profile(pitch / 2, pitch * 0.366, 30), top = 45, bot = 45, starts = starts, center = center, colour = rod_colour);
|
||||
thread(d - pitch, lead, l, thread_profile(pitch / 2, pitch * 0.366, 30), top = 45, bot = 45, starts = starts, colour = rod_colour);
|
||||
else
|
||||
color(leadscrew_colour)
|
||||
hull() {
|
||||
|
@@ -59,7 +59,7 @@ function screw_shorter_than(x) = x >= 20 ? floor(x / 5) * 5 : //! Returns longes
|
||||
function screw_smaller_than(d) = d >= 2.5 && d < 3 ? 2.5 : floor(d); // Largest diameter screw less than or equal to specified diameter
|
||||
|
||||
module screw(type, length, hob_point = 0, nylon = false) { //! Draw specified screw, optionally hobbed or nylon
|
||||
description = str("Screw ", nylon ? "Nylon " : "", type[1], " x ", length, "mm", hob_point ? str(", hobbed at ", hob_point) : "");
|
||||
description = str("Screw ", nylon ? "Nylon " : "", type[1], length < 10 ? " x " : " x ", length, "mm", hob_point ? str(", hobbed at ", hob_point) : "");
|
||||
vitamin(str("screw(", type[0], "_screw, ", length, arg(hob_point, 0, "hob_point"), arg(nylon, false, "nylon"), "): ", description));
|
||||
|
||||
head_type = screw_head_type(type);
|
||||
|
116
vitamins/sk_bracket.scad
Normal file
116
vitamins/sk_bracket.scad
Normal file
@@ -0,0 +1,116 @@
|
||||
//
|
||||
// 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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
//
|
||||
//! SK shaft support brackets
|
||||
//
|
||||
include <../core.scad>
|
||||
include <../utils/fillet.scad>
|
||||
|
||||
include <screws.scad>
|
||||
use <washer.scad>
|
||||
|
||||
sk_bracket_color = grey70;
|
||||
|
||||
function sk_diameter(type) = type[1]; //! Rod hole diameter
|
||||
function sk_hole_offset(type) = type[2]; //! Rod hole offset
|
||||
function sk_size(type) = [type[4],type[6],type[5]]; //! Size of bracket
|
||||
function sk_base_height(type) = type[7]; //! Height of base containing the screws
|
||||
function sk_screw_separation(type) = type[9]; //! Separation of screws in the base
|
||||
|
||||
module sk_bracket(type) { //! SK shaft support bracket
|
||||
vitamin(str("sk_bracket(", type[0], "): SK", sk_diameter(type), " shaft support bracket"));
|
||||
|
||||
d = type[1];
|
||||
h = type[2];
|
||||
E = type[3];
|
||||
W = type[4];
|
||||
L = type[5];
|
||||
F = type[6];
|
||||
G = type[7];
|
||||
P = type[8];
|
||||
B = type[9];
|
||||
S = type[10];
|
||||
bolthole_radius = type[11];
|
||||
|
||||
color(sk_bracket_color) {
|
||||
translate([0 , -h, 0]) {
|
||||
fillet = 0.5;
|
||||
rotate([-90, 0, 0])
|
||||
linear_extrude(G)
|
||||
difference() {
|
||||
translate([-(W - 2*fillet) / 2, -L / 2, 0])
|
||||
square([W - 2 * fillet, L]);
|
||||
translate([-B / 2, 0])
|
||||
circle(r = bolthole_radius);
|
||||
translate([B / 2, 0])
|
||||
circle(r = bolthole_radius);
|
||||
}
|
||||
for(x = [W / 2 - 2 * fillet, -W / 2 + 2 * fillet])
|
||||
translate([x, G / 2, 0])
|
||||
rounded_rectangle([4 * fillet, G, L], fillet);
|
||||
}
|
||||
|
||||
translate([0, -h, -L /2])
|
||||
linear_extrude(L) {
|
||||
fillet = 0.75;
|
||||
difference() {
|
||||
translate([-P / 2, 0])
|
||||
rounded_square([P, F], fillet, center = false);
|
||||
cut_width = 1;
|
||||
translate([-cut_width / 2, h + cut_width])
|
||||
square([cut_width, F - h]);
|
||||
translate([0, h])
|
||||
circle(d = d);
|
||||
}
|
||||
translate([P/2,G])
|
||||
fillet(fillet, 0);
|
||||
translate([-P/2,G])
|
||||
rotate(90)
|
||||
fillet(fillet, 0);
|
||||
}
|
||||
}
|
||||
// Add the retaining bolt. No hole was cut, since it is only for display.
|
||||
color(grey20)
|
||||
translate([P / 2 - screw_head_height(M3_cap_screw) / 2, (F - h + d / 2) / 2, 0])
|
||||
rotate([0,90,0])
|
||||
not_on_bom() no_explode()
|
||||
screw(M3_cap_screw, P - screw_head_height(M3_cap_screw) / 2 + eps);
|
||||
}
|
||||
|
||||
|
||||
module sk_bracket_assembly(type, screw_length = 16, screw_type = M5_cap_screw, nut_type = undef) { //! Assembly with fasteners in place
|
||||
sk_bracket(type);
|
||||
|
||||
nut_type = is_undef(nut_type) ? screw_nut(screw_type) : nut_type;
|
||||
|
||||
for (x = [-sk_screw_separation(type), sk_screw_separation(type)])
|
||||
translate([x / 2, sk_base_height(type) - sk_hole_offset(type), 0])
|
||||
rotate([-90, 0, 0]) {
|
||||
screw_and_washer(screw_type, screw_length);
|
||||
translate_z(-screw_length + 2 * washer_thickness(screw_washer(screw_type)))
|
||||
if(nut_type == M5_sliding_t_nut)
|
||||
translate_z(nut_thickness(nut_type))
|
||||
vflip()
|
||||
sliding_t_nut(nut_type);
|
||||
else
|
||||
nut(nut_type)
|
||||
washer(nut_washer(nut_type));
|
||||
}
|
||||
}
|
||||
|
35
vitamins/sk_brackets.scad
Normal file
35
vitamins/sk_brackets.scad
Normal file
@@ -0,0 +1,35 @@
|
||||
//
|
||||
// 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 <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
//
|
||||
// SK shaft support brackets
|
||||
//
|
||||
|
||||
include <../core.scad>
|
||||
include <../vitamins/screws.scad>
|
||||
|
||||
// d h E W L F G P B S bolthole
|
||||
SK8 = ["SK8", 8, 20, 21, 42, 14, 32.8, 6, 18, 32, 5.5, M5_clearance_radius];
|
||||
SK10 = ["SK10", 10, 20, 21, 42, 14, 32.8, 6, 18, 32, 5.5, M5_clearance_radius];
|
||||
SK12 = ["SK12", 12, 23, 21, 42, 14, 37.5, 6, 18, 32, 5.5, M5_clearance_radius];
|
||||
SK16 = ["SK16", 16, 27, 24, 48, 16, 44.0, 8, 25, 38, 5.5, M5_clearance_radius];
|
||||
|
||||
sk_brackets = [SK8, SK10, SK12, SK16];
|
||||
use <sk_bracket.scad>
|
||||
|
Reference in New Issue
Block a user