Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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

...

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 =

  • x = manifold.origin0 + manifoldoutr*cos(pi/6) + manifoldoutr
  • y = manifold.origin1 + manifoldoutr*sin(pi/6) + manifoldoutr
  • z = manifold.origin2 + tanklength - orificedist

p5 =

  • x = manifold.origin1 + manifoldoutr*sin(pi/6) + manifoldoutr
  • y = manifold.origin2 + tanklength - orificedist

p6 =

  • x = manifold.origin0
  • y = manifold.origin1

p7 =

  • 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.

...

Note: All coordinates are referenced in top view in the program unless otherwise specified.

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