%Header Record Format:MCS1 Type Number:1 File Name:TRUSS Option Name: Communication SW:0 Capacity:5294 Data Type:PG %Data Record Password:BABAHAIN BaseN:0 \ClrGraph \Text 1,25,"(TRUSS) Writen by " \Text 8,30,"(Ehsan Bagheri)" \Text 15,1,"Student of AZAD University of" \Text 22,6,"mashhad (www.iaum.com)" \Text 29,50,"2005" \Text 36,30,"Contact me on" \Text 45,2," ehsan_bagheri(a)hotmail.com" \Text 54,29,"[ ]" \For 1\->I \To 60 \For 1\->J \To 5 0\->N \Next \Text 54,30+I,"=" \Next \ClrText "Number of Joints"?\->N {N,4}\->\Dim \Mat A \For 1\->I \To N \ClrText \Locate 6,6,"Joint" \Locate 13,6,I "X="?\->\Mat A[I,1] "Y="?\->\Mat A[I,2] \Next {2N,2}\->\Dim \Mat D 0\->I 0\->J \Lbl 5 J+1\->J I+1\->I \ClrText \Locate 6,6,"Joint" \Locate 13,6,J "X Fixed?(0=FX 1=FR)"?\->\Mat D[I,1] I+1\->I "Y Fixed?(0=FX 1=FR)"?\->\Mat D[I,1] \If I\<>2N \Then \Goto5 \Else \Goto6 \Lbl 6 \ClrText "Number of Elements"?\->M {M,4}\->\Dim \Mat B \For 1\->I \To M \ClrText \Locate 6,6,"ELMT" \Locate 12,6,I "1ST Joint"?\->\Mat B[I,1] "2ST Joint"?\->\Mat B[I,2] "E="?\->\Mat B[I,3] "A="?\->\Mat B[I,4] \Next \ClrText {M,3}\->\Dim \Mat L \For 1\->I \To M \sqrt(((\Mat A[\Mat B[I,2],2])-(\Mat A[\Mat B[I,1],2]))\x^2+((\Mat A[\Mat B[I,2],1])-(\Mat A[\Mat B[I,1],1]))\x^2)\->\Mat L[I,1] ((\Mat A[\Mat B[I,2],2])-(\Mat A[\Mat B[I,1],2]))/\Mat L[I,1]\->\Mat L[I,2] ((\Mat A[\Mat B[I,2],1])-(\Mat A[\Mat B[I,1],1]))/\Mat L[I,1]\->\Mat L[I,3] \Next {N,4}\->\Dim \Mat N 0\->C \For 1\->I \To N C+1\->C C\->\Mat N[I,1] C+1\->C C\->\Mat N[I,2] \Next 2*N\->Q {2N,3}\->\Dim \Mat P "No of Loaded Joints"?\->O \For 1\->I \To O \Locate 6,6,"NO" \Locate 9,6,I "Number of Joint"?\->C "Px="?\->\Mat P[\Mat N[C,1],1] "Py="?\->\Mat P[\Mat N[C,2],1] \Next \ClrText "PLEASE WAIT..." {Q,Q}\->\Dim \Mat S \For 1\->I \To M (\Mat L[I,3])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,1],1]]\->\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,1],1]] (\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,1],1]]\->\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,1],1]] -(\Mat L[I,3])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,1],1]]\->\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,1],1]] -(\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,1],1]]\->\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,1],1]] (\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,1],2]]\->\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,1],2]] (\Mat L[I,2])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,1],2]]\->\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,1],2]] -(\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,1],2]]\->\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,1],2]] -(\Mat L[I,2])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,1],2]]\->\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,1],2]] -(\Mat L[I,3])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,2],1]]\->\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,2],1]] -(\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,2],1]]\->\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,2],1]] (\Mat L[I,3])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,2],1]]\->\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,2],1]] (\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,2],1]]\->\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,2],1]] -(\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,2],2]]\->\Mat S[\Mat N[\Mat B[I,1],1],\Mat N[\Mat B[I,2],2]] -(\Mat L[I,2])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,2],2]]\->\Mat S[\Mat N[\Mat B[I,1],2],\Mat N[\Mat B[I,2],2]] (\Mat L[I,2]*\Mat L[I,3])*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,2],2]]\->\Mat S[\Mat N[\Mat B[I,2],1],\Mat N[\Mat B[I,2],2]] (\Mat L[I,2])\x^2*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]+\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,2],2]]\->\Mat S[\Mat N[\Mat B[I,2],2],\Mat N[\Mat B[I,2],2]] \Next 0\->Z \For 1\->I \To 2N \If \Mat D[I,1]=1 \Then Z+1\->Z I\->\Mat P[Z,2] \IfEnd \Next {Z,1}\->\Dim \Mat E {Z,Z}\->\Dim \Mat Z \For 1\->I \To Z \For 1\->J \To Z \Mat S[\Mat P[I,2],\Mat P[J,2]]\->\Mat Z[I,J] \Next \Mat P[\Mat P[I,2],1]\->\Mat E[I,1] \Next 0\->H \For 1\->I \To 2N \If \Mat D[I,1]=0 \Then H+1\->H I\->\Mat P[H,3] \IfEnd \Next {H,Z}\->\Dim \Mat H \For 1\->I \To H \For 1\->J \To Z \Mat S[\Mat P[I,3],\Mat P[J,2]]\->\Mat H[I,J] \Next \Next {Z,2}\->\Dim \Mat V \Augment(\Mat Z,\Mat E)\->\Mat Z \For 1\->K \To Z-1 \Mat Z\->\Mat U \For K+1\->I \To Z \For K\->J \To Z+1 \Mat Z[I,J]-\Mat U[I,K]*\Mat U[K,J]/\Mat U[K,K]\->\Mat Z[I,J] \Next \Next \Next \For Z\->I \To 1 \Step -1 \For I+1\->J \To Z \Mat Z[I,J]*\Mat V[J,1]+\Mat V[I,2]\->\Mat V[I,2] \Next (\Mat Z[I,Z+1]-\Mat V[I,2])/\Mat Z[I,I]\->\Mat V[I,1] \Next {Z,1}\->\Dim \Mat U \For 1\->I \To Z \Mat V[I,1]\->\Mat U[I,1] \Next \Mat H*\Mat U\->\Mat G 0\->W \For 1\->I \To 2N \If \Mat D[I,1]=1 \Then W+1\->W \Mat V[W,1]\->\Mat D[I,2] \IfEnd \Next {4,4}\->\Dim \Mat M {4,1}\->\Dim \Mat K {4,1}\->\Dim \Mat J {M,1}\->\Dim \Mat I \For 1\->I \To M \Mat L[I,3]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[1,1] \Mat L[I,2]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[1,2] -\Mat L[I,3]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[1,3] -\Mat L[I,2]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[1,4] -\Mat L[I,3]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[3,1] -\Mat L[I,2]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[3,2] \Mat L[I,3]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[3,3] \Mat L[I,2]*\Mat B[I,3]*\Mat B[I,4]/\Mat L[I,1]\->\Mat M[3,4] \Mat D[\Mat N[\Mat B[I,1],1],2]\->\Mat K[1,1] \Mat D[\Mat N[\Mat B[I,1],2],2]\->\Mat K[2,1] \Mat D[\Mat N[\Mat B[I,2],1],2]\->\Mat K[3,1] \Mat D[\Mat N[\Mat B[I,2],2],2]\->\Mat K[4,1] \Mat M*\Mat K\->\Mat J \Mat J[3,1]\->\Mat I[I,1] \Next \Lbl 1 \ClrGraph \Text 10,10,"TO VIEW PRESS KEY RELATED" \Text 20,36,"DISPLACEMENT=D" \Text 30,47,"FORCE=F" \Text 40,38,"REACTIONS=R" \Text 50,36,"VIEW TRUSS=V" 1\->J \Lbl 4 \Getkey\->\r \If \r=46 \Then \Goto2 \Else \If \r=26 \Then \Goto3 \Else \If \r=53 \Then \Goto7 \Else \If \r=62 \Then 0\->X:0\->Y:0\->S:0\->T \For 1\->I \To N \If \Mat A[I,1]\>=X \Then \Mat A[I,1]\->X \Else \If \Mat A[I,1]\<=S \Then \Mat A[I,1]\->S \IfEnd:\IfEnd \If \Mat A[I,2]>Y \Then \Mat A[I,2]\->Y \Else \If \Mat A[I,2]\<=T \Then \Mat A[I,2]\->T \IfEnd:\IfEnd \Next \ClrGraph \ViewWindow S,X,1,T-1,Y,1,0,1,200 \AxesOff \For 1\->I \To M \F-Line \Mat A[\Mat B[I,1],1],\Mat A[\Mat B[I,1],2],\Mat A[\Mat B[I,2],1],\Mat A[\Mat B[I,2],2] \Next \Plot \Disp \Goto1 \Else \Goto4 \IfEnd:\IfEnd:\IfEnd:\IfEnd \Lbl 2 \ClrText \Locate 1,2,"D =" \Locate 2,2,\Mat P[J,2] \Locate 5,2,\Mat V[J,1] \Locate 5,6,"Use Up & \Down" \Locate 5,7,"ESC f\or back" \Lbl 8 \Getkey\->\r \If \r=37 \Then \If JJ \IfEnd \Goto2 \Else \If \r=28 \Then \If J>1 \Then J-1\->J \IfEnd \Goto2 \Else \If \r=47 \Then \Goto1 \Else \Goto8 \IfEnd \IfEnd \Lbl 3 \ClrText \Locate 1,2,"N =" \Locate 2,2,J \Locate 5,2,\Mat I[J,1] \Locate 5,6,"Use Up & \Down" \Locate 5,7,"ESC f\or back" \Lbl 9 \Getkey\->\r \If \r=37 \Then \If JJ \IfEnd \Goto3 \Else \If \r=28 \Then \If J>1 \Then J-1\->J \IfEnd \Goto3 \Else \If \r=47 \Then \Goto1 \Else \Goto9 \IfEnd \IfEnd \Lbl 7 \ClrText \Locate 1,2,"R =" \Locate 2,2,\Mat P[J,3] \Locate 5,2,\Mat G[J,1] \Locate 5,6,"Use Up & \Down" \Locate 5,7,"ESC f\or back" \Lbl 0 \Getkey\->\r \If \r=37 \Then \If JJ \IfEnd \Goto7 \Else \If \r=28 \Then \If J>1 \Then J-1\->J \IfEnd \Goto7 \Else \If \r=47 \Then \Goto1 \Else \Goto0 \IfEnd \IfEnd \@00 %End