...
Input Definitions
- origin is a 3,1 matrix with the x,y,z values of the center point of the outlet of the first sedimentation tank
- width sed is the distance between the outlets of the sedimentation tanks or the width of the sedimentation tanks from the center line of the wall on either side of a tank
- lvltank dim is a 3,1 matrix with the x,y,z dimensions of the tank
- Δ x is the distance in the x direction in a top view from the outlet of the first sedimentation tank (or the origin of the first pipe) to the outside wall of the leveling tank
- Δ y is the distance in the y direction in a top view from the outlet of the first sedimentation tank (or the origin of the first pipe) to the outside wall of the leveling tank
- Δ z is the distance in the z direction in a top view from the outlet of the first sedimentation tank (or the origin of the first pipe) to the bottom wall of the platform
- lvltank thick is the thickness of the walls of the leveling tank
- thick platform is the thickness of the platform
- R1 is the inner radius of the pipes leading to the leveling tank
- R main is the inner radius of the effluent pipe
- H main is the height of the effluent pipe (or the water level in the leveling tank)
- n is the number of sedimentation tanks
- disp is the displacement of the center of the pipes coming up into the leveling tanks from the inside wall of the tank
...
- pipe2 origin, pipe3 origin, pipe4 origin, pipe5 origin, pipe6 origin, elbow1 origin, pipe7~origin~pipe7 origin, tank origin, main origin, origin, lvltank dim, Δx, Δy, Δz, tank thick, thick platform, width sed, R1, R main, H main, n, disp
Pseudo Inputs
pipe3origin
pipe4origin
pipe5origin
pipe6origin
elbow1origin
pipe7origin
tankorigin
mainorigin
origin
lvltankdim
Δx
Δy
Δz
thicktank
thickplatform
widthsed
R1
Rmain
Hmain
n - number of sedimentation tanks to be drawn by the program.
disp
layer1 - Creates a 'lvlpipe' layer for all of the pipes (except the "main" pipe) in the program
Pipe1 - Creates a pipe with a radius of R1 and an origin at the variable "origin". See Pipe Help for details on the pipe function.
Pipe1 Length = Δx + thick tank + offset - ElbowRadius
Notes:
- Pipe1 Length is not a variable, the values are inputed directly into the pipe function
- offset is a function which divides the x dimension of the level tank by the number of sedimentation tanks, so as to evenly space the inlet pipes to the tank.
- ElbowRadius is the radius of curvature of an elbow. In the script it is given as a function of the inner radius. This function is defined in the Pipe Database program
Rotate1 - Pipe 1 is rotated using the Rotate3d function so that from a top view it is oriented in the west to east direction
p1:
- x: origin0 + R1
- y: origin1
- z: origin2
p2: origin
axis: "y"
ϕ: -90
Pipe2 - Creates a pipe with a radius of R1 and an origin at the variable "pipe2origin".
pipe2 origin =
- x: x,origin - Pipe1 Length
- y: y,origin + ElbowRadius
- z: z,origin
Pipe2 Length = Δy - 2ElbowRadius + thick tank + disp
Rotate2 - Pipe 2 is rotated using the Rotate3d function so it is oriented north to south in top view
p1:
- x: pipe2origin0 + R1
- y: pipe2origin1
- z: pipe2origin2
p2: pipe2origin
axis: "x"
ϕ: -90
Pipe3 -Creates a pipe with a radius of R1 and an origin at the variable "pipe3origin".
Pipe3 Length = Δx + thicktank + 2offset(lvltankdim0,n) - elbowRadius(2R1)
Rotate3 Pipe 3 is rotated using the Rotate3d function so that from a top view it is oriented in the west to east direction
p1:
- x: pipe3origin0 + R1
- y: pipe3origin1
- z: pipe3origin2
p2: pipe3origin
axis: "y"
ϕ: -90
Pipe4 -Creates a pipe with a radius of R1 and an origin at the variable "pipe4origin".
Pipe4 Length = Δy + widthsed - 2ElbowRadius(2R1) + thicktank + disp
Rotate4 Pipe 4 is rotated using the Rotate3d function so that from a top view it is oriented in the west to east direction.
p1:
- x: pipe4origin0 + R1
- y: pipe4origin1
- z: pipe4origin2
p2: pipe4origin
axis: "y"
ϕ: -90
Pipe5 -Creates a pipe with a radius of R1 and an origin at the variable "pipe5origin".
Pipe5 length: Δx + thicktank + 3offset(lvltankdim0,n) - ElbowRadius(2R1)
Rotate5 Pipe 5 is rotated using the Rotate3d function so that from a top view it is oriented in the west to east direction.
P1:
- x: pipe5origin0 + R1
- y: pipe5origin1
- z: pipe5origin2
p2: pipe5origin
axis: "y"
ϕ: -90
Pipe6 -Creates a pipe with a radius of R1 and an origin at the variable "pipe6origin".
Pipe6 length: Δy + 2widethsed - 2ElbowRadius(2R1) + thicktank + disp
Rotate6 - Pipe 6 is rotated using the Rotate3d function so it is oriented north to south in top view
Pipe7 -Creates a pipe with a radius of R1 and an origin at the variable "pipe7origin".
Pipe7 length: Δz - ElbowRadius(2R1) + thickplatform
zoomwin1 - Zoomwincreates a close-up window by using two points to specify the window size the object is to be viewed in.
p1: tankorigin
p2:
- x: tankorigin0 - lvltankdim0
- y: tankorigin1 + lvltankdim1
- z: tankorigin2
Copy5 - CopyCcreates a copy of the selected objects based on four chosen points.
p1:
- x: pipe7origin0 + R1
- y: pipe7origin1
- z: pipe7origin2
p2: pipe7origin
p3:
- x: -offset(lvltankdim0,n)
- y: 0
- z: 0
p4:
- x: -2offset(lvltankdim0,n)
- y: 0
- z: 0
Pipe8 -Creates a pipe with a radius of Rmain and an origin at the variable "mainorigin".
Pipe8 length: Hmain + thickplatform + Δz
layer2 - Layerset select the layer "0"
layer3 - Layerfreeze is used to freeze the layer "lvlpipe."
layer4 - Layernew is used to create a new, green layer "lvlelbow."
Elbow1 - Calls the Elbow Program program to build an elbow with the origin elbow1origin and an inner radius, R1.
Rotate7 - Pipe 7 is rotated using the Rotate3d function so...
p1:
- x: elbow1origin0
- y: elbow1origin1 + ElbowRadius(2R1)
- z: elbow1origin2
p2:
- x: elbow1origin0
- y: elbow1origin1 + ElbowRadius(2R1)
- z: elbow1origin2
axis: "z"
ϕ: -180
zoomwin2
Copy1 - CopyBcreates a copy of the selected objects based on three chosen points.
p1: pipe2origin
p2: pipe2origin
p3: pipe4origin
Copy2 - CopyBcreates a copy of the selected objects based on three chosen points.
p1: pipe2origin
p2: pipe2origin
p3: pipe6origin
Copy3 - CopyBcreates a copy of the selected objects based on three chosen points.
p1: pipe2origin
p2: pipe2origin
p3: pipe11
Rotate8 - Pipe 2 is rotated using the Rotate3d function so it is oriented north to south in top view
p1:
- x: pipe2origin0
- y: pipe2origin1 + (Δy - 2ElbowRadius(2R1) + thicktank + disp)
- z: pipe2origin2
p2:
- x: pipe2origin0
- y: pipe2origin1 + (Δy - 2ElbowRadius(2R1) + thicktank + disp)
- z: pipe2origin2
axis: "x"
ϕ: \180
Rotate9 - Pipe 2 is rotated using the Rotate3d function so that from a top view it is oriented in the west to east direction.
p1:
- x: pipe2origin0
- y: pipe2origin1 + (Δy - 2ElbowRadius(2R1) + thicktank + disp
- z: pipe2origin2
p2:
- x: pipe2origin0
- y: pipe2origin1 + (Δy - 2ElbowRadius(2R1) + thicktank + disp
- z: pipe2origin2
axis: "y"
ϕ: -90
Copy4 CopyCcreates a copy of the selected objects based on four chosen points.
p1:
- x: pipe2origin0
- y: pipe2origin1 + (Δy - 2ElbowRadius(2R1) + thicktank + disp
- z: pipe2origin2
p2:
- x: pipe2origin0
- y: pipe2origin1 + (Δy - 2ElbowRadius(2R1) + thicktank + disp
- z: pipe2origin2
p3:
- x: -offset(lvltankdim0,n)
- y: 0
- z: 0
p4:
- x: -2offset(lvltankdim0,n)
- y: 0
- z: 0
layer5 - Layerset select the layer "0"
layer6 - Layerfreeze freezes the layer "lvlelbow."
layer7 - Layernew creates a new grey layer "lvltank."
Tank - Calls the Tank Program program to build a tank with the origin tankorigin, tank dimensions tankdim and thickness thicktank.
tankorigin - a 3 by 1 matrix with x,y,z positions corresponding to the point where the tank will be drawn
tankdim - a 3 by 1 matrix with x,y,z positions corresponding to the length, width and height dimensions of the tank
- x: tank.dim0 = length
- y: tank.dim1 = width
- z: tank.dim2 = height
thick - the thickness of the wall of the tank
layer8 - Layerthaw unfreezes the layer "lvlpipe."
layer9 - Layerthaw unfreezes the layer "lvlelbow."
layer10 - Layerset select the layer "lvlpipe."
cylinder - CylinderCcreates a cylinder based on a point, radius and length.
p1: mainorigin
R1: Rmain
L: Hmain + thickplatform + Δz
subtract -SubtractD subtracts based on two points.
p1: tankorigin
p2:
- x: mainorigin0 + Rmain
- y: mainorigin1
- z: mainorigin2
one
two
three
return