Voorbeelden van gegevensomzetting
Verplichte en standaard waarden
Bij het uitwisselen van bestanden gelden vaak vereisten voor het invoeren van de velden, bijvoorbeeld dat bepaalde velden niet leeg mogen blijven of dat elk gegevensveld een standaardwaarde moet hebben. Om er zeker van te zijn dat een verplicht gegevensveld altijd een waarde bevat, kan je een constante aan het einde van de omzettingsformule toevoegen.
Formule:
=FIRSTNONEMPTY(Stijl.'Function'; 'NOTDEFINED')
=FIRSTNONEMPTY(OBJECTDATA('General Name'), Stijl.'Name'; 'Roof')
Als standaardwaarden vereist zijn voor alle gegevensvelden, maar je vereist specifieke waarden voor sommige objecten, creëer dan een record en stel een standaardwaarde in voor het veld dat de gegevensbron zal zijn. Koppel het record daarna alleen aan de objecten die een specifieke waarde hebben, en pas de Standaard waarde in de gekoppelde records aan zoals nodig. Objecten zonder gekoppeld record zullen de standaardwaarde krijgen.
Formule:
=FIRSTNONEMPTY('Pricing Details'.'Discount'; FORMATFIELD('Pricing Details';'Discount'))
Velden en constanten combineren
Je kan gegevensomzetting gebruiken om de leesbaarheid te verbeteren, om de nodige prefixen en affixen toe te voegen, of om gegevens van meerdere bronnen te combineren of te calculeren.
In dit voorbeeld hebben we een nauwkeurigere omschrijving nodig van een roltrap; deze omschrijving moet belangrijke informatie bevatten omtrent de fabrikant en de breedte van de treden. We willen ook enkele woorden toevoegen om de leesbaarheid te verbeteren.
Formule:
=CONCAT('Roltrap: ', 'Roltrap'.'Type', ' Breedte: ', 'Roltrap'.'Stapbreedte')
Resultaat:
‘Roltrap: Otis 510 M Breedte: 1000 (3' 3")
W-01A1
Omzetting records
Als je records en gegevens op maat automatisch aan parametrische objecten wilt koppelen zodra je deze in de tekening plaatst, creëer dan een record met de gewenste gegevensvelden en link deze velden aan een constante waarde, parameter of stijl. Dit maakt het makkelijker om de verschillende Vectorworksfuncties te gebruiken die objectgegevens overdragen zoals rekenbladen, gegevenslabels en datavisualisaties.
In dit voorbeeld werd het record “Kast bematingen” gecreëerd en als een gegevensset voor het parametrische object Kast toegevoegd.
Countertop Length: Lengte van het bovenblad; gelinkt aan de parameter Lengte van de onderkast.
Countertop Area: Oppervlakte van het bovenblad; we voegen een oversteek van 50mm toe aan het bovenblad en berekenen de oppervlakte. Vervolgens delen we door 1000 * 1000 om het resultaat van vierkante millimeter naar vierkante meter om te zetten (lengte/depte staan in millimeter).
Formule: =('Cabinets'.'Length' * ('Cabinets'.'Depth' + 50)) / 1000000
Adjacent to Wall: Niet gelinkt; in het tabblad ‘Gegevens’ van het Infopalet bepaalt de gebruiker of de kast tegen de muur staat en er dus een achterwand nodig is.
Backsplash Area: Als er een achterwand nodig is, berekent u de oppervlakte zo: 0,6m (breedte achterwand) * lengte bovenblad / 1000 (voor omzetting van meter naar millimeter). Merk op dat deze formule gelinkt is aan twee andere velden in hetzelfde record.
Formule: =IF(FIRSTNONEMPTY('Cabinet Calculations'.'Adjacent to Wall', FORMATFIELD('Cabinet Calculations', 'Adjacent to Wall')), (0.6*FIRSTNONEMPTY('Cabinet Calculations'.'Countertop Length', FORMATFIELD('Cabinet Calculations', 'Countertop Length'))/1000), 0)
Als je het record uit de omzetting verwijdert, wordt het record van alle onderkasten in de tekening losgekoppeld.
Wanneer je een onderkast in de tekening plaatst, zie je in het tabblad ‘Gegevens’ van het Infopalet dat de recordgegevens automatisch zijn gekoppeld. Voor elk omgezet veld, bepaalt de kolom Bewerken ( ) van het gegevensbeheer hoe het veld bewerkt kan worden.
Functies
Formule:
2000,0
2150,0
Gegevensbronnen omzetten d.m.v. selector Functie
IFC-gegevens vereisen veel enum gegevensvelden, zoals PredefinedType, OperationType, ShapeType, enzovoort. Soms is er geen één op één overeenkomst— de huidige instellingen verschillen van IFC, er kunnen geen geldige gegevensbronnen rechtstreeks toegekend worden of de waarden zijn geschreven in een andere taal.
Voorwaarden
Voorwaarden laten je meer ingewikkelde gevallen behandelen en IFC-gegevens layout meer precies controleren.
Voorwaarde om muurstijlen toe te wijzen aan verschillende entiteiten
Bijvoorbeeld, je hebt een bestand met vier muurstijlen: ExternWall, InteriorWall, Footing, en VirtualWall. In de gegevensomzetting voor het parametrisch muur object, hebben we twee nieuwe primaire entiteiten toegevoegd: IfcCovering en IfcFooting. M.b.v. Het Voorwaarde veld stellen we een regel in om de juiste IFC-entiteit toe te wijzen per muurstijl.
Formule:
=IF(Stijl.'Name'='ExternWall'; 'IfcWallStandardCase'; IF(Stijl.'Name'='InteriorWall'; 'IfcCovering', IF(Stijl.'Name'='Footing'; 'IfcFooting'; 'No-Export')))
Resultaat:
Het geëxporteerde bestand zal muren bevatten met een of drie IFC-entiteiten, afhankelijk van de muurstijl. Muren met de VirtualWall muurstijl worden nergens aan toegewezen en zullen niet geëxporteerd worden.
Voorwaarde voor de Pset van een plaat
Formule:
=(FIND('Structural', [Stijl.’Name’]) = 0)
Resultaat:
Als de naam van de Plaatstijl begint met “Structural”, zal de Classification Pset aan de plaat worden gekoppeld.
Voorwaarde om objecten te exporteren als meerdere entiteiten
Voorwaarden kunnen gebruikt worden om een object als aparte entiteiten te exporteren. Hier hebben we een muur met meerdere componenten. Met gebruik van het Functie veld van de muurstijl, kan een andere IFC-entiteit toegewezen worden aan elk component tijdens het exporteren.
Formule:
=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'))))
Resultaat:
In het IFC-bestand wordt de muur voorgesteld door drie verschillende entiteiten: twee IfcCoverings, IfcWallStandardCase, en IfcBuildingElementProxy. Het component met de functie “Air Gap” wordt niet geëxporteerd.
Omdat het onmogelijk is om muren te hebben zonder kerncomponent, en de gegevenscategorie in het Infopalet maar een entiteit weergeeft, wordt altijd de entiteit weergegeven die is toegewezen aan de eerste component. Dit heeft geen invloed op het exporteren in dit geval.
Symbolen en geometrie op maat
Symbolen en zelf gecreëerde geometrische vormen kunnen pas worden geëxporteerd als ze IFC-gegevens bezitten. Hun gegevensomzetting gebeurt op basis van de instellingen van de IFC-entiteit die aan hen wordt toegewezen.
In het dialoogvenster ‘IFC-gegevensomzetting’ voegen we Pset_ColumnCommon toe en koppelen we de eigenschap Reference aan de naam van de objectklasse. We kunnen ook vaste waarden toevoegen WAAR voor IsExternal en LoadBearing.
We kunnen de standaard gegevensomzetting zien in het tabblad Gegevens van het Infopalet.
Voor symbolen, kan je gegevensomzettingen creëren op basis van de IFC-aanwijzing van het symbool of de naam van de symbooldefinitie. In het Gegevensbeheer selecteren we de symbooldefinitie en klikken we vervolgens op Voeg gegevensset toe om de vereiste IFC-gegevenssets te definiëren die we willen exporteren. Bijvoorbeeld: we voegen Pset_ManufacturerTypeInformation toe en koppelen alle velden aan vaste waarden, aangezien ze identiek zijn voor alle invoegingen van het symbool.
Het symbool zal nu geëxporteerd worden als een IfcFurnishingElement met Pset_ManufacturerTypeInformation, zonder dat we IFC-gegevens aan de symboolomschrijving of een symboolinvoeging hebben gekoppeld. We kunnen de standaard gegevensomzetting zien in het tabblad Gegevens van het Infopalet.
Primaire en secundaire entiteiten
Voor samengevoegde objecten, geven primaire en secundaire entiteiten meer precisie met de IFC-gegevens layout. In dit voorbeeld, heeft de vliesgevel IfcCurtainWall als een primaire entiteitenset. De secundaire entiteiten zijn IfcMember (kaders) en IfcPlate (panelen). Door de secundaire entiteit uit te schakelen, te vervangen of volledig te verwijderen kan je de export van kaders en panelen regelen.
Heb je niet gevonden wat je zocht? Stel je vraag aan Dex, onze virtuele assistent.