martes, 13 de noviembre de 2012

Diseño de escaleras.

Esta vez, como siempre, estoy liado con mi casa de pueblo y necesito construir una pequeña escalera, poco mas de 60 centímetros de altura. Me vale el modelo mas sencillo, tipo la de la foto. Hay un método gráfico que permite dibujar el perfil de una escalera de este tipo. He preparado un excel que calcula y dibuja el perfil de este tipo de escaleras y nos da los puntos a tener en cuenta sobre la zanca (lateral de la escalera).
Esto nos permite ejercitarnos en el manejo de gráficas xy con rango variable y el nos permite refrescar algunos conceptos de  trigonometrìa en excel.

Terminolgía: (Buscada en Internet)
Huella : Ancho del peldaño.
Contrahuella o tabica: Altura del peldaño.
Zanca: Lateral de la escalera. Entre dos zancas se colocan los peldaños.

Variables y rangos con nombre utilizados:

Altura =Datos!$A$2
APeld=Datos!$H$2
CosA=Tabica/Hipo
* GrafX=DESREF(Calc!$A$13;0;0;1;2*NE+1)
* GrafXR=DESREF(Calc!$A$19;0;0;1;2*NE+1)
* GrafY=DESREF(Calc!$A$14;0;0;1;2*NE+1)
* GrafyR=DESREF(Calc!$A$20;0;0;1;2*NE+1)
GZanca=Datos!$I$2
Hipo=RAIZ(Huella^2+Tabica^2)
Hipotenusa2=RAIZ(Tabla^2+Hipo^2)
Huella=Datos!$B$2
Long=Huella*NE
MaxY=Tabla!$B$6
NE=Datos!$C$2
SenA=Huella/Hipo
Tabica=Altura/NE
Tabla=Datos!$F$2
* TabX=DESREF(Tabla!$B$2;0;0;1;2*(NE+1)+1)
* TabXR=DESREF(Tabla!$B$4;0;0;1;2*(NE+1)+1)
* TabY=DESREF(Tabla!$B$3;0;0;1;2*(NE+1)+1)
* TabYR=DESREF(Tabla!$B$5;0;0;1;2*(NE+1)+1)
Xi1=Calc!$C$2
Yi1=Calc!$D$2

* Rangos variables en gráficos.


El perfil de la escalera sobre la zanca se puede dibujar mediante este método gráfico:

  • Sobre la tabla que hace de zanca, o sobre un papel o dibujamos la huella y su perpendicular, la tabica o contrahuella y trazamos la hipotenusa del triangulo rectángulo formado por ellas.
  • Llevamos esa distancia al lateral de la tabla, una vez por escalón. En el dibujo son las distancias AB, BC, CD, etc.
  • Desde B,C,D,E, con un compás o con una cuerda trazamos un arco de radio igual a la tabica. 
  • Toda esta operación con el compás  nos la podemos ahorrar dibujando y recortando el triángulo definido por la huella y la tabica y llevando sucesivamente los tres vértices a la tabla para cada escalón
  • Desde A,B,C,D con un compás o con una cuerda trazamos un arco de radio igual a la huella.
  • Las distintas  intersecciones, junto a los puntos A,B..., nos definen los peldaños. Unimos A-I1-B, B-I2-C, etc
  • Prolongamos la recta A-I1 hasta el otro lado de la tabla que forma la zanca, hasta A'. El trozo de tabla por debajo de esa línea se puede cortar o utilizar como anclaje al suelo.
  •  Prolongamos la recta, desde el último punto, en este caso E-I4 hasta el otro lado de la tabla que forma la zanca. El trozo de tabla a la derecha o por encima  de esa línea se puede cortar o utilizar como anclaje a la pared.
  • Si lo dibujamos escala, comprobaremos que la distancia EG se corresponde con la altura de la escalera. La distancia AG se corresponde con huella*NE, donde NE es el número de escalones.
El libro Excel no supone un gran avance respecto al método gráfico de diseño de escaleras, aunque siempre facilita algo el trabajo. El libro  está pensado para ejercitarse en gráficos Excel con rango variable, en la rotación de ejes y en el manejo de algunos conceptos de trigonometría:

Gráfico PerfilZanca. Este gráfico requiere unos cálculos, que realizo en la hoja "Calc".

  •  La hipotenusa del peldaño la calculo directamente por Pitágoras en la variable Hipo. 
  • Yo suelo utilizar para gráficos XY los valores de X e Y en columnas, pero e este caso los he colocado en línea.
  •  Los valores de Y (línea 14, hoja Calc) se corresponden con los valores de Y para los puntos A,B,C... , intercalados con los valores de Y para I1,I2,I3,... . Conocido el primer valor de Y  hay mas que sumar  a ese valor,la constante Hipo. Los primeros valores de Y son: 0, Y de I1, Hipo, este tercer valor mas YI1, tercer valor mas Hipo y así sucesivamente
  • Los valores de X (línea 13, hoja Calc) son alternativamente 0 y el valor que corresponda con el X de I1.
  • Preparo las variables  GrafX y GrafY, que  las utilizo  para dibujar el diente de sierra de los peldaños, en este caso primera serie: =SERIES(Aux!$A$2;Escalera.xls!GrafX;Escalera.xls!GrafY;1)
  • La serie de datos que dibuja la supuesta zanca la he colocado en la hoja Tabla, rango B9:F10. Lo único  resaltable es la utilización de un rango variable con nombre dentro de la función MAX(GrafY).
  • Los datos de la tercera serie, los limites, están en la hoja Calc, rango A16:C17. Os invito a que os peleéis la fórmula matemática.
  • La presentación de un gráfico XY, o al menos de este tipo de gráfico, conviene que las unidades para X tengan aproximadamente el mismo tamaño que las unidades de Y. Para forzar esta igualdad de tamaño introduzco dos series de un solo punto, uno situado en el eje X y otro situado en el eje Y, con el mismo valor, valor que se corresponde, para este gráfico, con el valor máximo del rango GrafY (hoja Tabla, celdas B6 y B7)
  • Una vez incluidas las series modifiqué el tamaño del área de trazado para que ambos ejes fuesen aproximadamente del mismo tamaño, que el valor máximo de ambos ejes fuese automático y los demás temas relacionados con el aspecto del gráfico.
Gráfico "Alzado": Representa el perfil de las escalera una vez puesta en su sitio. Son los mismos datos y las mismas series que aparecen en el gráfico "PerfilZanca" pero rotados. Las formulas para calcular los nuevos valores de X e Y de una rotación de ejes cartesianos se pueden encontrar facilmente en internet. En este caso el giro de ejes es según las agujas del reloj. El algoritmo es similar al gráfico anterior, pero con los valores rotados (GrafXR, GrafYR, valores tabla y valores truco) En este caso el valor  máximo de las dos series, digamos truco, pude ser el valor máximo de la Y rotada o el valor máximo de la X rotada. Para calcular este valor máximo utilizo la formula:
=ENTERO(MAX(MAX(B4:L4);MAX(B5:L5))/10)*10+10
En donde además de calcular ese máximo hago un redondeo y un incremento de 10. Este máximo, que es el valor máximo de dos rangos no consecutivos tenía que haberlo calculado con :
MAX(B4:L4;C5:L5)






Edición de una línea en modo ficha. Interesante pero, de momento, fallido método.


El objetivo del trabajo es el de presentar y editar el contenido de una línea de excel en una ficha. Como aun estoy en los preliminares de este trabajo, para desplazarme por las distintas líneas del área de datos utilizo una barra de desplazamiento, aunque también se puede acceder directamente a una línea determinada. El trabajo funciona correctamente, es decir presenta los datos existentes, permite modificarlos y recoge las modificaciones realizadas hasta el momento en que se guarda y se cierra el libro. Al volver a abrir el libro ya no funciona, hay que reescribir la dirección de la celda vinculada para que vuelva a funcionar.
Para realizar la ficha utilizo cuadros de texto del cuadro de controles y para vincular los distintos cuadros de texto con una celda variable utilizo unos rangos con nombre, insertar->nombre->definir Campo1 =INDIRECTO("datos!$a$" & Nr), donde Nr es el número de línea. He probado otras maneras de referenciar la celda vinculada, como en campo8b (=INDICE(Lin;8)) y campo8c (=INDIRECTO("datos!$h$" & Aux!$A$1)). He utilizado la función Desref, pero al recargar el libro, el mecanismo ya no funciona, para que funcione de nuevo hay que volver a escribir la propiedad LinkedCell del cuadro de texto.
Las variables siguen funcionando, como se puede ver en la celda J1, pero el vínculo con el cuadro de texto no. 
Actualmente yo sigo trabajando con el excel de office 2003