Wiki Markup |
---|
h1. General Program |
...
Input Definitions
Inputs Needed to Call the Elbow Function
o - the origin, the point corresponding to where the elbow will be drawn. o is also the center of the radius of curvature of the elbow.
Pipeinr - the inner radius of the elbow
Inputs Defined within the Elbow Function
p1 =
- x : o0
- y : o1
- z : o2
p2 =
- x : o0 - ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr)
- y : o1 - ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr)
- z : o2 - outerradius(2*pipeinr) + SocketDepth(2*pipeinr)
p3 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr)
- z : o2 + outerradius(2*pipeinr) + SocketDepth(2*pipeinr)
p4 =
- x : o0 + ElbowRadius(2*pipeinr) + outerraduis(2*pipeinr)
- y : o1
- z : o2
p5 =
- x : o0 - ElbowRadius(2*pipeinr) - pipeinr
- y : o1
- z : o2
p6 =
- x : o0
- y : o1 - ElbowRadius(2*pipeinr) - outerraduis(2*pipeinr) - zc
- z : o2 - ConRadius(2*pipeinr)
p7 =
- x : o0 + ElbowRadius(2*pipeinr) + outerraduis(2*pipeinr) + zc
- y : o1
- z : o2 + ConRadius(2*pipeinr)
p9 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
p10 =
- x : o0 - SocketDepth(2*pipe~inr~)
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
p11 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr)
- z : o2
p12 =
- x : o0 - SocketDepth(2*pipe~inr~) - zc
- y : o1 + ElbowRadius(2*pipeinr) - outerraduis(2*pipeinr)
- z : o2
p13 =
- x : o0 + zc
- y : o1 + ElbowRadius(2*pipeinr) + outerraduis(2*pipeinr)
- z : o2
p14 =
- x : o0 - SocketDepth(2*pipe~inr~)
- y : o1 + ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr)
- z : o2
p15 =
- x : o0
- y : o1
p16 =
- x : o0 + zc
- y : o1 + zc
p17 =
- x : o0 + ElbowRadius(2*pipeinr)
- y : o1 - SocketDepth(2*pipe~inr~)
- z : o2
p18 =
- x : o0 - SocketDepth(2*pipe~inr~)
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
R1 =
R2 =
R3 =
R4 =
H1 =
win1 =
- x : o0 - ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr) + zc
- y : o1 - ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr) + zc
- z : o2
win2 =
- x : o0 + ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr) + zc
- y : o1 + ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr) + zc
- z : o2
Note: zc corresponds to the zoom constant within AutoCAD and can be found in the basics file that is referenced by the elbow program.
Technical Program Outline
Note: All coordinates are referenced in top view in the program unless otherwise specified
zoomwin- zooms on a window space directly around where the elbow is to be drawn
zoomwin <-- zoomwina(win1,win2)
win1 =
- x : o0 - ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr) + zc
- y : o1 - ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr) + zc
- z : o2
win2 =
- x : o0 + ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr) + zc
- y : o1 + ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr) + zc
- z : o2
*torus*big\ - Draws the larger torus, a 3 dimensional ring that creates the outer surface of the elbow
torusbig <-- torus(p1,R1,R2)
p1 =
- x : o0
- y : o1
- z : o2
R1 =
R2 =
box1 - draws a box slightly larger than the torus, in all dimensions
box1 <-- box(p2,p3)
p2 =
- x : o0 - ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr)
- y : o1 - ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr)
- z : o2 - outerradius(2*pipeinr) + SocketDepth(2*pipe~inr~)
p3 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr) + ConRaduis(2*pipeinr)
- z : o2 + outerradius(2*pipeinr) + SocketDepth(2*pipeinr)
subtract1 - removes the box that was drawn over half of the torus in order to make it a half torus
subtract1<-- subtractD(p4,p1)
p4 =
- x : o0 + ElbowRadius(2*pipeinr) + outerraduis(2*pipeinr)
- y : o1
- z : o2
p1 =
- x : o0
- y : o1
- z : o2
*torus*small\ - draws a smaller torus
torussmall <-- torus(p1,R1,R3)
p1 =
- x : o0
- y : o1
- z : o2
R1 =
R3 =
subtract2 - removes the left half of the smaller torus
subtract2 <-- subtractA(p4,p5)
p4 =
- x : o0 + ElbowRadius(2*pipeinr) + outerraduis(2*pipeinr)
- y : o1
- z : o2
p5 =
- x : o0 - ElbowRadius(2*pipeinr) - pipeinr)
- y : o1
- z : o2
box2- draws a box over the lower half of the remaining torus
box2 <-- box(p6,p7)
p6 =
- x : o0
- y : o1 - ElbowRadius(2*pipeinr) - outerraduis(2*pipeinr) - zc
- z : o2 - ConRadius(2*pipeinr)
p7 =
- x : o0 + ElbowRadius(2*pipeinr) + outerraduis(2*pipeinr) + zc
- y : o1
- z : o2 + ConRadius(2*pipeinr)
subtract3 - removes the box that was drawn in the previous step
subtract3 <-- subtractD(p9,p1)
p9 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
p1 =
- x : o0
- y : o1
- z : o2
outercylinder - draws a cylinder at the end of the elbow to form the outer surface of a socket
outercylinder <-- cylinderB(p9,R4,P10)
p9 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
R4 =
p10 =
- x : o0 - SocketDepth(2*pipe~inr~)
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
innercylinder - draws a smaller cylinder within the larger cylinder, forming the inner surface of a socket
innercylinder <-- cylinderB(p9,R2,p10)
p9 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
R2 =
p10 =
- x : o0 - SocketDepth(2*pipe~inr~)
- y : o1 + ElbowRadius(2*pipeinr)
- z : o2
subtract4 - removes the smaller cylinder, creating a hollow socket at the end of the elbow
subtract4 <-- subtractH(p11,p12,p13)
p11 =
- x : o0
- y : o1 + ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr)
- z : o2
p12 =
- x : o0 - SocketDepth(2*pipe~inr~) - zc
- y : o1 + ElbowRadius(2*pipeinr) - outerraduis(2*pipeinr)
- z : o2
p13 =
- x : o0 + zc
- y : o1 + ElbowRadius(2*pipeinr) + outerraduis(2*pipeinr)
- z : o2
mirror - replicates the socket drawn onto the opposite end of the elbow
mirror <-- mirrorA(p14,p15,p16)
p14 =
- x : o0 - SocketDepth(2*pipe~inr~)
- y : o1 + ElbowRadius(2*pipeinr) - ConRaduis(2*pipeinr)
- z : o2
p15 =
- x : o0
- y : o1
p16 =
- x : o0 + zc
- y : o1 + zc
bigunion -
...
Information {float:left|border=2px solid black} [!1.bmp|width=525px!|AutoCAD Pipe Program] [!2.bmp|width=525px!|AutoCAD Elbow Program] Southwest Isometric View {float} \\ \\ h3. Input Definitions h5. Inputs Needed to Call the Elbow Function o - the origin, the point corresponding to where the elbow will be drawn. o is also the center of the radius of curvature of the elbow. Pipe{~}inr~ \- the inner radius of the elbow h5. Inputs Defined within the Elbow Function p1 = * x : o{~}0~ * y : o{~}1~ * z : o{~}2~ p2 = * x : o{~}0~ \- ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) * y : o{~}1~ \- ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) * z : o{~}2~ \- outerradius(2*pipe{~}inr~) + SocketDepth(2*pipe{~}inr~) p3 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) * z : o{~}2~ + outerradius(2*pipe{~}inr~) + SocketDepth(2*pipe{~}inr~) p4 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) + outerraduis(2*pipe{~}inr~) * y : o{~}1~ * z : o{~}2~ p5 = * x : o{~}0~ \- ElbowRadius(2*pipe{~}inr~) - pipe{~}inr~ * y : o{~}1~ * z : o{~}2~ p6 = * x : o{~}0~ * y : o{~}1~ \- ElbowRadius(2*pipe{~}inr~) - outerraduis(2*pipe{~}inr~) - zc * z : o{~}2~ \- ConRadius(2*pipe{~}inr~) p7 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) + outerraduis(2*pipe{~}inr~) + zc * y : o{~}1~ * z : o{~}2~ + ConRadius(2*pipe{~}inr~) p9 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ p10 = * x : o{~}0~ \- SocketDepth(2*pipe{~}inr~) * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ p11 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) * z : o{~}2~ p12 = * x : o{~}0~ \- SocketDepth(2*pipe{~}inr~) - zc * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) - outerraduis(2*pipe{~}inr~) * z : o{~}2~ p13 = * x : o{~}0~ + zc * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) + outerraduis(2*pipe{~}inr~) * z : o{~}2~ p14 = * x : o{~}0~ \- SocketDepth(2*pipe{~}inr~) * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) * z : o{~}2~ p15 = * x : o{~}0~ * y : o{~}1~ p16 = * x : o{~}0~ + zc * y : o{~}1~ + zc p17 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) * y : o{~}1~ \- SocketDepth(2*pipe{~}inr~) * z : o{~}2~ p18 = * x : o{~}0~ \- SocketDepth(2*pipe{~}inr~) * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ R1 = R2 = R3 = R4 = H1 = win1 = * x : o{~}0~ \- ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) + zc * y : o{~}1~ \- ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) + zc * z : o{~}2~ win2 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) + zc * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) + zc * z : o{~}2~ *Note:* zc corresponds to the zoom constant used within AutoCAD, defined by the basics file. h1. Technical Program Outline *Note:* All coordinates are referenced in top view in the program unless otherwise specified {float:left|border=2px solid black} [!3.bmp|width=280px!|AutoCAD Elbow Program] {float} *zoom{*}{*}{~}win{~}*\- zooms on a window space directly around where the elbow is to be drawn zoom{~}win~ <-\- zoom{~}wina~(win1,win2) win1 = * x : o{~}0~ \- ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) + zc * y : o{~}1~ \- ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) + zc * z : o{~}2~ win2 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) + zc * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) + zc * z : o{~}2~ \\ \\ {float:left|border=2px solid black} [!4b.bmp|width=280px!|AutoCAD Elbow Program] [!5.bmp|width=280px!|AutoCAD Elbow Program] {float} *torus*{~}big~ - Draws the larger torus, a 3 dimensional ring that creates the outer surface of the elbow torus{~}big~ <-\- torus(p1,R1,R2) p1 = * x : o{~}0~ * y : o{~}1~ * z : o{~}2~ R1 = R2 = \\ \\ [!6.bmp!|AutoCAD Elbow Program] *box1* \- draws a box slightly larger than the torus, in all dimensions box1 <-\- box(p2,p3) p2 = * x : o{~}0~ \- ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) * y : o{~}1~ \- ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) * z : o{~}2~ \- outerradius(2*pipe{~}inr~) + SocketDepth(2*pipe~inr~) p3 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) + ConRaduis(2*pipe{~}inr~) * z : o{~}2~ + outerradius(2*pipe{~}inr~) + SocketDepth(2*pipe{~}inr~) [!7a.bmp!|AutoCAD Elbow Program] *subtract1* \- removes the box that was drawn over half of the torus in order to make it a half torus subtract1<-\- subtractD(p4,p1) p4 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) + outerraduis(2*pipe{~}inr~) * y : o{~}1~ * z : o{~}2~ p1 = * x : o{~}0~ * y : o{~}1~ * z : o{~}2~ [!8.bmp!|AutoCAD Elbow Program] \*torus\*~small~\ - draws a smaller torus torus{~}small~ <-\- torus(p1,R1,R3) p1 = * x : o{~}0~ * y : o{~}1~ * z : o{~}2~ R1 = R3 = [!9.bmp!|AutoCAD Elbow Program] *subtract2* \- removes the left half of the smaller torus subtract2 <-\- subtractA(p4,p5) p4 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) + outerraduis(2*pipe{~}inr~) * y : o{~}1~ * z : o{~}2~ p5 = * x : o{~}0~ \- ElbowRadius(2*pipe{~}inr~) - pipe{~}inr~) * y : o{~}1~ * z : o{~}2~ [!10.bmp!|AutoCAD Elbow Program] *box2*\- draws a box over the lower half of the remaining torus box2 <-\- box(p6,p7) p6 = * x : o{~}0~ * y : o{~}1~ \- ElbowRadius(2*pipe{~}inr~) - outerraduis(2*pipe{~}inr~) - zc * z : o{~}2~ \- ConRadius(2*pipe{~}inr~) p7 = * x : o{~}0~ + ElbowRadius(2*pipe{~}inr~) + outerraduis(2*pipe{~}inr~) + zc * y : o{~}1~ * z : o{~}2~ + ConRadius(2*pipe{~}inr~) [!11.bmp!|AutoCAD Elbow Program] *subtract3* \- removes the box that was drawn in the previous step subtract3 <-\- subtractD(p9,p1) p9 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ p1 = * x : o{~}0~ * y : o{~}1~ * z : o{~}2~ [!12.bmp!|AutoCAD Elbow Program] *outercylinder* \- draws a cylinder at the end of the elbow to form the outer surface of a socket outercylinder <-\- cylinderB(p9,R4,P10) p9 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ R4 = p10 = * x : o{~}0~ \- SocketDepth(2*pipe~inr~) * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ [!13.bmp!|AutoCAD Elbow Program] *innercylinder* \- draws a smaller cylinder within the larger cylinder, forming the inner surface of a socket innercylinder <-\- cylinderB(p9,R2,p10) p9 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ R2 = p10 = * x : o{~}0~ \- SocketDepth(2*pipe~inr~) * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) * z : o{~}2~ [!14.bmp!|AutoCAD Elbow Program] *subtract4* \- removes the smaller cylinder, creating a hollow socket at the end of the elbow subtract4 <-\- subtractH(p11,p12,p13) p11 = * x : o{~}0~ * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) * z : o{~}2~ p12 = * x : o{~}0~ \- SocketDepth(2*pipe~inr~) - zc * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) - outerraduis(2*pipe{~}inr~) * z : o{~}2~ p13 = * x : o{~}0~ + zc * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) + outerraduis(2*pipe{~}inr~) * z : o{~}2~ [!15a.bmp!|AutoCAD Elbow Program] [!15b.bmp!|AutoCAD Elbow Program] *mirror* \- replicates the socket drawn onto the opposite end of the elbow mirror <-\- mirrorA(p14,p15,p16) p14 = * x : o{~}0~ \- SocketDepth(2*pipe~inr~) * y : o{~}1~ + ElbowRadius(2*pipe{~}inr~) - ConRaduis(2*pipe{~}inr~) * z : o{~}2~ p15 = * x : o{~}0~ * y : o{~}1~ p16 = * x : o{~}0~ + zc * y : o{~}1~ + zc [!16a.bmp!|AutoCAD Elbow Program] [!16b.bmp!|AutoCAD Elbow Program] *bigunion* \- bigunion <-\- bigunion{~}elbow~(p1,p17,p18,R1,R2) |
...
p1 = |
...
* x : |
...
p17 =
...
o{~}0~ * y : o{~}1~ * z : o{~}2~ p17 = * x : o{~}0~ + ElbowRadius(2*pipe |
...
{~}inr~) * y : o{~}1~ \- SocketDepth(2*pipe~inr~) |
...
* z : |
...
p18 =
...
o{~}2~ p18 = * x : o{~}0~ \- SocketDepth(2*pipe~inr~) |
...
* y : o |
...
{~}1~ + ElbowRadius(2*pipe |
...
R1 =
...
{~}inr~) * z : o{~}2~ R1 = R2 = |