Ejemplos de asignación de datos
Valores obligatorios y de valor predeterminado
Hay situaciones de intercambio de archivos en que ciertos campos de datos no deberían estar vacíos, o que cada campo de datos debe llevar un valor predeterminado. Incluya una constante al final de la fórmula de asignación de datos para confirmar que un campo de datos obligatorio siempre contiene un valor.
Fórmulas:
=FIRSTNONEMPTY(Style.'Function', 'NOTDEFINED')
=FIRSTNONEMPTY(OBJECTDATA('General Name'), Style.'Name', 'Roof')
Si debe aplicar valores predeterminados a todos los campos de datos, pero desea indicar valores específicos en caso de algunos objetos, genere un formato de registro y defina un valor predeterminado del campo que servirá de fuente de datos. Luego adjunte dicho registro solo a los objetos que tendrán los valores específicos, así puede modificar el valor predeterminado en el registro adjunto según sea necesario. Los objetos que no lleven el registro adjunto recibirán el valor predeterminado.
Fórmula:
=FIRSTNONEMPTY('Pricing Details'.'Discount', FORMATFIELD('Pricing Details','Discount'))
Combinación de campos y constantes
Puede usar fórmulas de asignación de datos para mejorar la legibilidad, añadir los prefijos o sufijos necesarios o combinar o calcular datos de fuentes varias.
En este ejemplo, se necesita una mejor descripción de una escalera mecánica incluyendo importante información sobre el fabricante y el ancho de escalón. También querrá agregar algunas palabras para mejorar la legibilidad.
Fórmula:
=CONCAT('Escalator: ', 'Escalator'.'Type', ' Width: ', 'Escalator'.'Step width')
Resultado:
Escalera mecánica Otis 510 M Ancho: 1000 (3' 3")
En otro ejemplo, se necesita establecer que el nombre del objeto de ventana provenga del nombre Vectorworks. Se deben combinar los campos Prefijo de ID, Etiqueta de ID y Sufijo de ID si no existe un nombre Vectorworks. Querrá usar la palabra “Ventana” para identificar la ventana si todos esos parámetros están vacíos.
Fórmula:
=FIRSTNONEMPTY(OBJECTDATA('General Name'), CONCAT('Window'.'IDPrefix', 'Window'.'IDLabel', 'Window'.'IDSuffix'), 'Window')
Resultado sin nombre Vectorworks:
W-01A1
Asignación de formatos de registro
Para adjuntar registros y datos personalizados automáticamente a los objetos de complemento de Vectorworks a medida que los agrega a un dibujo, cree un formato de registro con los campos de datos deseados. Luego asigne los campos a un valor, parámetro o estilo constante apropiado para ese objeto. De esta manera, le resultará más fácil usar varias funciones de Vectorworks para generar informes de datos de objetos, como hojas de cálculo, etiquetas de datos y visualizaciones de datos.
En este ejemplo, el formato de registro “Cálculos de armario” se creó y añadió como conjunto de datos para el objeto de complemento Armario bajo.
Longitud de encimera: se asignó al parámetro Longitud del armario, es decir, la medida lineal de la encimera.
Área de encimera: se agrega un volado de 50 mm a la encimera y se calcula el área correspondiente. Luego se divide en 1000 * 1000 para convertir el resultado de milímetros cuadrados en metros cuadrados. Las unidades de longitud y profundidad se expresan en milímetros.
Fórmula: =('Base Cabinet'.'Length' * ('Base Cabinet'.'Depth' + 50)) / 1000000
Contiguo a pared: no está asignado. En la pestaña Datos de la paleta Información del objeto, el usuario define si el armario va contiguo a una pared, en cuyo caso será necesario agregar un salpicadero.
Área del salpicadero: si necesita colocar un salpicadero, el área es 0,6 m (el ancho del panel del salpicadero) * longitud de la encimera/1000, para convertir de metros en milímetros). Advierta que la fórmula se refiere a dos campos adicionales en el mismo registro.
Fórmula: =IF(FIRSTNONEMPTY('Cálculos de armario'.'Contiguo a pared', FORMATFIELD('Cálculos de armario', 'Contiguo a pared')), (0.6*FIRSTNONEMPTY('Cálculos de armario'.'Longitud de encimera', FORMATFIELD('Cálculos de armario', 'Longitud de encimera'))/1000), 0)
Si elimina el formato de registro de la asignación, separará el registro de todas las instancias de armario bajo que aparezcan en el dibujo.
Si coloca un armario bajo en el dibujo, la pestaña Datos de la paleta Información del objeto muestra que los datos de registro se han adjuntado automáticamente. En cada campo asignado, el ajuste de configuración en la columna Edición ( ) controla cómo editar el campo.
Funciones
En este ejemplo, querrá la IfcWindow.OverallHeight en base a la configuración del objeto de ventana.
El parámetro Altura contiene el valor correcto siempre y cuando la ventana no tiene ningún alféizar o, si tiene un alféizar, es un tipo de alféizar de ladrillo. En cualquier otra situación, debe agregar el valor Altura de alféizar (4) a la altura de la ventana.
Fórmula:
='Window'.'OverallHeight' + IF('Window'.'IncludeSill' & ('Window'.'SillStyle' <> 'Brick'), 'Window'.'SillHeight', 0)
Resultado cuando no hay ningún alféizar o si el tipo de alféizar es ladrillo (agregando 0 al valor de Altura):
2000,0
Resultado cuando sí hay un alféizar y no es ladrillo (agregando 150,0 al valor de Altura):
2150,0
Asignación de fuentes de datos de asignación con función de selector
Los datos de IFC necesitan muchas clases de enumeración de campos de datos, como PredefinedType, OperationType, ShapeType, etc. A veces no hay correspondencia de uno a uno. Las configuraciones actuales difieren entre IFC, ningún origen de datos válido puede ser asignado directamente o los valores están en otro lenguaje.
En este ejemplo, use una de las funciones de selector para asignar la lista Configuración de la ventana al tipo de operación (OperationType) requerido del conjunto de datos Panel Ventana de IFC.
Fórmula:
=FIRSTNONEMPTY(IFS('Window'.'Configuration' = 'Opening', 'FIXEDCASEMENT',
'Window'.'Configuration' = 'Cased Opening', 'FIXEDCASEMENT',
'Window'.'Configuration' = 'Fixed Glass', 'FIXEDCASEMENT',
'Window'.'Configuration' = 'Fixed Glass - No Sash', 'FIXEDCASEMENT',
'Window'.'Configuration' = 'Single Hung', 'SLIDINGVERTICAL',
'Window'.'Configuration' = 'Double Hung', 'SLIDINGVERTICAL',
'Window'.'Configuration' = 'Casement', 'SIDEHUNGLEFTHAND',
'Window'.'Configuration' = 'Bi-parting Casement', 'SIDEHUNGLEFTHAND',
'Window'.'Configuration' = 'Horizontal Slider', 'SLIDINGHORIZONTAL',
'Window'.'Configuration' = 'Awning', 'TOPHUNG',
'Window'.'Configuration' = 'Hopper', 'BOTTOMHUNG',
'Window'.'Configuration' = 'Tilt/Turn', 'TILTANDTURNLEFTHAND',
'Window'.'Configuration' = 'Vertical Pivot', 'PIVOTVERTICAL'), NOTDEFINED')
Condiciones
Puede usar condiciones para manipular casos más complicados y para controlar con más precisión la disposición de los datos de IFC.
Condición para asignar estilos de pared a entidades distintas
Por ejemplo, quizás tenga un archivo con cuatro estilos de pared: ExternWall, InteriorWall, Footing y VirtualWall. En la asignación de datos del objeto de complemento de pared, agregue dos entidades principales: IfcCovering y IfcFooting. Valiéndose del campo Condición, defina una regla para asignar la entidad de IFC apropiada según el estilo de pared.
Fórmula:
=IF(Style.'Name'='ExternWall', 'IfcWallStandardCase', IF(Style.'Name'='InteriorWall', 'IfcCovering', IF(Style.'Name'='Footing', 'IfcFooting', 'No-Export')))
Resultado:
El archivo exportado contendrá paredes con una de las tres entidades de IFC, según el estilo de pared. Las paredes que tengan el estilo VirtualWall no se asignarán a nada y quedarán sin exportar.
Condición Pset de un objeto de losa
Fórmula:
=(FIND('Structural', Style.'Name')=0)
Resultado:
El Pset de clasificación se asociará con la losa si el nombre de Style del objeto de losa comienza con “Structural”.
Condición para exportar un objeto a entidades múltiples
Puede usar condiciones si va a exportar un solo objeto como entidades por separado. Aquí tiene una pared con componentes varios. Valiéndose del campo Función del estilo de pared, puede asignar otra entidad de IFC a cada componente durante la exportación.
Fórmula:
=IF(OBJECTDATA('Component', 'Function', T=INDEX)='Load-Bearing', 'IfcWallStandardCase', IF(OBJECTDATA('Component', 'Function', T=INDEX)='Inner Finish', 'IfcCovering', IF(OBJECTDATA('Component', 'Function', T=INDEX)='Outer Finish', 'IfcCovering', IF(OBJECTDATA('Component', 'Function', T=INDEX)='OTHER', 'IfcBuildingElementProxy', 'NoExport'))))
Resultado:
En el archivo IFC, la pared está representada por tres entidades distintas: dos IfcCoverings, IfcWallStandardCase, y IfcBuildingElementProxy. Queda sin exportar el componente indicado con la leyenda "intervalo de aire" como función.
Puesto que puede incluir paredes sin componente principal, ya que solo es posible visualizar una entidad en el panel Datos de la paleta Información del objeto, dicha entidad visualizada siempre es la asignada al primer componente. Este factor no afectará la exportación en este caso.
Símbolos y geometría a la medida
Para exportar símbolos y geometría a la medida, debe adjuntar datos de IFC o asignarlos para su exportación. La asignación de datos de IFC se basa en los ajustes de configuración de los tipos de entidad de IFC designados.
En el cuadro de diálogo Administrador de datos se agrega Pset_ColumnCommon y se mapea el campo Reference al nombre de clase del objeto. También se agregan valores fijos (TRUE) para IsExternal y LoadBearing.
Podrá ver la asignación predeterminada en la pestaña Datos en la paleta Información del objeto.
En el caso de símbolos, puede preparar asignaciones según la designación de IFC del símbolo o según el nombre de la definición de símbolo. En el Administrador de datos puede escoger la definición de símbolo y luego pulsar Agregar conjunto de datos para definir los conjuntos de datos de IFC necesarios que desee exportar. Por ejemplo, agregamos Pset_ManufacturerTypeInformation y luego asignamos todos los campos a valores fijos ya que son los mismos para todas las instancias de este símbolo.
Ahora, sin siquiera fijar datos de IFC a la definición de símbolo o a ninguna instancia de símbolo, el símbolo es exportado como un IfcFurnishingElement con Pset_ManufacturerTypeInformation. Podrá ver la asignación predeterminada en la pestaña Datos en la paleta Información del objeto.
Entidades primarias y secundarias
En el caso de objetos áridos, obtendrá mayor precisión con la disposición de los datos de IFC si usa entidades primarias y secundarias. En este ejemplo, el muro cortina tiene la entidad primaria IfcCurtainWall. Las entidades secundarias son IfcMember (esqueletos) y IfcPlate (paneles). Puede controlar la exportación de esqueletos y paneles al desactivar, reemplazar o eliminar completamente una entidad secundaria.