Solids Builder - Obtener propiedad
Obtener propiedad - obtiene el valor de las propiedades de los dispositivos conectados aguas arriba o aguas abajo del actual
dispositivo actual.
También permite obtener información que no aparece en la sección de propiedades del constructor, como la elevación superior de las estructuras:
La actividad Obtener propiedad tiene las siguientes propiedades:
- Nombre - nombre de la variable
El nombre de la variable debe ir a continuación de normas de denominación
- Índice - sólo se aplica en caso de Dispositivo de búsqueda para Entradas en este caso, introduzca el número de la entrada que desea buscar
Tenga en cuenta que el índice se basa en CERO.
- Tipo de variable - indica el tipo de la variable que se está creando.
Tenga en cuenta que el tipo creado puede no ser compatible con el tipo del valor obtenido, en cuyo caso provoca un error
- Nombre del parámetro - nombre de la propiedad que se va a buscar en el dispositivo (véase el tema Dispositivos / Categorización de propiedades para encontrar los nombres de las propiedades)
- Dispositivo de búsqueda - le indica qué dispositivo debe buscar:
- Dispositivo - el propio dispositivo que se está modelando
En este caso, esta actividad se utiliza para obtener información que no procedía del marco de creación de propiedades,
como la parte superior de los pozos de registro
- Entradas - buscar dispositivos conectados aguas arriba
se utiliza para obtener el nivel de llegada de tuberías en la arqueta, por ejemplo
- Salida - busca el dispositivo conectado a la salida del dispositivo que se está modelando
se utiliza para obtener la esconsidad de la tubería y aplicar el mismo valor al ala, si el dispositivo que se está modelando es un ala.
Esta actividad debe utilizarse conjuntamente con la actividad TryCatch porque puede causar errores de ejecución:
- En modo edición - Ocurre al editar el modelo.
Durante la edición, no hay ningún dispositivo que se esté modelando, por lo que no hay forma de obtener nada
- No hay dispositivo de salida - se produce cuando el buscar Dispositivo es igual a Salida pero no hay ningún dispositivo conectado a la salida
Por ejemplo, compruebe que el nivel de la tubería conectada a la salida es compatible con el nivel del fondo de la arqueta y ajuste el nivel del fondo si es necesario.
necesario
- El índice está fuera de rango - se produce cuando el buscar Dispositivo es igual a Entradas pero el Índice introducido
es menor que CERO, o mayor que el número de dispositivos conectados a la entrada menos 1 (el primer índice es cero)
- No hay ningún dispositivo de entrada en este índice - no debería producirse, ya que el error anterior prevé esta situación.
Sin embargo, podría ocurrir algo inesperado.
- Esta propiedad no existe - La propiedad introducida en el Nombre del parámetro no existe en el dispositivo
Ejemplo: buscar "CD" (nivel de la generatriz interna inferior descendente) en una escalera no tiene sentido en escaleras, sólo en tuberías
- La propiedad es de otro tipo - si la propiedad existe, puede ser de un tipo diferente y se produce este error
Ejemplo: la búsqueda de "PipeLines" en pipes devuelve un número entero, pero si se define el campo Tipo de variable a Punto provocará este error
porque no es posible convertir un número entero en un punto
Considere el ejemplo del principio.
Este ejemplo muestra el diagrama de flujo típico para obtener la cota más baja de la generatriz inferior aguas abajo de las tuberías conectadas a un pozo de registro:
El algoritmo es muy sencillo:
- Crear una variable para recibir el valor mínimo a calcular (CDmínimo), fijarlo en infinito positivo.
- Crea una variable incrementable (nInput), para obtener el enésimo dispositivo del flujo ascendente, ponla a CERO
- Obtener el valor de CDin del enésimo tubo
- Compara CDin con CDmínimo y si es más pequeño,
- Guardar el valor de CDin en CDmínimo
- Aumente el índice y
- Volver al paso 3
Nótese que este bucle no comprueba el número de dispositivos de la entrada, ni es necesario, ya que si intenta obtener el valor de CDin con un
índice mayor que el número de entradas, se producirá un error, que es interceptado por el bucle TryCatch
Si quieres obtener una propiedad del dispositivo actual, o de la salida, el bucle no tiene sentido.
Pero aún así deberías usar
TryCatch porque pueden producirse otros errores.
También tenga en cuenta que dependiendo de la propiedad que desee obtener, puede estar desactualizada en el momento en que se llame a esta actividad.
Este es el caso del ejemplo anterior, ya que la elevación "CD" sólo se actualiza cuando se reconstruye la tubería.
En este caso, sería mejor obtener el "Punto Final" y el "Diámetro" de la tubería, ya que estos generalmente no cambian durante la reconstrucción de la tubería, y luego calcular un
variable :
CD = Punto final.
Z - Diámetro / 2
Dónde:
CD = Elevación de la generatriz inferior interna en el extremo del tubo
EndPoint = coordenada del punto final del tubo
Diámetro = diámetro nominal o interior del tubo
Obsérvese también que, a efectos de la reconstrucción de la tubería, el eje tridimensional de la misma se sitúa en el centro de la sección transversal, por lo que Diámetro/2 en la ecuación anterior