Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. General Program Information

{float:left|border=2px solid black}
!tank1.JPG!
Northeast Isometric View
{float}
\\
\\

h3. Input Definitions


h5. Inputs needed to call the tank function

tank{~}origin~ \- a 3 by 1 matrix with x,y,z positions corresponding to the point where the tank will be drawn

tank{~}dim~ \- a 3 by 1 matrix with x,y,z positions corresponding to the length, width and height dimensions of the tank
* x: tank.dim{~}0~ = length
* y: tank.dim{~}1~ = width
* z: tank.dim{~}2~ = height

thick - the thickness of the wall of the tank

h5. Inputs defined with the tank function

p1=
* x : tank.origin{~}0~ \- tank.dim{~}0~
* y : tank.origin{~}1~ + tank.dim{~}1~
* z : tank.origin{~}2~ + tank.dim{~}2~

p2=
* x : tank.origin{~}0~ + thick
* y : tank.origin{~}1~ \- thick
* z : tank.origin{~}2~ \- thick

p3=
* x : tank.origin{~}0~ \- tank.dim{~}0~ \- thick
* y : tank.origin{~}1~ + tank.dim{~}1~ + thick
* z : tank.origin{~}2~ + tank.dim{~}2~

win1=
* x : tank.origin{~}0~ + thick + zc
* y : tank.origin{~}1~ \- thick - zc
* z : tank.origin{~}2~

win2=
* x : tank.origin{~}0~ \- tank.dim{~}0~ \- zc
* y : tank.origin{~}1~ + tank.dim{~}1~ + zc
* z : tank.origin{~}2~ + tank.dim{~}2~

*Note:* zc corresponds to a zoom constant used within Autocad. It is defined in 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}
!tank2.JPG!
{float}
*zoom{*}{*}{~}win{~}*\- zooms on a window space directly around where the tank is to be drawn

zoom{~}win~ <-\- zoom{~}wina~(win1,win2)

win1=
* x : tank.origin{~}0~ + thick + zc
* y : tank.origin{~}1~ \- thick - zc
* z : tank.origin{~}2~

win2=
* x : tank.origin{~}0~ \- tank.dim{~}0~ \- zc
* y : tank.origin{~}1~ + tank.dim{~}1~ + zc
* z : tank.origin{~}2~ + tank.dim{~}2~

{float:left|border=2px solid black}
!tank5.JPG!
Top View
!tank3.JPG!
Southwest Isometric View
{float}

*box1* \- Draws the smaller of the two boxes to create the tank

box1 <-\- boxA(tank{~}origin~,p1)

tank{~}origin~ : tank{~}origin~

p1=
* x : tank.origin{~}0~ \- tank.dim{~}0~
* y : tank.origin{~}1~ + tank.dim{~}1~
* z : tank.origin{~}2~ + tank.dim{~}2~

*box2* \- Draws the larger of the two boxes to create the tank
{float:left|border=2px solid black}
!tank4.JPG!
Front View
!tank6.JPG!
Top View
!tank7.JPG!
Soutwest Isometric View
{float}

box2 <-\- boxA(p2,p3)

p2=
* x : tank.origin{~}0~ + thick
* y : tank.origin{~}1~ \- thick
* z : tank.origin{~}2~ \- thick

p3=
* x : tank.origin{~}0~ \- tank.dim{~}0~ \- thick
* y : tank.origin{~}1~ + tank.dim{~}1~ + thick
* z : tank.origin{~}2~ + tank.dim{~}2~

*subtract* \- In order to make the tank hollow, the inner box must be subtracted from the outer box

subtract <-\- subtractD(p2,tank{~}origin~)

p2=
* x : tank.origin{~}0~ + thick
* y : tank.origin{~}1~ \- thick
* z : tank.origin{~}2~ \- thick

tank{~}origin~ : tank{~}origin~

{float:left|border=2px solid black}
!tank1.JPG!
{float}