mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-09-07 05:31:18 +02:00
Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9e45dbad04 | ||
|
8cdc04b87b | ||
|
f65fe59831 | ||
|
5761368e56 | ||
|
e949ef4ecb | ||
|
932c68a2c0 | ||
|
78e3360900 | ||
|
178f67f815 | ||
|
af1b057f59 | ||
|
195917a879 | ||
|
9ed6aab6c8 | ||
|
c61386caf9 | ||
|
a90eb42933 | ||
|
549dbc9380 | ||
|
a483494da9 | ||
|
afc50ffe5d | ||
|
8951b8b60e | ||
|
c33d954db6 |
31
CHANGELOG.md
31
CHANGELOG.md
@@ -3,6 +3,37 @@
|
||||
This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes.
|
||||
|
||||
|
||||
#### [v21.29.1](https://github.com/nophead/NopSCADlib/releases/tag/v21.29.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v21.29.0...v21.29.1 "diff with v21.29.0")
|
||||
* 2024-10-07 [`f65fe59`](https://github.com/nophead/NopSCADlib/commit/f65fe598318d349a5a8764e2dbbe80acfdc0be2e "show commit") [C.P.](# "Chris Palmer") Restored 30mm tube section on the bottom of the pipe fitting.
|
||||
|
||||
### [v21.29.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.29.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.28.2...v21.29.0 "diff with v21.28.2")
|
||||
* 2024-10-06 [`932c68a`](https://github.com/nophead/NopSCADlib/commit/932c68a2c01307fd22946b17f9419894f2de2e9f "show commit") [C.P.](# "Chris Palmer") Updated images and readme.
|
||||
Pipes are now made with tube instead of differencing cylinders.
|
||||
`HTpipeFitting()` now uses `rotate_extrude` and corrected internal shape.
|
||||
The seal ring is now tube diameter + 13.
|
||||
|
||||
* 2024-10-06 [`78e3360`](https://github.com/nophead/NopSCADlib/commit/78e3360900f61f30d5df7d53084a7e752ecd836a "show commit") [J.G.](# "Jan Giebels") changed naming of `ht_pipes` test script
|
||||
|
||||
* 2024-10-06 [`178f67f`](https://github.com/nophead/NopSCADlib/commit/178f67f815dca6edc65651c0b9cfb9d670c349ae "show commit") [J.G.](# "Jan Giebels") added more pipes and some cleanup
|
||||
|
||||
* 2024-10-06 [`af1b057`](https://github.com/nophead/NopSCADlib/commit/af1b057f597f75532b17f042e7711337731aa0c3 "show commit") [J.G.](# "Jan Giebels") added info and description
|
||||
|
||||
* 2024-10-06 [`195917a`](https://github.com/nophead/NopSCADlib/commit/195917a8790926515a6fffb2a02d7154855de568 "show commit") [J.G.](# "Jan Giebels") added HT pipes to lib
|
||||
|
||||
* 2024-10-06 [`9ed6aab`](https://github.com/nophead/NopSCADlib/commit/9ed6aab6c8cfd1a647f5eae2eac8d74832328065 "show commit") [J.G.](# "Jan Giebels") added test script and some more HT pipes
|
||||
|
||||
* 2024-10-05 [`c61386c`](https://github.com/nophead/NopSCADlib/commit/c61386caf937840e9a07e348b3ad96af71820dd2 "show commit") [J.G.](# "Jan Giebels") added HT waterpipes
|
||||
|
||||
* 2024-10-02 [`549dbc9`](https://github.com/nophead/NopSCADlib/commit/549dbc9380f39f8521554963f2051c3f05f5495f "show commit") [G.L.](# "Greg Land") Relative paths for vitamin `rod_end` includes
|
||||
|
||||
#### [v21.28.2](https://github.com/nophead/NopSCADlib/releases/tag/v21.28.2 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v21.28.1...v21.28.2 "diff with v21.28.1")
|
||||
* 2024-10-02 [`afc50ff`](https://github.com/nophead/NopSCADlib/commit/afc50ffe5d01ee586b55630e0d34e44720f6b68a "show commit") [C.P.](# "Chris Palmer") Removed trailing comma in `let()` for compatibility with last release.
|
||||
|
||||
#### [v21.28.1](https://github.com/nophead/NopSCADlib/releases/tag/v21.28.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v21.28.0...v21.28.1 "diff with v21.28.0")
|
||||
* 2024-09-30 [`8fb7ec0`](https://github.com/nophead/NopSCADlib/commit/8fb7ec02138f30c5f4b2a72c723ea01d753aeb61 "show commit") [C.P.](# "Chris Palmer") Updated images.
|
||||
|
||||
* 2024-09-25 [`f6a3717`](https://github.com/nophead/NopSCADlib/commit/f6a371769d2850037dc15c94366d14c126efe4ba "show commit") [J.](# "jijamik") Corrected HGH20CA `carriage_pitch_x` value.
|
||||
|
||||
### [v21.28.0](https://github.com/nophead/NopSCADlib/releases/tag/v21.28.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v21.27.1...v21.28.0 "diff with v21.27.1")
|
||||
* 2024-09-30 [`e4b1b68`](https://github.com/nophead/NopSCADlib/commit/e4b1b686ff12a415c6109f311c6c36104d8a7b0c "show commit") [C.P.](# "Chris Palmer") Added `rd_cm_choke(),` `rd_coil()` and `spiral_wrap()`.
|
||||
Added 10mm ceramic disc capacitors.
|
||||
|
1
lib.scad
1
lib.scad
@@ -41,6 +41,7 @@ include <vitamins/fastons.scad>
|
||||
include <vitamins/gear_motors.scad>
|
||||
include <vitamins/geared_steppers.scad>
|
||||
include <vitamins/hot_ends.scad>
|
||||
include <vitamins/ht_pipes.scad>
|
||||
include <vitamins/inserts.scad>
|
||||
include <vitamins/ldrs.scad>
|
||||
include <vitamins/leadnuts.scad>
|
||||
|
99
readme.md
99
readme.md
@@ -48,9 +48,9 @@ A list of changes classified as breaking, additions or fixes is maintained in [C
|
||||
<tr><td> <a href = "#gear_motors">Gear_motors</a> </td><td> <a href = "#pin_headers">Pin_headers</a> </td><td> <a href = "#tubings">Tubings</a> </td><td> <a href = "#ssr_shroud">SSR_shroud</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 = "#variacs">Variacs</a> </td><td> <a href = "#screw_knob">Screw_knob</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 = "#veroboard">Veroboard</a> </td><td> <a href = "#socket_box">Socket_box</a> </td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#hot_ends">Hot_ends</a> </td><td></td><td> <a href = "#washers">Washers</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> <a href = "#wire">Wire</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td></td><td></td><td> <a href = "#zipties">Zipties</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#ht_pipes">HT_pipes</a> </td><td></td><td> <a href = "#washers">Washers</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 = "#wire">Wire</a> </td><td></td><td></td><td></td></tr>
|
||||
<tr><td> <a href = "#hygrometer">Hygrometer</a> </td><td></td><td> <a href = "#zipties">Zipties</a> </td><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
|
||||
---
|
||||
@@ -1591,6 +1591,99 @@ Needs updating as mostly obsolete versions.
|
||||
| 4 | `ziptie(small_ziptie)` | Ziptie 2.5mm x 100mm min length |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
|
||||
---
|
||||
<a name="ht_pipes"></a>
|
||||
## HT_pipes
|
||||
Parametric PVC HT water pipes commonly found in hardware stores around germany. Great for building weather proof cases for IoT things.
|
||||
|
||||
[vitamins/ht_pipes.scad](vitamins/ht_pipes.scad) Object definitions.
|
||||
|
||||
[vitamins/ht_pipe.scad](vitamins/ht_pipe.scad) Implementation.
|
||||
|
||||
[tests/HT_pipes.scad](tests/HT_pipes.scad) Code for this example.
|
||||
|
||||
### Properties
|
||||
| Function | Description |
|
||||
|:--- |:--- |
|
||||
| `pipe_length(type)` | Pipe length |
|
||||
| `pipe_od(type)` | Outside diameter |
|
||||
| `pipe_td(type)` | T-Pipe diameter |
|
||||
| `pipe_wall(type)` | Wall thickness |
|
||||
|
||||
### Modules
|
||||
| Module | Description |
|
||||
|:--- |:--- |
|
||||
| `ht_cap(type)` | Draw specified cap |
|
||||
| `ht_pipe(type)` | Draw specified pipe |
|
||||
| `ht_tpipe(type)` | Draw specified T-pipe |
|
||||
|
||||

|
||||
|
||||
### Vitamins
|
||||
| Qty | Module call | BOM entry |
|
||||
| ---:|:--- |:---|
|
||||
| 1 | `ht_cap(HT_110_cap)` | PVC Waterpipe - HT 110 cap |
|
||||
| 1 | `ht_pipe(HT_110_pipe_1000)` | PVC Waterpipe - HT 110 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_110_pipe_150)` | PVC Waterpipe - HT 110 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_110_pipe_1500)` | PVC Waterpipe - HT 110 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_110_pipe_2000)` | PVC Waterpipe - HT 110 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_110_pipe_250)` | PVC Waterpipe - HT 110 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_110_pipe_500)` | PVC Waterpipe - HT 110 pipe 500 mm |
|
||||
| 1 | `ht_cap(HT_125_cap)` | PVC Waterpipe - HT 125 cap |
|
||||
| 1 | `ht_pipe(HT_125_pipe_1000)` | PVC Waterpipe - HT 125 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_125_pipe_150)` | PVC Waterpipe - HT 125 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_125_pipe_1500)` | PVC Waterpipe - HT 125 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_125_pipe_2000)` | PVC Waterpipe - HT 125 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_125_pipe_250)` | PVC Waterpipe - HT 125 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_125_pipe_500)` | PVC Waterpipe - HT 125 pipe 500 mm |
|
||||
| 1 | `ht_cap(HT_160_cap)` | PVC Waterpipe - HT 160 cap |
|
||||
| 1 | `ht_pipe(HT_160_pipe_1000)` | PVC Waterpipe - HT 160 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_160_pipe_150)` | PVC Waterpipe - HT 160 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_160_pipe_1500)` | PVC Waterpipe - HT 160 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_160_pipe_2000)` | PVC Waterpipe - HT 160 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_160_pipe_250)` | PVC Waterpipe - HT 160 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_160_pipe_500)` | PVC Waterpipe - HT 160 pipe 500 mm |
|
||||
| 1 | `ht_cap(HT_32_cap)` | PVC Waterpipe - HT 32 cap |
|
||||
| 1 | `ht_pipe(HT_32_pipe_1000)` | PVC Waterpipe - HT 32 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_32_pipe_150)` | PVC Waterpipe - HT 32 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_32_pipe_1500)` | PVC Waterpipe - HT 32 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_32_pipe_2000)` | PVC Waterpipe - HT 32 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_32_pipe_250)` | PVC Waterpipe - HT 32 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_32_pipe_500)` | PVC Waterpipe - HT 32 pipe 500 mm |
|
||||
| 1 | `ht_cap(HT_40_cap)` | PVC Waterpipe - HT 40 cap |
|
||||
| 1 | `ht_pipe(HT_40_pipe_1000)` | PVC Waterpipe - HT 40 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_40_pipe_150)` | PVC Waterpipe - HT 40 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_40_pipe_1500)` | PVC Waterpipe - HT 40 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_40_pipe_2000)` | PVC Waterpipe - HT 40 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_40_pipe_250)` | PVC Waterpipe - HT 40 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_40_pipe_500)` | PVC Waterpipe - HT 40 pipe 500 mm |
|
||||
| 1 | `ht_tpipe(HT_50_tpipe)` | PVC Waterpipe - HT 50 T pipe |
|
||||
| 1 | `ht_cap(HT_50_cap)` | PVC Waterpipe - HT 50 cap |
|
||||
| 1 | `ht_pipe(HT_50_pipe_1000)` | PVC Waterpipe - HT 50 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_50_pipe_150)` | PVC Waterpipe - HT 50 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_50_pipe_1500)` | PVC Waterpipe - HT 50 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_50_pipe_2000)` | PVC Waterpipe - HT 50 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_50_pipe_250)` | PVC Waterpipe - HT 50 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_50_pipe_500)` | PVC Waterpipe - HT 50 pipe 500 mm |
|
||||
| 1 | `ht_tpipe(HT_50_40_tpipe)` | PVC Waterpipe - HT 50/40 T pipe |
|
||||
| 1 | `ht_cap(HT_75_cap)` | PVC Waterpipe - HT 75 cap |
|
||||
| 1 | `ht_pipe(HT_75_pipe_1000)` | PVC Waterpipe - HT 75 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_75_pipe_150)` | PVC Waterpipe - HT 75 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_75_pipe_1500)` | PVC Waterpipe - HT 75 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_75_pipe_2000)` | PVC Waterpipe - HT 75 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_75_pipe_250)` | PVC Waterpipe - HT 75 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_75_pipe_500)` | PVC Waterpipe - HT 75 pipe 500 mm |
|
||||
| 1 | `ht_cap(HT_90_cap)` | PVC Waterpipe - HT 90 cap |
|
||||
| 1 | `ht_pipe(HT_90_pipe_1000)` | PVC Waterpipe - HT 90 pipe 1000 mm |
|
||||
| 1 | `ht_pipe(HT_90_pipe_150)` | PVC Waterpipe - HT 90 pipe 150 mm |
|
||||
| 1 | `ht_pipe(HT_90_pipe_1500)` | PVC Waterpipe - HT 90 pipe 1500 mm |
|
||||
| 1 | `ht_pipe(HT_90_pipe_2000)` | PVC Waterpipe - HT 90 pipe 2000 mm |
|
||||
| 1 | `ht_pipe(HT_90_pipe_250)` | PVC Waterpipe - HT 90 pipe 250 mm |
|
||||
| 1 | `ht_pipe(HT_90_pipe_500)` | PVC Waterpipe - HT 90 pipe 500 mm |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
|
||||
---
|
||||
|
37
tests/HT_pipes.scad
Normal file
37
tests/HT_pipes.scad
Normal file
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// NopSCADlib Copyright Jan Giebels 2024
|
||||
//
|
||||
// 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/layout.scad>
|
||||
|
||||
include <../vitamins/ht_pipes.scad>
|
||||
|
||||
module ht_pipes()
|
||||
color("grey")
|
||||
layout([for(p = ht_pipes) 40 + pipe_od(p)]) let(p = ht_pipes[$i], len = pipe_length(p)) {
|
||||
if(len <= 34)
|
||||
translate_z(len)
|
||||
ht_cap(p);
|
||||
|
||||
if(len >= 101)
|
||||
ht_pipe(p);
|
||||
|
||||
if(len == 100)
|
||||
ht_tpipe(p);
|
||||
}
|
||||
|
||||
if($preview)
|
||||
ht_pipes();
|
BIN
tests/png/ht_pipes.png
Normal file
BIN
tests/png/ht_pipes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
@@ -278,8 +278,7 @@ function spiral_wrap(path, profile, pitch, turns) = //! Create a path that spira
|
||||
],
|
||||
path_len = len(path),
|
||||
path_S = [for(i = 0, s = 0; i < path_len; s = s + norm(path[(i + 1) % path_len] - path[i]), i = i + 1) s],
|
||||
n = turns * plen,
|
||||
|
||||
n = turns * plen
|
||||
) [
|
||||
for(i = 0, j = 0, k = 0, zstep = 0;
|
||||
i < n;
|
||||
|
105
vitamins/ht_pipe.scad
Normal file
105
vitamins/ht_pipe.scad
Normal file
@@ -0,0 +1,105 @@
|
||||
//
|
||||
// NopSCADlib Copyright Jan Giebels 2024
|
||||
// info@ecosensors.cloud
|
||||
// ecosensors.cloud
|
||||
//
|
||||
// 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/>.
|
||||
//
|
||||
|
||||
//
|
||||
//! Parametric PVC HT water pipes commonly found in hardware stores around germany. Great for building weather proof cases for IoT things.
|
||||
//
|
||||
|
||||
include <../utils/core/core.scad>
|
||||
use <../utils/tube.scad>
|
||||
|
||||
function pipe_od(type) = type[2]; //! Outside diameter
|
||||
function pipe_wall(type) = type[3]; //! Wall thickness
|
||||
function pipe_length(type) = type[4]; //! Pipe length
|
||||
function pipe_td(type) = type[5]; //! T-Pipe diameter
|
||||
|
||||
module ht_cap(type) { //! Draw specified cap
|
||||
vitamin(str("ht_cap(", type[0], "): PVC Waterpipe - ", type[1]));
|
||||
tube_id = pipe_od(type) - pipe_wall(type) * 2;
|
||||
|
||||
cylinder(pipe_wall(type), r = tube_id/2 + pipe_wall(type) + 2.6);
|
||||
|
||||
translate_z(-pipe_length(type) - 5)
|
||||
tube(or = tube_id/2 + pipe_wall(type), ir = tube_id/2, h = pipe_length(type) + 5, center = false);
|
||||
}
|
||||
|
||||
module ht_pipe(type) { //! Draw specified pipe
|
||||
vitamin(str("ht_pipe(", type[0], "): PVC Waterpipe - ", type[1]));
|
||||
tube_id = pipe_od(type) - pipe_wall(type) * 2;
|
||||
|
||||
tube(h = pipe_length(type), or = tube_id/2 + pipe_wall(type), ir = tube_id/2, center = false);
|
||||
|
||||
translate_z(pipe_length(type))
|
||||
HTpipeFitting(pipe_od(type), tube_id);
|
||||
}
|
||||
|
||||
module ht_tpipe(type) { //! Draw specified T-pipe
|
||||
vitamin(str("ht_tpipe(", type[0], "): PVC Waterpipe - ", type[1]));
|
||||
tube_id = pipe_od(type) - pipe_wall(type) * 2;
|
||||
tube_t_id = pipe_td(type) - pipe_wall(type) * 2;
|
||||
|
||||
translate_z(pipe_length(type))
|
||||
HTpipeFitting(pipe_od(type), tube_id);
|
||||
|
||||
render(convexity = 5)
|
||||
difference() {
|
||||
tube(h = pipe_length(type), or = tube_id/2 + pipe_wall(type), ir = tube_id/2, center = false);
|
||||
|
||||
translate([0, -25, pipe_length(type) - 25]) // Cut the exit hole
|
||||
rotate([90, 0, 0])
|
||||
cylinder(h = 50, d = tube_t_id, center = true);
|
||||
}
|
||||
|
||||
or = pipe_od(type) / 2;
|
||||
translate([0, -or, pipe_length(type) - or])
|
||||
rotate ([90, 0, 0]) {
|
||||
HTpipeFitting(pipe_td(type), tube_t_id);
|
||||
|
||||
translate_z(-or)
|
||||
render(convexity = 5)
|
||||
difference() { // Notch the T tube to meet the internal bore
|
||||
tube(h = or, or = pipe_td(type) / 2, ir = tube_t_id / 2, center = false);
|
||||
|
||||
rotate([-90, 0, 0])
|
||||
cylinder(h = pipe_td(type), d = tube_id, center = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module HTpipeFitting(tube_od, tube_id) {
|
||||
fitting_height = min(55, tube_od * 0.8);
|
||||
|
||||
tube_ir = tube_id / 2;
|
||||
fit_ir = tube_od / 2;
|
||||
fit_or = fit_ir + (fit_ir - tube_ir);
|
||||
|
||||
rotate_extrude()
|
||||
polygon([
|
||||
[tube_ir, 0],
|
||||
[fit_ir, 10],
|
||||
[fit_ir, fitting_height + 12 + 3.7],
|
||||
[fit_or, fitting_height + 12 + 3.7],
|
||||
[fit_or, fitting_height + 12],
|
||||
[fit_ir + 6.5, fitting_height + 12],
|
||||
[fit_ir + 6.5, fitting_height],
|
||||
[fit_or, fitting_height],
|
||||
[fit_or, 10],
|
||||
[fit_ir, 0]
|
||||
]);
|
||||
}
|
101
vitamins/ht_pipes.scad
Normal file
101
vitamins/ht_pipes.scad
Normal file
@@ -0,0 +1,101 @@
|
||||
//
|
||||
// NopSCADlib Copyright Jan Giebels 2024
|
||||
// info@ecosensors.cloud
|
||||
// ecosensors.cloud
|
||||
//
|
||||
// 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/>.
|
||||
//
|
||||
|
||||
// definition name diameter wall length t-diameter
|
||||
|
||||
HT_32_cap = ["HT_32_cap", "HT 32 cap", 32, 2.1, 34];
|
||||
HT_32_pipe_150 = ["HT_32_pipe_150", "HT 32 pipe 150 mm", 32, 2.1, 150];
|
||||
HT_32_pipe_250 = ["HT_32_pipe_250", "HT 32 pipe 250 mm", 32, 2.1, 250];
|
||||
HT_32_pipe_500 = ["HT_32_pipe_500", "HT 32 pipe 500 mm", 32, 2.1, 500];
|
||||
HT_32_pipe_1000 = ["HT_32_pipe_1000", "HT 32 pipe 1000 mm", 32, 2.1, 1000];
|
||||
HT_32_pipe_1500 = ["HT_32_pipe_1500", "HT 32 pipe 1500 mm", 32, 2.1, 1500];
|
||||
HT_32_pipe_2000 = ["HT_32_pipe_2000", "HT 32 pipe 2000 mm", 32, 2.1, 2000];
|
||||
|
||||
HT_40_cap = ["HT_40_cap", "HT 40 cap", 40, 2.1, 34];
|
||||
HT_40_pipe_150 = ["HT_40_pipe_150", "HT 40 pipe 150 mm", 40, 2.1, 150];
|
||||
HT_40_pipe_250 = ["HT_40_pipe_250", "HT 40 pipe 250 mm", 40, 2.1, 250];
|
||||
HT_40_pipe_500 = ["HT_40_pipe_500", "HT 40 pipe 500 mm", 40, 2.1, 500];
|
||||
HT_40_pipe_1000 = ["HT_40_pipe_1000", "HT 40 pipe 1000 mm", 40, 2.1, 1000];
|
||||
HT_40_pipe_1500 = ["HT_40_pipe_1500", "HT 40 pipe 1500 mm", 40, 2.1, 1500];
|
||||
HT_40_pipe_2000 = ["HT_40_pipe_2000", "HT 40 pipe 2000 mm", 40, 2.1, 2000];
|
||||
|
||||
HT_50_cap = ["HT_50_cap", "HT 50 cap", 50, 2.1, 34];
|
||||
HT_50_pipe_150 = ["HT_50_pipe_150", "HT 50 pipe 150 mm", 50, 2.1, 150];
|
||||
HT_50_pipe_250 = ["HT_50_pipe_250", "HT 50 pipe 250 mm", 50, 2.1, 250];
|
||||
HT_50_pipe_500 = ["HT_50_pipe_500", "HT 50 pipe 500 mm", 50, 2.1, 500];
|
||||
HT_50_pipe_1000 = ["HT_50_pipe_1000", "HT 50 pipe 1000 mm", 50, 2.1, 1000];
|
||||
HT_50_pipe_1500 = ["HT_50_pipe_1500", "HT 50 pipe 1500 mm", 50, 2.1, 1500];
|
||||
HT_50_pipe_2000 = ["HT_50_pipe_2000", "HT 50 pipe 2000 mm", 50, 2.1, 2000];
|
||||
|
||||
HT_50_tpipe = ["HT_50_tpipe", "HT 50 T pipe", 50, 2.1, 100, 50];
|
||||
HT_50_40_tpipe = ["HT_50_40_tpipe", "HT 50/40 T pipe", 50, 2.1, 100, 40];
|
||||
|
||||
HT_75_cap = ["HT_75_cap", "HT 75 cap", 75, 2.1, 34];
|
||||
HT_75_pipe_150 = ["HT_75_pipe_150", "HT 75 pipe 150 mm", 75, 2.1, 150];
|
||||
HT_75_pipe_250 = ["HT_75_pipe_250", "HT 75 pipe 250 mm", 75, 2.1, 250];
|
||||
HT_75_pipe_500 = ["HT_75_pipe_500", "HT 75 pipe 500 mm", 75, 2.1, 500];
|
||||
HT_75_pipe_1000 = ["HT_75_pipe_1000", "HT 75 pipe 1000 mm", 75, 2.1, 1000];
|
||||
HT_75_pipe_1500 = ["HT_75_pipe_1500", "HT 75 pipe 1500 mm", 75, 2.1, 1500];
|
||||
HT_75_pipe_2000 = ["HT_75_pipe_2000", "HT 75 pipe 2000 mm", 75, 2.1, 2000];
|
||||
|
||||
HT_90_cap = ["HT_90_cap", "HT 90 cap", 90, 2.1, 34];
|
||||
HT_90_pipe_150 = ["HT_90_pipe_150", "HT 90 pipe 150 mm", 90, 2.1, 150];
|
||||
HT_90_pipe_250 = ["HT_90_pipe_250", "HT 90 pipe 250 mm", 90, 2.1, 250];
|
||||
HT_90_pipe_500 = ["HT_90_pipe_500", "HT 90 pipe 500 mm", 90, 2.1, 500];
|
||||
HT_90_pipe_1000 = ["HT_90_pipe_1000", "HT 90 pipe 1000 mm", 90, 2.1, 1000];
|
||||
HT_90_pipe_1500 = ["HT_90_pipe_1500", "HT 90 pipe 1500 mm", 90, 2.1, 1500];
|
||||
HT_90_pipe_2000 = ["HT_90_pipe_2000", "HT 90 pipe 2000 mm", 90, 2.1, 2000];
|
||||
|
||||
HT_110_cap = ["HT_110_cap", "HT 110 cap", 110, 2.1, 34];
|
||||
HT_110_pipe_150 = ["HT_110_pipe_150", "HT 110 pipe 150 mm", 110, 2.1, 150];
|
||||
HT_110_pipe_250 = ["HT_110_pipe_250", "HT 110 pipe 250 mm", 110, 2.1, 250];
|
||||
HT_110_pipe_500 = ["HT_110_pipe_500", "HT 110 pipe 500 mm", 110, 2.1, 500];
|
||||
HT_110_pipe_1000 = ["HT_110_pipe_1000", "HT 110 pipe 1000 mm", 110, 2.1, 1000];
|
||||
HT_110_pipe_1500 = ["HT_110_pipe_1500", "HT 110 pipe 1500 mm", 110, 2.1, 1500];
|
||||
HT_110_pipe_2000 = ["HT_110_pipe_2000", "HT 110 pipe 2000 mm", 110, 2.1, 2000];
|
||||
|
||||
HT_125_cap = ["HT_125_cap", "HT 125 cap", 125, 2.1, 34];
|
||||
HT_125_pipe_150 = ["HT_125_pipe_150", "HT 125 pipe 150 mm", 125, 2.1, 150];
|
||||
HT_125_pipe_250 = ["HT_125_pipe_250", "HT 125 pipe 250 mm", 125, 2.1, 250];
|
||||
HT_125_pipe_500 = ["HT_125_pipe_500", "HT 125 pipe 500 mm", 125, 2.1, 500];
|
||||
HT_125_pipe_1000 = ["HT_125_pipe_1000", "HT 125 pipe 1000 mm", 125, 2.1, 1000];
|
||||
HT_125_pipe_1500 = ["HT_125_pipe_1500", "HT 125 pipe 1500 mm", 125, 2.1, 1500];
|
||||
HT_125_pipe_2000 = ["HT_125_pipe_2000", "HT 125 pipe 2000 mm", 125, 2.1, 2000];
|
||||
|
||||
HT_160_cap = ["HT_160_cap", "HT 160 cap", 160, 2.1, 34];
|
||||
HT_160_pipe_150 = ["HT_160_pipe_150", "HT 160 pipe 150 mm", 160, 2.1, 150];
|
||||
HT_160_pipe_250 = ["HT_160_pipe_250", "HT 160 pipe 250 mm", 160, 2.1, 250];
|
||||
HT_160_pipe_500 = ["HT_160_pipe_500", "HT 160 pipe 500 mm", 160, 2.1, 500];
|
||||
HT_160_pipe_1000 = ["HT_160_pipe_1000", "HT 160 pipe 1000 mm", 160, 2.1, 1000];
|
||||
HT_160_pipe_1500 = ["HT_160_pipe_1500", "HT 160 pipe 1500 mm", 160, 2.1, 1500];
|
||||
HT_160_pipe_2000 = ["HT_160_pipe_2000", "HT 160 pipe 2000 mm", 160, 2.1, 2000];
|
||||
|
||||
ht_pipes = [
|
||||
HT_32_cap, HT_32_pipe_150, HT_32_pipe_250, HT_32_pipe_500, HT_32_pipe_1000, HT_32_pipe_1500, HT_32_pipe_2000,
|
||||
HT_40_cap, HT_40_pipe_150, HT_40_pipe_250, HT_40_pipe_500, HT_40_pipe_1000, HT_40_pipe_1500, HT_40_pipe_2000,
|
||||
HT_50_cap, HT_50_pipe_150, HT_50_pipe_250, HT_50_pipe_500, HT_50_pipe_1000, HT_50_pipe_1500, HT_50_pipe_2000,
|
||||
HT_50_tpipe, HT_50_40_tpipe,
|
||||
HT_75_cap, HT_75_pipe_150, HT_75_pipe_250, HT_75_pipe_500, HT_75_pipe_1000, HT_75_pipe_1500, HT_75_pipe_2000,
|
||||
HT_90_cap, HT_90_pipe_150, HT_90_pipe_250, HT_90_pipe_500, HT_90_pipe_1000, HT_90_pipe_1500, HT_90_pipe_2000,
|
||||
HT_110_cap, HT_110_pipe_150, HT_110_pipe_250, HT_110_pipe_500, HT_110_pipe_1000, HT_110_pipe_1500, HT_110_pipe_2000,
|
||||
HT_125_cap, HT_125_pipe_150, HT_125_pipe_250, HT_125_pipe_500, HT_125_pipe_1000, HT_125_pipe_1500, HT_125_pipe_2000,
|
||||
HT_160_cap, HT_160_pipe_150, HT_160_pipe_250, HT_160_pipe_500, HT_160_pipe_1000, HT_160_pipe_1500, HT_160_pipe_2000,
|
||||
];
|
||||
|
||||
use <ht_pipe.scad>
|
@@ -577,6 +577,7 @@ module rd_coil(type, value, pitch = undef) { //! Draw the specified vertical coi
|
||||
function sigmoid(x) = 1 / (1 + exp(-x));
|
||||
z = end + size[3] / 2;
|
||||
h = size[3] - wire_d;
|
||||
turns = rd_coil_turns(type);
|
||||
|
||||
color(rd_coil_colour(type)) {
|
||||
cylinder(d = size.y, h = size.z);
|
||||
@@ -585,7 +586,6 @@ module rd_coil(type, value, pitch = undef) { //! Draw the specified vertical coi
|
||||
translate_z(z)
|
||||
cylinder(d = size.x, h = end);
|
||||
}
|
||||
turns = rd_coil_turns(type);
|
||||
|
||||
color(silver)
|
||||
for(side = [-1, 1])
|
||||
|
@@ -20,8 +20,8 @@
|
||||
//
|
||||
//! A rod end, sometimes called a spherical bearing or rod-end eye, is a component used in mechanical systems to create a flexible connection between two parts.
|
||||
//
|
||||
include <NopSCADlib/utils/core/core.scad>
|
||||
include <NopSCADlib/utils/thread.scad>
|
||||
include <../utils/core/core.scad>
|
||||
include <../utils/thread.scad>
|
||||
|
||||
function rod_end_bearing_bore(type) = type[1]; //! radius of the bore hole in the bearing
|
||||
function rod_end_bearing_od(type) = type[2]; //! Outer diameter of the bearing
|
||||
|
Reference in New Issue
Block a user