General Program Information
Northwest Isometric
Input Definitions
Inputs Needed to Call the Sludge Pipe Function
sludgepipeorigin - a 3 by 1 matrix with x,y,z positions corresponding to the point where the sludge pipe will be drawn
NDsludge - the nominal diameter of the sludge waste 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.
tanklength - the length of the tank
orificerad - the radius of the orifice hole
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.
Inputs Found from Pipe Database Function
sludepipeinr - the radius of the inner cylinder defined by innerD(NDsludge,ENPipeSpec)/2
sludgepipeoutr - the radius of the outer cylinder defined by outerradius(NDsludge)
Inputs Defined Within the Sludge Pipe Function
p1 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1
- z : sludgepipe.origin2
p2 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1
- z : sludgepipe.origin2 + tanklength - orificedist
p3 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1 + sludgepipeoutr + zc
- z : sludgepipe.origin2 + tanklength - orificdist
p4 =
- x : sludgepipe.origin1 + sludgepipeoutr + zc
- y : sludgepipe.origin2 + tanklength - orificedist
- z : sludgepipe.origin0
p5 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1 - sludgepipeoutr
p6 =
- x : sludgepipe.origin0 + orificerad + zc
- y : sludgepipe.origin1 + sludgepipeoutr + 2*zc
p7 =
- x : sludgepipe.origin0 - orificerad - zc
- y : sludgepipe.origin1 - zc
ND = NDsludge
R1 = sludgepipeoutr
R2 = sludgepipeinr
R3 = orificerad
L = tanklength
n1 = floor( tanklength / orificedist )
n2 = 1
d1 = orificedist
win1 =
- x : sludgepipe.origin0 - sludgepipeoutr
- y : sludgepipe.origin1 - sludgepipeoutr
- z : sludgepipe.origin2
win2 =
- x : sludgepipe.origin0 + sludgepipeoutr
- y : sludgepipe.origin1 + sludgepipeoutr + zc
- z : sludgepipe.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
viewtop - shows an object in top view in AutoCAD.
viewtop <-- viewtop
pipe1 - using the pipe function draws a pipe (from the pipe program) with no zoom
pipe1 <-- pipe(p1,ND,L,EN)
p1 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1
- z : sludgepipe.origin2
ND = NDsludge
L = tanklength
EN = ENPipeSpec
zoomwin - zooms on a window space
zoomwin <-- zoomwin(win1,win2)
win1 =
- x : sludgepipe.origin0 - sludgepipeoutr
- y : sludgepipe.origin1 - sludgepipeoutr
- z : sludgepipe.origin2
win2 =
- x : sludgepipe.origin0 + sludgepipeoutr
- y : sludgepipe.origin1 + sludgepipeoutr + zc
- z : sludgepipe.origin2
cylinder3 - is to draw a cylinder for orifice purpose
cylinder3 <-- cylinderD(p2,R3,p3)
p2 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1
- z : sludgepipe.origin2 + tanklength - orificedist
R3 = radhole
p3 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1 + sludgepipeoutr + zc
- z : sludgepipe.origin2 + tanklength - orificdist
viewrightside - change view to viewrightside
viewrightside <-- viewrightside
array1 - draw starting at point p4, 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 <-- array(p4,n1,n2,-d1)
p4 =
- x : sludgepipe.origin1 + sludgepipeoutr + zc
- y : sludgepipe.origin2 + tanklength - orificedist
- z : sludgepipe.origin0
n1 = floor( tanklength / orificedist )
n2 = 1
d1 = orificedist
subtract2 - subtract unneeded portion of the cylinders, using p5 to select the pipe as the object to be subtracted from, and using p6 and p7 to select the cylinder as the region to be subtracted
subtract2 <-- subtractH(p5,p6,p7)
p5 =
- x : sludgepipe.origin0
- y : sludgepipe.origin1 - sludgepipeoutr
p6 =
- x : sludgepipe.origin0 + radhole + zc
- y : sludgepipe.origin1 + sludgepipeoutr + 2*zc
p7 =
- x : sludgepipe.origin0 - orificerad - zc
- y : sludgepipe.origin1 - zc