Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. General Program Information

{float:left|border=2px solid black}
!sludge1.bmp!
Northwest Isometric
{float}

\\
\\

h3. Input Definitions


h5. Inputs Needed to Call the Sludge Pipe Function

sludgepipe{~}origin~ \- a 3 by 1 matrix with x,y,z positions corresponding to the point where the sludge pipe will be drawn
ND{~}sludge~ \- 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.
tank{~}length~ \- the length of the tank
orifice{~}rad~ \- the radius of the orifice hole
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 from Pipe Database Function

sludepipe{~}inr~ \- the radius of the inner cylinder defined by innerD(ND{~}sludge~,EN{~}PipeSpec~)/2
sludgepipe{~}outr~ \- the radius of the outer cylinder defined by outerradius(ND{~}sludge~)

h5. Inputs Defined Within the Sludge Pipe Function

p1 =
* x : sludgepipe.origin{~}0~
* y : sludgepipe.origin{~}1~
* z : sludgepipe.origin{~}2~

p2 =
* x : sludgepipe.origin{~}0~
* y : sludgepipe.origin{~}1~
* z : sludgepipe.origin{~}2~ + tank{~}length~ \- orifice{~}dist~

p3 =
* x : sludgepipe.origin{~}0~
* y : sludgepipe.origin{~}1~ + sludgepipe{~}outr~ + zc
* z : sludgepipe.origin{~}2~ + tank{~}length~ \- orific{~}dist~

p4 =
* x : sludgepipe.origin{~}1~ + sludgepipe{~}outr~ + zc
* y : sludgepipe.origin{~}2~ + tank{~}length~ \- orifice{~}dist~
* z : sludgepipe.origin{~}0~

p5 =
* x : sludgepipe.origin{~}0~
* y : sludgepipe.origin{~}1~ \- sludgepipe{~}outr~

p6 =
* x : sludgepipe.origin{~}0~ + orifice{~}rad~ + zc
* y : sludgepipe.origin{~}1~ + sludgepipe{~}outr~ + 2*zc

p7 =
* x : sludgepipe.origin{~}0~ \- orifice{~}rad~ \- zc
* y : sludgepipe.origin{~}1~ \- zc

ND = ND{~}sludge~

R1 = sludgepipe{~}outr~

R2 = sludgepipe{~}inr~

R3 = orifice{~}rad~

L = tank{~}length~

n1 = floor( tank{~}length~ / orifice{~}dist~ )

n2 = 1

d1 = orifice{~}dist~

win1 =
* x : sludgepipe.origin{~}0~ \- sludgepipe{~}outr~
* y : sludgepipe.origin{~}1~ \- sludgepipe{~}outr~
* z : sludgepipe.origin{~}2~

win2 =
* x : sludgepipe.origin{~}0~ + sludgepipe{~}outr~
* y : sludgepipe.origin{~}1~ + sludgepipe{~}outr~ + zc
* z : sludgepipe.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

*viewtop* - shows an object in top view in AutoCAD.
viewtop <-- viewtop

{float:left|border=2px solid black}
[!1a.bmp|width=240px!|AutoCAD Sludge Pipe Program]
[!1.bmp|width=240px!|AutoCAD Sludge Pipe Program]
Northwest Isometric View
{float}

*pipe1* \- using the [pipe function|AutoCAD Pipe Program] draws a pipe (from the pipe program) with no zoom
pipe1 <-- pipe(p1,ND,L,EN)

p1 =
* x : sludgepipe.origin{~}0~
* y : sludgepipe.origin{~}1~
* z : sludgepipe.origin{~}2~

ND = ND{~}sludge~

L = tank{~}length~

EN = EN{~}PipeSpec~
//
//
{float:left|border=2px solid black}
[!2.bmp|width=240px!|AutoCAD Sludge Pipe Program]
{float}

*zoom{*}{*}{~}win{~}* \- zooms on a window space
zoom{~}win~ <-- zoom{~}win~(win1,win2)

win1 =
* x : sludgepipe.origin{~}0~ \- sludgepipe{~}outr~
* y : sludgepipe.origin{~}1~ \- sludgepipe{~}outr~
* z : sludgepipe.origin{~}2~

win2 =
* x : sludgepipe.origin{~}0~ + sludgepipe{~}outr~
* y : sludgepipe.origin{~}1~ + sludgepipe{~}outr~ + zc
* z : sludgepipe.origin{~}2~
\\
\\

{float:left|border=2px solid black}
[!3.bmp|width=240px!|AutoCAD Sludge Pipe Program]
{float}

*cylinder3* \- is to draw a cylinder for orifice purpose
cylinder3 <-- cylinderD(p2,R3,p3)

p2 =
* x : sludgepipe.origin{~}0~
* y : sludgepipe.origin{~}1~
* z : sludgepipe.origin{~}2~ + tank{~}length~ \- orifice{~}dist~

R3 = rad{~}hole~

p3 =
* x : sludgepipe.origin{~}0~
* y : sludgepipe.origin{~}1~ + sludgepipe{~}outr~ + zc
* z : sludgepipe.origin{~}2~ + tank{~}length~ \- orific{~}dist~
\\
\\

{float:left|border=2px solid black}
[!4.bmp|width=240px!|AutoCAD Sludge Pipe Program]
{float}

*viewrightside* \- change view to viewrightside
viewrightside <-- viewrightside
\\
\\

{float:left|border=2px solid black}
[!5.bmp|width=240px!|AutoCAD Sludge Pipe Program]
{float}
*array1* \- draw starting at point p1p4, 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.origin{~}1~ + sludgepipe{~}outr~ + zc
* y : sludgepipe.origin{~}2~ + tank{~}length~ \- orifice{~}dist~
* z : sludgepipe.origin{~}0~

n1 = floor( tank{~}length~ / orifice{~}dist~ )

n2 = 1

d1 = orifice{~}dist~
\\
\\

{float:left|border=2px solid black}
[!6.bmp|width=240px!|AutoCAD Sludge Pipe Program]
{float}

*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.origin{~}0~
* y : sludgepipe.origin{~}1~ \- sludgepipe{~}outr~

p6 =
* x : sludgepipe.origin{~}0~ + rad{~}hole~ + zc
* y : sludgepipe.origin{~}1~ + sludgepipe{~}outr~ + 2*zc

p7 =
* x : sludgepipe.origin{~}0~ \- orifice{~}rad~ \- zc
* y : sludgepipe.origin{~}1~ \- zc