%%HP: T(3)A(D)F(.);
\<< 'ID' VTYPE
  IF -1. ==
  THEN { { 20. 25.
10. 0. 2000. 3000.
60. } { 6. 6. 12. 6.
6. } } 'ID' STO
  END
"COLUMN LOADING" { {
"P_DL:"
"DEAD LOAD, KIPS" 0.
} { "P_LL:"
"LIVE LOAD, KIPS" 0.
} { "P_ST:"
"SHORT TERM LOAD, KIPS"
0. } { "WIND?"
"WIND-0, SEISMIC-1"
0. } { "SOIL:"
"ALLOWABLE SOIL PRESSURE, PSF"
0. } { "fc\180:"
"Concrete Strength, psi"
0. } { "Fy:"
"Steel Strength, ksi"
0. } } { 2. 0. } 'ID'
1. GET DUP INFORM ESC
DUP 'ID' 1. ROT PUT
OBJ\-> 3. DROPN SWAP
DROP 4. ROLLD SWAP
ROT + DUP ROT + 3. *
4. / MAX 1000. * SWAP
/
"Required Footing Area:

"
SWAP \->STR +
" Sq. Ft.

    Press any key
     to continue"
+ SCRN
  DO
"DIMENSIONAL DATA" {
{ "Lx="
"Footing, x-dimension, feet"
0. } { "Ly="
"Footing, y-dimension, feet"
0. } { "h="
"Footing depth, inches"
0. } { } {
"Column x="
"Base x-dimension, inches"
0. } { } {
"Column y="
"Base y-dimension, inches"
0. } } { 2. 0. } 'ID'
2. GET DUP INFORM ESC
DUP 'ID' 2. ROT PUT
OBJ\-> DROP 'ID' 1. GET
OBJ\-> DROP \-> Lx Ly h x
y Pd Pl Pst W S fc\180
Fy
    \<< h 12. / Lx Ly *
* .145 * Pd + Pl +
DUP Pst + 1000. Lx Ly
* / DUP ROT * SWAP
ROT * SWAP DUP2 3. *
4. / MAX
      IF S >
      THEN 1. SF
"NG!"
      ELSE 1. CF
"OK!"
      END
"Soil Pressure: "
SWAP \->STR +
"
   Actual: " + ROT
\->STR +
" psf
Allowable: " +
S \->STR +
" psf

Short Term
   Actual: "
+ SWAP \->STR +
" psf
Allowable: " +
S 4. * 3. / \->STR +
" psf" + SCRN
      IF 1. FC?
      THEN Pd Pl Pst
W ACIU Lx Ly * /
1000. * h 4. - 2. * /
h 4. - x OVER 2. * +
y 3. PICK 2. * + Ly
SWAP 12. / - Lx ROT
12. / - MAX 3. PICK
12. / * fc\180 \v/ 1.7 *
DUP2
        IF >
        THEN 1. SF
        END
"One Way Shear:
    \O/Vc= "
SWAP \->STR +
" psi
     Vu= " +
SWAP \->STR +
" psi

Two Way Shear:
    \O/Vc= "
+ ROT ROT x OVER + y
ROT + DUP2 * 144. /
Lx Ly * SWAP - SWAP
ROT + / * x y / DUP
1. <
        \<< INV
        \>> IFT 2. MAX
4. SWAP / 2. + .85 *
fc\180 \v/ * DUP2
        IF >
        THEN 1. SF
        END ROT SWAP
\->STR +
" psi
     Vu= " +
SWAP \->STR + " psi" +
SCRN
      END
      IF 1. FC?
      THEN Pd Pl Pst
W ACIU 8. / DUP Lx /
Lx x 12. / - SQ * DUP
fc\180 Fy Ly 12. * h 4.
- ACIFLEX 4. ROLL
"X-Direction:

    Mu= "
SWAP \->STR +
" ft-k
    As= " +
SWAP \->STR +
" in\178
Min As= " +
SWAP \->STR +
" in\178
Max As= " +
SWAP \->STR + " in\178" +
SCRN Ly / Ly y 12. /
- SQ * DUP fc\180 Fy Lx
12. * h 4. - ACIFLEX
4. ROLL
"Y-Direction:

    Mu= "
SWAP \->STR +
" ft-k
    As= " +
SWAP \->STR +
" in\178
Min As= " +
SWAP \->STR +
" in\178
Max As= " +
SWAP \->STR + " in\178" +
SCRN
        IF 'Lx\=/Ly'
        THEN Lx Ly
DUP2 >
          \<< SWAP
          \>> IFT OVER
/ 1. + 2. SWAP / 100.
* "Provide " SWAP
\->STR +
"% of
short direction reinf.
in a band "
+ SWAP \->STR +
" feet
wide under column."
+ SCRN
        END
      END
    \>>
  UNTIL 1. FC?
  END
\>>