Coordenadas de los nudos de una
estructura espacial.
|
Estructura espacial |
|
Planta de estructura espacial |
Un programa
que calcule una cercha espacial como son las típicas estructuras trianguladas
de dos capas presentan un primer problema que consiste en dar coordenadas a
todos los nudos, que pueden ser cientos, y listar las barras, que pueden llegar
también a varios cientos.
Para automatizar este proceso en estructuras similares a la
que se indica en el dibujo primero tendremos que deducir las ecuaciones que
describen sus secuencias, que en este caso es bastante regular. Suponiendo un
modulo regular, como es habitual, para cada dirección, lo cual hace que el
algoritmo sea más general, se han formado tablas de varios casos simples, como
este de 3 tramos en cada dirección, con dimensiones a y b para cada tramo de
cada dirección:
La dirección horizontal es x, con `ta=3` tramos de dimensión a
cada uno. La dirección vertical es y, con `tb=3` tramos de dimensión b cada uno.
La dirección z es perpendicular a este plano, a distancia c de altura en los
nudos 5,6,7,12,13,14, 19,20 y 21.
Coordenadas de los nudos
|
x
|
y
|
z
|
|
x
|
y
|
z
|
|
x
|
y
|
z
|
|
x
|
y
|
z
|
1
|
0
|
0
|
0
|
2
|
a
|
0
|
0
|
3
|
2a
|
0
|
0
|
4
|
3a
|
0
|
0
|
5
|
a/2
|
b/2
|
c
|
6
|
3a/2
|
b/2
|
c
|
7
|
5a/2
|
b/2
|
c
|
|
|
|
|
8
|
0
|
b
|
0
|
9
|
a
|
b
|
0
|
10
|
2a
|
b
|
0
|
11
|
3a
|
b
|
0
|
12
|
a/2
|
3b/2
|
c
|
13
|
3a/2
|
3b/2
|
c
|
14
|
5a/2
|
3b/2
|
c
|
|
|
|
|
15
|
0
|
2b
|
0
|
16
|
a
|
2b
|
0
|
17
|
2a
|
2b
|
0
|
18
|
3a
|
2b
|
0
|
19
|
a/2
|
5b/2
|
c
|
20
|
3a/2
|
5b/2
|
c
|
21
|
5a/2
|
5b/2
|
c
|
|
|
|
|
22
|
0
|
3b
|
0
|
23
|
a
|
3b
|
0
|
24
|
2a
|
3b
|
0
|
25
|
3a
|
3b
|
0
|
Numero de nudos: ndn = `(ta+1)·(tb+1)+ta·tb =
ta·tb+ta+tb+1+ta·tb = 2·ta·tb+ta+tb+1`
Barras (En columnas de series de barras de la misma dirección)
Horizontales
|
|
diagonales Inclnadas
a izquierda
|
diagonales inclinadas
a derecha
|
|
|
verticales
|
diagonales en el
plano
|
1.2
|
|
|
1.5
|
|
|
1.8
|
1.9
|
2.3
|
|
2.5
|
2.6
|
|
|
2.9
|
2.10
|
3.4
|
|
3.6
|
3.7
|
|
|
3.10
|
3.11
|
|
|
4.7
|
|
|
|
4.11
|
|
5.6
|
|
5.8
|
5.9
|
|
|
5.12
|
5.13
|
6.7
|
|
6.9
|
6.10
|
|
|
6.13
|
6.14
|
|
|
7.10
|
7.11
|
|
|
7.14
|
|
8.9
|
|
|
8.12
|
|
|
8.15
|
8.16
|
9.10
|
|
9.12
|
9.13
|
|
|
9.16
|
9.17
|
10.11
|
|
10.13
|
10.14
|
|
|
10.17
|
10.18
|
|
|
11.14
|
|
|
|
11.18
|
|
12.13
|
|
12.15
|
12.16
|
|
|
12.19
|
12.20
|
13.14
|
|
13.16
|
13.17
|
|
|
13.20
|
13.21
|
|
|
14.17
|
14.18
|
|
|
14.21
|
|
15.16
|
|
|
15.19
|
|
|
15.22
|
15.23
|
16.17
|
|
16.19
|
16.20
|
|
|
16.23
|
16.24
|
17.18
|
|
17.20
|
17.21
|
|
|
17.24
|
17.25
|
|
|
18.21
|
|
|
|
18.25
|
|
19.20
|
|
19.22
|
19.23
|
|
|
|
|
20.21
|
|
20.23
|
20.24
|
|
|
|
|
|
|
21.24
|
21.25
|
|
|
|
|
22.23
|
|
|
|
|
|
|
|
23.24
|
|
|
|
|
|
|
|
24.25
|
|
|
|
|
|
|
|
a= ancho de
la barra horizontal
b = ancho
de la barra vertical
c= altura o
canto de la estructura
ta = numero
de tramos en dirección horizontal
tb = idem
en dirección vertical
Tamaño de
los tramos de las series verticales que se repiten: 2·ta+1 = 2·3+1= 7
Tamaño de
la primera serie (horizontales):
(tb -1)·(2·ta
+1)+3·ta+2-1 = 2·ta·tb+tb-2·ta-1+3·ta+2 -1 = 2·ta·tb+ta+tb+1-1 = ndn-1
Numero de barras:
Nba = ta·(tb+1) + tb·(ta+1) + 4·ta·tb + (ta-1)·tb+1-1) +
(tb-1)·(ta+1-1) + 1=
ta·(tb+1+tb-1)
+ tb·(ta+1+ta-1) + 4·ta·tb + 2*ta·tb -ta - tb +1=
2ta·tb
+2·ta·tb + 4·ta·tb +2·ta·tb -ta - tb +1
= 10·ta·tb
-ta - tb + 1
Vemos que
las secuencias que se repiten, en cada serie son distintas aunque parecidas.
Empezaremos por las coordenadas de los nudos, suponiendo la estructura plana:
for n=1 to
tb 'numero de secuencias idénticas en dirección b
(vertical)
for m=1 to 2*ta+1 'numero de nudos en cada serie horizontal contando los dos
planos de la cercha
w=m+(2*ta+1)*(n-1) 'numeración correlativo de los nudos
en los dos planos simultáneamente para reducir el tamaño de la
'matriz de calculo (diferencia máxima entre los números de los extremos
de cada barra.)
if m'si se trata de nudos de la capa
inferior
x(w)=a*(m-1) : y(w)=b*(n-1) : z(w)=0
else
'si se trata de nudos de la capa
superior
x(w)=a*(2*(m-(ta+1))-1)/2 :
y(w)=b*(2*n-1)/2 : z(w)=c
end if
next
next
for m=1 to
ta+1
'este bucle
reproduce el caso de nudos en la capa inferior para la ultima fila.
w=m+(2*ta+1)*(tb)
x(w)=a*(m-1) : y(w)=b*(tb) : z(w)=0
next
La
coordenada x es la correspondiente a
la dirección de a, y corresponde a
la dirección de b, z es el canto c. Como se ve la última secuencia de nudos se ha
sacado del bucle principal para mayor claridad, aunque podría incluirse con algunas
modificaciones en dicho bucle.