...
- x : tankorigin0 - tankdim0 - tankthick
y : \ [(tank{~}origin1~ origin1 + (num{~}tanks~tank{~}dim1~) + (num{~}tanks~tank{~}thick~) + numfloc{~}tanks~floc{~}dim1\~ + (numfloc{~}tanks~ \- 1)tank{~}thick~)\- 1floc{~}dim1~/2\] \*z: tank{~}origin2~ + floc{~}inleth~tanks~flocdim1~ + (numfloctanks - 1)tankthick)- 1flocdim1/2]Wiki Markup - z : tankorigin2 + flocinleth
gritdim - user input
walkwaywidth -
Δxgrit = walkwaywidth
Δygrit \= tankthick + flocdim1/2 + walkwaywidth - gritdim1 - 2gritthick
Δzgrit \= tankdim2 - channeldim2 - platformthick - flocinleth
gritthick -
platformthick -
gritpipeinr -
gritrad - user input
gritriserh - user input
gritholes - user input
gritdisp1 - user input
gritdisp2 - user input
Inputs Defined within the Grit Function
pipe2.origin*
- x : origin0 - firstdisp - ElbowRadius(2R1)
...
- y : origin1
...
- z : origin2 + ElbowRadius(2R1)
pipe3.origin*
- x : origin0 - firstdisp - 2ElbowRadius(2R1)
...
- y : origin1
...
- z : origin2 + Δz - ElbowRadius(2R1) - SocketDepth(2R1)
pipe4.origin*
- x : origin0 - Δx - 2thicktank - tankdim0 - ShortTeeLength(2R1) - SocketDepth(2R1)
...
- y : origin1 + Δy + thicktank + tankdim1/2
...
- z : origin2 + Δz + thickplatform + tankdim2/2 + TeeLength(2R1)/2
pipe5.origin*
- x : origin0 - Δx - 2thicktank - tankdim0 - ShortTeeLength(2R1)- SocketDepth(2R1)
...
- y : origin1 + Δy + thicktank + tankdim1/2
...
- z : origin2 + Δz - SocketDepth(2R1)
pipe6.origin*
- x : origin0 - Δx - thicktank - tankdim0
...
- y : origin1 + Δy + thicktank + tankdim1/2
...
- z : origin2 + Δz + platformthick + tankdim2/2
pipe7.origin*
- x : origin0 - Δx - thicktank - tankdim0 + seconddisp + CrossLength(2R1)
...
- y : origin1 + Δy + thicktank + tankdim1/2
...
- z : origin2 + Δz + platformthick + tankdim2/2
tank.origin*
- x : origin0 - Δx - thicktank
...
- y : origin1 + Δy + thicktank
...
- z : origin2 + Δz + thickplatform
origin
tank.dim
Δx
Δy
Δz
thick.tank
...
pipe2length = Δzgrit - 3ElbowRadius(2gritpipeinr) - SocketDepth(2gritpipeinr)
pipe3length = 2 ((Δxgrit + 2gritthick + gritdim0 + ShortTeeLength(2gritpipeinr) + SocketDepth(2gritpipeinr) - ElbowRadius(2gritpipeinr) - pipe1length)^2 + (Δy{~}grit~ grit + grit{~}thick~ thick + grit{~}dim1~dim1/2)^2)^5 - 2ElbowRadius(2gritpipeinr)
...
origin = gritorigin
grittankorigin =*
- x : origin0 - Δxgrit - gritthick
...
- y : origin1 + Δygrit + gritthick
...
- z : origin2 + Δzgrit + platformthick
pipe2origin =*
- x : origin0 - pipe1length - ElbowRadius(2gritpipeinr)
...
- y : origin1
...
- z : origin2 + ElbowRadius(2gritpipeinr)
pipe3origin =*
- x : origin0 - pipe1length - 2ElbowRadius(2gritpipeinr)
...
- y : origin1
...
- z : origin2 + pipe2length + 2ElbowRadius(2gritpipeinr)
pipe4origin =*
- x : origin0 - Δxgrit - 2gritthick - gritdim0 - ShortTeeLength(2gritpipeinr) - SocketDepth(2gritpipeinr)
...
- y : origin1 + Δygrit + gritthick + gritdim1/2
...
- z : origin2 + Δzgrit + pipe5length + TeeLength(2gritpipeinr)
pipe5origin =*
- x : origin0 - Δxgrit - 2gritthick - gritdim0 - ShortTeeLength(2gritpipeinr) - Socketdepth(2gritpipeinr)
...
- y : origin1 + Δygrit + gritthick + gritdim1/2
...
- z : origin2 + Δzgrit - SocketDepth(2gritpipeinr)
pipe6origin =*
- x : origin0 - Δxgrit - gritthick - gritdim0
...
- y : origin1 + Δygrit + gritthick + gritdim1/2
...
- z : origin2 + Δzgrit + pipe5length + TeeLength(2gritpipeinr)/2
pipe7origin =*
- x : origin0 - Δxgrit - gritthick - gritdim0 + pipe6length + CrossLength(2gritpipeinr)
...
- y : origin1 + Δygrit + gritthick + gritdim1/2
...
- z : origin2 + Δzgrit + pipe5length + TeeLength(2gritpipeinr)/2
riser1origin =*
- x : pipe7origin0~ + ShortTeeLength(2gritpipeinr) + 2SocketDepth(2gritpipeinr)
...
- y : pipe7origin1 - TeeLength(2gritpipeinr)/2 - ElbowRadius(2gritpipeinr) - 2Socketdepth(2gritpipeinr)
...
- z : pipe7origin2 + ElbowRadius(2gritpipeinr)
*elbow1origin =*
- x : origin0 - pipe1length - ElbowRadius(2gritpipeinr)
...
- y : origin1
...
- z : origin2
*elbow2origin =*
- x : pipe2origin0 - ElbowRadius(2gritpipeinr)
...
- y : pipe2origin1
...
- z : pipe2origin2 + pipe2length
elbow3origin =*
- x : pipe4origin0
...
- y : pipe5origin1
...
- z : pipe5origin2 + pipe2length
elbow4origin =*
- x : pipe7origin0 - CrossLength(2gritpipeinr)/2 - ElbowRadius(2gritpipeinr)
...
- y : pipe7origin1 - CrossLength(2gritpipeinr)/2 - 2SocketDepth(2gritpipeinr)
...
- z : pipe7origin2
tee1origin = pipe4origin
tee2origin =*
- x : pipe7origin0 + (ShortTeeLength(2gritpipeinr) + 2SocketDepth(2gritpipeinr))
...
- y : pipe7origin1
...
- z : pipe7origin2 - TeeLength(2gritpipeinr/2
Technical Program Outline
...
Rotate1 - the rotate3d function is used to rotate the pipe about the y axis, with the origin as the pivot, -90 degrees. Information about the rotate3d function can be found in the basics help page
Pipe2
pipe2 origin =
- x :origin 0 - pipe1 length - ElbowRadius
- y :origin 1
- z :origin 2 + ElbowRadius
...
layer5 sets the current layer to "grit-pipe"
layer6 freezes "grit-elbow"
layer6
Pipe4
Pipe5
Pipe6
Rotate10
Pipe4
pipe4origin =
- x : origin0 - Δxgrit - 2gritthick - gritdim0 - ShortTeeLength(2gritpipeinr) - SocketDepth(2gritpipeinr)
- y : origin1 + Δygrit + gritthick + gritdim1/2
- z : origin2 + Δzgrit + pipe5length + TeeLength(2gritpipeinr)
pipe4length = gritdim2/2
Pipe5
pipe5origin =
- x : origin0 - Δxgrit - 2gritthick - gritdim0 - ShortTeeLength(2gritpipeinr) - Socketdepth(2gritpipeinr)
- y : origin1 + Δygrit + gritthick + gritdim1/2
- z : origin2 + Δzgrit - SocketDepth(2gritpipeinr)
pipe5length = platformthick + pipe4length - TeeLength(2gritpipeinr)/2
Pipe6
pipe6origin =
- x : origin0 - Δxgrit - gritthick - gritdim0
- y : origin1 + Δygrit + gritthick + gritdim1/2
- z : origin2 + Δzgrit + pipe5length + TeeLength(2gritpipeinr)/2
pipe6length = gritdisp2
Rotate10
Pipe7
pipe7origin =
- x : origin0 - Δxgrit - gritthick - gritdim0 + pipe6length + CrossLength(2gritpipeinr)
- y : origin1 + Δygrit + gritthick + gritdim1/2
- z : origin2 + Δzgrit + pipe5length + TeeLength(2gritpipeinr)/2
pipe7length = 2SocketDepth(2gritpipeinr)Pipe7
Rotate11
Pipe8
Pipe9
zoom1
Pipe10and11
layer7 Creates a blue 'grit-riser' layer.
layer8 Freezes the 'gritpipe' layer.
Riser1*
Riser234
layer9 Creates a purple 'grit-cross' layer.
layer10 Freezes the 'grit-riser' layer
cross
Rotate12
Rotate13
layer11 Thaws the 'grit-elbow' layer.
layer12
layer13 Freezes the 'grit-cross' layer.
elbow4
Rotate14
Rotate15
elbow5
elbow67
layer14 Creates a new blue 'grit-tee' layer
layer15 Freezes the 'grit-elbow' layer.
Tee1
move
Tee2
Rotate16
Rotate17
layer16 Creates a new grey 'grit-tank' layer.
Tank
layer17
layer18 Freezes the 'grit-tank' layer
layer19 Freezes the 'grit-tee' layer
one
two
three
test
return stack