h3. General Program Information
{float:left|border=2px solid black}
[!1b.bmp|width=280px!|AutoCAD Cross Program] [!1.bmp|width=280px!|AutoCAD Cross Program]
Southeast Isometric View
{float}
\\
\\
h3. Input Definitions
h5. 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.
h5. 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.
h5. Inputs Defined within the Cross Function
p1 =
* x : origin{~}0~
* y : origin{~}1~
* z : origin{~}2~
p2 =
* x : origin{~}0~
* y : origin{~}1~
* z : origin{~}2~ + L/2
p3 =
* x : origin{~}0~ + innerD(ND,EN)/2
* y : origin{~}1~
* z : origin{~}2~ + L/2
p4 =
* x : origin{~}0~ \- R1
* y : origin{~}1~
* z : origin{~}2~
p5 =
* x : origin{~}0~ + L/2
* y : origin{~}1~ + R1
* z : origin{~}2~ + L/2
p7 =
* x : origin{~}0~ \- R3
* y : origin{~}1~
* z : origin{~}2~
p8 =
* x : origin{~}0~ \- R1
* y : origin{~}1~
* z : origin{~}2~ \
p9 =
* x : origin{~}0~
* y : origin{~}1~ \- H
* z : \-origin{~}1~ \- R3
p10 =
* x : origin{~}0~
* y : origin{~}2~ + L/2
p11 =
* x : origin{~}0~ + zc
* y : origin{~}2~ + L/2 - zc
p12 =
* x : origin{~}0~ + zc
* y : origin{~}2~ + L/2
p13 =
* x : origin{~}0~
* y : origin{~}2~ + L + H
* z : \-origin{~}1~
p14 =
* x : origin{~}0~ + L/2 + H
* y : origin{~}2~ + L/2
* z : \-origin{~}1~
p15 =
* x : origin{~}0~
* y : origin{~}2~ \- H
* z : \-origin{~}1~
p16 =
* x : origin{~}0~
* y : origin{~}2~ + R2
* z : \-origin{~}1~
p17 =
* x : origin{~}0~
* y : origin{~}2~ + R2
* z : origin{~}1~
p18 =
* x : origin{~}0~
* y : origin{~}2~
p19 =
* x : origin{~}0~
* y : origin{~}2~ + zc
p20 =
* x : origin{~}0~ \- L/2
* y : origin{~}1~
* z : origin{~}2~ + L/2
p21 =
* x : origin{~}0~ + L/2
* y : origin{~}1~
* z : origin{~}2~ + L/2
p22 =
* x : origin{~}0~ \- L/4
* y : origin{~}1~ \- R1
* z : origin{~}2~
p23 =
* x : origin{~}0~ + L/4
* y : origin{~}1~ \- R1
* z : origin{~}2~
p24 =
* x : origin{~}0~
* y : origin{~}1~
* z : origin{~}2~ + 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 : origin{~}0~ \- (L/2 + H)
* y : origin{~}1~ \- R3
* z : origin{~}2~
win2 =
* x : origin{~}0~ + (L/2 + H)
* y : origin{~}1~ + R3
* z : origin{~}2~
EN = The enumerated pipe schedule type. Each schedule of pipe is represented by a specific number within our code.
h3. Technical Program Outline
The Cross program is built on the [Tee Program|AutoCAD Tee Program].
Resuming after bigunion1:
{float:left|border=2px solid black}
[!2.bmp|width=280px!|AutoCAD Cross Program]
Before mirror3
[!2c.bmp|width=280px!|AutoCAD Cross Program]
After mirror3
{float}
*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 : origin{~}0~
* y : origin{~}2~ + R2
* z : origin{~}1~
p18 =
* x : origin{~}0~
* y : origin{~}2~
p19 =
* x : origin{~}0~
* y : origin{~}2~ + zc
\\
\\
{float:left|border=2px solid black}
[!3.bmp|width=280px!|AutoCAD Cross Program]
{float}
*cylinder7* \- creates a cylinder of radius R2 within the cross.
cylinder7 <-\- cylinderB(p20,R2,p21)
p20 =
* x : origin{~}0~ \- L/2
* y : origin{~}1~
* z : origin{~}2~ + L/2
R2 - the outer radius of the main pipe.
p21 =
* x : origin{~}0~ + L/2
* y : origin{~}1~
* z : origin{~}2~ + L/2
\\
\\
{float:left|border=2px solid black}
[!4a.bmp|width=280px!|AutoCAD Cross Program]
[!4b.bmp|width=280px!|AutoCAD Cross Program]
Free Rotation used to show the cross is now hollow
{float}
*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 : origin{~}0~ \- L/4
* y : origin{~}1~ \- R1
* z : origin{~}2~
p23 =
* x : origin{~}0~ + L/4
* y : origin{~}1~ \- R1
* z : origin{~}2~
p24 =
* x : origin{~}0~
* y : origin{~}1~
* z : origin{~}2~ + L/2 - R3
\\
\\
{float:left|border=2px solid black}
[!1.bmp|width=280px!|AutoCAD Cross Program]
{float}
viewfront2 - sets the workspace so that the user is viewing the object from the front.
viewfront2 <-\- concat("_-view",sp,"o",sp,"f")
\\
\\ |