| Wiki Markup |
|---|
h1. General Program |
...
Inputs Needed to Call the Manifold Function
...
Information {float:left|border=2px solid black} !man1.bmp! Free Rotation to show both sets of holes {float} \\ h5. Inputs Needed to Call the Manifold Function manifold{~}origin~ - a 3 by 1 matrix with x,y,z positions corresponding to the point where the manifold will be drawn |
...
Inputs Found in the Pipe Database Function
manifoldinr is the radius of the inner cylinder defined by innerD(NDManifold,ENPipeSpec)/2
manifoldoutr is the radius of the outer cylinder defined by outerradius(NDManifold)
Inputs Defined Within the Manifold Function
p1 = manifoldorigin
p2 =
- x = manifold.origin0
- y = manifold.origin1
- z = manifold.origin2 + tanklength - orificedist
p3 =
- x = manifold.origin0
- y = manifold.origin1 - manifoldoutr
p4 =
...
ND{~}Manifold~ - the nominal diameter of the manifold pipe - from this we can find the actual inner diameter and actual outer diameter of the pipe based on the schedule of pipe being used. orifice{~}rad~ \- the radius of the orifice hole tank{~}length~ \- the length of the tank orifice{~}dist~ \- the distance between successive orifices EN{~}PipeSpec~ \- an enumerated pipe schedule which specifies a number which corresponds to a pipe schedule that states the amount of water pressure the pipe can handle before it fails. The pipe schedule affects the inner and outer diameter of the pipe. h5. Inputs Found in the Pipe Database Function manifold{~}inr~ is the radius of the inner cylinder defined by innerD(ND{~}Manifold~,EN{~}PipeSpec~)/2 manifold{~}outr~ is the radius of the outer cylinder defined by outerradius(ND{~}Manifold~) h5. Inputs Defined Within the Manifold Function p1 = manifold{~}origin~ p2 = * x = manifold.origin{~}0~ * y = manifold.origin{~}1~ * z = manifold.origin{~}2~ + tank{~}length~ - orifice{~}dist~ p3 = * x = manifold.origin{~}0~ * y = manifold.origin{~}1~ - manifold{~}outr~ p4 = * x = manifold.origin{~}0~ + manifold{~}outr~*cos(pi/6) + |
...
manifold{~}outr~ * y = manifold.origin |
...
{~}1~ + manifold |
...
{~}outr~*sin(pi/6) + |
...
manifold{~}outr~ * z = manifold.origin |
...
{~}2~ + tank |
...
{~}length~ - |
...
p5 =
...
orifice{~}dist~ p5 = * x = manifold.origin{~}1~ + manifold{~}outr~*sin(pi/6) + |
...
manifold{~}outr~ * y = manifold.origin |
...
{~}2~ + tank |
...
{~}length~ - |
...
p6 =
- x = manifold.origin0
- y = manifold.origin1
p7 =
...
orifice{~}dist~ p6 = * x = manifold.origin{~}0~ * y = manifold.origin{~}1~ p7 = * x = manifold.origin{~}0~ + manifold{~}outr~*cos(pi/3) + 2zc |
...
* y = manifold.origin |
...
{~}0~ + manifold |
...
{~}outr~*sin(pi/3) + 2zc |
...
ND = |
...
R3 = orificerad
L = tanklength
n1 = floor(tanklength/orificedist)
n2 = 1
d1 = orificedist
win1 =
- x = manifold.origin0 - manifoldoutr
- y = manifold.origin1 - manifoldoutr
- z = manifold.origin2
win2 =
- x = manifold.origin0 + manifoldoutr + zc
- y = manifold.origin1 + manifoldoutr + zc
- z = manifold.origin2
EN = ENPipeSpec
Note: zc corresponds to the zoom constant used within AutoCAD and created in the basics file that is referenced by the pipe program.
Technical Program Outline
Note: All coordinates are referenced in top view in the program unless otherwise specified.
The Manifold program is build on the Sludge Pipe Program.
...
ND{~}Manifold~ R3 = orifice{~}rad~ L = tank{~}length~ n1 = floor(tank{~}length~/orifice{~}dist~) n2 = 1 d1 = orifice{~}dist~ win1 = * x = manifold.origin{~}0~ - manifold{~}outr~ * y = manifold.origin{~}1~ - manifold{~}outr~ * z = manifold.origin{~}2~ win2 = * x = manifold.origin{~}0~ + manifold{~}outr~ + zc * y = manifold.origin{~}1~ + manifold{~}outr~ + zc * z = manifold.origin{~}2~ EN = EN{~}PipeSpec~ *Note:* zc corresponds to the zoom constant used within AutoCAD and created in the basics file that is referenced by the pipe program. h1. Technical Program Outline *Note:* All coordinates are referenced in top view in the program unless otherwise specified. The Manifold program is build on the [Sludge Pipe Program|AutoCAD Sludge Pipe Program]. *sludgepipe* - creates a sludge pipe sludgepipe <-- sludgepipe(p1,ND,L,R3,d1,EN) |
...
p1 = |
...
ND = NDManifold
R3 = orificerad
L = tanklength
d1 = orificedist
EN = ENPipeSpec
viewtop - shows an object in top view within AutoCAD
viewtop <-- viewtop
zoomwin - zooms on a window space
zoomwin <-- zoomwin(win1,win2)
win1 =
- x = manifold.origin0 - manifoldoutr
- y = manifold.origin1 - manifoldoutr
- z = manifold.origin2
win2 =
- x = manifold.origin0 + manifoldoutr + zc
- y = manifold.origin1 + manifoldoutr + zc
- z = manifold.origin2
...
manifold{~}origin~ ND = ND{~}Manifold~ R3 = orifice{~}rad~ L = tank{~}length~ d1 = orifice{~}dist~ EN = EN{~}PipeSpec~ *viewtop* - shows an object in top view within AutoCAD viewtop <-- viewtop *zoom{~}win~* \- zooms on a window space zoom{~}win~ <-- zoom{~}win~(win1,win2) win1 = * x = manifold.origin{~}0~ - manifold{~}outr~ * y = manifold.origin{~}1~ - manifold{~}outr~ * z = manifold.origin{~}2~ win2 = * x = manifold.origin{~}0~ + manifold{~}outr~ + zc * y = manifold.origin{~}1~ + manifold{~}outr~ + zc * z = manifold.origin{~}2~ *cylinder3* - is to draw a cylinder for orifice purpose cylinder3 <-- cylinderB(p2,R3,p4) |
...
p2 = |
...
* x = manifold.origin |
...
{~}0~ * y = manifold.origin |
...
{~}1~ * z = manifold.origin |
...
{~}2~ + tank |
...
{~}length~ - |
...
p4 =
...
orifice{~}dist~ p4 = * x = manifold.origin{~}0~ + manifold{~}outr~*cos(pi/6) + |
...
manifold{~}outr~ * y = manifold.origin |
...
{~}1~ + manifold |
...
{~}outr~*sin(pi/6) + |
...
manifold{~}outr~ * z = manifold.origin |
...
{~}2~ + tank |
...
{~}length~ - |
...
R3 = orificerad
viewrightside - change view to viewrightside
viewrightside <-- viewrightside
...
orifice{~}dist~ R3 = orifice{~}rad~ *viewrightside* - change view to viewrightside viewrightside <-- viewrightside *array1* - draw starting at point p5, n1 \-\- as many rows as the tank length/orifice dist, n2 - 1 and provide orifice distance as the next draw point for the cylinder array1 <-- arrayB(p5,n1,n2,-d1) |
...
p5 = |
...
* x = manifold.origin |
...
{~}1~ + manifold |
...
{~}outr~*sin(pi/6) + |
...
manifold{~}outr~ * y = manifold.origin |
...
{~}2~ + tank |
...
{~}length~ - |
...
orifice{~}dist~ n1 = floor(tank |
...
{~}length~/orifice |
...
n2 = 1
d1 = orificedist
...
{~}dist~) n2 = 1 d1 = orifice{~}dist~ *subtract1* - subtract unneeded portion of the cylinders subtract1 <-- subtractH(p3,p7,p6) |
...
p3 = |
...
* x = manifold.origin |
...
{~}0~ * y = manifold.origin |
...
{~}1~ - |
...
p6 =
- x = manifold.origin0
- y = manifold.origin1
p7 =
...
manifold{~}outr~ p6 = * x = manifold.origin{~}0~ * y = manifold.origin{~}1~ p7 = * x = manifold.origin{~}0~ + manifold{~}outr~*cos(pi/3) + 2zc |
...
* y = manifold.origin |
...
{~}0~ + manifold |
...
{~}outr~*sin(pi/3) + 2zc |