Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b9d101749e | ||
|
17979d3205 | ||
|
73567eda39 | ||
|
f5c74a8561 | ||
|
04090b816b | ||
|
06d4918630 | ||
|
9d502e4773 | ||
|
2d091b9d16 | ||
|
1afd7a21ce | ||
|
74293b6c22 | ||
|
9e45e4eb79 | ||
|
523fc9e9a5 |
51
CHANGELOG.md
@@ -3,6 +3,51 @@
|
|||||||
This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes.
|
This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes.
|
||||||
|
|
||||||
|
|
||||||
|
### [v21.9.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.9.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.8.0...v21.9.0 "diff with v21.8.0")
|
||||||
|
* 2023-10-29 [`2d091b9`](https://github.com/nophead/NopSCADlib/commit/2d091b9d16d33cf8b8751b2a436019c9032422a3 "show commit") [C.P.](# "Chris Palmer") Added a constructor function for PCBs.
|
||||||
|
PCB text can now specify a colour.
|
||||||
|
Added `SOT23_6,` `TSOT23_8` and CAP1210 SMD packages.
|
||||||
|
Added ESP-201 Wifi Module PCB.
|
||||||
|
Added ESP12F Wifi module.
|
||||||
|
Added `tiny_buck` converter PCB.
|
||||||
|
Made 2p54joiner a bit longer.
|
||||||
|
Fixed SOIC gullwing shape.
|
||||||
|
Added Wifi antennas.
|
||||||
|
Added Yunpen filtered IEC mains inlet.
|
||||||
|
Added power jack socket.
|
||||||
|
Added right angle option for LEDs.
|
||||||
|
Added `gear_motors`.
|
||||||
|
Added 686ZZ and 696ZZ ball bearings.
|
||||||
|
Added two larger box section tubes.
|
||||||
|
Added right angle option to `square_buttons`. Doesn't draw the frame yet.
|
||||||
|
Added multiwatt11 package for L6203.
|
||||||
|
Added ONS9143A 13A mains socket.
|
||||||
|
Added radial electrolytic capacitors.
|
||||||
|
Added `LDE10_20B` PSU module.
|
||||||
|
Added `screw_tearsink()` to make horizontal countersunk holes.
|
||||||
|
Can now have solid tracks on veroboard.
|
||||||
|
Added `veroboard_base()` module to make an STL for a base with spacers.
|
||||||
|
Corrected M6 spring washer thickness.
|
||||||
|
Can now specify the height of a solder meniscus.
|
||||||
|
`slot()` now has a `center` option.
|
||||||
|
Added `button_6mm_7` with a taller button.
|
||||||
|
Added default fa, fs and fn constants used for drawing vitamins.
|
||||||
|
These can be set via `$default_fa` and `$default_fs` that can also be set
|
||||||
|
by environment variables: `NOPSCADLIB_DEFAULT_FA` and `NOPSCADLIB_DEFAULT_FS`.
|
||||||
|
|
||||||
|
### [v21.8.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.8.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.7.0...v21.8.0 "diff with v21.7.0")
|
||||||
|
* 2023-07-28 [`74293b6`](https://github.com/nophead/NopSCADlib/commit/74293b6c22c51c326e2d541d1a68a1cd63659c2b "show commit") [C.](# "Chris") Added axial diodes, radial transistors, discs and modules.
|
||||||
|
Verboard and perboard components get solder menisci added automatically.
|
||||||
|
Radial leads now made by bezier curves rather than straights and arcs.
|
||||||
|
|
||||||
|
### [v21.7.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.7.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.6.1...v21.7.0 "diff with v21.6.1")
|
||||||
|
* 2023-07-22 [`523fc9e`](https://github.com/nophead/NopSCADlib/commit/523fc9e9a5c8a566bde2bfe8555d5f6dddd8f05b "show commit") [C.](# "Chris") Adafruit Feather 405 contributed by Chris Lott.
|
||||||
|
|
||||||
|
#### [v21.6.1](https://github.com/nophead/NopSCADlib/releases/tag/v21.6.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v21.6.0...v21.6.1 "diff with v21.6.0")
|
||||||
|
* 2023-07-22 [`09d2ffb`](https://github.com/nophead/NopSCADlib/commit/09d2ffb126cf9d9ad2d68171583e11708227b704 "show commit") [C.](# "Chris") Typo in comment fixed.
|
||||||
|
|
||||||
|
* 2023-07-22 [`3c37035`](https://github.com/nophead/NopSCADlib/commit/3c370359c838a48d85e25709bcbced61249c237d "show commit") [C.](# "Chris") Make front page `readme.md` labels lower case as GitHub seems have stopped working with uppercase.
|
||||||
|
|
||||||
### [v21.6.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.6.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.5.1...v21.6.0 "diff with v21.5.1")
|
### [v21.6.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.6.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.5.1...v21.6.0 "diff with v21.5.1")
|
||||||
* 2023-07-22 [`e3cde64`](https://github.com/nophead/NopSCADlib/commit/e3cde64b61b6abfc4a2883e8aa32b66346fde1c4 "show commit") [C.](# "Chris") `open_bearing_theta()` now derived from `open_bearing_width()`.
|
* 2023-07-22 [`e3cde64`](https://github.com/nophead/NopSCADlib/commit/e3cde64b61b6abfc4a2883e8aa32b66346fde1c4 "show commit") [C.](# "Chris") `open_bearing_theta()` now derived from `open_bearing_width()`.
|
||||||
|
|
||||||
@@ -148,7 +193,7 @@ Corrected BOM entry to show right angle options on Molex and pin headers.
|
|||||||
* 2023-01-24 [`77e948f`](https://github.com/nophead/NopSCADlib/commit/77e948f43c911442211bcbf6d1b1520184d2c70b "show commit") [C.P.](# "Chris Palmer") Added can bus connectors to OpenGrab model.
|
* 2023-01-24 [`77e948f`](https://github.com/nophead/NopSCADlib/commit/77e948f43c911442211bcbf6d1b1520184d2c70b "show commit") [C.P.](# "Chris Palmer") Added can bus connectors to OpenGrab model.
|
||||||
Tweaked some PCB component positions.
|
Tweaked some PCB component positions.
|
||||||
|
|
||||||
* 2023-01-24 [`543cdb4`](https://github.com/nophead/NopSCADlib/commit/543cdb4e01d38308a06d4368ebabadb85c696567 "show commit") [C.P.](# "Chris Palmer") Increased the clearance of holes made for pin header.
|
* 2023-01-24 [`543cdb4`](https://github.com/nophead/NopSCADlib/commit/543cdb4e01d38308a06d4368ebabadb85c696567 "show commit") [C.P.](# "Chris Palmer") Incresed the clearance of holes made for pin header.
|
||||||
|
|
||||||
### [v20.19.0](https://github.com/nophead/NopSCADlib/releases/tag/v20.19.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v20.18.1...v20.19.0 "diff with v20.18.1")
|
### [v20.19.0](https://github.com/nophead/NopSCADlib/releases/tag/v20.19.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v20.18.1...v20.19.0 "diff with v20.18.1")
|
||||||
* 2023-01-12 [`ebd50ba`](https://github.com/nophead/NopSCADlib/commit/ebd50bae535283b94b310ee74c9b98b2e3b7f8be "show commit") [C.P.](# "Chris Palmer") Added SMD diodes, inductors and potentiometers.
|
* 2023-01-12 [`ebd50ba`](https://github.com/nophead/NopSCADlib/commit/ebd50bae535283b94b310ee74c9b98b2e3b7f8be "show commit") [C.P.](# "Chris Palmer") Added SMD diodes, inductors and potentiometers.
|
||||||
@@ -1244,7 +1289,7 @@ Updated pics and readme.
|
|||||||
* 2020-12-28 [`f6f4fcc`](https://github.com/nophead/NopSCADlib/commit/f6f4fcc7e84e40669446708e2352ea68c49b7961 "show commit") [M.B.](# "Martin Budden") Added `M5_cs_cap` screw
|
* 2020-12-28 [`f6f4fcc`](https://github.com/nophead/NopSCADlib/commit/f6f4fcc7e84e40669446708e2352ea68c49b7961 "show commit") [M.B.](# "Martin Budden") Added `M5_cs_cap` screw
|
||||||
|
|
||||||
#### [v10.21.1](https://github.com/nophead/NopSCADlib/releases/tag/v10.21.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v10.21.0...v10.21.1 "diff with v10.21.0")
|
#### [v10.21.1](https://github.com/nophead/NopSCADlib/releases/tag/v10.21.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v10.21.0...v10.21.1 "diff with v10.21.0")
|
||||||
* 2020-12-28 [`ba586b3`](https://github.com/nophead/NopSCADlib/commit/ba586b368582db163af143ebb60afed270f77b1c "show commit") [C.P.](# "Chris Palmer") Example images update to match new countersink screws and teardrops.
|
* 2020-12-28 [`ba586b3`](https://github.com/nophead/NopSCADlib/commit/ba586b368582db163af143ebb60afed270f77b1c "show commit") [C.P.](# "Chris Palmer") Example images update to match new contersink screws and teardrops.
|
||||||
|
|
||||||
### [v10.21.0](https://github.com/nophead/NopSCADlib/releases/tag/v10.21.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v10.20.1...v10.21.0 "diff with v10.20.1")
|
### [v10.21.0](https://github.com/nophead/NopSCADlib/releases/tag/v10.21.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v10.20.1...v10.21.0 "diff with v10.20.1")
|
||||||
* 2020-12-28 [`8d22940`](https://github.com/nophead/NopSCADlib/commit/8d22940506df525ac52ef6f8a00ea03661f3b682 "show commit") [C.P.](# "Chris Palmer") Project blurb can now be split with into sections with markdown horizontal rules
|
* 2020-12-28 [`8d22940`](https://github.com/nophead/NopSCADlib/commit/8d22940506df525ac52ef6f8a00ea03661f3b682 "show commit") [C.P.](# "Chris Palmer") Project blurb can now be split with into sections with markdown horizontal rules
|
||||||
@@ -1522,7 +1567,7 @@ Reverted the jst header pin position change.
|
|||||||
|
|
||||||
* 2020-09-20 [`933fea6`](https://github.com/nophead/NopSCADlib/commit/933fea687c54d7d8ec48fe92aae12ffca0666789 "show commit") [C.P.](# "Chris Palmer") Removed debug code
|
* 2020-09-20 [`933fea6`](https://github.com/nophead/NopSCADlib/commit/933fea687c54d7d8ec48fe92aae12ffca0666789 "show commit") [C.P.](# "Chris Palmer") Removed debug code
|
||||||
|
|
||||||
* 2020-09-19 [`a7803b1`](https://github.com/nophead/NopSCADlib/commit/a7803b1efbf92c5e27f3171d7e2a92634fa2d84f "show commit") [C.P.](# "Chris Palmer") Improved numerical accuracy of catenary calculations.
|
* 2020-09-19 [`a7803b1`](https://github.com/nophead/NopSCADlib/commit/a7803b1efbf92c5e27f3171d7e2a92634fa2d84f "show commit") [C.P.](# "Chris Palmer") Improved numerical accuarcy of catenary calculations.
|
||||||
|
|
||||||
### [v9.7.0](https://github.com/nophead/NopSCADlib/releases/tag/v9.7.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v9.6.1...v9.7.0 "diff with v9.6.1")
|
### [v9.7.0](https://github.com/nophead/NopSCADlib/releases/tag/v9.7.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v9.6.1...v9.7.0 "diff with v9.6.1")
|
||||||
* 2020-09-19 [`1255e71`](https://github.com/nophead/NopSCADlib/commit/1255e712719ce66fd3b231e5c212ea69b0bb9f1c "show commit") [C.P.](# "Chris Palmer") Added catenary curves.
|
* 2020-09-19 [`1255e71`](https://github.com/nophead/NopSCADlib/commit/1255e712719ce66fd3b231e5c212ea69b0bb9f1c "show commit") [C.P.](# "Chris Palmer") Added catenary curves.
|
||||||
|
@@ -30,7 +30,7 @@ The `NopSCADlib/scripts` directory needs to be added to the executable search pa
|
|||||||
|
|
||||||
Note that on Linux and OSX the full file name including the `.py` will be needed.
|
Note that on Linux and OSX the full file name including the `.py` will be needed.
|
||||||
|
|
||||||
The installation can be tested by opening `NopSCADlib/libtest.scad` in the OpenSCAD GUI. It should render all the objects in the library in about 1 minute.
|
The installation can be tested by opening `NopSCADlib/libtest.scad` in the OpenSCAD GUI. It should render all the objects in the library in about 2 minutes.
|
||||||
|
|
||||||
Running `tests` from the command line will run all the tests in the `tests` directory and build the `readme.md` catalog for GitHub and render it to `readme.html`
|
Running `tests` from the command line will run all the tests in the `tests` directory and build the `readme.md` catalog for GitHub and render it to `readme.html`
|
||||||
for local preview.
|
for local preview.
|
||||||
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 203 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 265 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 326 KiB After Width: | Height: | Size: 326 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 336 KiB After Width: | Height: | Size: 336 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 249 KiB After Width: | Height: | Size: 249 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 187 KiB After Width: | Height: | Size: 185 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 234 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 229 KiB After Width: | Height: | Size: 236 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 218 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
@@ -1,6 +1,6 @@
|
|||||||
'Micro SD card', 1
|
'Micro SD card', 1
|
||||||
'Fan 17mm x 8mm', 1
|
'Fan 17mm x 8mm', 1
|
||||||
'Heatfit insert M2', 4
|
'Heatfit insert M2 x 4mm', 4
|
||||||
'Nut M2.5 x 2.2mm nyloc', 4
|
'Nut M2.5 x 2.2mm nyloc', 4
|
||||||
'Enviro+', 1
|
'Enviro+', 1
|
||||||
'Raspberry Pi Zero', 1
|
'Raspberry Pi Zero', 1
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
'SMD capacitor 1206 10uF', 1
|
'SMD capacitor 1206 10uF', 1
|
||||||
'SMD resistor 0805 3K3 0.125W', 1
|
'SMD resistor 0805 3K3 0.125W', 1
|
||||||
'SOT223 package FZT851', 1
|
'SOT223 package FZT851', 1
|
||||||
'Veroboard 6 holes x 6strips', 1
|
'Veroboard 6 holes x 6 strips', 1
|
||||||
'Washer M2 x 5mm x 0.3mm', 4
|
'Washer M2 x 5mm x 0.3mm', 4
|
||||||
'Washer M2.5 x 5.9mm x 0.5mm', 4
|
'Washer M2.5 x 5.9mm x 0.5mm', 4
|
||||||
'Washer M3 x 7mm x 0.5mm', 3
|
'Washer M3 x 7mm x 0.5mm', 3
|
||||||
|
|
@@ -49,13 +49,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fan_controller_assembly",
|
"name": "fan_controller_assembly",
|
||||||
"big": null,
|
"big": true,
|
||||||
"ngb": false,
|
"ngb": false,
|
||||||
"zoomed": 0,
|
"zoomed": 0,
|
||||||
"count": 1,
|
"count": 1,
|
||||||
"assemblies": {},
|
"assemblies": {},
|
||||||
"vitamins": {
|
"vitamins": {
|
||||||
"veroboard(fan_vb): Veroboard 6 holes x 6strips": {
|
"veroboard(fan_vb): Veroboard 6 holes x 6 strips": {
|
||||||
"count": 1
|
"count": 1
|
||||||
},
|
},
|
||||||
"wire_link(0.8, 10.16, tail = 2.5): Wire link 0.8mm x 0.4\"": {
|
"wire_link(0.8, 10.16, tail = 2.5): Wire link 0.8mm x 0.4\"": {
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
"count": 1,
|
"count": 1,
|
||||||
"assemblies": {},
|
"assemblies": {},
|
||||||
"vitamins": {
|
"vitamins": {
|
||||||
"insert(F1BM2): Heatfit insert M2": {
|
"insert(F1BM2): Heatfit insert M2 x 4mm": {
|
||||||
"count": 4
|
"count": 4
|
||||||
},
|
},
|
||||||
"washer(M3_washer): Washer M3 x 7mm x 0.5mm": {
|
"washer(M3_washer): Washer M3 x 7mm x 0.5mm": {
|
||||||
|
@@ -15,7 +15,7 @@ Vitamins:
|
|||||||
i e k e o e r n
|
i e k e o e r n
|
||||||
1| | | | | | | | 1 Micro SD card
|
1| | | | | | | | 1 Micro SD card
|
||||||
| | 1| | | | | | 1 Fan 17mm x 8mm
|
| | 1| | | | | | 1 Fan 17mm x 8mm
|
||||||
| | | 4| | | | | 4 Heatfit insert M2
|
| | | 4| | | | | 4 Heatfit insert M2 x 4mm
|
||||||
| | | | | 4| | | 4 Nut M2.5 x 2.2mm nyloc
|
| | | | | 4| | | 4 Nut M2.5 x 2.2mm nyloc
|
||||||
| | | | 1| | | | 1 Enviro+
|
| | | | 1| | | | 1 Enviro+
|
||||||
1| | | | | | | | 1 Raspberry Pi Zero
|
1| | | | | | | | 1 Raspberry Pi Zero
|
||||||
@@ -28,7 +28,7 @@ Vitamins:
|
|||||||
| | | | | | 1| | 1 SMD capacitor 1206 10uF
|
| | | | | | 1| | 1 SMD capacitor 1206 10uF
|
||||||
| | | | | | 1| | 1 SMD resistor 0805 3K3 0.125W
|
| | | | | | 1| | 1 SMD resistor 0805 3K3 0.125W
|
||||||
| | | | | | 1| | 1 SOT223 package FZT851
|
| | | | | | 1| | 1 SOT223 package FZT851
|
||||||
| | | | | | 1| | 1 Veroboard 6 holes x 6strips
|
| | | | | | 1| | 1 Veroboard 6 holes x 6 strips
|
||||||
| | | | | | | 4| 4 Washer M2 x 5mm x 0.3mm
|
| | | | | | | 4| 4 Washer M2 x 5mm x 0.3mm
|
||||||
| | | | | 4| | | 4 Washer M2.5 x 5.9mm x 0.5mm
|
| | | | | 4| | | 4 Washer M2.5 x 5.9mm x 0.5mm
|
||||||
| | | 3| | | | | 3 Washer M3 x 7mm x 0.5mm
|
| | | 3| | | | | 3 Washer M3 x 7mm x 0.5mm
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
case_assembly:
|
case_assembly:
|
||||||
Vitamins:
|
Vitamins:
|
||||||
4 Heatfit insert M2
|
4 Heatfit insert M2 x 4mm
|
||||||
3 Screw M3 pan x 6mm
|
3 Screw M3 pan x 6mm
|
||||||
3 Washer M3 x 7mm x 0.5mm
|
3 Washer M3 x 7mm x 0.5mm
|
||||||
|
|
||||||
|
@@ -3,6 +3,6 @@ Vitamins:
|
|||||||
1 SMD capacitor 1206 10uF
|
1 SMD capacitor 1206 10uF
|
||||||
1 SMD resistor 0805 3K3 0.125W
|
1 SMD resistor 0805 3K3 0.125W
|
||||||
1 SOT223 package FZT851
|
1 SOT223 package FZT851
|
||||||
1 Veroboard 6 holes x 6strips
|
1 Veroboard 6 holes x 6 strips
|
||||||
3 Wire link 0.8mm x 6.5mm
|
3 Wire link 0.8mm x 6.5mm
|
||||||
1 Wire link 0.8mm x 0.4"
|
1 Wire link 0.8mm x 0.4"
|
||||||
|
@@ -29,7 +29,7 @@ Environmental monitor using Enviro+ sensor board and a Raspberry Pi Zero.
|
|||||||
| | | | | | | | | | **Vitamins** |
|
| | | | | | | | | | **Vitamins** |
|
||||||
| . | . | . | 1 | . | . | . | . | 1 | Enviro+ |
|
| . | . | . | 1 | . | . | . | . | 1 | Enviro+ |
|
||||||
| 1 | . | . | . | . | . | . | . | 1 | Fan 17mm x 8mm |
|
| 1 | . | . | . | . | . | . | . | 1 | Fan 17mm x 8mm |
|
||||||
| . | . | . | . | 4 | . | . | . | 4 | Heatfit insert M2 |
|
| . | . | . | . | 4 | . | . | . | 4 | Heatfit insert M2 x 4mm |
|
||||||
| . | 1 | . | . | . | . | . | . | 1 | Micro SD card |
|
| . | 1 | . | . | . | . | . | . | 1 | Micro SD card |
|
||||||
| . | . | . | . | . | 4 | . | . | 4 | Nut M2.5 x 2.2mm nyloc |
|
| . | . | . | . | . | 4 | . | . | 4 | Nut M2.5 x 2.2mm nyloc |
|
||||||
| 1 | . | . | . | . | . | . | . | 1 | PMS5003 particle detector |
|
| 1 | . | . | . | . | . | . | . | 1 | PMS5003 particle detector |
|
||||||
@@ -42,7 +42,7 @@ Environmental monitor using Enviro+ sensor board and a Raspberry Pi Zero.
|
|||||||
| . | . | . | . | . | . | 2 | . | 2 | Screw M2.5 pan x 6.4mm |
|
| . | . | . | . | . | . | 2 | . | 2 | Screw M2.5 pan x 6.4mm |
|
||||||
| . | . | . | . | . | 4 | . | . | 4 | Screw M2.5 pan x 8mm |
|
| . | . | . | . | . | 4 | . | . | 4 | Screw M2.5 pan x 8mm |
|
||||||
| . | . | . | . | 3 | . | . | . | 3 | Screw M3 pan x 6mm |
|
| . | . | . | . | 3 | . | . | . | 3 | Screw M3 pan x 6mm |
|
||||||
| . | . | 1 | . | . | . | . | . | 1 | Veroboard 6 holes x 6strips |
|
| . | . | 1 | . | . | . | . | . | 1 | Veroboard 6 holes x 6 strips |
|
||||||
| . | . | . | . | . | . | . | 4 | 4 | Washer M2 x 5mm x 0.3mm |
|
| . | . | . | . | . | . | . | 4 | 4 | Washer M2 x 5mm x 0.3mm |
|
||||||
| . | . | . | . | . | 4 | . | . | 4 | Washer M2.5 x 5.9mm x 0.5mm |
|
| . | . | . | . | . | 4 | . | . | 4 | Washer M2.5 x 5.9mm x 0.5mm |
|
||||||
| . | . | . | . | 3 | . | . | . | 3 | Washer M3 x 7mm x 0.5mm |
|
| . | . | . | . | 3 | . | . | . | 3 | Washer M3 x 7mm x 0.5mm |
|
||||||
@@ -121,13 +121,13 @@ Environmental monitor using Enviro+ sensor board and a Raspberry Pi Zero.
|
|||||||
|1| SMD capacitor 1206 10uF|
|
|1| SMD capacitor 1206 10uF|
|
||||||
|1| SMD resistor 0805 3K3 0.125W|
|
|1| SMD resistor 0805 3K3 0.125W|
|
||||||
|1| SOT223 package FZT851|
|
|1| SOT223 package FZT851|
|
||||||
|1| Veroboard 6 holes x 6strips|
|
|1| Veroboard 6 holes x 6 strips|
|
||||||
|1| Wire link 0.8mm x 0.4"|
|
|1| Wire link 0.8mm x 0.4"|
|
||||||
|3| Wire link 0.8mm x 6.5mm|
|
|3| Wire link 0.8mm x 6.5mm|
|
||||||
|
|
||||||
|
|
||||||
### Assembly instructions
|
### Assembly instructions
|
||||||

|

|
||||||
|
|
||||||
The fan controller is a single transistor wired as a Miller integrator that effectively multiplies the capacitor value by the gain of the transistor.
|
The fan controller is a single transistor wired as a Miller integrator that effectively multiplies the capacitor value by the gain of the transistor.
|
||||||
It converts the PWM signal on GPI4 to a stead DC voltage so that the fan doesn't whine, or stutter.
|
It converts the PWM signal on GPI4 to a stead DC voltage so that the fan doesn't whine, or stutter.
|
||||||
@@ -145,7 +145,7 @@ It converts the PWM signal on GPI4 to a stead DC voltage so that the fan doesn't
|
|||||||

|

|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<span></span>
|
<span></span>
|
||||||
[Top](#TOP)
|
[Top](#TOP)
|
||||||
@@ -168,11 +168,11 @@ It converts the PWM signal on GPI4 to a stead DC voltage so that the fan doesn't
|
|||||||
|
|
||||||
|
|
||||||
### Assembly instructions
|
### Assembly instructions
|
||||||

|

|
||||||
|
|
||||||
* Solder the fan_controller to the Enviro+ expansion connector at the 5V, GND and #4 pins.
|
* Solder the fan_controller to the Enviro+ expansion connector at the 5V, GND and #4 pins.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<span></span>
|
<span></span>
|
||||||
[Top](#TOP)
|
[Top](#TOP)
|
||||||
@@ -183,7 +183,7 @@ It converts the PWM signal on GPI4 to a stead DC voltage so that the fan doesn't
|
|||||||
### Vitamins
|
### Vitamins
|
||||||
|Qty|Description|
|
|Qty|Description|
|
||||||
|---:|:----------|
|
|---:|:----------|
|
||||||
|4| Heatfit insert M2|
|
|4| Heatfit insert M2 x 4mm|
|
||||||
|3| Screw M3 pan x 6mm|
|
|3| Screw M3 pan x 6mm|
|
||||||
|3| Washer M3 x 7mm x 0.5mm|
|
|3| Washer M3 x 7mm x 0.5mm|
|
||||||
|
|
||||||
|
@@ -7,7 +7,6 @@
|
|||||||
//
|
//
|
||||||
// Top level model
|
// Top level model
|
||||||
//
|
//
|
||||||
|
|
||||||
include <NopSCADlib/core.scad>
|
include <NopSCADlib/core.scad>
|
||||||
use <NopSCADlib/vitamins/veroboard.scad>
|
use <NopSCADlib/vitamins/veroboard.scad>
|
||||||
include <NopSCADlib/vitamins/smds.scad>
|
include <NopSCADlib/vitamins/smds.scad>
|
||||||
@@ -19,10 +18,9 @@ fan_vb = vero("fan_vb", "fan_controller", 6, 6, breaks = [[2, 1], [2 + eps, 5]],
|
|||||||
[0, 1, 0, "link", 0, 4, undef, 2.5],
|
[0, 1, 0, "link", 0, 4, undef, 2.5],
|
||||||
[0, 0, 0, "link", 0, 4, undef, 2.5],
|
[0, 0, 0, "link", 0, 4, undef, 2.5],
|
||||||
[2, 5, 0, "-smd_res", RES0805, "3K3"],
|
[2, 5, 0, "-smd_res", RES0805, "3K3"],
|
||||||
[4, 4.7, 90, "-smd_cap", CAP1206, 1.2, "10uF"],
|
[4, 4.5, 90, "-smd_cap", CAP1206, 1.2, "10uF"],
|
||||||
[2, 2.5, 180, "-smd_sot", SOT223, "FZT851"],
|
[2, 2.5, 180, "-smd_sot", SOT223, "FZT851"],
|
||||||
],
|
]
|
||||||
joints = [[5, 1], [5, 5], [0, [0, 1, 5]]]
|
|
||||||
);
|
);
|
||||||
|
|
||||||
//! The fan controller is a single transistor wired as a Miller integrator that effectively multiplies the capacitor value by the gain of the transistor.
|
//! The fan controller is a single transistor wired as a Miller integrator that effectively multiplies the capacitor value by the gain of the transistor.
|
||||||
@@ -40,6 +38,6 @@ fan_vb = vero("fan_vb", "fan_controller", 6, 6, breaks = [[2, 1], [2 + eps, 5]],
|
|||||||
//!
|
//!
|
||||||
//! 
|
//! 
|
||||||
//!
|
//!
|
||||||
module fan_controller_assembly() rotate(90) vflip(!exploded()) veroboard_assembly(fan_vb, -vero_thickness(fan_vb) - 1.4, 0);
|
module fan_controller_assembly() rotate(90) vflip() veroboard_fastened_assembly(fan_vb, -vero_thickness(fan_vb) - 1.4, 0);
|
||||||
|
|
||||||
fan_controller_assembly();
|
fan_controller_assembly();
|
||||||
|
@@ -25,6 +25,7 @@ include <NopSCADlib/vitamins/fans.scad>
|
|||||||
use <NopSCADlib/vitamins/insert.scad>
|
use <NopSCADlib/vitamins/insert.scad>
|
||||||
use <NopSCADlib/vitamins/veroboard.scad>
|
use <NopSCADlib/vitamins/veroboard.scad>
|
||||||
use <NopSCADlib/utils/round.scad>
|
use <NopSCADlib/utils/round.scad>
|
||||||
|
use <NopSCADlib/utils/pcb_utils.scad>
|
||||||
use <NopSCADlib/printed/foot.scad>
|
use <NopSCADlib/printed/foot.scad>
|
||||||
use <NopSCADlib/printed/printed_box.scad>
|
use <NopSCADlib/printed/printed_box.scad>
|
||||||
use <fan_controller.scad>
|
use <fan_controller.scad>
|
||||||
@@ -402,7 +403,7 @@ assembly("enviro") {
|
|||||||
if(!exploded())
|
if(!exploded())
|
||||||
for(x = [8, 7, 3])
|
for(x = [8, 7, 3])
|
||||||
pcb_grid(pcb, x, 0, 0.05)
|
pcb_grid(pcb, x, 0, 0.05)
|
||||||
solder_meniscus(pcb, 0.39, 1);
|
solder_meniscus(0.39, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//! * Screw the Enviro+ PCB to the front of the case using M2.5 x 8mm pan screws with washer and nuts on the inside.
|
//! * Screw the Enviro+ PCB to the front of the case using M2.5 x 8mm pan screws with washer and nuts on the inside.
|
||||||
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 200 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
@@ -1,6 +1,6 @@
|
|||||||
base_assembly:
|
base_assembly:
|
||||||
Vitamins:
|
Vitamins:
|
||||||
2 Heatfit insert M3
|
2 Heatfit insert M3 x 5.8mm
|
||||||
|
|
||||||
Printed:
|
Printed:
|
||||||
1 socket_box.stl
|
1 socket_box.stl
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
'Wire brown 30/0.25mm strands, length 150mm - not shown', 2
|
'Wire brown 30/0.25mm strands, length 150mm - not shown', 2
|
||||||
'Wire green & yellow 30/0.25mm strands, length 150mm - not shown', 2
|
'Wire green & yellow 30/0.25mm strands, length 150mm - not shown', 2
|
||||||
'IEC inlet for ATX', 1
|
'IEC inlet for ATX', 1
|
||||||
'Heatfit insert M3', 2
|
'Heatfit insert M3 x 5.8mm', 2
|
||||||
'4mm shielded jack socket blue', 2
|
'4mm shielded jack socket blue', 2
|
||||||
'4mm shielded jack socket brown', 1
|
'4mm shielded jack socket brown', 1
|
||||||
'4mm shielded jack socket green', 2
|
'4mm shielded jack socket green', 2
|
||||||
|
|
@@ -7,7 +7,7 @@
|
|||||||
"count": 1,
|
"count": 1,
|
||||||
"assemblies": {},
|
"assemblies": {},
|
||||||
"vitamins": {
|
"vitamins": {
|
||||||
"insert(F1BM3): Heatfit insert M3": {
|
"insert(F1BM3): Heatfit insert M3 x 5.8mm": {
|
||||||
"count": 2
|
"count": 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@@ -12,7 +12,7 @@ Vitamins:
|
|||||||
| | | 2| 2 Wire brown 30/0.25mm strands, length 150mm - not shown
|
| | | 2| 2 Wire brown 30/0.25mm strands, length 150mm - not shown
|
||||||
| | 1| 1| 2 Wire green & yellow 30/0.25mm strands, length 150mm - not shown
|
| | 1| 1| 2 Wire green & yellow 30/0.25mm strands, length 150mm - not shown
|
||||||
| | | 1| 1 IEC inlet for ATX
|
| | | 1| 1 IEC inlet for ATX
|
||||||
2| | | | 2 Heatfit insert M3
|
2| | | | 2 Heatfit insert M3 x 5.8mm
|
||||||
| | 2| | 2 4mm shielded jack socket blue
|
| | 2| | 2 4mm shielded jack socket blue
|
||||||
| | 1| | 1 4mm shielded jack socket brown
|
| | 1| | 1 4mm shielded jack socket brown
|
||||||
| | 2| | 2 4mm shielded jack socket green
|
| | 2| | 2 4mm shielded jack socket green
|
||||||
|
@@ -38,7 +38,7 @@ Earth leakage can be measured Canadian CSA style by disconnected the neutral lin
|
|||||||
| . | . | . | 1 | 1 | 4mm shielded jack socket brown |
|
| . | . | . | 1 | 1 | 4mm shielded jack socket brown |
|
||||||
| . | . | . | 2 | 2 | 4mm shielded jack socket green |
|
| . | . | . | 2 | 2 | 4mm shielded jack socket green |
|
||||||
| . | . | . | 3 | 3 | Ferrule for 1.5mm^2 wire - not shown |
|
| . | . | . | 3 | 3 | Ferrule for 1.5mm^2 wire - not shown |
|
||||||
| 2 | . | . | . | 2 | Heatfit insert M3 |
|
| 2 | . | . | . | 2 | Heatfit insert M3 x 5.8mm |
|
||||||
| . | . | 3 | 5 | 8 | Heatshrink sleeving ID 3.2mm x 15mm - not shown |
|
| . | . | 3 | 5 | 8 | Heatshrink sleeving ID 3.2mm x 15mm - not shown |
|
||||||
| . | . | 1 | . | 1 | IEC inlet for ATX |
|
| . | . | 1 | . | 1 | IEC inlet for ATX |
|
||||||
| . | . | . | 1 | 1 | Mains socket 13A |
|
| . | . | . | 1 | 1 | Mains socket 13A |
|
||||||
@@ -65,7 +65,7 @@ Earth leakage can be measured Canadian CSA style by disconnected the neutral lin
|
|||||||
### Vitamins
|
### Vitamins
|
||||||
|Qty|Description|
|
|Qty|Description|
|
||||||
|---:|:----------|
|
|---:|:----------|
|
||||||
|2| Heatfit insert M3|
|
|2| Heatfit insert M3 x 5.8mm|
|
||||||
|
|
||||||
|
|
||||||
### 3D Printed parts
|
### 3D Printed parts
|
||||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
BIN
gallery/Blinder.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
gallery/ClockSetter.png
Normal file
After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 169 KiB |
Before Width: | Height: | Size: 259 KiB After Width: | Height: | Size: 259 KiB |
BIN
gallery/LED_box.png
Normal file
After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 287 KiB After Width: | Height: | Size: 287 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
BIN
gallery/MultiSwitch.png
Normal file
After Width: | Height: | Size: 188 KiB |
BIN
gallery/MultiSwitch2.png
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
gallery/PSU_tube.png
Normal file
After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 214 KiB |
BIN
gallery/PowerBank.png
Normal file
After Width: | Height: | Size: 282 KiB |
@@ -4,6 +4,18 @@ Arduino thermostat to control a beer fridge to use it as an environmental chambe
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## Blinder
|
||||||
|
|
||||||
|
Tasmota roller blind open / close mechanism
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## ClockSetter
|
||||||
|
An IOT device for programming UK wireless clocks that are out of reach of the UK MSF time signal but are on UK time, e.g. in Tenerife.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## EnviroPlus
|
## EnviroPlus
|
||||||
Environmental monitor using Enviro+ sensor board and a Raspberry Pi Zero.
|
Environmental monitor using Enviro+ sensor board and a Raspberry Pi Zero.
|
||||||
|
|
||||||
@@ -19,7 +31,6 @@ Current state of HydraRaptor after being modified for laser engraving.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
## IOT 50V PSU
|
## IOT 50V PSU
|
||||||
WiFi controllable PSU
|
WiFi controllable PSU
|
||||||
|
|
||||||
@@ -30,6 +41,11 @@ WiFi controllable programmable load
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## LED Box
|
||||||
|
Indicator LEDs used to debug a Bosch diswasher problem.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Lab ATX PSU
|
## Lab ATX PSU
|
||||||
Bench power supply built around an ATX PSU.
|
Bench power supply built around an ATX PSU.
|
||||||
|
|
||||||
@@ -70,16 +86,36 @@ Mains isolated and variable supply with metering.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## MultiSwitch
|
||||||
|
Multi Tasmota switch to replace 5 Sonoffs
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## MultiSwitch2
|
||||||
|
Multi Tasmota switch to replace 5 Sonoffs
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## PSU Cover
|
## PSU Cover
|
||||||
A base and shroud to make PSU safe to sit on a desk
|
A base and shroud to make PSU safe to sit on a desk
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## PSU Tube
|
||||||
|
12V power supply made in an aluminium tube for fire safety
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## PotBox
|
## PotBox
|
||||||
Potentiometer box with course and fine controls and three 4mm binding posts
|
Potentiometer box with course and fine controls and three 4mm binding posts
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## PowerBank
|
||||||
|
LION powerbank with e-paper charge status display
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## SunBot
|
## SunBot
|
||||||
A solar tracker to keep a solar panel pointing at the sun.
|
A solar tracker to keep a solar panel pointing at the sun.
|
||||||
|
|
||||||
|
@@ -49,8 +49,14 @@ squeezed_wall = $preview ? 2 * extrusion_width - layer_height * (1 - PI / 4)
|
|||||||
|
|
||||||
inf = 1e10; // very big
|
inf = 1e10; // very big
|
||||||
eps = 1/128; // small fudge factor to stop CSG barfing on coincident faces.
|
eps = 1/128; // small fudge factor to stop CSG barfing on coincident faces.
|
||||||
$fa = 6;
|
|
||||||
$fs = extrusion_width / 2;
|
fa = is_undef($vitamin_fa) ? 6 : $vitamin_fa; // Used for drawing vitamins, rather than printing.
|
||||||
|
fs = is_undef($vitamin_fs) ? 0.25 : $vitamin_fs;
|
||||||
|
fn = 32;
|
||||||
|
|
||||||
|
$fa = $fa == 12 ? 6 : $fa; // Defaults for printing
|
||||||
|
$fs = $fs == 2 ? extrusion_width / 2 : $fs;
|
||||||
|
|
||||||
|
|
||||||
// Some additional named colours
|
// Some additional named colours
|
||||||
silver = [0.75, 0.75, 0.75];
|
silver = [0.75, 0.75, 0.75];
|
||||||
|
6
lib.scad
@@ -25,19 +25,20 @@ include <core.scad>
|
|||||||
include <vitamins/psus.scad>
|
include <vitamins/psus.scad>
|
||||||
include <vitamins/pcbs.scad>
|
include <vitamins/pcbs.scad>
|
||||||
|
|
||||||
|
include <vitamins/antennas.scad>
|
||||||
include <vitamins/batteries.scad>
|
include <vitamins/batteries.scad>
|
||||||
include <vitamins/bearing_blocks.scad>
|
include <vitamins/bearing_blocks.scad>
|
||||||
include <vitamins/blowers.scad>
|
include <vitamins/blowers.scad>
|
||||||
include <vitamins/bldc_motors.scad>
|
include <vitamins/bldc_motors.scad>
|
||||||
include <vitamins/box_sections.scad>
|
include <vitamins/box_sections.scad>
|
||||||
include <vitamins/bulldogs.scad>
|
include <vitamins/bulldogs.scad>
|
||||||
include <vitamins/buttons.scad>
|
|
||||||
include <vitamins/cameras.scad>
|
include <vitamins/cameras.scad>
|
||||||
include <vitamins/components.scad>
|
include <vitamins/components.scad>
|
||||||
include <vitamins/displays.scad>
|
include <vitamins/displays.scad>
|
||||||
include <vitamins/extrusions.scad>
|
include <vitamins/extrusions.scad>
|
||||||
include <vitamins/extrusion_brackets.scad>
|
include <vitamins/extrusion_brackets.scad>
|
||||||
include <vitamins/fastons.scad>
|
include <vitamins/fastons.scad>
|
||||||
|
include <vitamins/gear_motors.scad>
|
||||||
include <vitamins/geared_steppers.scad>
|
include <vitamins/geared_steppers.scad>
|
||||||
include <vitamins/hot_ends.scad>
|
include <vitamins/hot_ends.scad>
|
||||||
include <vitamins/inserts.scad>
|
include <vitamins/inserts.scad>
|
||||||
@@ -99,6 +100,7 @@ use <utils/rounded_triangle.scad>
|
|||||||
use <utils/layout.scad>
|
use <utils/layout.scad>
|
||||||
use <utils/round.scad>
|
use <utils/round.scad>
|
||||||
use <utils/offset.scad>
|
use <utils/offset.scad>
|
||||||
|
use <utils/pcb_utils.scad>
|
||||||
use <utils/sector.scad>
|
use <utils/sector.scad>
|
||||||
use <utils/thread.scad>
|
use <utils/thread.scad>
|
||||||
use <vitamins/photo_interrupter.scad>
|
use <vitamins/photo_interrupter.scad>
|
||||||
|
BIN
libtest.png
Before Width: | Height: | Size: 953 KiB After Width: | Height: | Size: 966 KiB |
12
libtest.scad
@@ -42,6 +42,7 @@
|
|||||||
include <lib.scad>
|
include <lib.scad>
|
||||||
|
|
||||||
use <tests/7_segments.scad>
|
use <tests/7_segments.scad>
|
||||||
|
use <tests/antennas.scad>
|
||||||
use <tests/ball_bearings.scad>
|
use <tests/ball_bearings.scad>
|
||||||
use <tests/batteries.scad>
|
use <tests/batteries.scad>
|
||||||
use <tests/bearing_blocks.scad>
|
use <tests/bearing_blocks.scad>
|
||||||
@@ -65,6 +66,7 @@ use <tests/extrusion_brackets.scad>
|
|||||||
use <tests/fans.scad>
|
use <tests/fans.scad>
|
||||||
use <tests/fastons.scad>
|
use <tests/fastons.scad>
|
||||||
use <tests/fuseholder.scad>
|
use <tests/fuseholder.scad>
|
||||||
|
use <tests/gear_motors.scad>
|
||||||
use <tests/geared_steppers.scad>
|
use <tests/geared_steppers.scad>
|
||||||
use <tests/hot_ends.scad>
|
use <tests/hot_ends.scad>
|
||||||
use <tests/IECs.scad>
|
use <tests/IECs.scad>
|
||||||
@@ -299,6 +301,9 @@ translate([x0, linear_bearings_y]) {
|
|||||||
translate([x0, steppers_y])
|
translate([x0, steppers_y])
|
||||||
stepper_motors();
|
stepper_motors();
|
||||||
|
|
||||||
|
translate([x0 + 400, steppers_y])
|
||||||
|
gear_motors();
|
||||||
|
|
||||||
translate([x0, sheets_y])
|
translate([x0, sheets_y])
|
||||||
sheets();
|
sheets();
|
||||||
|
|
||||||
@@ -456,10 +461,10 @@ translate([x2, panel_meters_y])
|
|||||||
translate([x2, extrusions_y])
|
translate([x2, extrusions_y])
|
||||||
extrusions();
|
extrusions();
|
||||||
|
|
||||||
translate([400, transformers_y])
|
translate([370, transformers_y])
|
||||||
transformers();
|
transformers();
|
||||||
|
|
||||||
translate([x4 + 50, transformers_y])
|
translate([x4, transformers_y])
|
||||||
no_explode() socket_boxes();
|
no_explode() socket_boxes();
|
||||||
|
|
||||||
|
|
||||||
@@ -497,6 +502,9 @@ translate([x4, rails_y + 130]) {
|
|||||||
translate([x4, cable_strip_y])
|
translate([x4, cable_strip_y])
|
||||||
cable_strips();
|
cable_strips();
|
||||||
|
|
||||||
|
translate([x4 + 150, cable_strip_y])
|
||||||
|
antennas();
|
||||||
|
|
||||||
translate([x4, kp_pillow_blocks_y])
|
translate([x4, kp_pillow_blocks_y])
|
||||||
kp_pillow_blocks();
|
kp_pillow_blocks();
|
||||||
|
|
||||||
|
339
readme.md
@@ -22,33 +22,34 @@ A list of changes classified as breaking, additions or fixes is maintained in [C
|
|||||||
<table><tr>
|
<table><tr>
|
||||||
<th align="left"> Vitamins A-H </th><th align="left"> Vitamins I-Q </th><th align="left"> Vitamins R-Z </th><th align="left"> Printed </th><th align="left"> Utilities </th><th align="left"> Core Utilities </th></tr>
|
<th align="left"> Vitamins A-H </th><th align="left"> Vitamins I-Q </th><th align="left"> Vitamins R-Z </th><th align="left"> Printed </th><th align="left"> Utilities </th><th align="left"> Core Utilities </th></tr>
|
||||||
<tr><td> <a href = "#7_segments">7_segments</a> </td><td> <a href = "#iecs">IECs</a> </td><td> <a href = "#radials">Radials</a> </td><td> <a href = "#box">Box</a> </td><td> <a href = "#annotation">Annotation</a> </td><td> <a href = "#bom">BOM</a> </td></tr>
|
<tr><td> <a href = "#7_segments">7_segments</a> </td><td> <a href = "#iecs">IECs</a> </td><td> <a href = "#radials">Radials</a> </td><td> <a href = "#box">Box</a> </td><td> <a href = "#annotation">Annotation</a> </td><td> <a href = "#bom">BOM</a> </td></tr>
|
||||||
<tr><td> <a href = "#axials">Axials</a> </td><td> <a href = "#inserts">Inserts</a> </td><td> <a href = "#rails">Rails</a> </td><td> <a href = "#butt_box">Butt_box</a> </td><td> <a href = "#bezier">Bezier</a> </td><td> <a href = "#clip">Clip</a> </td></tr>
|
<tr><td> <a href = "#antennas">Antennas</a> </td><td> <a href = "#inserts">Inserts</a> </td><td> <a href = "#rails">Rails</a> </td><td> <a href = "#butt_box">Butt_box</a> </td><td> <a href = "#bezier">Bezier</a> </td><td> <a href = "#clip">Clip</a> </td></tr>
|
||||||
<tr><td> <a href = "#bldc_motors">BLDC_motors</a> </td><td> <a href = "#jack">Jack</a> </td><td> <a href = "#ring_terminals">Ring_terminals</a> </td><td> <a href = "#cable_clip">Cable_clip</a> </td><td> <a href = "#catenary">Catenary</a> </td><td> <a href = "#global">Global</a> </td></tr>
|
<tr><td> <a href = "#axials">Axials</a> </td><td> <a href = "#jack">Jack</a> </td><td> <a href = "#ring_terminals">Ring_terminals</a> </td><td> <a href = "#cable_clip">Cable_clip</a> </td><td> <a href = "#catenary">Catenary</a> </td><td> <a href = "#global">Global</a> </td></tr>
|
||||||
<tr><td> <a href = "#ball_bearings">Ball_bearings</a> </td><td> <a href = "#ldrs">LDRs</a> </td><td> <a href = "#rockers">Rockers</a> </td><td> <a href = "#cable_grommets">Cable_grommets</a> </td><td> <a href = "#core_xy">Core_xy</a> </td><td> <a href = "#polyholes">Polyholes</a> </td></tr>
|
<tr><td> <a href = "#bldc_motors">BLDC_motors</a> </td><td> <a href = "#ldrs">LDRs</a> </td><td> <a href = "#rockers">Rockers</a> </td><td> <a href = "#cable_grommets">Cable_grommets</a> </td><td> <a href = "#core_xy">Core_xy</a> </td><td> <a href = "#polyholes">Polyholes</a> </td></tr>
|
||||||
<tr><td> <a href = "#batteries">Batteries</a> </td><td> <a href = "#led_meters">LED_meters</a> </td><td> <a href = "#rod">Rod</a> </td><td> <a href = "#camera_housing">Camera_housing</a> </td><td> <a href = "#dogbones">Dogbones</a> </td><td> <a href = "#rounded_rectangle">Rounded_rectangle</a> </td></tr>
|
<tr><td> <a href = "#ball_bearings">Ball_bearings</a> </td><td> <a href = "#led_meters">LED_meters</a> </td><td> <a href = "#rod">Rod</a> </td><td> <a href = "#camera_housing">Camera_housing</a> </td><td> <a href = "#dogbones">Dogbones</a> </td><td> <a href = "#rounded_rectangle">Rounded_rectangle</a> </td></tr>
|
||||||
<tr><td> <a href = "#bearing_blocks">Bearing_blocks</a> </td><td> <a href = "#leds">LEDs</a> </td><td> <a href = "#sbr_rails">SBR_rails</a> </td><td> <a href = "#carriers">Carriers</a> </td><td> <a href = "#fillet">Fillet</a> </td><td> <a href = "#sphere">Sphere</a> </td></tr>
|
<tr><td> <a href = "#batteries">Batteries</a> </td><td> <a href = "#leds">LEDs</a> </td><td> <a href = "#sbr_rails">SBR_rails</a> </td><td> <a href = "#carriers">Carriers</a> </td><td> <a href = "#fillet">Fillet</a> </td><td> <a href = "#sphere">Sphere</a> </td></tr>
|
||||||
<tr><td> <a href = "#belts">Belts</a> </td><td> <a href = "#leadnuts">Leadnuts</a> </td><td> <a href = "#sk_brackets">SK_brackets</a> </td><td> <a href = "#corner_block">Corner_block</a> </td><td> <a href = "#gears">Gears</a> </td><td> <a href = "#teardrops">Teardrops</a> </td></tr>
|
<tr><td> <a href = "#bearing_blocks">Bearing_blocks</a> </td><td> <a href = "#leadnuts">Leadnuts</a> </td><td> <a href = "#sk_brackets">SK_brackets</a> </td><td> <a href = "#corner_block">Corner_block</a> </td><td> <a href = "#gears">Gears</a> </td><td> <a href = "#teardrops">Teardrops</a> </td></tr>
|
||||||
<tr><td> <a href = "#blowers">Blowers</a> </td><td> <a href = "#light_strips">Light_strips</a> </td><td> <a href = "#smds">SMDs</a> </td><td> <a href = "#door_hinge">Door_hinge</a> </td><td> <a href = "#hanging_hole">Hanging_hole</a> </td><td></td></tr>
|
<tr><td> <a href = "#belts">Belts</a> </td><td> <a href = "#light_strips">Light_strips</a> </td><td> <a href = "#smds">SMDs</a> </td><td> <a href = "#door_hinge">Door_hinge</a> </td><td> <a href = "#hanging_hole">Hanging_hole</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#box_sections">Box_sections</a> </td><td> <a href = "#linear_bearings">Linear_bearings</a> </td><td> <a href = "#ssrs">SSRs</a> </td><td> <a href = "#door_latch">Door_latch</a> </td><td> <a href = "#horiholes">Horiholes</a> </td><td></td></tr>
|
<tr><td> <a href = "#blowers">Blowers</a> </td><td> <a href = "#linear_bearings">Linear_bearings</a> </td><td> <a href = "#ssrs">SSRs</a> </td><td> <a href = "#door_latch">Door_latch</a> </td><td> <a href = "#horiholes">Horiholes</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#bulldogs">Bulldogs</a> </td><td> <a href = "#magnets">Magnets</a> </td><td> <a href = "#screws">Screws</a> </td><td> <a href = "#drag_chain">Drag_chain</a> </td><td> <a href = "#layout">Layout</a> </td><td></td></tr>
|
<tr><td> <a href = "#box_sections">Box_sections</a> </td><td> <a href = "#magnets">Magnets</a> </td><td> <a href = "#screws">Screws</a> </td><td> <a href = "#drag_chain">Drag_chain</a> </td><td> <a href = "#layout">Layout</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#buttons">Buttons</a> </td><td> <a href = "#mains_sockets">Mains_sockets</a> </td><td> <a href = "#sealing_strip">Sealing_strip</a> </td><td> <a href = "#fan_guard">Fan_guard</a> </td><td> <a href = "#maths">Maths</a> </td><td></td></tr>
|
<tr><td> <a href = "#bulldogs">Bulldogs</a> </td><td> <a href = "#mains_sockets">Mains_sockets</a> </td><td> <a href = "#sealing_strip">Sealing_strip</a> </td><td> <a href = "#fan_guard">Fan_guard</a> </td><td> <a href = "#maths">Maths</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#cable_strips">Cable_strips</a> </td><td> <a href = "#microswitches">Microswitches</a> </td><td> <a href = "#servo_motors">Servo_motors</a> </td><td> <a href = "#fixing_block">Fixing_block</a> </td><td> <a href = "#offset">Offset</a> </td><td></td></tr>
|
<tr><td> <a href = "#buttons">Buttons</a> </td><td> <a href = "#microswitches">Microswitches</a> </td><td> <a href = "#servo_motors">Servo_motors</a> </td><td> <a href = "#fixing_block">Fixing_block</a> </td><td> <a href = "#offset">Offset</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#cameras">Cameras</a> </td><td> <a href = "#microview">Microview</a> </td><td> <a href = "#shaft_couplings">Shaft_couplings</a> </td><td> <a href = "#flat_hinge">Flat_hinge</a> </td><td> <a href = "#quadrant">Quadrant</a> </td><td></td></tr>
|
<tr><td> <a href = "#cable_strips">Cable_strips</a> </td><td> <a href = "#microview">Microview</a> </td><td> <a href = "#shaft_couplings">Shaft_couplings</a> </td><td> <a href = "#flat_hinge">Flat_hinge</a> </td><td> <a href = "#pcb_utils">PCB_utils</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#circlips">Circlips</a> </td><td> <a href = "#modules">Modules</a> </td><td> <a href = "#sheets">Sheets</a> </td><td> <a href = "#foot">Foot</a> </td><td> <a href = "#round">Round</a> </td><td></td></tr>
|
<tr><td> <a href = "#cameras">Cameras</a> </td><td> <a href = "#modules">Modules</a> </td><td> <a href = "#sheets">Sheets</a> </td><td> <a href = "#foot">Foot</a> </td><td> <a href = "#quadrant">Quadrant</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#components">Components</a> </td><td> <a href = "#nuts">Nuts</a> </td><td> <a href = "#spades">Spades</a> </td><td> <a href = "#handle">Handle</a> </td><td> <a href = "#rounded_cylinder">Rounded_cylinder</a> </td><td></td></tr>
|
<tr><td> <a href = "#circlips">Circlips</a> </td><td> <a href = "#nuts">Nuts</a> </td><td> <a href = "#spades">Spades</a> </td><td> <a href = "#handle">Handle</a> </td><td> <a href = "#round">Round</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#dip">DIP</a> </td><td> <a href = "#o_ring">O_ring</a> </td><td> <a href = "#spools">Spools</a> </td><td> <a href = "#knob">Knob</a> </td><td> <a href = "#rounded_polygon">Rounded_polygon</a> </td><td></td></tr>
|
<tr><td> <a href = "#components">Components</a> </td><td> <a href = "#o_ring">O_ring</a> </td><td> <a href = "#spools">Spools</a> </td><td> <a href = "#knob">Knob</a> </td><td> <a href = "#rounded_cylinder">Rounded_cylinder</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#d_connectors">D_connectors</a> </td><td> <a href = "#opengrab">Opengrab</a> </td><td> <a href = "#springs">Springs</a> </td><td> <a href = "#led_bezel">LED_bezel</a> </td><td> <a href = "#rounded_triangle">Rounded_triangle</a> </td><td></td></tr>
|
<tr><td> <a href = "#dip">DIP</a> </td><td> <a href = "#opengrab">Opengrab</a> </td><td> <a href = "#springs">Springs</a> </td><td> <a href = "#led_bezel">LED_bezel</a> </td><td> <a href = "#rounded_polygon">Rounded_polygon</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#displays">Displays</a> </td><td> <a href = "#pcb">PCB</a> </td><td> <a href = "#stepper_motors">Stepper_motors</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 = "#d_connectors">D_connectors</a> </td><td> <a href = "#pcb">PCB</a> </td><td> <a href = "#stepper_motors">Stepper_motors</a> </td><td> <a href = "#pcb_mount">PCB_mount</a> </td><td> <a href = "#rounded_triangle">Rounded_triangle</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#extrusion_brackets">Extrusion_brackets</a> </td><td> <a href = "#pcbs">PCBs</a> </td><td> <a href = "#swiss_clips">Swiss_clips</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 = "#displays">Displays</a> </td><td> <a href = "#pcbs">PCBs</a> </td><td> <a href = "#swiss_clips">Swiss_clips</a> </td><td> <a href = "#psu_shroud">PSU_shroud</a> </td><td> <a href = "#sector">Sector</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#extrusions">Extrusions</a> </td><td> <a href = "#psus">PSUs</a> </td><td> <a href = "#terminals">Terminals</a> </td><td> <a href = "#pocket_handle">Pocket_handle</a> </td><td> <a href = "#thread">Thread</a> </td><td></td></tr>
|
<tr><td> <a href = "#extrusion_brackets">Extrusion_brackets</a> </td><td> <a href = "#psus">PSUs</a> </td><td> <a href = "#terminals">Terminals</a> </td><td> <a href = "#pocket_handle">Pocket_handle</a> </td><td> <a href = "#sweep">Sweep</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#fans">Fans</a> </td><td> <a href = "#panel_meters">Panel_meters</a> </td><td> <a href = "#toggles">Toggles</a> </td><td> <a href = "#press_fit">Press_fit</a> </td><td> <a href = "#tube">Tube</a> </td><td></td></tr>
|
<tr><td> <a href = "#extrusions">Extrusions</a> </td><td> <a href = "#panel_meters">Panel_meters</a> </td><td> <a href = "#toggles">Toggles</a> </td><td> <a href = "#press_fit">Press_fit</a> </td><td> <a href = "#thread">Thread</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#fastons">Fastons</a> </td><td> <a href = "#photo_interrupters">Photo_interrupters</a> </td><td> <a href = "#transformers">Transformers</a> </td><td> <a href = "#printed_box">Printed_box</a> </td><td></td><td></td></tr>
|
<tr><td> <a href = "#fans">Fans</a> </td><td> <a href = "#photo_interrupters">Photo_interrupters</a> </td><td> <a href = "#transformers">Transformers</a> </td><td> <a href = "#printed_box">Printed_box</a> </td><td> <a href = "#tube">Tube</a> </td><td></td></tr>
|
||||||
<tr><td> <a href = "#fuseholder">Fuseholder</a> </td><td> <a href = "#pillars">Pillars</a> </td><td> <a href = "#tubings">Tubings</a> </td><td> <a href = "#printed_pulleys">Printed_pulleys</a> </td><td></td><td></td></tr>
|
<tr><td> <a href = "#fastons">Fastons</a> </td><td> <a href = "#pillars">Pillars</a> </td><td> <a href = "#tubings">Tubings</a> </td><td> <a href = "#printed_pulleys">Printed_pulleys</a> </td><td></td><td></td></tr>
|
||||||
<tr><td> <a href = "#geared_steppers">Geared_steppers</a> </td><td> <a href = "#pillow_blocks">Pillow_blocks</a> </td><td> <a href = "#variacs">Variacs</a> </td><td> <a href = "#ribbon_clamp">Ribbon_clamp</a> </td><td></td><td></td></tr>
|
<tr><td> <a href = "#fuseholder">Fuseholder</a> </td><td> <a href = "#pillow_blocks">Pillow_blocks</a> </td><td> <a href = "#variacs">Variacs</a> </td><td> <a href = "#ribbon_clamp">Ribbon_clamp</a> </td><td></td><td></td></tr>
|
||||||
<tr><td> <a href = "#green_terminals">Green_terminals</a> </td><td> <a href = "#pin_headers">Pin_headers</a> </td><td> <a href = "#veroboard">Veroboard</a> </td><td> <a href = "#ssr_shroud">SSR_shroud</a> </td><td></td><td></td></tr>
|
<tr><td> <a href = "#gear_motors">Gear_motors</a> </td><td> <a href = "#pin_headers">Pin_headers</a> </td><td> <a href = "#veroboard">Veroboard</a> </td><td> <a href = "#ssr_shroud">SSR_shroud</a> </td><td></td><td></td></tr>
|
||||||
<tr><td> <a href = "#hot_ends">Hot_ends</a> </td><td> <a href = "#potentiometers">Potentiometers</a> </td><td> <a href = "#washers">Washers</a> </td><td> <a href = "#screw_knob">Screw_knob</a> </td><td></td><td></td></tr>
|
<tr><td> <a href = "#geared_steppers">Geared_steppers</a> </td><td> <a href = "#potentiometers">Potentiometers</a> </td><td> <a href = "#washers">Washers</a> </td><td> <a href = "#screw_knob">Screw_knob</a> </td><td></td><td></td></tr>
|
||||||
<tr><td> <a href = "#hygrometer">Hygrometer</a> </td><td> <a href = "#pulleys">Pulleys</a> </td><td> <a href = "#wire">Wire</a> </td><td> <a href = "#socket_box">Socket_box</a> </td><td></td><td></td></tr>
|
<tr><td> <a href = "#green_terminals">Green_terminals</a> </td><td> <a href = "#pulleys">Pulleys</a> </td><td> <a href = "#wire">Wire</a> </td><td> <a href = "#socket_box">Socket_box</a> </td><td></td><td></td></tr>
|
||||||
<tr><td></td><td></td><td> <a href = "#zipties">Zipties</a> </td><td> <a href = "#strap_handle">Strap_handle</a> </td><td></td><td></td></tr>
|
<tr><td> <a href = "#hot_ends">Hot_ends</a> </td><td></td><td> <a href = "#zipties">Zipties</a> </td><td> <a href = "#strap_handle">Strap_handle</a> </td><td></td><td></td></tr>
|
||||||
|
<tr><td> <a href = "#hygrometer">Hygrometer</a> </td><td></td><td></td><td></td><td></td><td></td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -82,6 +83,53 @@ Presence of a decimal point is determined by the number of pins. Its position is
|
|||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
<a href="#top">Top</a>
|
||||||
|
|
||||||
|
---
|
||||||
|
<a name="antennas"></a>
|
||||||
|
## Antennas
|
||||||
|
Wifi Antennas
|
||||||
|
|
||||||
|
[vitamins/antennas.scad](vitamins/antennas.scad) Object definitions.
|
||||||
|
|
||||||
|
[vitamins/antenna.scad](vitamins/antenna.scad) Implementation.
|
||||||
|
|
||||||
|
[tests/antennas.scad](tests/antennas.scad) Code for this example.
|
||||||
|
|
||||||
|
### Properties
|
||||||
|
| Function | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `antenna_bot_d(type)` | Diameter at the base |
|
||||||
|
| `antenna_gap(type)` | Space for left panel, washers and nuts when screwed on fully. |
|
||||||
|
| `antenna_grip(type)` | Grip d, h, h2 |
|
||||||
|
| `antenna_hinge(type)` | Hinge post width, z value of the pin, pin diameter, width reduction and slot width |
|
||||||
|
| `antenna_length(type)` | Total length |
|
||||||
|
| `antenna_rings(type)` | List of ring z, thickness, depths |
|
||||||
|
| `antenna_split(type)` | Split point |
|
||||||
|
| `antenna_straight(type)` | Length of the straight part |
|
||||||
|
| `antenna_top_d(type)` | Diameter at the top |
|
||||||
|
|
||||||
|
### Functions
|
||||||
|
| Function | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `antenna_hole_r(type)` | Panel hole radius |
|
||||||
|
| `antenna_nut(type)` | The nut |
|
||||||
|
|
||||||
|
### Modules
|
||||||
|
| Module | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `antenna(type, thickness, angle)` | Draw a WiFi antenna |
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Vitamins
|
||||||
|
| Qty | Module call | BOM entry |
|
||||||
|
| ---:|:--- |:---|
|
||||||
|
| 1 | `antenna(ESP201_antenna)` | Antenna ESP201 |
|
||||||
|
| 1 | `nut(ant_nut)` | Nut M6.25 x 1.8mm |
|
||||||
|
| 1 | `star_washer(ant_washer_washer)` | Washer star M6.4 x 0.6mm |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -98,6 +146,9 @@ Axial components for PCBs.
|
|||||||
### Properties
|
### Properties
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
|
| `ax_diode_colour(type)` | Body colour and stripe colour |
|
||||||
|
| `ax_diode_size(type)` | Body length, diameter and corner radius |
|
||||||
|
| `ax_diode_wire(type)` | Wire diameter |
|
||||||
| `ax_res_colour(type)` | Body colour |
|
| `ax_res_colour(type)` | Body colour |
|
||||||
| `ax_res_diameter(type)` | Body diameter |
|
| `ax_res_diameter(type)` | Body diameter |
|
||||||
| `ax_res_end_d(type)` | End cap diameter |
|
| `ax_res_end_d(type)` | End cap diameter |
|
||||||
@@ -109,6 +160,7 @@ Axial components for PCBs.
|
|||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
|
| `ax_diode(type, value, pitch = 0)` | Through hole axial diode. If `pitch` is zero the minimum is used. If below the minimum the resistor is placed vertical. |
|
||||||
| `ax_res(type, value, tol = 5, pitch = 0)` | Through hole axial resistor. If `pitch` is zero the minimum is used. If below the minimum the resistor is placed vertical. |
|
| `ax_res(type, value, tol = 5, pitch = 0)` | Through hole axial resistor. If `pitch` is zero the minimum is used. If below the minimum the resistor is placed vertical. |
|
||||||
| `wire_link(d, l, h = 1, tail = 3, sleeve = false)` | Draw a wire jumper link. `sleeve` can be a list with the diameter and colour. If `l` is zero then a vertical wire is drawn. |
|
| `wire_link(d, l, h = 1, tail = 3, sleeve = false)` | Draw a wire jumper link. `sleeve` can be a list with the diameter and colour. If `l` is zero then a vertical wire is drawn. |
|
||||||
|
|
||||||
@@ -117,6 +169,8 @@ Axial components for PCBs.
|
|||||||
### Vitamins
|
### Vitamins
|
||||||
| Qty | Module call | BOM entry |
|
| Qty | Module call | BOM entry |
|
||||||
| ---:|:--- |:---|
|
| ---:|:--- |:---|
|
||||||
|
| 2 | `ax_diode(DO_41, "1N4007")` | Diode 1N4007 |
|
||||||
|
| 2 | `ax_diode(DO_35, "1N4148")` | Diode 1N4148 |
|
||||||
| 1 | `pcb(PERF60x40)` | Perfboard 60 x 40mm |
|
| 1 | `pcb(PERF60x40)` | Perfboard 60 x 40mm |
|
||||||
| 1 | `ax_res(res1_8, 1000)` | Resistor 1000 Ohms 5% 0.125W |
|
| 1 | `ax_res(res1_8, 1000)` | Resistor 1000 Ohms 5% 0.125W |
|
||||||
| 1 | `ax_res(res1_8, 2200, tol = 1)` | Resistor 2200 Ohms 1% 0.125W |
|
| 1 | `ax_res(res1_8, 2200, tol = 1)` | Resistor 2200 Ohms 1% 0.125W |
|
||||||
@@ -176,6 +230,8 @@ Also single bearing balls are modelled as just a silver sphere and a BOM entry.
|
|||||||
| 1 | `ball_bearing(BB6201)` | Ball bearing 6201-2RS 12mm x 32mm x 10mm |
|
| 1 | `ball_bearing(BB6201)` | Ball bearing 6201-2RS 12mm x 32mm x 10mm |
|
||||||
| 1 | `ball_bearing(BB624)` | Ball bearing 624-2RS 4mm x 13mm x 5mm |
|
| 1 | `ball_bearing(BB624)` | Ball bearing 624-2RS 4mm x 13mm x 5mm |
|
||||||
| 1 | `ball_bearing(BB6808)` | Ball bearing 6808-2RS 40mm x 52mm x 7mm |
|
| 1 | `ball_bearing(BB6808)` | Ball bearing 6808-2RS 40mm x 52mm x 7mm |
|
||||||
|
| 1 | `ball_bearing(BB686)` | Ball bearing 686ZZ 6mm x 13mm x 5mm |
|
||||||
|
| 1 | `ball_bearing(BB696)` | Ball bearing 696ZZ 6mm x 16mm x 5mm |
|
||||||
| 1 | `ball_bearing(BBF623)` | Ball bearing F623-2RS 3mm x 10mm x 4mm |
|
| 1 | `ball_bearing(BBF623)` | Ball bearing F623-2RS 3mm x 10mm x 4mm |
|
||||||
| 1 | `ball_bearing(BBF693)` | Ball bearing F693ZZ 3mm x 8mm x 3mm |
|
| 1 | `ball_bearing(BBF693)` | Ball bearing F693ZZ 3mm x 8mm x 3mm |
|
||||||
| 1 | `ball_bearing(BBF695)` | Ball bearing F695ZZ 5mm x 13mm x 4mm |
|
| 1 | `ball_bearing(BBF695)` | Ball bearing F695ZZ 5mm x 13mm x 4mm |
|
||||||
@@ -183,7 +239,7 @@ Also single bearing balls are modelled as just a silver sphere and a BOM entry.
|
|||||||
| 1 | `ball_bearing(BBMR83)` | Ball bearing MR83ZZ 3mm x 8mm x 3mm |
|
| 1 | `ball_bearing(BBMR83)` | Ball bearing MR83ZZ 3mm x 8mm x 3mm |
|
||||||
| 1 | `ball_bearing(BBMR93)` | Ball bearing MR93ZZ 3mm x 9mm x 4mm |
|
| 1 | `ball_bearing(BBMR93)` | Ball bearing MR93ZZ 3mm x 9mm x 4mm |
|
||||||
| 1 | `ball_bearing(BBSMR95)` | Ball bearing SMR95ZZ 5mm x 9mm x 2.5mm |
|
| 1 | `ball_bearing(BBSMR95)` | Ball bearing SMR95ZZ 5mm x 9mm x 2.5mm |
|
||||||
| 5 | ` bearing_ball(3)` | Steel ball 3mm |
|
| 7 | ` bearing_ball(3)` | Steel ball 3mm |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
@@ -565,7 +621,9 @@ Box sections.
|
|||||||
| Qty | Module call | BOM entry |
|
| Qty | Module call | BOM entry |
|
||||||
| ---:|:--- |:---|
|
| ---:|:--- |:---|
|
||||||
| 1 | `box_section(AL12x8x1, 100)` | Aluminium rectangular box section 12mm x 8mm x 1mm, length 100mm |
|
| 1 | `box_section(AL12x8x1, 100)` | Aluminium rectangular box section 12mm x 8mm x 1mm, length 100mm |
|
||||||
| 1 | `box_section(AL20x20x2, 100)` | Aluminium rectangular box section 20mm x 20mm x 2mm, length 100mm |
|
| 1 | `box_section(AL20x20x2, 80)` | Aluminium rectangular box section 20mm x 20mm x 2mm, length 80mm |
|
||||||
|
| 1 | `box_section(AL38p1x25p4x1p6, 60)` | Aluminium rectangular box section 38.1mm x 25.4mm x 1.6mm, length 60mm |
|
||||||
|
| 1 | `box_section(AL50p8x38p1x3, 40)` | Aluminium rectangular box section 50.8mm x 38.1mm x 3.0mm, length 40mm |
|
||||||
| 1 | `box_section(CF10x10x1, 100)` | Carbon fiber rectangular box section 10mm x 10mm x 1mm, length 100mm |
|
| 1 | `box_section(CF10x10x1, 100)` | Carbon fiber rectangular box section 10mm x 10mm x 1mm, length 100mm |
|
||||||
|
|
||||||
|
|
||||||
@@ -633,6 +691,7 @@ PCB mounted buttons. Can optionally have a coloured cap
|
|||||||
| `square_button_d(type)` | Button diameter |
|
| `square_button_d(type)` | Button diameter |
|
||||||
| `square_button_h(type)` | Height of the button above the PCB |
|
| `square_button_h(type)` | Height of the button above the PCB |
|
||||||
| `square_button_height(type)` | Height of the base |
|
| `square_button_height(type)` | Height of the base |
|
||||||
|
| `square_button_ra_z(type)` | Height of button centre above the PCB for right_angle version |
|
||||||
| `square_button_rivit(type)` | Size of the corner rivets |
|
| `square_button_rivit(type)` | Size of the corner rivets |
|
||||||
| `square_button_wall(type)` | Offset of the metal part |
|
| `square_button_wall(type)` | Offset of the metal part |
|
||||||
| `square_button_width(type)` | Width and depth of the base |
|
| `square_button_width(type)` | Width and depth of the base |
|
||||||
@@ -640,7 +699,7 @@ PCB mounted buttons. Can optionally have a coloured cap
|
|||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `square_button(type, colour = "yellow")` | Draw square button with specified cap colour if it has a cap |
|
| `square_button(type, colour = "yellow", right_angle = false)` | Draw square button with specified cap colour if it has a cap |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -650,6 +709,7 @@ PCB mounted buttons. Can optionally have a coloured cap
|
|||||||
| 1 | `square_button(button_12mm, "yellow")` | Square button 12mm with yellow cap |
|
| 1 | `square_button(button_12mm, "yellow")` | Square button 12mm with yellow cap |
|
||||||
| 1 | `square_button(button_4p5mm)` | Square button 4.5mm |
|
| 1 | `square_button(button_4p5mm)` | Square button 4.5mm |
|
||||||
| 1 | `square_button(button_6mm)` | Square button 6mm |
|
| 1 | `square_button(button_6mm)` | Square button 6mm |
|
||||||
|
| 1 | `square_button(button_6mm_7)` | Square button 6mm |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
@@ -847,6 +907,7 @@ Various electronic components used in hot ends and heated beds.
|
|||||||
| `fack2spm()` | Draw a FACK2SPM Cat5E RJ45 shielded panel mount coupler |
|
| `fack2spm()` | Draw a FACK2SPM Cat5E RJ45 shielded panel mount coupler |
|
||||||
| `fack2spm_hole_positions()` | Place children at the FACK2SPM mounting hole positions |
|
| `fack2spm_hole_positions()` | Place children at the FACK2SPM mounting hole positions |
|
||||||
| `fack2spm_holes(h = 0)` | Cut the holes for a FACK2SPM |
|
| `fack2spm_holes(h = 0)` | Cut the holes for a FACK2SPM |
|
||||||
|
| `multiwatt11(part_no, tail = 3)` | Draw a MULTIWATT11 package |
|
||||||
| `panel_USBA()` | Draw a panel mount USBA connector |
|
| `panel_USBA()` | Draw a panel mount USBA connector |
|
||||||
| `panel_USBA_hole_positions()` | Place children at hole positions |
|
| `panel_USBA_hole_positions()` | Place children at hole positions |
|
||||||
| `panel_USBA_holes(h = 100)` | Make holes for USBA connector |
|
| `panel_USBA_holes(h = 100)` | Make holes for USBA connector |
|
||||||
@@ -863,6 +924,7 @@ Various electronic components used in hot ends and heated beds.
|
|||||||
| 1 | `TO220("Generic TO220 package")` | Generic TO220 package |
|
| 1 | `TO220("Generic TO220 package")` | Generic TO220 package |
|
||||||
| 1 | `TO247("Generic TO247 package")` | Generic TO247 package |
|
| 1 | `TO247("Generic TO247 package")` | Generic TO247 package |
|
||||||
| 8 | `tubing(HSHRNK32)` | Heatshrink sleeving ID 3.2mm x 15mm |
|
| 8 | `tubing(HSHRNK32)` | Heatshrink sleeving ID 3.2mm x 15mm |
|
||||||
|
| 1 | `multiwatt11("L6203")` | MULTIWATT11 L6203 |
|
||||||
| 1 | `resistor(RWM04106R80J)` | Resistor RWM04106R80J 6R8 3W vitreous enamel |
|
| 1 | `resistor(RWM04106R80J)` | Resistor RWM04106R80J 6R8 3W vitreous enamel |
|
||||||
| 1 | `resistor(RIE1212UB5C5R6)` | Resistor UB5C 5R6F 5R6 3W vitreous enamel |
|
| 1 | `resistor(RIE1212UB5C5R6)` | Resistor UB5C 5R6F 5R6 3W vitreous enamel |
|
||||||
| 1 | `al_clad_resistor(THS10, 4.7)` | Resistor aluminium clad THS10 4.7 |
|
| 1 | `al_clad_resistor(THS10, 4.7)` | Resistor aluminium clad THS10 4.7 |
|
||||||
@@ -1240,7 +1302,7 @@ Faston receptacles to mate with spade connectors
|
|||||||
| `faston_insul_crimp_l(type)` | Length of the insulation crimp |
|
| `faston_insul_crimp_l(type)` | Length of the insulation crimp |
|
||||||
| `faston_insul_crimp_o(type)` | Offset of insulation crimp |
|
| `faston_insul_crimp_o(type)` | Offset of insulation crimp |
|
||||||
| `faston_insul_crimp_p(type)` | Position of the tip of the insulation crimp |
|
| `faston_insul_crimp_p(type)` | Position of the tip of the insulation crimp |
|
||||||
| `faston_size(type)` | Size of the receptical part |
|
| `faston_size(type)` | Size of the receptacle part |
|
||||||
| `faston_t(type)` | Thickness |
|
| `faston_t(type)` | Thickness |
|
||||||
| `faston_wall_h(type)` | Height of transition web wall |
|
| `faston_wall_h(type)` | Height of transition web wall |
|
||||||
| `faston_width(type)` | Width of matching spade |
|
| `faston_width(type)` | Width of matching spade |
|
||||||
@@ -1297,6 +1359,56 @@ Faston receptacles to mate with spade connectors
|
|||||||
| 1 | `fuseholder(6)` | Fuse holder 20mm |
|
| 1 | `fuseholder(6)` | Fuse holder 20mm |
|
||||||
|
|
||||||
|
|
||||||
|
<a href="#top">Top</a>
|
||||||
|
|
||||||
|
---
|
||||||
|
<a name="gear_motors"></a>
|
||||||
|
## Gear_motors
|
||||||
|
DC motors with a gearbox
|
||||||
|
|
||||||
|
[vitamins/gear_motors.scad](vitamins/gear_motors.scad) Object definitions.
|
||||||
|
|
||||||
|
[vitamins/gear_motor.scad](vitamins/gear_motor.scad) Implementation.
|
||||||
|
|
||||||
|
[tests/gear_motors.scad](tests/gear_motors.scad) Code for this example.
|
||||||
|
|
||||||
|
### Properties
|
||||||
|
| Function | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `gm_boss(type)` | Motor boss diameter, corner radius, height and colour |
|
||||||
|
| `gm_box(type)` | Size, corner radius, colour |
|
||||||
|
| `gm_holes(type)` | List of hole positions |
|
||||||
|
| `gm_hub(type)` | Motor hub diameter, height, corner rad |
|
||||||
|
| `gm_motor(type)` | Motor position, diameter, height, corner rad and colour |
|
||||||
|
| `gm_motor_boss(type)` | Motor mounting boss on gearbox |
|
||||||
|
| `gm_screw(type)` | Screw type |
|
||||||
|
| `gm_screw_boss(type)` | Screw boss diameter and height |
|
||||||
|
| `gm_screw_depth(type)` | Screw hole depth |
|
||||||
|
| `gm_shaft(type)` | Shaft diameter, flat width, length, flat length. |
|
||||||
|
| `gm_shaft_offset(type)` | Offset of shaft from the centre of the gearbox |
|
||||||
|
| `gm_tags(type)` | Tag size and pitch |
|
||||||
|
|
||||||
|
### Functions
|
||||||
|
| Function | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `gm_box_width(type)` | Gearbox width if rectangular or diameter if round |
|
||||||
|
| `gm_depth(type)` | Motor total depth |
|
||||||
|
| `gm_motor_d(type)` | Motor diameter |
|
||||||
|
| `gm_motor_pos(type)` | Motor position relative to centre of the gearbox |
|
||||||
|
| `gm_shaft_flat_l(type)` | Length of the shaft flat section |
|
||||||
|
| `gm_shaft_flat_w(type)` | Shaft width across the flat |
|
||||||
|
| `gm_shaft_length(type)` | Length of the shaft |
|
||||||
|
| `gm_shaft_pos(type)` | Shaft position |
|
||||||
|
| `gm_shaft_r(type)` | Shaft radius |
|
||||||
|
|
||||||
|
### Modules
|
||||||
|
| Module | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `gear_motor(type, alpha = 1)` | Draw specified gear motor, can be partially transparent to see what is behind it |
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -1516,6 +1628,7 @@ IEC mains inlets and outlet.
|
|||||||
| `iec_body_r(type)` | Body corner radius |
|
| `iec_body_r(type)` | Body corner radius |
|
||||||
| `iec_body_w(type)` | Body width |
|
| `iec_body_w(type)` | Body width |
|
||||||
| `iec_body_w2(type)` | Body width at the narrow part |
|
| `iec_body_w2(type)` | Body width at the narrow part |
|
||||||
|
| `iec_can(type)` | If it has a can then the width, height, thickness and total width of the metal flange |
|
||||||
| `iec_depth(type)` | Depth of the body below the flange |
|
| `iec_depth(type)` | Depth of the body below the flange |
|
||||||
| `iec_flange_h(type)` | Flange height |
|
| `iec_flange_h(type)` | Flange height |
|
||||||
| `iec_flange_r(type)` | Flange corner radius |
|
| `iec_flange_r(type)` | Flange corner radius |
|
||||||
@@ -1550,14 +1663,15 @@ IEC mains inlets and outlet.
|
|||||||
| 1 | `iec(IEC_fused_inlet)` | IEC fused inlet JR-101-1F |
|
| 1 | `iec(IEC_fused_inlet)` | IEC fused inlet JR-101-1F |
|
||||||
| 1 | `iec(IEC_fused_inlet2)` | IEC fused inlet old |
|
| 1 | `iec(IEC_fused_inlet2)` | IEC fused inlet old |
|
||||||
| 1 | `iec(IEC_inlet)` | IEC inlet |
|
| 1 | `iec(IEC_inlet)` | IEC inlet |
|
||||||
|
| 1 | `iec(IEC_yunpen)` | IEC inlet filtered |
|
||||||
| 1 | `iec(IEC_inlet_atx)` | IEC inlet for ATX |
|
| 1 | `iec(IEC_inlet_atx)` | IEC inlet for ATX |
|
||||||
| 1 | `iec(IEC_outlet)` | IEC outlet RS 811-7193 |
|
| 1 | `iec(IEC_outlet)` | IEC outlet RS 811-7193 |
|
||||||
| 1 | `iec(IEC_inlet_atx2)` | IEC pressfit inlet for ATX |
|
| 1 | `iec(IEC_inlet_atx2)` | IEC pressfit inlet for ATX |
|
||||||
| 1 | `iec(IEC_320_C14_switched_fused_inlet)` | IEC320 C14 switched fused inlet module |
|
| 1 | `iec(IEC_320_C14_switched_fused_inlet)` | IEC320 C14 switched fused inlet module |
|
||||||
| 12 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
|
| 14 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
|
||||||
| 4 | `screw(M3_cs_cap_screw, 10)` | Screw M3 cs cap x 10mm |
|
| 4 | `screw(M3_cs_cap_screw, 10)` | Screw M3 cs cap x 10mm |
|
||||||
| 8 | `screw(M3_cs_cap_screw, 12)` | Screw M3 cs cap x 12mm |
|
| 10 | `screw(M3_cs_cap_screw, 12)` | Screw M3 cs cap x 12mm |
|
||||||
| 12 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
|
| 14 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
@@ -1636,6 +1750,7 @@ E.g. a "brown" socket for mains live needs to be displayed as "sienna" to look r
|
|||||||
| `jack_4mm_shielded_hole_radius()` | Panel hole radius for 4mm shielded jack |
|
| `jack_4mm_shielded_hole_radius()` | Panel hole radius for 4mm shielded jack |
|
||||||
| `jack_4mm_shielded_nut_radius()` | Largest diameter of 4mm shielded jack |
|
| `jack_4mm_shielded_nut_radius()` | Largest diameter of 4mm shielded jack |
|
||||||
| `post_4mm_diameter()` | Outer diameter of 4mm binding post |
|
| `post_4mm_diameter()` | Outer diameter of 4mm binding post |
|
||||||
|
| `power_jack_radius()` | Power jack socket flange radius |
|
||||||
|
|
||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
@@ -1645,6 +1760,7 @@ E.g. a "brown" socket for mains live needs to be displayed as "sienna" to look r
|
|||||||
| `jack_4mm_shielded(colour, thickness, display_colour = false)` | Draw a 4mm shielded jack |
|
| `jack_4mm_shielded(colour, thickness, display_colour = false)` | Draw a 4mm shielded jack |
|
||||||
| `post_4mm(colour, thickness, display_colour = false)` | Draw a 4mm binding post |
|
| `post_4mm(colour, thickness, display_colour = false)` | Draw a 4mm binding post |
|
||||||
| `post_4mm_hole(h = 100, poly = false)` | Drill hole for 4mm binding post |
|
| `post_4mm_hole(h = 100, poly = false)` | Drill hole for 4mm binding post |
|
||||||
|
| `power_jack(thickness)` | Draw a power jack socket with nut positioned for specified panel thickness |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -1655,6 +1771,7 @@ E.g. a "brown" socket for mains live needs to be displayed as "sienna" to look r
|
|||||||
| 1 | `jack_4mm("blue", 3, "royalblue")` | 4mm jack socket blue |
|
| 1 | `jack_4mm("blue", 3, "royalblue")` | 4mm jack socket blue |
|
||||||
| 1 | `jack_4mm_plastic("[0.2, 0.2, 0.2]", 3, [0.2, 0.2, 0.2])` | 4mm plastic jack socket [0.2, 0.2, 0.2] |
|
| 1 | `jack_4mm_plastic("[0.2, 0.2, 0.2]", 3, [0.2, 0.2, 0.2])` | 4mm plastic jack socket [0.2, 0.2, 0.2] |
|
||||||
| 1 | `jack_4mm_shielded("brown", 3, "sienna")` | 4mm shielded jack socket brown |
|
| 1 | `jack_4mm_shielded("brown", 3, "sienna")` | 4mm shielded jack socket brown |
|
||||||
|
| 1 | `power_jack()` | Power jack socket |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
@@ -1854,11 +1971,12 @@ Standard domed through hole LEDs. Can specify colour and lead length.
|
|||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `led_hole_radius(type)` | Radius of panel hole to accept LED |
|
| `led_hole_radius(type)` | Radius of panel hole to accept LED |
|
||||||
|
| `led_radius(type)` | Radius |
|
||||||
|
|
||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `led(type, colour = "red", lead = 5)` | Draw specified LED with desired colour and led length |
|
| `led(type, colour = "red", lead = 5, right_angle = 0)` | Draw specified LED with desired colour and lead length |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -2041,6 +2159,7 @@ UK 13A sockets at the moment.
|
|||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `mains_socket_corner(type)` | Corner radius |
|
| `mains_socket_corner(type)` | Corner radius |
|
||||||
|
| `mains_socket_counterbore(type)` | Screw counterbore |
|
||||||
| `mains_socket_depth(type)` | Depth at the base |
|
| `mains_socket_depth(type)` | Depth at the base |
|
||||||
| `mains_socket_height(type)` | Height |
|
| `mains_socket_height(type)` | Height |
|
||||||
| `mains_socket_offset(type)` | Offset of the socket from the centre |
|
| `mains_socket_offset(type)` | Offset of the socket from the centre |
|
||||||
@@ -2061,7 +2180,7 @@ UK 13A sockets at the moment.
|
|||||||
| `mains_socket(type)` | Draw specified 13A socket |
|
| `mains_socket(type)` | Draw specified 13A socket |
|
||||||
| `mains_socket_earth_position(type)` | Position of earth terminal for DiBond panel |
|
| `mains_socket_earth_position(type)` | Position of earth terminal for DiBond panel |
|
||||||
| `mains_socket_hole_positions(type)` | Position children at the screw holes |
|
| `mains_socket_hole_positions(type)` | Position children at the screw holes |
|
||||||
| `mains_socket_holes(type, h = 0)` | Panel cutout |
|
| `mains_socket_holes(type, h = 0, earth = true, small = false)` | Panel cutout |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -2069,6 +2188,7 @@ UK 13A sockets at the moment.
|
|||||||
| Qty | Module call | BOM entry |
|
| Qty | Module call | BOM entry |
|
||||||
| ---:|:--- |:---|
|
| ---:|:--- |:---|
|
||||||
| 1 | `mains_socket(Contactum)` | Mains socket 13A |
|
| 1 | `mains_socket(Contactum)` | Mains socket 13A |
|
||||||
|
| 1 | `mains_socket(PMS9143A)` | Mains socket 13A |
|
||||||
| 1 | `mains_socket(MKLOGIC)` | Mains socket 13A, switched |
|
| 1 | `mains_socket(MKLOGIC)` | Mains socket 13A, switched |
|
||||||
|
|
||||||
|
|
||||||
@@ -2462,6 +2582,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
### Functions
|
### Functions
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
|
| `pcb(name, desc, size, corner_r = 0, hole_d = 0, land_d = 0, colour = "green", parts_on_bom = false, holes = [], components = [], accessories = [], grid = undef, polygon = undef, screw = undef)` | Constructor |
|
||||||
| `pcb_component(type, name, index = 0)` | Return the component specified by name and index |
|
| `pcb_component(type, name, index = 0)` | Return the component specified by name and index |
|
||||||
| `pcb_component_position(type, name, index = 0)` | Return x y position of specified component |
|
| `pcb_component_position(type, name, index = 0)` | Return x y position of specified component |
|
||||||
| `pcb_coord(type, p)` | Convert offsets from the edge to coordinates relative to the centre |
|
| `pcb_coord(type, p)` | Convert offsets from the edge to coordinates relative to the centre |
|
||||||
@@ -2525,6 +2646,8 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| 1 | `d_plug(DCONN9, pcb = true)` | D-type 9 way PCB mount plug |
|
| 1 | `d_plug(DCONN9, pcb = true)` | D-type 9 way PCB mount plug |
|
||||||
| 1 | `dil_socket(12, 15.24)` | DIL socket 24 x 0.6" |
|
| 1 | `dil_socket(12, 15.24)` | DIL socket 24 x 0.6" |
|
||||||
| 1 | `smd_diode(DO214AC)` | DO214AC package SS34 |
|
| 1 | `smd_diode(DO214AC)` | DO214AC package SS34 |
|
||||||
|
| 2 | `ax_diode(DO_41, "1N4007")` | Diode 1N4007 |
|
||||||
|
| 2 | `ax_diode(DO_35, "1N4148")` | Diode 1N4148 |
|
||||||
| 1 | `hdmi(hdmi_full)` | HDMI socket |
|
| 1 | `hdmi(hdmi_full)` | HDMI socket |
|
||||||
| 1 | `pdip(24, 27C32, w = 15.24)` | IC 27C32 PDIP24 |
|
| 1 | `pdip(24, 27C32, w = 15.24)` | IC 27C32 PDIP24 |
|
||||||
| 1 | `pdip(8, NE555)` | IC NE555 PDIP8 |
|
| 1 | `pdip(8, NE555)` | IC NE555 PDIP8 |
|
||||||
@@ -2549,6 +2672,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| 1 | `pin_socket(2p54header, 4, 1)` | Pin socket 4 x 1 |
|
| 1 | `pin_socket(2p54header, 4, 1)` | Pin socket 4 x 1 |
|
||||||
| 1 | `pin_socket(2p54header, 6, 1)` | Pin socket 6 x 1 |
|
| 1 | `pin_socket(2p54header, 6, 1)` | Pin socket 6 x 1 |
|
||||||
| 2 | `pin_socket(2p54header, 8, 1)` | Pin socket 8 x 1 |
|
| 2 | `pin_socket(2p54header, 8, 1)` | Pin socket 8 x 1 |
|
||||||
|
| 1 | `rd_transistor(TO92, "78L05")` | Regulator TO92 78L05 |
|
||||||
| 1 | `ax_res(res1_2, 10, tol = 10)` | Resistor 10 Ohms 10% 0.5W |
|
| 1 | `ax_res(res1_2, 10, tol = 10)` | Resistor 10 Ohms 10% 0.5W |
|
||||||
| 1 | `ax_res(res1_4, 100, tol = 2)` | Resistor 100 Ohms 2% 0.25W |
|
| 1 | `ax_res(res1_4, 100, tol = 2)` | Resistor 100 Ohms 2% 0.25W |
|
||||||
| 1 | `ax_res(res1_8, 1000)` | Resistor 1000 Ohms 5% 0.125W |
|
| 1 | `ax_res(res1_8, 1000)` | Resistor 1000 Ohms 5% 0.125W |
|
||||||
@@ -2594,6 +2718,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| 2 | `green_terminal(gt_3p5, 4)` | Terminal block 4 way 3.5mm |
|
| 2 | `green_terminal(gt_3p5, 4)` | Terminal block 4 way 3.5mm |
|
||||||
| 1 | `terminal_35(4)` | Terminal block 4 way 3.5mm |
|
| 1 | `terminal_35(4)` | Terminal block 4 way 3.5mm |
|
||||||
| 1 | `pcb(test_pcb)` | Test PCB |
|
| 1 | `pcb(test_pcb)` | Test PCB |
|
||||||
|
| 1 | `rd_transistor(E_LINE, "ZTX853")` | Transistor E_LINE ZTX853 |
|
||||||
| 2 | `vero_pin()` | Vero board pin |
|
| 2 | `vero_pin()` | Vero board pin |
|
||||||
| 1 | `wire_link(0.8, 5.08, h = 10.16)` | Wire link 0.8mm x 0.2" |
|
| 1 | `wire_link(0.8, 5.08, h = 10.16)` | Wire link 0.8mm x 0.2" |
|
||||||
| 1 | `wire_link(0.8, 10.16)` | Wire link 0.8mm x 0.4" |
|
| 1 | `wire_link(0.8, 10.16)` | Wire link 0.8mm x 0.4" |
|
||||||
@@ -2646,6 +2771,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
### Functions
|
### Functions
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
|
| `pcb(name, desc, size, corner_r = 0, hole_d = 0, land_d = 0, colour = "green", parts_on_bom = false, holes = [], components = [], accessories = [], grid = undef, polygon = undef, screw = undef)` | Constructor |
|
||||||
| `pcb_component(type, name, index = 0)` | Return the component specified by name and index |
|
| `pcb_component(type, name, index = 0)` | Return the component specified by name and index |
|
||||||
| `pcb_component_position(type, name, index = 0)` | Return x y position of specified component |
|
| `pcb_component_position(type, name, index = 0)` | Return x y position of specified component |
|
||||||
| `pcb_coord(type, p)` | Convert offsets from the edge to coordinates relative to the centre |
|
| `pcb_coord(type, p)` | Convert offsets from the edge to coordinates relative to the centre |
|
||||||
@@ -2698,6 +2824,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
### Vitamins
|
### Vitamins
|
||||||
| Qty | Module call | BOM entry |
|
| Qty | Module call | BOM entry |
|
||||||
| ---:|:--- |:---|
|
| ---:|:--- |:---|
|
||||||
|
| 1 | `pcb(Feather405)` | Adafruit Feather 405 |
|
||||||
| 1 | `pcb(ArduinoLeonardo)` | Arduino Leonardo |
|
| 1 | `pcb(ArduinoLeonardo)` | Arduino Leonardo |
|
||||||
| 1 | `pcb(ArduinoNano)` | Arduino Nano |
|
| 1 | `pcb(ArduinoNano)` | Arduino Nano |
|
||||||
| 1 | `pcb(ArduinoUno3)` | Arduino Uno R3 |
|
| 1 | `pcb(ArduinoUno3)` | Arduino Uno R3 |
|
||||||
@@ -2711,6 +2838,8 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| 1 | `pcb(Duex2)` | Duex2 expansion board - not shown |
|
| 1 | `pcb(Duex2)` | Duex2 expansion board - not shown |
|
||||||
| 1 | `pcb(Duex5)` | Duex5 expansion board |
|
| 1 | `pcb(Duex5)` | Duex5 expansion board |
|
||||||
| 1 | `pcb(ESP-01)` | ESP-01 |
|
| 1 | `pcb(ESP-01)` | ESP-01 |
|
||||||
|
| 1 | `pcb(ESP_12F)` | ESP-12F ESP8266 WiFi module |
|
||||||
|
| 1 | `pcb(ESP_201)` | ESP-201 ESP8266 WiFi module |
|
||||||
| 1 | `pcb(ESP32_DOIT_V1)` | ESP32 DOIT DEV KIT V1 |
|
| 1 | `pcb(ESP32_DOIT_V1)` | ESP32 DOIT DEV KIT V1 |
|
||||||
| 1 | `pcb(EnviroPlus)` | Enviro+ |
|
| 1 | `pcb(EnviroPlus)` | Enviro+ |
|
||||||
| 1 | `pcb(ExtruderPCB)` | Extruder connection PCB - not shown |
|
| 1 | `pcb(ExtruderPCB)` | Extruder connection PCB - not shown |
|
||||||
@@ -2726,7 +2855,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| 1 | `molex_254(2)` | Molex KK header 2 way - not shown |
|
| 1 | `molex_254(2)` | Molex KK header 2 way - not shown |
|
||||||
| 1 | `molex_254(3)` | Molex KK header 3 way - not shown |
|
| 1 | `molex_254(3)` | Molex KK header 3 way - not shown |
|
||||||
| 20 | `nut(M2_nut, nyloc = true)` | Nut M2 x 1.6mm nyloc |
|
| 20 | `nut(M2_nut, nyloc = true)` | Nut M2 x 1.6mm nyloc |
|
||||||
| 34 | `nut(M2p5_nut, nyloc = true)` | Nut M2.5 x 2.2mm nyloc |
|
| 38 | `nut(M2p5_nut, nyloc = true)` | Nut M2.5 x 2.2mm nyloc |
|
||||||
| 43 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
|
| 43 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
|
||||||
| 8 | `nut(M4_nut, nyloc = true)` | Nut M4 x 3.2mm nyloc |
|
| 8 | `nut(M4_nut, nyloc = true)` | Nut M4 x 3.2mm nyloc |
|
||||||
| 1 | `pcb(OPZ2)` | Orange Pi Zero 2 |
|
| 1 | `pcb(OPZ2)` | Orange Pi Zero 2 |
|
||||||
@@ -2747,15 +2876,16 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| 1 | `pcb(RPI_Pico)` | Raspberry Pi Pico |
|
| 1 | `pcb(RPI_Pico)` | Raspberry Pi Pico |
|
||||||
| 1 | `pcb(RPI0)` | Raspberry Pi Zero |
|
| 1 | `pcb(RPI0)` | Raspberry Pi Zero |
|
||||||
| 8 | `screw(M2_cap_screw, 16)` | Screw M2 cap x 16mm |
|
| 8 | `screw(M2_cap_screw, 16)` | Screw M2 cap x 16mm |
|
||||||
| 12 | `screw(M2_cap_screw, 20)` | Screw M2 cap x 20mm |
|
| 8 | `screw(M2_cap_screw, 20)` | Screw M2 cap x 20mm |
|
||||||
| 2 | `screw(M2p5_cap_screw, 16)` | Screw M2.5 cap x 16mm |
|
| 4 | `screw(M2_cap_screw, 25)` | Screw M2 cap x 25mm |
|
||||||
|
| 2 | `screw(M2p5_cap_screw, 20)` | Screw M2.5 cap x 20mm |
|
||||||
| 8 | `screw(M2p5_cap_screw, 25)` | Screw M2.5 cap x 25mm |
|
| 8 | `screw(M2p5_cap_screw, 25)` | Screw M2.5 cap x 25mm |
|
||||||
| 8 | `screw(M2p5_cap_screw, 30)` | Screw M2.5 cap x 30mm |
|
| 12 | `screw(M2p5_cap_screw, 35)` | Screw M2.5 cap x 35mm |
|
||||||
| 4 | `screw(M2p5_cap_screw, 35)` | Screw M2.5 cap x 35mm |
|
| 4 | `screw(M2p5_dome_screw, 25)` | Screw M2.5 dome x 25mm |
|
||||||
| 4 | `screw(M2p5_pan_screw, 20)` | Screw M2.5 pan 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 |
|
| 8 | `screw(M2p5_pan_screw, 30)` | Screw M2.5 pan x 30mm |
|
||||||
| 17 | `screw(M3_cap_screw, 16)` | Screw M3 cap x 16mm |
|
| 19 | `screw(M3_cap_screw, 16)` | Screw M3 cap x 16mm |
|
||||||
| 15 | `screw(M3_cap_screw, 20)` | Screw M3 cap x 20mm |
|
| 13 | `screw(M3_cap_screw, 20)` | Screw M3 cap x 20mm |
|
||||||
| 11 | `screw(M3_cap_screw, 30)` | Screw M3 cap x 30mm |
|
| 11 | `screw(M3_cap_screw, 30)` | Screw M3 cap x 30mm |
|
||||||
| 4 | `screw(M4_cap_screw, 20)` | Screw M4 cap x 20mm |
|
| 4 | `screw(M4_cap_screw, 20)` | Screw M4 cap x 20mm |
|
||||||
| 4 | `screw(M4_cap_screw, 25)` | Screw M4 cap x 25mm |
|
| 4 | `screw(M4_cap_screw, 25)` | Screw M4 cap x 25mm |
|
||||||
@@ -2764,9 +2894,10 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| 3 | `terminal_35(2)` | Terminal block 2 way 3.5mm - not shown |
|
| 3 | `terminal_35(2)` | Terminal block 2 way 3.5mm - not shown |
|
||||||
| 2 | `green_terminal(gt_2p54, 4)` | Terminal block 4 way 0.1" - not shown |
|
| 2 | `green_terminal(gt_2p54, 4)` | Terminal block 4 way 0.1" - not shown |
|
||||||
| 1 | | USB A to Mini B lead - not shown |
|
| 1 | | USB A to Mini B lead - not shown |
|
||||||
|
| 1 | `pcb(tiny_buck)` | Ultra Small 3A buck regulator |
|
||||||
| 1 | `pcb(WD2002SJ)` | WD2002SJ Buck Boost DC-DC converter |
|
| 1 | `pcb(WD2002SJ)` | WD2002SJ Buck Boost DC-DC converter |
|
||||||
| 20 | `washer(M2_washer)` | Washer M2 x 5mm x 0.3mm |
|
| 20 | `washer(M2_washer)` | Washer M2 x 5mm x 0.3mm |
|
||||||
| 34 | `washer(M2p5_washer)` | Washer M2.5 x 5.9mm x 0.5mm |
|
| 38 | `washer(M2p5_washer)` | Washer M2.5 x 5.9mm x 0.5mm |
|
||||||
| 43 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
|
| 43 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
|
||||||
| 8 | `washer(M4_washer)` | Washer M4 x 9mm x 0.8mm |
|
| 8 | `washer(M4_washer)` | Washer M4 x 9mm x 0.8mm |
|
||||||
| 1 | `pcb(ZC_A0591)` | ZC-A0591 ULN2003 driver PCB |
|
| 1 | `pcb(ZC_A0591)` | ZC-A0591 ULN2003 driver PCB |
|
||||||
@@ -2775,26 +2906,27 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
|
|||||||
| Qty | Filename |
|
| Qty | Filename |
|
||||||
| ---:|:--- |
|
| ---:|:--- |
|
||||||
| 4 | pcb_spacer20100.stl |
|
| 4 | pcb_spacer20100.stl |
|
||||||
| 4 | pcb_spacer20110.stl |
|
| 4 | pcb_spacer20130.stl |
|
||||||
| 4 | pcb_spacer2070.stl |
|
| 4 | pcb_spacer2070.stl |
|
||||||
| 4 | pcb_spacer2080.stl |
|
| 4 | pcb_spacer2080.stl |
|
||||||
| 4 | pcb_spacer2090.stl |
|
| 4 | pcb_spacer2090.stl |
|
||||||
| 4 | pcb_spacer25130.stl |
|
| 4 | pcb_spacer25120.stl |
|
||||||
| 4 | pcb_spacer25140.stl |
|
| 4 | pcb_spacer25150.stl |
|
||||||
| 4 | pcb_spacer25150_2.stl |
|
| 4 | pcb_spacer25160.stl |
|
||||||
| 4 | pcb_spacer25160_2.stl |
|
| 4 | pcb_spacer25170_2.stl |
|
||||||
| 4 | pcb_spacer25200.stl |
|
| 4 | pcb_spacer25180_2.stl |
|
||||||
| 4 | pcb_spacer25210.stl |
|
|
||||||
| 4 | pcb_spacer25220.stl |
|
| 4 | pcb_spacer25220.stl |
|
||||||
| 2 | pcb_spacer2550.stl |
|
| 4 | pcb_spacer25230.stl |
|
||||||
| 4 | pcb_spacer2590.stl |
|
| 4 | pcb_spacer25240.stl |
|
||||||
| 4 | pcb_spacer30170.stl |
|
| 4 | pcb_spacer2580.stl |
|
||||||
| 4 | pcb_spacer30180.stl |
|
| 2 | pcb_spacer2590.stl |
|
||||||
| 3 | pcb_spacer30190.stl |
|
| 4 | pcb_spacer30190.stl |
|
||||||
| 8 | pcb_spacer3050.stl |
|
| 4 | pcb_spacer30200.stl |
|
||||||
|
| 3 | pcb_spacer30210.stl |
|
||||||
|
| 10 | pcb_spacer3050.stl |
|
||||||
| 9 | pcb_spacer3060.stl |
|
| 9 | pcb_spacer3060.stl |
|
||||||
| 7 | pcb_spacer3070.stl |
|
| 9 | pcb_spacer3070.stl |
|
||||||
| 8 | pcb_spacer3080.stl |
|
| 4 | pcb_spacer3080.stl |
|
||||||
| 4 | pcb_spacer40100.stl |
|
| 4 | pcb_spacer40100.stl |
|
||||||
| 4 | pcb_spacer4090.stl |
|
| 4 | pcb_spacer4090.stl |
|
||||||
|
|
||||||
@@ -2977,7 +3109,7 @@ Pin headers and sockets, etc.
|
|||||||
| `box_header(type, cols = 1, rows = 1, smt = false, cutout = false, right_angle = false)` | Draw box header |
|
| `box_header(type, cols = 1, rows = 1, smt = false, cutout = false, right_angle = false)` | Draw box header |
|
||||||
| `idc_transition(type, cols = 5, skip = [], cutout = false)` | Draw IDC transition header |
|
| `idc_transition(type, cols = 5, skip = [], cutout = false)` | Draw IDC transition header |
|
||||||
| `jst_xh_header(type, pin_count, right_angle = false, colour = false, pin_colour = false, smt = false)` | Draw JST XH, PH or ZH connector |
|
| `jst_xh_header(type, pin_count, right_angle = false, colour = false, pin_colour = false, smt = false)` | Draw JST XH, PH or ZH connector |
|
||||||
| `pin(type, length = undef)` | Draw a header pin |
|
| `pin(type, length = undef, colour = undef)` | Draw a header pin |
|
||||||
| `pin_header(type, cols = 1, rows = 1, smt = false, right_angle = false, cutout = false, colour)` | Draw pin header |
|
| `pin_header(type, cols = 1, rows = 1, smt = false, right_angle = false, cutout = false, colour)` | Draw pin header |
|
||||||
| `pin_socket(type, cols = 1, rows = 1, right_angle = false, height = 0, smt = false, cutout = false, colour)` | Draw pin socket |
|
| `pin_socket(type, cols = 1, rows = 1, right_angle = false, height = 0, smt = false, cutout = false, colour)` | Draw pin socket |
|
||||||
|
|
||||||
@@ -3231,6 +3363,27 @@ Radial components for PCBs.
|
|||||||
### Properties
|
### Properties
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
|
| `rd_disc_colours(type)` | Colours of body and text |
|
||||||
|
| `rd_disc_kind(type)` | Capacitor, etc |
|
||||||
|
| `rd_disc_lead_d(type)` | Lead diameter and sleeve diameter |
|
||||||
|
| `rd_disc_pitch(type)` | Lead pitch X & Y |
|
||||||
|
| `rd_disc_size(type)` | Diameter, thickness and height |
|
||||||
|
| `rd_electrolytic_colours(type)` | Colour of jacket and stripe |
|
||||||
|
| `rd_electrolytic_crimp(type)` | Width and height of crimp |
|
||||||
|
| `rd_electrolytic_lead_d(type)` | Lead diameter |
|
||||||
|
| `rd_electrolytic_pitch(type)` | Lead pitch |
|
||||||
|
| `rd_electrolytic_radius(type)` | Corner radius |
|
||||||
|
| `rd_electrolytic_size(type)` | Diameter, crimp diameter, height |
|
||||||
|
| `rd_module_colour(type)` | Colour |
|
||||||
|
| `rd_module_kind(type)` | Relay, PSU, etc. |
|
||||||
|
| `rd_module_pin_posns(type)` | list of pin positions |
|
||||||
|
| `rd_module_pin_size(type)` | Pin size |
|
||||||
|
| `rd_module_radius(type)` | Corner radius |
|
||||||
|
| `rd_module_size(type)` | Size |
|
||||||
|
| `rd_transistor_colours(type)` | Body colour and text colour |
|
||||||
|
| `rd_transistor_lead(type)` | Lead diameter or width and depth |
|
||||||
|
| `rd_transistor_lead_posns(type)` | List of lead xy coordinates |
|
||||||
|
| `rd_transistor_size(type)` | Width / diameter, depth / flat and height |
|
||||||
| `rd_xtal_flange(type)` | Crystal flange width and thickness |
|
| `rd_xtal_flange(type)` | Crystal flange width and thickness |
|
||||||
| `rd_xtal_lead_d(type)` | Crystal lead diameter |
|
| `rd_xtal_lead_d(type)` | Crystal lead diameter |
|
||||||
| `rd_xtal_pitch(type)` | Crystal lead pitch |
|
| `rd_xtal_pitch(type)` | Crystal lead pitch |
|
||||||
@@ -3239,7 +3392,10 @@ Radial components for PCBs.
|
|||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `cylindrical_wrap(r, h = eps)` | Wrap a 2D child extruded to height `h` around a cylinder with radius `r`. |
|
| `rd_disc(type, value, pitch = undef, z = 0, tail = 3)` | Draw a radial disc component |
|
||||||
|
| `rd_electrolytic(type, value, pitch = undef, z = 0, tail = 3)` | Draw a radial electrolytic capcacitor |
|
||||||
|
| `rd_module(type, value)` | Draw a PCB mounted potted module, e.g. PSU or relay |
|
||||||
|
| `rd_transistor(type, value, kind = "Transistor", lead_positions = undef, z = 5, tail = 3)` | Draw a radial lead transistor |
|
||||||
| `rd_xtal(type, value, z = 0, pitch = undef, tail = 3)` | Draw a crystal |
|
| `rd_xtal(type, value, z = 0, pitch = undef, tail = 3)` | Draw a crystal |
|
||||||
|
|
||||||

|

|
||||||
@@ -3247,12 +3403,20 @@ Radial components for PCBs.
|
|||||||
### Vitamins
|
### Vitamins
|
||||||
| Qty | Module call | BOM entry |
|
| Qty | Module call | BOM entry |
|
||||||
| ---:|:--- |:---|
|
| ---:|:--- |:---|
|
||||||
|
| 1 | `rd_disc(6p4mm_disc, "10nF")` | Ceramic capacitor, 6p4mm_disc 10nF |
|
||||||
| 1 | `rd_xtal(ACT1100, "ACT1100")` | Crystal ACT1100 ACT1100 |
|
| 1 | `rd_xtal(ACT1100, "ACT1100")` | Crystal ACT1100 ACT1100 |
|
||||||
| 1 | `rd_xtal(ACT1700, "ACT1700")` | Crystal ACT1700 ACT1700 |
|
| 1 | `rd_xtal(ACT1700, "ACT1700")` | Crystal ACT1700 ACT1700 |
|
||||||
| 1 | `rd_xtal(C_002RX, "C_002RX")` | Crystal C_002RX C_002RX |
|
| 1 | `rd_xtal(C_002RX, "C_002RX")` | Crystal C_002RX C_002RX |
|
||||||
| 1 | `rd_xtal(HC49, "HC49")` | Crystal HC49 HC49 |
|
| 1 | `rd_xtal(HC49, "HC49")` | Crystal HC49 HC49 |
|
||||||
| 1 | `rd_xtal(HC49_4H, "HC49_4H")` | Crystal HC49_4H HC49_4H |
|
| 1 | `rd_xtal(HC49_4H, "HC49_4H")` | Crystal HC49_4H HC49_4H |
|
||||||
| 1 | `pcb(PERF60x40)` | Perfboard 60 x 40mm |
|
| 1 | `rd_electrolytic(ECAP8x12, "220uF35V")` | Electolytic capacitor ECAP8x12 220uF35V |
|
||||||
|
| 1 | `rd_module(LDE10_20B, "12V 900ma")` | PSU LDE10_20B / 12V 900ma |
|
||||||
|
| 1 | `rd_module(VCE03, "12V 250ma")` | PSU VCE03 / 12V 250ma |
|
||||||
|
| 2 | `pcb(PERF70x50)` | Perfboard 70 x 50mm |
|
||||||
|
| 1 | `rd_module(HF33F, "012-HSL3F")` | Relay HF33F / 012-HSL3F |
|
||||||
|
| 1 | `rd_transistor(E_LINE, "ZTX853")` | Transistor E_LINE ZTX853 |
|
||||||
|
| 1 | `rd_transistor(TO92, "BC337")` | Transistor TO92 BC337 |
|
||||||
|
| 1 | `rd_disc(ERZV07D471, "470V")` | Varistor, ERZV07D471 470V |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
@@ -3602,6 +3766,7 @@ For an explanation of `screw_polysink()` see <https://hydraraptor.blogspot.com/2
|
|||||||
| `screw_countersink(type, drilled = true)` | Countersink shape |
|
| `screw_countersink(type, drilled = true)` | Countersink shape |
|
||||||
| `screw_keyhole(type, h = 0)` | Make keyhole slot to accept and retain screw head |
|
| `screw_keyhole(type, h = 0)` | Make keyhole slot to accept and retain screw head |
|
||||||
| `screw_polysink(type, h = 100, alt = false, sink = 0)` | A countersink hole made from stacked polyholes for printed parts, default is flush, `sink` can be used to recess the head |
|
| `screw_polysink(type, h = 100, alt = false, sink = 0)` | A countersink hole made from stacked polyholes for printed parts, default is flush, `sink` can be used to recess the head |
|
||||||
|
| `screw_tearsink(type)` | Countersink shape for horizontal holes |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -4035,6 +4200,7 @@ E.g. 475A is 4.7uF 10V on the parts list.
|
|||||||
| 1 | `smd_capacitor(CAP0603)` | SMD capacitor 0603 |
|
| 1 | `smd_capacitor(CAP0603)` | SMD capacitor 0603 |
|
||||||
| 1 | `smd_capacitor(CAP0805)` | SMD capacitor 0805 |
|
| 1 | `smd_capacitor(CAP0805)` | SMD capacitor 0805 |
|
||||||
| 1 | `smd_capacitor(CAP1206)` | SMD capacitor 1206 |
|
| 1 | `smd_capacitor(CAP1206)` | SMD capacitor 1206 |
|
||||||
|
| 1 | `smd_capacitor(CAP1210)` | SMD capacitor 1210 |
|
||||||
| 1 | `smd_qfp(QFP50P1200X1200X160_64N)` | SMD chip: ATSAM4S4BA, package : QFP50P1200X1200X160_64N |
|
| 1 | `smd_qfp(QFP50P1200X1200X160_64N)` | SMD chip: ATSAM4S4BA, package : QFP50P1200X1200X160_64N |
|
||||||
| 1 | `smd_resistor(L2012C, 10u)` | SMD choke 0805 10u |
|
| 1 | `smd_resistor(L2012C, 10u)` | SMD choke 0805 10u |
|
||||||
| 1 | `smd_coax(U_FL_R_SMT_1)` | SMD coax connector type: U_FL_R_SMT_1 |
|
| 1 | `smd_coax(U_FL_R_SMT_1)` | SMD coax connector type: U_FL_R_SMT_1 |
|
||||||
@@ -4049,7 +4215,9 @@ E.g. 475A is 4.7uF 10V on the parts list.
|
|||||||
| 1 | `smd_soic(SOIC8)` | SOIC8 package SOIC8 |
|
| 1 | `smd_soic(SOIC8)` | SOIC8 package SOIC8 |
|
||||||
| 1 | `smd_sot(SOT223)` | SOT223 package FZT851 |
|
| 1 | `smd_sot(SOT223)` | SOT223 package FZT851 |
|
||||||
| 1 | `smd_sot(SOT23)` | SOT23 package 2N7000 |
|
| 1 | `smd_sot(SOT23)` | SOT23 package 2N7000 |
|
||||||
|
| 1 | `smd_soic(SOT23_6)` | SOT23_6 package SOT23_6 |
|
||||||
| 1 | `smd_pot(TC33X1)` | TC33X1 package 10K |
|
| 1 | `smd_pot(TC33X1)` | TC33X1 package 10K |
|
||||||
|
| 1 | `smd_soic(TSOT23_8)` | TSOT23_8 package TSOT23_8 |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
@@ -4613,12 +4781,13 @@ Veroboard with mounting holes, track breaks, removed tracks, solder points and c
|
|||||||
| `vero_no_track(type)` | Missing tracks |
|
| `vero_no_track(type)` | Missing tracks |
|
||||||
| `vero_pitch(type)` | Hole pitch |
|
| `vero_pitch(type)` | Hole pitch |
|
||||||
| `vero_screw(type)` | Mounting screw type |
|
| `vero_screw(type)` | Mounting screw type |
|
||||||
|
| `vero_solid_tracks(type)` | List of solid copper tracks (at the edges of some boards) |
|
||||||
| `vero_strips(type)` | Number of strips |
|
| `vero_strips(type)` | Number of strips |
|
||||||
|
|
||||||
### Functions
|
### Functions
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `vero(name, assembly, holes, strips, pitch = 2.54, fr4 = false, screw = M3_cap_screw, mounting_holes = [], breaks = [], no_tracks = [], components = [], joints = [])` | Constructor |
|
| `vero(name, assembly, holes, strips, pitch = 2.54, fr4 = false, screw = M3_cap_screw, mounting_holes = [], breaks = [], no_tracks = [], components = [], joints = [], solid = [])` | Constructor |
|
||||||
| `vero_grid_pos(type, x, y)` | Convert grid position to offset from the centre |
|
| `vero_grid_pos(type, x, y)` | Convert grid position to offset from the centre |
|
||||||
| `vero_length(type)` | Length of the board |
|
| `vero_length(type)` | Length of the board |
|
||||||
| `vero_size(type)` | Board size |
|
| `vero_size(type)` | Board size |
|
||||||
@@ -4630,13 +4799,13 @@ Veroboard with mounting holes, track breaks, removed tracks, solder points and c
|
|||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `solder_meniscus(type, ir = 0.3, r = undef)` | Draw a solder meniscus |
|
|
||||||
| `vero_cutouts(type, angle = undef)` | Make cutouts to clear components |
|
| `vero_cutouts(type, angle = undef)` | Make cutouts to clear components |
|
||||||
| `vero_grid_pos(type, x, y)` | Convert grid position to offset from the centre |
|
| `vero_grid_pos(type, x, y)` | Convert grid position to offset from the centre |
|
||||||
| `vero_mounting_hole_positions(type)` | Positions children at the mounting holes |
|
| `vero_mounting_hole_positions(type)` | Positions children at the mounting holes |
|
||||||
| `vero_mounting_holes(type, h = 100)` | Drill mounting holes in a panel |
|
| `vero_mounting_holes(type, h = 100)` | Drill mounting holes in a panel |
|
||||||
| `veroboard(type)` | Draw specified veroboard with missing tracks and track breaks |
|
| `veroboard(type)` | Draw specified veroboard with missing tracks and track breaks |
|
||||||
| `veroboard_assembly(type, ngb = false)` | Draw the assembly with components |
|
| `veroboard_assembly(type, ngb = false)` | Draw the assembly with components |
|
||||||
|
| `veroboard_base(type, height, thickness, wall = 2, tapped = false)` | Generate STL for a base with PCB spacers |
|
||||||
| `veroboard_fastened_assembly(type, height, thickness, flip = false, ngb = false)` | Draw the assembly with components and fasteners in place |
|
| `veroboard_fastened_assembly(type, height, thickness, flip = false, ngb = false)` | Draw the assembly with components and fasteners in place |
|
||||||
| `veroboard_fasteners(type, height, thickness, flip = false)` | Draw the fasteners in place |
|
| `veroboard_fasteners(type, height, thickness, flip = false)` | Draw the fasteners in place |
|
||||||
|
|
||||||
@@ -4731,7 +4900,7 @@ If a washer is given a child, usually a screw or a nut, then it is placed on its
|
|||||||
| 1 | `spring_washer(M3p5_washer)` | Washer spring M3.5 x 1mm |
|
| 1 | `spring_washer(M3p5_washer)` | Washer spring M3.5 x 1mm |
|
||||||
| 1 | `spring_washer(M4_washer)` | Washer spring M4 x 1.2mm |
|
| 1 | `spring_washer(M4_washer)` | Washer spring M4 x 1.2mm |
|
||||||
| 1 | `spring_washer(M5_washer)` | Washer spring M5 x 1.6mm |
|
| 1 | `spring_washer(M5_washer)` | Washer spring M5 x 1.6mm |
|
||||||
| 1 | `spring_washer(M6_washer)` | Washer spring M6 x 1.6mm |
|
| 1 | `spring_washer(M6_washer)` | Washer spring M6 x 1.9mm |
|
||||||
| 1 | `spring_washer(M8_washer)` | Washer spring M8 x 2mm |
|
| 1 | `spring_washer(M8_washer)` | Washer spring M8 x 2mm |
|
||||||
| 1 | `star_washer(M2_washer)` | Washer star M2 x 0.3mm |
|
| 1 | `star_washer(M2_washer)` | Washer star M2 x 0.3mm |
|
||||||
| 1 | `star_washer(M2p5_washer)` | Washer star M2.5 x 0.5mm |
|
| 1 | `star_washer(M2p5_washer)` | Washer star M2.5 x 0.5mm |
|
||||||
@@ -6446,26 +6615,29 @@ UK 13A socket and printed backbox with earth terminal for the panel it is mounte
|
|||||||
### Vitamins
|
### Vitamins
|
||||||
| Qty | Module call | BOM entry |
|
| Qty | Module call | BOM entry |
|
||||||
| ---:|:--- |:---|
|
| ---:|:--- |:---|
|
||||||
| 4 | `insert(F1BM3)` | Heatfit insert M3 x 5.8mm |
|
| 6 | `insert(F1BM3)` | Heatfit insert M3 x 5.8mm |
|
||||||
| 1 | `mains_socket(Contactum)` | Mains socket 13A |
|
| 1 | `mains_socket(Contactum)` | Mains socket 13A |
|
||||||
|
| 1 | `mains_socket(PMS9143A)` | Mains socket 13A |
|
||||||
| 1 | `mains_socket(MKLOGIC)` | Mains socket 13A, switched |
|
| 1 | `mains_socket(MKLOGIC)` | Mains socket 13A, switched |
|
||||||
| 2 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
|
| 3 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
|
||||||
| 2 | `ring_terminal(M3_ringterm)` | Ring terminal 3mm |
|
| 3 | `ring_terminal(M3_ringterm)` | Ring terminal 3mm |
|
||||||
| 4 | `screw(M3_cs_cap_screw, 20)` | Screw M3 cs cap x 20mm |
|
| 6 | `screw(M3_cs_cap_screw, 20)` | Screw M3 cs cap x 20mm |
|
||||||
| 2 | `screw(M3_dome_screw, 10)` | Screw M3 dome x 10mm |
|
| 3 | `screw(M3_dome_screw, 10)` | Screw M3 dome x 10mm |
|
||||||
| 4 | `star_washer(M3_washer)` | Washer star M3 x 0.5mm |
|
| 6 | `star_washer(M3_washer)` | Washer star M3 x 0.5mm |
|
||||||
|
|
||||||
### Printed
|
### Printed
|
||||||
| Qty | Filename |
|
| Qty | Filename |
|
||||||
| ---:|:--- |
|
| ---:|:--- |
|
||||||
| 1 | socket_box_Contactum.stl |
|
| 1 | socket_box_Contactum.stl |
|
||||||
| 1 | socket_box_MKLOGIC.stl |
|
| 1 | socket_box_MKLOGIC.stl |
|
||||||
|
| 1 | socket_box_PMS9143A.stl |
|
||||||
|
|
||||||
### Assemblies
|
### Assemblies
|
||||||
| Qty | Name |
|
| Qty | Name |
|
||||||
| ---:|:--- |
|
| ---:|:--- |
|
||||||
| 1 | socket_box_Contactum_assembly |
|
| 1 | socket_box_Contactum_assembly |
|
||||||
| 1 | socket_box_MKLOGIC_assembly |
|
| 1 | socket_box_MKLOGIC_assembly |
|
||||||
|
| 1 | socket_box_PMS9143A_assembly |
|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
@@ -6967,6 +7139,27 @@ If `chamfer_base` is true then the bottom edge is made suitable for 3D printing
|
|||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
<a href="#top">Top</a>
|
||||||
|
|
||||||
|
---
|
||||||
|
<a name="pcb_utils"></a>
|
||||||
|
## PCB_utils
|
||||||
|
Utilities for making PCBs and components
|
||||||
|
|
||||||
|
[utils/pcb_utils.scad](utils/pcb_utils.scad) Implementation.
|
||||||
|
|
||||||
|
[tests/PCB_utils.scad](tests/PCB_utils.scad) Code for this example.
|
||||||
|
|
||||||
|
### Modules
|
||||||
|
| Module | Description |
|
||||||
|
|:--- |:--- |
|
||||||
|
| `cylindrical_wrap(r, h = eps)` | Wrap a 2D child extruded to height `h` around a cylinder with radius `r`. |
|
||||||
|
| `solder(ir = 0.3)` | Maybe add solder meniscus if $solder is set |
|
||||||
|
| `solder_meniscus(ir = 0.3, r = 1, h = 0.7)` | Draw a solder meniscus |
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
<a href="#top">Top</a>
|
<a href="#top">Top</a>
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -7420,7 +7613,7 @@ leaving a scar on either surface.
|
|||||||
| `poly_drill(r, h = 100, center = true)` | Make a cylinder for drilling holes suitable for CNC routing if cnc_bit_r is non zero, otherwise a poly_cylinder. |
|
| `poly_drill(r, h = 100, center = true)` | Make a cylinder for drilling holes suitable for CNC routing if cnc_bit_r is non zero, otherwise a poly_cylinder. |
|
||||||
| `poly_ring(or, ir, sides = undef)` | Make a 2D ring adjusted to have the correct internal radius |
|
| `poly_ring(or, ir, sides = undef)` | Make a 2D ring adjusted to have the correct internal radius |
|
||||||
| `poly_tube(or, ir, h, center = false)` | Make a tube adjusted to have the correct internal radius |
|
| `poly_tube(or, ir, h, center = false)` | Make a tube adjusted to have the correct internal radius |
|
||||||
| `slot(r, l, h = 100)` | Make a horizontal slot suitable for CNC routing, set h = 0 for 2D version |
|
| `slot(r, l, h = 100, center = false)` | Make a horizontal slot suitable for CNC routing, set h = 0 for 2D version |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@@ -24,7 +24,11 @@ from colorama import Fore, init
|
|||||||
|
|
||||||
def check_options(dir = '.'):
|
def check_options(dir = '.'):
|
||||||
global options, options_mtime
|
global options, options_mtime
|
||||||
options = { "show_threads": str(os.getenv("NOPSCADLIB_SHOW_THREADS")) }
|
options = {
|
||||||
|
"show_threads": str(os.getenv("NOPSCADLIB_SHOW_THREADS")),
|
||||||
|
"vitamin_fa": str(os.getenv("NOPSCADLIB_VITAMIN_FA")),
|
||||||
|
"vitamin_fs": str(os.getenv("NOPSCADLIB_VITAMIN_FS"))
|
||||||
|
}
|
||||||
options_fname = dir + '/options.json'
|
options_fname = dir + '/options.json'
|
||||||
try:
|
try:
|
||||||
with open(options_fname) as json_file:
|
with open(options_fname) as json_file:
|
||||||
|
@@ -119,23 +119,30 @@ test_pcb = ["test_pcb", "Test PCB",
|
|||||||
[ 25, 200, 0, "buzzer", 4.5, 8.5],
|
[ 25, 200, 0, "buzzer", 4.5, 8.5],
|
||||||
[ 25, 218, 0, "buzzer"],
|
[ 25, 218, 0, "buzzer"],
|
||||||
|
|
||||||
[ 45, 5, 0, "link", inch(0.4), 0.75, undef, undef, [1.5, "red"]], // Sleeved link
|
[ 45, 1, 0, "link", inch(0.4), 0.75, undef, undef, [1.5, "red"]], // Sleeved link
|
||||||
[ 45, 9, 0, "link", inch(0.4)], // Flat link
|
[ 45, 3, 0, "link", inch(0.4)], // Flat link
|
||||||
[ 45, 12, 0, "ax_res", res1_8, 1000],
|
[ 45, 6, 0, "ax_diode", DO_41, "1N4007"],
|
||||||
[ 45, 17, 0, "ax_res", res1_4, 10000],
|
[ 45, 10, 0, "ax_diode", DO_35, "1N4148"],
|
||||||
|
[ 45, 14, 0, "ax_res", res1_8, 1000],
|
||||||
|
[ 45, 18, 0, "ax_res", res1_4, 10000],
|
||||||
[ 45, 22, 0, "ax_res", res1_2, 100000],
|
[ 45, 22, 0, "ax_res", res1_2, 100000],
|
||||||
[ 35, 22, 0, "vero_pin"],
|
[ 35, 22, 0, "vero_pin"],
|
||||||
[ 35, 17, 0, "vero_pin", true],
|
[ 35, 17, 0, "vero_pin", true],
|
||||||
[ 35, 9, 0, "link", 0, 5], // Vertical wire
|
[ 35, 8, 180, "rd_transistor", TO92, "78L05", undef, undef, "Regulator"],
|
||||||
|
[ 35, 13, 180, "rd_transistor", E_LINE, "ZTX853"],
|
||||||
|
[ 35, 3, 0, "link", 0, 5], // Vertical wire
|
||||||
|
|
||||||
[ 60, 9, 0, "link", inch(0.2), inch(0.4)], // Raised link
|
[ 60, 3, 0, "link", inch(0.2), inch(0.4)], // Raised link
|
||||||
[ 60, 12, 0, "ax_res", res1_8, 1000000, 1, inch(0.1)],
|
[ 60, 6, 0, "ax_diode", DO_41, "1N4007", inch(0.1)],
|
||||||
[ 60, 17, 0, "ax_res", res1_4, 100, 2, inch(0.1)],
|
[ 60, 10, 0, "ax_diode", DO_35, "1N4148", inch(0.1)],
|
||||||
|
|
||||||
|
[ 60, 14, 0, "ax_res", res1_8, 1000000, 1, inch(0.1)],
|
||||||
|
[ 60, 18, 0, "ax_res", res1_4, 100, 2, inch(0.1)],
|
||||||
[ 60, 22, 0, "ax_res", res1_2, 10, 10, inch(0.2)],
|
[ 60, 22, 0, "ax_res", res1_2, 10, 10, inch(0.2)],
|
||||||
|
|
||||||
[ 33, 110, -90, "rd_xtal", HC49, "4MHz" ],
|
[ 33, 110, -90, "rd_xtal", HC49, "4MHz" ],
|
||||||
[ 28, 110, -90, "rd_xtal", HC49_4H, "10MHz" ],
|
[ 28, 110, -90, "rd_xtal", HC49_4H, "10MHz" ],
|
||||||
[ 28, 103, -90, "rd_xtal", C_002RX, "60KHz", 2 ],
|
[ 28, 102, -90, "rd_xtal", C_002RX, "60KHz", 3, inch(0.1) ],
|
||||||
|
|
||||||
[ 30, 130,-90, "rd_xtal", ACT1100, "40MHz", 0.5 ],
|
[ 30, 130,-90, "rd_xtal", ACT1100, "40MHz", 0.5 ],
|
||||||
[ 30, 150,-90, "rd_xtal", ACT1700, "80MHz", 0.5 ],
|
[ 30, 150,-90, "rd_xtal", ACT1700, "80MHz", 0.5 ],
|
||||||
@@ -180,7 +187,10 @@ test_pcb = ["test_pcb", "Test PCB",
|
|||||||
[ 78, 166, -90, "smd_soic", SOIC14, "74HC00"],
|
[ 78, 166, -90, "smd_soic", SOIC14, "74HC00"],
|
||||||
[ 71, 166, -90, "smd_soic", SOIC16, "ICL323"],
|
[ 71, 166, -90, "smd_soic", SOIC16, "ICL323"],
|
||||||
[ 64, 166, -90, "smd_soic", SOIC8, "M34063"],
|
[ 64, 166, -90, "smd_soic", SOIC8, "M34063"],
|
||||||
[ 80, 150, 0, "chip", 10, 5, 1, grey(20)],
|
[ 70, 150, 0, "chip", 10, 5, 1, grey(20)],
|
||||||
|
|
||||||
|
[90, 140, -90, "relay", HF33F, "012-HSL-3F"],
|
||||||
|
|
||||||
|
|
||||||
[ 52, 206, 0, "2p54socket", 8, 1 ],
|
[ 52, 206, 0, "2p54socket", 8, 1 ],
|
||||||
[ 52, 194, 0, "2p54socket", 8, 1, false, 0, false, "red" ],
|
[ 52, 194, 0, "2p54socket", 8, 1, false, 0, false, "red" ],
|
||||||
@@ -196,5 +206,5 @@ test_pcb = ["test_pcb", "Test PCB",
|
|||||||
|
|
||||||
|
|
||||||
if($preview)
|
if($preview)
|
||||||
let($show_threads = true)
|
let($show_threads = true, $solder = pcb_solder(test_pcb))
|
||||||
pcb(test_pcb);
|
pcb(test_pcb);
|
||||||
|
31
tests/antennas.scad
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// NopSCADlib Copyright Chris Palmer 2023
|
||||||
|
// 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/antennas.scad>
|
||||||
|
|
||||||
|
module antennas()
|
||||||
|
layout([for(a = antennas) cos(10) * antenna_length(a) ], 5, true) {
|
||||||
|
antenna(antennas[$i], 3, 10);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if($preview)
|
||||||
|
antennas();
|
@@ -23,6 +23,7 @@ include <../vitamins/pcbs.scad>
|
|||||||
module axials() {
|
module axials() {
|
||||||
pcb = PERF60x40;
|
pcb = PERF60x40;
|
||||||
pcb(pcb);
|
pcb(pcb);
|
||||||
|
$solder = pcb_solder(pcb);
|
||||||
|
|
||||||
pcb_grid(pcb, 0, 2)
|
pcb_grid(pcb, 0, 2)
|
||||||
rotate(90)
|
rotate(90)
|
||||||
@@ -36,14 +37,26 @@ module axials() {
|
|||||||
wire_link(0.8, 0, 5);
|
wire_link(0.8, 0, 5);
|
||||||
|
|
||||||
for(i = [0 : len(ax_resistors) - 1]) {
|
for(i = [0 : len(ax_resistors) - 1]) {
|
||||||
pcb_grid(pcb, 2 * i + 2, 1 + [0, 0.5, 1.5][i])
|
x = 2 * i + 3 + len(ax_diodes);
|
||||||
|
pcb_grid(pcb, x, 1 + [0, 0.5, 1.5][i])
|
||||||
rotate(90)
|
rotate(90)
|
||||||
ax_res(ax_resistors[i], [1000, 47000, 8200][i], 5);
|
ax_res(ax_resistors[i], [1000, 47000, 8200][i], 5);
|
||||||
|
|
||||||
pcb_grid(pcb, 2 * i + 2, 6.5)
|
pcb_grid(pcb, x, 6.5)
|
||||||
rotate(-90)
|
rotate(-90)
|
||||||
ax_res(ax_resistors[i], [2200, 39000, 8250][i], 1, inch(0.1));
|
ax_res(ax_resistors[i], [2200, 39000, 8250][i], 1, inch(0.1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
d_values = ["1N4148", "1N4007"];
|
||||||
|
for(i = [0 : len(ax_diodes) - 1]) {
|
||||||
|
pcb_grid(pcb, i + 2, 1 + [0, 0.5, 1.5][i])
|
||||||
|
rotate(90)
|
||||||
|
ax_diode(ax_diodes[i], d_values[i]);
|
||||||
|
|
||||||
|
pcb_grid(pcb, i + 2, 6.5)
|
||||||
|
rotate(-90)
|
||||||
|
ax_diode(ax_diodes[i], d_values[i], inch(0.1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($preview)
|
if($preview)
|
||||||
|
@@ -22,20 +22,24 @@ use <../utils/layout.scad>
|
|||||||
include <../vitamins/ball_bearings.scad>
|
include <../vitamins/ball_bearings.scad>
|
||||||
|
|
||||||
|
|
||||||
module do_bearings(list)
|
module do_bearings(list) {
|
||||||
layout([for(b = list) bb_diameter(b)])
|
diameters = [for(b = list) bb_diameter(b)];
|
||||||
ball_bearing(list[$i])
|
max = max(diameters);
|
||||||
if (bb_width(list[$i]) >= 5)
|
layout(diameters) let(b = list[$i])
|
||||||
bearing_ball(3);
|
//translate([0, (max - bb_diameter(b)) / 2])
|
||||||
|
ball_bearing(list[$i])
|
||||||
|
if (bb_width(list[$i]) >= 5)
|
||||||
|
bearing_ball(3);
|
||||||
|
}
|
||||||
|
|
||||||
module ball_bearings() {
|
module ball_bearings() {
|
||||||
small_bearings = [for(b = ball_bearings) if(bb_diameter(b) < 12) b];
|
small_bearings = [for(b = ball_bearings) if(bb_diameter(b) <= 13) b];
|
||||||
big_bearings = [for(b = ball_bearings) if(!in(small_bearings, b)) b];
|
big_bearings = [for(b = ball_bearings) if(!in(small_bearings, b)) b];
|
||||||
|
|
||||||
translate([0, 0])
|
translate([0, 0])
|
||||||
do_bearings(big_bearings);
|
do_bearings(big_bearings);
|
||||||
|
|
||||||
translate([0, -20])
|
translate([0, -25])
|
||||||
do_bearings(small_bearings);
|
do_bearings(small_bearings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -22,8 +22,15 @@ use <../utils/layout.scad>
|
|||||||
include <../vitamins/box_sections.scad>
|
include <../vitamins/box_sections.scad>
|
||||||
|
|
||||||
module box_sections() {
|
module box_sections() {
|
||||||
layout([for(b = box_sections) box_section_size(b).x], 20)
|
woven = [for(b = box_sections) if(box_section_is_woven(b)) b];
|
||||||
box_section(box_sections[$i], 100);
|
plain = [for(b = box_sections) if(!box_section_is_woven(b)) b];
|
||||||
|
layout([for(b = woven) box_section_size(b).x * 0], 10)
|
||||||
|
box_section(box_sections[$i], 100 - $i * 20);
|
||||||
|
|
||||||
|
translate([50, 0])
|
||||||
|
for(i = [0 : len(plain) - 1])
|
||||||
|
box_section(plain[i], 100 - i * 20);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($preview)
|
if($preview)
|
||||||
|
@@ -55,6 +55,10 @@ module components() {
|
|||||||
|
|
||||||
translate([0, 130])
|
translate([0, 130])
|
||||||
al_clad_resistors();
|
al_clad_resistors();
|
||||||
|
|
||||||
|
translate([80, 10])
|
||||||
|
multiwatt11("L6203");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($preview)
|
if($preview)
|
||||||
|
31
tests/gear_motors.scad
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// NopSCADlib Copyright Chris Palmer 2023
|
||||||
|
// 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>
|
||||||
|
include <../vitamins/gear_motors.scad>
|
||||||
|
|
||||||
|
use <../utils/layout.scad>
|
||||||
|
|
||||||
|
module gear_motors()
|
||||||
|
layout([for(g = gear_motors) gm_box(g).x], 10)
|
||||||
|
gear_motor(gear_motors[$i]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if($preview)
|
||||||
|
gear_motors();
|
@@ -32,6 +32,9 @@ module jacks() {
|
|||||||
|
|
||||||
translate([60, 0])
|
translate([60, 0])
|
||||||
post_4mm("red",3);
|
post_4mm("red",3);
|
||||||
|
|
||||||
|
translate([80, 0])
|
||||||
|
power_jack(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($preview)
|
if($preview)
|
||||||
|
@@ -57,7 +57,8 @@ module nuts() {
|
|||||||
sliding_t_nut(M6_sliding_t_nut);
|
sliding_t_nut(M6_sliding_t_nut);
|
||||||
|
|
||||||
if(n == M8_nut)
|
if(n == M8_nut)
|
||||||
sliding_t_nut(M8_sliding_ball_t_nut);
|
rotate(90)
|
||||||
|
sliding_t_nut(M8_sliding_ball_t_nut);
|
||||||
}
|
}
|
||||||
|
|
||||||
translate([0, 80]) {
|
translate([0, 80]) {
|
||||||
|
48
tests/pcb_utils.scad
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
//
|
||||||
|
// NopSCADlib Copyright Chris Palmer 2023
|
||||||
|
// 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 <../utils/core/core.scad>
|
||||||
|
|
||||||
|
use <../utils/pcb_utils.scad>
|
||||||
|
|
||||||
|
module pcb_utils() {
|
||||||
|
let($solder = [1, 0, 1.6])
|
||||||
|
solder();
|
||||||
|
|
||||||
|
r = 2;
|
||||||
|
h = 10;
|
||||||
|
|
||||||
|
color(grey(20))
|
||||||
|
cylinder(r = r, h = h);
|
||||||
|
|
||||||
|
color("silver")
|
||||||
|
vflip()
|
||||||
|
cylinder(d = 0.6, h = 3, $fs = fs, $fa = fa);
|
||||||
|
|
||||||
|
color("white")
|
||||||
|
translate_z(h / 2)
|
||||||
|
cylindrical_wrap(r = r)
|
||||||
|
resize([0, h * .8], auto = true)
|
||||||
|
rotate(90)
|
||||||
|
text("Hello", halign = "center", valign = "center");
|
||||||
|
}
|
||||||
|
|
||||||
|
if($preview)
|
||||||
|
rotate(-45)
|
||||||
|
pcb_utils();
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
BIN
tests/png/antennas.png
Normal file
After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 276 KiB After Width: | Height: | Size: 274 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 135 KiB |
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |