Modelos con tramos curvos WhitePaper Mayo de 2011 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna | Valencia | Spain T |+34| 96 338 99 66 [email protected] www.prefsuite.com Please Recycle PrefSuite Document PrefSuite www.prefsuite.com Contenidos 1. Propósito _____________________________________________ 3 2. Propiedades Avanzadas de los Materiales Base _______________________ 4 3. Variables Globales ________________________________________ 6 4. Evaluación de Modelos Curvos _________________________________ 7 5. Campo “Curvas” en Reglas de Barra ______________________________ 10 6. Acotar Modelos Curvos _____________________________________ 11 7. Partir Curvas por VB _______________________________________ 16 Modelos con tramos curvos | Whitepaper | 2 PrefSuite www.prefsuite.com 1. Propósito En PrefSuite es posible generar modelos con curvas. El hecho de fabricar modelos curvos, implica por parte de la empresa el hecho de aumentar la longitud del perfil a curvar, o de la mano de obra que empelada en la fabricación del modelo entre otras cosas. Estas y otras cuestiones son las que se explican paso por paso en este documento, que va destinado a los usuarios que se encargan de configurar los modelos para que sean útiles pare su correcto presupuestado y fabricación. Es necesario conocer previamente la gestión de escandallos, así como el entorno de PrefWise y de PrefCAD, principalmente. Modelos con tramos curvos | Whitepaper | 3 PrefSuite www.prefsuite.com 2. Propiedades Avanzadas de los Materiales Base En PrefWise hay que tener en cuenta una serie de propiedades que se definen para trabajar correctamente con las curvas: Orden de Curvado Es el tipo de curvado que presenta el perfil y que se puede usar en el escandallo de curvas para establecer diferentes incrementos por mano de obra en base al orden de curvado del perfil y el radio de curvatura. En este campo podremos introducir un texto que identifique el tipo de perfil de que se trata. Por ejemplo, para los marcos introduciríamos una "A", para los junquillos una "B", etc. Veamos un ejemplo de escandallo de curvas: SI [OPCION("PerfilCurva","RC180R")] SI [OPCION("OrdenDeCurvado","A")] MANOOBRA("Curvado", [4000]); FINSI SI [OPCION("OrdenDeCurvado","B")] MANOOBRA("Curvado", [5500]); FINSI SI [OPCION("OrdenDeCurvado","C")] MANOOBRA("Curvado", [6000]); FINSI SI [OPCION("OrdenDeCurvado","D")] MANOOBRA("Curvado", [4000]); FINSI SI [OPCION("OrdenDeCurvado","E")] MANOOBRA("Curvado", [5000]); FINSI SI [OPCION("OrdenDeCurvado","F")] MENSAJE("CONSULTAR PRECIO"); FINSI SI [OPCION("OrdenDeCurvado","G")] MANOOBRA("Curvado", [5000]); FINSI FINSI ENTONCES ENTONCES ENTONCES ENTONCES ENTONCES ENTONCES ENTONCES ENTONCES En este escandallo, si el tipo de curvado es “RC180R”, se generará un tiempo de mano de obra u otro en función del Orden de Curvado indicado para cada material en sus propiedades de PrefWise. Unir curvas Si dos tramos curvos de este material tienen la misma curvatura estos se unirán a la hora de curvar el material y después cortarse, ahorrándose un curvado por cada tramo. Forzar división del tramo curvo Los tramos curvos generados constan de una parte curva y una parte recta que es tangente a la curva y que se prolonga a partir de uno de sus extremos. Si queremos forzar la división de un tramo curvo en un tramo curvo estricto y otro tramo recto marcaremos esta opción. Modelos con tramos curvos | Whitepaper | 4 PrefSuite www.prefsuite.com Número de tramos en que se divide una curva de 360º Los tramos circulares, curvos de 360º, se generarán en un solo tramo a menos que indiquemos aquí en cuantos tramos curvos estrictos deben separarse. Figura 1. Propiedades de las Curvas Modelos con tramos curvos | Whitepaper | 5 PrefSuite www.prefsuite.com 3. Variables Globales Pérdida en curvadora Se indican los milímetros de material que se pierden al aplicar un radio de curvatura determinado sobre el mismo. De este modo se generarán los materiales con esos milímetros de más. Es decir, la pérdida lineal en perfiles curvos soldados. Esta variable se da de alta en PrefWise desde el menú: Archivo > Variables Globales. Figura 2. Pérdida en Curvadora Modelos con tramos curvos | Whitepaper | 6 PrefSuite www.prefsuite.com 4. Evaluación de Modelos Curvos Para evaluar automáticamente modelos curvos existe un escandallo especial que es ejecutado automáticamente por PrefCAD, una vez por cada perfil curvado que encuentre en el modelo, sin necesidad de ser vinculado al modelo. Este escandallo tiene que llamarse Curvas y tiene que estar almacenado en el directorio raíz, es decir, con todos los niveles en blanco. Desde este escandallo están disponibles las variables: • Color. Variable COLOR. • Referencia. Variable Referencia. • Referencia final. Variable ReferenciaFinal. • Radio y longitud de cada tramo en la curva. • Niveles del perfil. • Tipo de curvado. Variable OrdenDeCurvado. • Tipo de perfil. Variable PerfilCurva. La variable PerfilCurva adopta como valor el código de la curva generado por PrefCAD para cada tipo de curva. El código de la curva, es una combinación de los siguientes valores: • R. Si el tramo es una recta. • C180. Si el tramo es un arco de medio punto. • C90. Si el tramo es un arco de 90º (p.ej. una esquina redondeada). • C360. Si el tramo es un ojo de buey. • C. Otro tipo de curva. • X. Para los tramos rectos añadidos por pérdida por curvatura que realmente no pertenecen a la curva. Diferencia entre R y X Cuando se hace una curva el programa puede añadir un trozo recto en cada extremo por perdidas por curvatura y se calcula el código de la curva después de añadir esta cantidad. Para diferenciar entre un modelo sólo curvo con el trozo recto añadido debido a la pérdida en curvatura y uno que tenga la curva y sus tramos rectos, se ha añadido la variable X. A continuación se visualiza un ejemplo: Modelos con tramos curvos | Whitepaper | 7 PrefSuite www.prefsuite.com Modelo Cuvo con Tramos Rectos: Figura 3. Curva con Tramos Rectos Modelo Curvo con pérdida por curvadora añadida: Figura 4. Curva con pérdida en Curvadora Modelos con tramos curvos | Whitepaper | 8 PrefSuite www.prefsuite.com Para cada tramo de curvado están disponibles las siguientes variables: • L1. Es la longitud del primer tramo de la curva. • R1. Es el radio del primer tramo de la curva. • L2. Es la longitud del segundo tramo de la curva. • R2. Es el radio del segundo tramo de la curva. Y así, sucesivamente. Es decir, en un arco de medio punto, L1 - R1 se refieren al tramo recto, L2 - R2 al arco y L3 -R3 al otro tramo curvo. Ver tipo de Curva Generado Desde PrefCAD se puede visualizar el tipo de curva que genera para cada tipo de curva. Se hace un modelo curvo y se generan materiales: Figura 5. Tipo de curva generado Figura 6. Tipo de curva generado Modelos con tramos curvos | Whitepaper | 9 PrefSuite www.prefsuite.com 5. Campo “Curvas” en Reglas de Barra El campo “Curvas” en las reglas de barra significa que esta regla se ejecutará tanto en tramos rectos como en tramos curvos. Si está desmarcado, las barras de esta regla de barra se generarán solo en los tramos rectos del modelo. Figura 1. Campo “Curvas” en reglas de barra Modelos con tramos curvos | Whitepaper | 10 PrefSuite www.prefsuite.com 6. Acotar Modelos Curvos La acotación de modelos curvos puede realizarse utilizando la acotación de PrefCAD, ya sea acotando automáticamente o acotando manualmente. Esta acotación automática es insuficiente en muchos casos, sobre todo en modelos con formas o delimitadores no verticales ni horizontales. Para ello, podemos utilizar la Edición de Formulas en Puntos. De esta forma, todos los puntos de nuestro modelo se comportarían exactamente en base a una fórmula matemática proporcionada por nosotros mismos. El propósito de este documento es mostrar cómo podemos asociar fórmulas a nuestro modelo. Se necesitan conocimientos matemáticos básicos previos sobre sistemas de coordenadas cartesianos y polares, aparte de conocimientos de edición de modelos en PrefCAD. En el documento WP206.3.053 – Fórmulas en Puntos está explicado todo el procedimiento para establecer las fórmulas en puntos. Ejemplo de cómo acotar un modelo curvo con fórmulas en puntos Tenemos este modelo inicial: Para que al modificar las cotas de este modelo, los tres travesaños mantengan su posición, es necesario establecer fórmulas en puntos. Sino establecemos fórmulas en puntos y queremos darle una longitud de 2000, se puede comprobar que la posición de los travesaños ya no es el centro de la longitud, ocurriendo lo siguiente: Modelos con tramos curvos | Whitepaper | 11 PrefSuite www.prefsuite.com Para que siempre se mantengan los travesaños en sus posiciones correctas, hay que realizar lo siguiente: Antes de acotar el modelo, en el momento este se encuentre dibujado en PrefCAD, desde el menú: Edición > Edición de Fórmulas: Aparecen todos los puntos del modelo, sobre los que se podrán indicar las fórmulas necesarias. Modelos con tramos curvos | Whitepaper | 12 PrefSuite www.prefsuite.com En nuestro ejemplo, empezamos seleccionando el punto P3, activándose los campos X e Y para establecer la fórmula: P1x indica que aunque se modifiquen las cotas, P3 con respecto al eje de las X siempre irá en el punto donde se encuentre P1. P0y indica que si varía el eje Y, P3 variará igual. Después de cada modificación en cada punto, hay que guardar. A continuación hay que hacer lo mismo con P5 y P7. Tanto a uno como a otro, le indicamos en el eje X y en el eje Y que sigan el mismo procedimiento que P3: Modelos con tramos curvos | Whitepaper | 13 PrefSuite www.prefsuite.com Ahora hay que indicar las fórmulas en los puntos P4, P6 y P8. En este caso, hay que indicar una fórmula polar. Seleccionamos el punto P4 y con el botón derecho del ratón se selecciona la opción de “Fórmula Polar”. En este caso, se le indica: o El origen de X. o El origen de Y. o La distancia. Se le indica una distancia arbitraria como pueda ser 100, ya que PrefCAD lo ejecuta automáticamente. o El ángulo formado. Para establecer el ángulo con el que se corresponde hay que tener en cuenta que una circunferencia tiene un ángulo de 2PI (2π radianes). Como el modelo es media circunferencia el ángulo es simplemente PI. Por otro lado, al dividir en 4 partes, tenemos tres postes. Para el punto P4 el ángulo es 3*PI/4, el valor de X es P3x y el valor de Y es P3y. Modelos con tramos curvos | Whitepaper | 14 PrefSuite www.prefsuite.com A continuación con P6 y P8 se sigue el mismo procedimiento, teniendo los mismos valores para X e Y pero con la diferencia de que para el punto P6 el ángulo es 2*PI/4 y para P8 el ángulo es PI/4. De esta forma, al modificar las medidas siempre se visualizará en la posición deseada. Modelos con tramos curvos | Whitepaper | 15 PrefSuite www.prefsuite.com 7. Partir Curvas por VB Hasta ahora el usuario no podía partir las curvas por el punto deseado, sino que las curvas se partían por la mitad cuando excedían la longitud de barra. Además esto tampoco era del todo correcto, porque podía ocurrir que la curva siguiera excediendo de la longitud después de ser partida. Por todo esto se han aplicado un par de cambios en el proceso de partir las curvas en PrefCAD: 1. Antes de partir la curva, PrefCAD lanzará el siguiente evento en el módulo MaterialModule: Public Sub OnSplitCurve(ByVal materials As IGeneratedMaterials, ByVal Curve As Curva) End Sub En este evento el usuario tiene la posibilidad de partir la curva por el punto deseado. Para ello se han creado las siguientes funciones: • Function Curva.SplitCurve(dX As Double, dY As Double) As Curva Esta función parte la curva en dos curvas distintas (modifica la actual y crea una nueva) por el punto indicado si este está en la curva, sino lo estuviera no partiría la curva. Retorna la nueva curva creada o Nothing si no se ha partido • Sub Polilinea.TravelDistance(dDistance As Double, pointX As Double, pointY As Double) Retorna las coordenadas del punto alcanzado en la polilínea al recorrer la distancia que le pasamos como parámetro. Esta función puede ser útil para saber el punto por el que tenemos que partir la curva si lo que conocemos es la distancia por la cual queremos partirla. Después de llamar el evento y haber partido las curvas desde VBA, las curvas se partirán si exceden la longitud de barra conforme esté definido el material en PrefWise, es decir, se puede partir en n partes iguales o partir n-1 barras con el tamaño de la longitud de barra y una barra con el resto. 2. Antes de partir cualquier tramo, PrefCAD lanzará el siguiente evento en el módulo ModelModule: Public Sub OnSplitPiece(ByVal model As IModelo, ByVal Piece As ITramo) End Sub En este evento el usuario tiene la posibilidad de partir el tramo por el punto deseado al igual que se haría al exceder por longitud de barra. Para ello se han creado las siguientes funciones: • Sub Tramo.SplitPiece(dX As Double, dY As Double) Esta función parte el tramo por el punto indicado. Si estuviera partida previamente partiría el tramo correspondiente (en el que se encuentre el punto a insertar). • Sub Tramo.SplitPieceEx(dInitialPointX As Double, dInitialPointY As Double, dFinalPointX As Double, dFinalPointY As Double) Esta función parte el tramo por los puntos indicados. Si estuviera partida previamente partiría el/los tramos correspondiente/s (en los que se encuentren los puntos a insertar). Modelos con tramos curvos | Whitepaper | 16