input "Escribe el nombre del fichero (sin la extension) " ff$
f$=ff$,".res"
dim k(30), l(30), b(30), h(30), q(30), c(30), p(30)
open "I" f$
finput t
for n=1 to (3*t+1)
finput l(n)
l(n)=l(n)*100
finput b(n)
finput h(n)
next
' Terminacion izquierda con voladizo
if l(1)>0 then
>: [100+l(1)-h(3)/2][900]
>pr [0][0]
>pr [-l(1)+h(3)/2][0]
>pr [0][-h(1)]
>pr [l(1)-h(3)/2][0]
>pr [0][-125+h(1)]
>v
>pr [-160][0]
>pr [150][0]
>t [b(1)]["x"][h(1)]
>moverel [10][0]
end if
' Terminacion izquierda sin voladizo
if l(1)=0 then
>: [100-h(3)/2][900]
>pr [0][-125]
>v
end if
' Parte baja de las jacenas
for n=2 to t
if l(3*n-2)>0 then
>pr [h(3*n-3)][0]
>pr [0][125-h(3*n-2)]
>pr [l(3*n-2)-h(3*n-3)/2-h(3*n)/2][0]
>pr [0][-125+h(3*n-2)]
>v
>pr [-l(3*n-2)/2-80][0]
>pr [150][0]
>t [b(3*n-2)]["x"][h(3*n-2)]
>moverel [l(3*n-2)/2-70][0]
end if
next
' Terminacion derecha con voladizo
t=t+1
if l(3*t-2)>0 then
>pr [h(3*t-3)][0]
>pr [0][125-h(3*t-2)]
>pr [l(3*t-2)-h(3*t-3)/2][0]
>pr [0][h(3*t-2)]
>pr [-l(3*t-2)+h(3*t-3)/2][0]
>pr [0][0]
>v
>pr [10][-175]
>pr [150][0]
>t [b(3*t-2)]["x "][h(3*t-2)]
>moverel [-160][175]
end if
' Terminacion derecha sin voladizo
if l(3*t-2)=0 then
>pr [h(3*t-3)][0]
>pr [0][125]
>v
end if
' Parte alta de las vigas
t=t-1
>movexy [100+l(1)-h(3)/2][900]
for n=2 to t
if l(3*n-2)>0 then
>pr [h(3*n-4)][0]
>pr [0][0]
'x5=(h(3*n-3)+h(3*n))/2
x5=(h(3*n-3))/2
x2=l(3*n-2)-x5
' x2=l(3*n-2)
'x3=h(3*n-3)-h(3*n-4)
x3=h(3*n-3)
'x4=h(3*n)-h(3*n-1)
x4=h(3*n)
if n=2 then
x1=x2+x3
x1=x1+x4/2
>pr [x1][0]
>pr [0][0]
>v
end if
if n>2 then
if n
x1=x2+x3/2
x1=x1+x4/2
>pr [x1][0]
>pr [0][0]
>v
end if
end if
if n=t then
x1=x2+x3/2
x1=x1+x4
>pr [x1][0]
>pr [0][0]
>v
end if
end if
next
for n=1 to t
finput k$
if n=1 then >: [100+l(1)-30][650]
if n>1 then >pr [l(3*n-2)][0]
>pr [60][0]
>pr [-60][80]
>t [k$]
>moverel [0][-80]
next
j=t+1
ja=3*j-2
ji=3*j
je=3*j-4
dim ac(j)
dim nr(2*ji)
dim dr(2*ji)
dim se(ja)
dim le(ja)
' datos de armaduras
FOR n=1 TO j
finput ac(n)
NEXT
'
finput nr(3)
finput dr(3)
FOR n=2 TO t
finput nr(3*n-2)
finput dr(3*n-2)
finput nr(3*n-1)
finput dr(3*n-1)
finput nr(3*n)
finput dr(3*n)
NEXT
finput nr(ja)
finput dr(ja)
'
' negativos del voladizo izquierdo
if l(1)>0 then
FOR m=1 TO nr(3)
finput lr
x1=100+l(1)-110
x2=100*(11+nr(3)-m+0.1)
>: [x1][x2]
>pr [100][0]
>t ["1R"][dr(3)]
>pr [-60][-35]
>pr [60][0]
>t [lr]
>pr [10][25]
>pr [-lr][0]
>v
NEXT
end if
lt=l(1)
' Negativos de las vigas
FOR n=2 TO t
FOR m=1 TO nr(3*n-2)
finput lr
x1=100+lt+10
x2=100*(11+nr(3*n-2)-m+0.1)
>: [x1][x2]
>pr [100][0]
>t ["1R"][dr(3*n-2)]
>pr [-100][-35]
>pr [60][0]
>t [lr]
>pr [-70][25]
>pr [lr][0]
>v
NEXT m
lt=lt+l(3*n-2)
FOR m=1 TO nr(3*n)
finput lr
x1=100+lt-110
x2=100*(11+nr(3*n)-m+0.1)
>: [x1][x2]
>pr [100][0]
>t ["1R"][dr(3*n)]
>pr [-60][-35]
>pr [60][0]
>t [lr]
>pr [10][25]
>pr [-lr][0]
>v
NEXT m
NEXT n
' Negativos del voladizo derecho
FOR m=1 TO nr(ja)
finput lr
x1=100+lt+10
x2=100*(11+nr(ja)-m+0.1)
>: [x1][x2]
>pr [100][0]
>t ["1R"][dr(ja)]
>pr [-100][-35]
>pr [60][0]
>t [lr]
>pr [-70][25]
>pr [lr][0]
>v
NEXT m
finput dai
' Armadura constructiva superior
p=1000
ar=10
gosub constru
' Armadura constructiva inferior
p=600
ar=dai
gosub constru
' Positivos
lt=l(1)
rp=0
FOR n=2 TO t
if rp
nr=nr((3*n-1))
if nr>0 then
FOR m=1 TO nr
finput lr
finput pr
finput tr
if tr>0 then
x1=100+lt+lr+tr/2-50
x2=100*(6-m+0.1)
>: [x1][x2]
>pr [100][0]
>t ["1R"][dr(3*n-1)]
'>pr [-80-lr/2-tr/2][-35]
'>pr [60][0]
''if lr>0 then >t [lr]
'if lr>0 then >t ["."]
'if lr=0 then >t ["·"]
''>pr [lr/2+tr/2-60][0]
>pr [-80][-35]
>pr [60][0]
>t [tr]
>: [100+lt+lr][x2-10]
>pr [tr][0]
>v
end if
NEXT m
end if
lt=lt+l(3*n-2)
NEXT n
' Estribos
lt=0
FOR n=1 TO j
lt=lt+l(3*n-2)
x1=100+lt-(l(3*n-2))/2
y1=100*(5-rp)
if n>1 then
if n
>: [x1-125][y1]
>pr [250][0]
if l(3*n-2)>0 then >t ["Estribos D=8 mm."]
if l(3*n-2)=0 then >t ["·"]
end if
end if
finput se(3*n-2)
finput le(3*n-2)
if (se(3*n-2))>0 then
>: [x1-40][y1-50]
>pr [80][0]
if (se(3*n-2))>0 then >t ["c/"][se(3*n-2)]
if (se(3*n-2))=0 then >t["·"]
end if
IF n
finput se(3*n-1)
finput le(3*n-1)
if (se(3*n-1))>0 then
>: [100+lt-120][y1-50]
>pr [80][0]
if (se(3*n-1))>0 then >t ["c/"][se(3*n-1)]
if (se(3*n-1))=0 then >t ["·"]
end if
end if
IF n>1 THEN
finput se(3*n-3)
finput le(3*n-3)
if (se(3*n-3))>0 then
>: [100+lt-l(3*n-2)+40][y1-50]
>pr [80][0]
if (se(3*n-3))>0 then >t ["c/"][se(3*n-3)]
if (se(3*n-3))=0 then >t ["·"]
end if
end if
NEXT n
close
end
constru:
lt=0
For n=1 to j
lt=lt+l(3*n-2)
if l(3*n-2)>0 then
>: [100+lt-l(3*n-2)/2-50][p+10]
>pr [100][0]
>t [ac(n)]["R "][ar]
>pr [-100][-45]
>pr [100][0]
>pr [-100][30]
>t [l(3*n-2)]
>: [100+lt-l(3*n-2)][p]
>pr [l(3*n-2)][0]
>v
end if
NEXT
return
No hay comentarios:
Publicar un comentario