Commit 411acc48 authored by j12t's avatar j12t

Added reservoir-inflow-pipe-1

parent b83c2806
Pipeline #82327465 passed with stages
in 32 seconds
---
title: "growing-pipe-hole-cover-1"
description: "Covers currently unused holes in a horizontal growing pipe."
status: in progress
status: complete
---
## Description
......
---
title: "reservoir-inflow-pipe-1"
description: "Pipe that drains the lowest growing pipe into the reservoir"
status: not started
status: images missing
---
## Description
......@@ -11,3 +11,36 @@ status: not started
## Images
... insert
## Bill of materials
{{< bom path="/data/parts/reservoir-inflow-pipe-1/bom.json" >}}
## Drawings
No distances are given as they depend on the actual distances in your assembled system,
and assuming you got everything at perfectly the right distances seems like a bad idea here.
Note that most of these pipes will likely have different dimensions in your system and no
two will be totally alike.
<script src="cad/reservoir-inflow-pipe.drafting.js"
data-scale="800/15" data-width="1000" data-height="300"
data-origin-offset-x="50" data-origin-offset-y="90"
data-rounding="2" data-unit='"'></script>
## Required tools
* PVC pipe cutter, or a handsaw and file, to cut the PVC pipe to the correct lengths
and deburr
## Construction
This is a little tricky, because this pipe needs to be of the correct length and
that correct length is likely to be not what you think due to:
* tolerances of the growing pipes and their holes, compared to the blueprints;
* the inherit imprecision how deeply the pipe inserted into the elbow will actually
go before the glue starts making adjustments impossible.
It is recommended to leave the pipe ends longer than necessary until final assembly of
the system, when they can be cut if needed.
class ElbowPart extends DjsElement {
constructor( start, angle ) {
super();
this.start = start;
this.angle = angle;
}
convertToSvg( params ) {
var p = this.start;
var outer = 1.125;
var sleeve = 0.75;
var r = outer;
var delegate = new DjsClosedPathPart( p )
.lineTo( p.plus( outer, 0 ).rotateByAngle( p, this.angle ))
.lineTo( p.plus( outer, sleeve ).rotateByAngle( p, this.angle ))
.lineTo( p.plus( outer + sleeve, sleeve ).rotateByAngle( p, this.angle ))
.lineTo( p.plus( outer + sleeve, sleeve + outer ).rotateByAngle( p, this.angle ))
.lineTo( p.plus( outer, sleeve + outer ).rotateByAngle( p, this.angle ))
.arcTo( p.plus( 0, sleeve ).rotateByAngle( p, this.angle ), r, 0 );
return delegate.convertToSvg( params );
}
}
djsRender( document.currentScript, function( params ) {
var p = new DjsPoint( 2, 0 );
var w = 0.85;
var p3 = p.plus( 10 + 0.75 + 1.125/2, 1.125/2 + 0.75 );
return new DjsDiagram(
[
new DjsRectanglePart( p.plus( 0, - w/2 ), p.plus( 10, w/2 ) ),
new ElbowPart( p3.plus( 1.125/2, 0 ), 180 ),
new DjsRectanglePart( p3.plus( -w/2, 0 ), p3.plus( w/2, 2 ) ),
new DjsPartLabel( p.plus( 5, w/2 ), "Reservoir-inflow-pipe-1" )
],
params );
} );
{
"items" : [
{
"measure" : 1,
"label" : "1/2\" PVC piping elbow",
"source" : "Hardware store"
},
{
"label" : "1/2\" PVC pipe, approx 2ft",
"source" : "Hardware store"
},
{
"label" : "PVC glue",
"source" : "Hardware store"
}
]
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment