General Program Information
Input Definitions
Inputs Needed to Call the Cross Function
origin - a 3*1 matrix with x,y,z positions corresponding to the point where the tee will be drawn.
ND - The nominal diameter of the pipe. This value along with the pipe schedule is used to determine other actual dimensions of the elbow
EN - The enumerated pipe schedule type. Each schedule of pipe is represented by a specific number within our code.
Inputs Defined within the Cross Database
origin-A 3*1 matrix with x,y,z positions corresponding to the point where the tee will be drawn.
ND-The nominal diameter of the pipe. This value along with the pipe schedule is used to determine other actual dimensions of the tee.
outerradius(ND)-
innerD(ND,EN)/2-
ConRadius(ND)-
ShortTeeLength(ND)*2-
SocketDepth(ND)-
EN-The enumerated pipe schedule type. Each schedule of pipe is represented by a specific number within our code.
Inputs Defined within the Cross Function
p1 =
- x : origin0
- y : origin1
- z : origin2
p2 =
- x : origin0
- y : origin1
- z : origin2 + L/2
p3 =
- x : origin0 + innerD(ND,EN)/2
- y : origin1
- z : origin2 + L/2
p4 =
- x : origin0 - R1
- y : origin1
- z : origin2
p5 =
- x : origin0 + L/2
- y : origin1 + R1
- z : origin2 + L/2
p7 =
- x : origin0 - R3
- y : origin1
- z : origin2
p8 =
- x : origin0 - R1
- y : origin1
- z : origin2
p9 =
- x : origin0
- y : origin1 - H
- z : -origin1 - R3
p10 =
- x : origin0
- y : origin2 + L/2
p11 =
- x : origin0 + zc
- y : origin2 + L/2 - zc
p12 =
- x : origin0 + zc
- y : origin2 + L/2
p13 =
- x : origin0
- y : origin2 + L + H
- z : -origin1
p14 =
- x : origin0 + L/2 + H
- y : origin2 + L/2
- z : -origin1
p15 =
- x : origin0
- y : origin2 - H
- z : -origin1
p16 =
- x : origin0
- y : origin2 + R2
- z : -origin1
p17 =
- x : origin0
- y : origin2 + R2
- z : origin1
p18 =
- x : origin0
- y : origin2
p19 =
- x : origin0
- y : origin2 + zc
p20 =
- x : origin0 - L/2
- y : origin1
- z : origin2 + L/2
p21 =
- x : origin0 + L/2
- y : origin1
- z : origin2 + L/2
p22 =
- x : origin0 - L/4
- y : origin1 - R1
- z : origin2
p23 =
- x : origin0 + L/4
- y : origin1 - R1
- z : origin2
p24 =
- x : origin0
- y : origin1
- z : origin2 + L/2 - R3
ND = The nominal diameter of the pipe. This value along with the pipe schedule is used to determine other actual dimensions of the elbow
R1 = the inner radius of the main pipe.
R2 = the outer radius of the main pipe.
R3 = the outer radius of the four sockets of the tee.
L = the length of the main pipes of the tee.
H = the length of the four sockets of the tee.
win1 =
- x : origin0 - (L/2 + H)
- y : origin1 - R3
- z : origin2
win2 =
- x : origin0 + (L/2 + H)
- y : origin1 + R3
- z : origin2
EN = The enumerated pipe schedule type. Each schedule of pipe is represented by a specific number within our code.
Technical Program Outline
The Cross program is built on the Tee Program.
Resuming after bigunion1:
mirror3 - mirrors the tee around the centerline of the main pipe, using p17 to select the tee, then reflecting it over a mirror line created using p18 and p19 to give the slope and direction of the mirror line.
mirror3 <-- mirrorA(p17,p18,p19)
p17 =
- x : origin0
- y : origin2 + R2
- z : origin1
p18 =
- x : origin0
- y : origin2
p19 =
- x : origin0
- y : origin2 + zc
cylinder7 - creates a cylinder of radius R2 within the cross.
cylinder7 <-- cylinderB(p20,R2,p21)
p20 =
- x : origin0 - L/2
- y : origin1
- z : origin2 + L/2
R2 - the outer radius of the main pipe.
p21 = - x : origin0 + L/2
- y : origin1
- z : origin2 + L/2
subtract4 - subtracts the cylinder from the cross creating a hollow pipe, by selecting the 2 separate halves of the cross as the objects to be subtracted from by using p22 and p23, and selecting cylinder7 as the object to be subtracted by using p24.
subtract4 <-- subtractB(p22,p23,p24)
p22 =
- x : origin0 - L/4
- y : origin1 - R1
- z : origin2
p23 =
- x : origin0 + L/4
- y : origin1 - R1
- z : origin2
p24 =
- x : origin0
- y : origin1
- z : origin2 + L/2 - R3
viewfront2 - sets the workspace so that the user is viewing the object from the front.
viewfront2 <-- concat("_-view",sp,"o",sp,"f")