General Program Information
| Wiki Markup |
|---|
{float:left|border=2px solid black}
!man1.bmp!
Free Rotation to show both sets of holes
{float} |
Inputs Needed to Call the Manifold Function
manifoldorigin - a 3 by 1 matrix with x,y,z positions corresponding to the point where the manifold will be drawn
NDManifold - 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.
orificerad - the radius of the orifice hole
tanklength - the length of the tank
orificedist - the distance between successive orifices
ENPipeSpec - 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. radhole - the radius of the orifice hole
Inputs Found in the Pipe Database Function
...
- x = manifold.origin0 + manifoldoutr*cos(pi/3) + 2zc
- y = manifold.origin0 + manifoldoutr*sin(pi/3) + 2zc
ND = NDManifold
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.
...
The Manifold program is build on the Sludge Pipe Program.
sludgepipe - creates a sludge pipe
sludgepipe <-- sludgepipe(p1,ND,L,R3,d1,EN)
p1 = manifoldorigin
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
pipe1 - draws a pipe (from the pipe program)
cylinder1 - draws a cylinder with pipeoutr as radius
...
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
cylinder3 - is to draw a cylinder for orifice purpose
cylinder3 <-- cylinderB(p2,R3,p4)
p2 =
- x = manifold.origin0
- y = manifold.origin1
- z = manifold.origin2 + tanklength - orificedist
p4 =
- x = manifold.origin0 + manifoldoutr*cos(pi/6) + manifoldoutr
- y = manifold.origin1 + manifoldoutr*sin(pi/6) + manifoldoutr
- z = manifold.origin2 + tanklength - orificedist
R3 = orificerad
viewrightside - change view to viewrightside
viewrightside <-- viewrightside
array1 - draw starting at point p1p5, n1 -- as many rows as the tank length/orifice dist, n2 - 1 and provide orifice distance as the next draw point for the cylinder
mirror1 - mirror the orifices on to the other side of the pipe at 2*tan(Pi)/3 array1 <-- arrayB(p5,n1,n2,-d1)
p5 =
- x = manifold.origin1 + manifoldoutr*sin(pi/6) + manifoldoutr
- y = manifold.origin2 + tanklength - orificedist
n1 = floor(tanklength/orificedist)
n2 = 1
d1 = orificedist
subtract1 - subtract unneeded portion of the cylinders
subtract1 <-- subtractH(p3,p7,p6)
p3 =
- x = manifold.origin0
- y = manifold.origin1 - manifoldoutr
p6 =
- x = manifold.origin0
- y = manifold.origin1
p7 =
- x = manifold.origin0 + manifoldoutr*cos(pi/3) + 2zc
- y = manifold.origin0 + manifoldoutr*sin(pi/3) + 2zc