Exemples de correspondance de données
Valeurs obligatoires et par défaut
Dans des situations fréquentes d’échange de documents, vous retrouvez des conditions indiquant que certains champs ne peuvent jamais être vides ou que tous les champs doivent toujours contenir une valeur par défaut. Pour vous assurer qu’un champ obligatoire contienne une valeur, incluez une constante à la fin de la formule de correspondance.
Formules:
=FIRSTNONEMPTY(Style.'Function', 'NOTDEFINED')
=FIRSTNONEMPTY(OBJECTDATA('General Name'), Style.'Name', 'Roof')
Si des valeurs par défaut sont requises pour tous les champs de données, mais que des valeurs spécifiques sont nécessaires pour certains objets, créez un format de base de données et définissez une valeur par défaut pour le champ correspondant à la source de données. Liez alors ce format de base de données uniquement aux objets qui auront des valeurs spécifiques pour pouvoir modifier la valeur dans les formats de base de données associés si nécessaire. Les objets qui n’ont pas de format de base de données associé reçoivent la valeur par défaut.
Formule:
=FIRSTNONEMPTY('Pricing Details'.'Discount', FORMATFIELD('Pricing Details','Discount'))
Combiner des champs et des constantes
Vous pouvez utiliser des formules de mapping pour améliorer la lisibilité, pour ajouter des préfixes ou suffixes requis ou pour combiner ou calculer des données de différentes sources.
Dans cet exemple, nous avons besoin d’une meilleure description d’un escalator, y compris des informations importantes sur le fabricant et la largeur des marches. Nous souhaitons également ajouter quelques mots pour améliorer la lisibilité des résultats.
Formule:
=CONCAT('Escalator: ', 'Escalator'.'Type', ' Width: ', 'Escalator'.'Step width')
Résultat
Escalator: Otis 510 M Largeur: 1000
Correspondance de formats de base de données
Pour attacher automatiquement des enregistrements et des données personnalisés aux objets paramétriques Vectorworks lorsqu'ils sont ajoutés au dessin, créez un format de base de données avec les champs de données souhaités, puis attribuez une valeur constante, un paramètre ou un style aux champs pour cet objet par correspondance. Cela facilite l'utilisation des différentes fonctionnalités de Vectorworks qui rapportent des données d'objets, telles que des tableaux, des étiquettes de données et des attributs dynamiques.
Dans cet exemple, le format de base de données « Calculs d'armoire » a été créé et ajouté en tant que jeu de données pour l'objet paramétrique Armoire basse.
Countertop Length: Correspondance avec le paramètre Longueur de l'armoire (la mesure linéaire du plan de travail)
Countertop Area: Nous ajoutons un surplomb de 50 millimètres au comptoir et calculons la surface, puis divisons par 1000 * 1000 pour convertir le résultat, donné en millimètres carrés, en mètres carrés (les unités de longueur / profondeur sont en millimètres)
Formule: =('BaseCabinet'.'Length' * ('Base Cabinet'.'Depth' + 50)) / 1000000
Adjacent to Wall: Pas de correspondance; dans l'onglet « Données » de la palette Info Objet, l'utilisateur définit si l'armoire est adjacente à un mur et nécessite donc un dosseret.
Backsplash Area: Si un dosseret est nécessaire, la superficie est de 0,6 mètre (la largeur du panneau du dosseret) * longueur du comptoir / 1000 (pour convertir des mètres en millimètres). Notez que cette formule fait référence à deux autres champs dans le même enregistrement.
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)
Si vous supprimez le format de base de données de la correspondance, il sera détaché de toutes les exemplaires de l'armoire basse du dessin.
Lorsqu'une armoire basse est placée dans le dessin, l'onglet « Données » de la palette Info Objet indique que les données de la base de données ont été jointes automatiquement. Pour chaque champ avec une correspondance, la colonne Par correspondance contrôle la manière dont le champ peut être modifié.
Conditions
Les conditions vous permettent de gérer des cas plus complexes et de contrôler l’organisation de données IFC de façon plus précise.
Condition pour mapper les styles de mur à différentes entités
Par exemple, vous pourriez avoir un fichier avec quatre styles de mur: MurExtérieur, MurIntérieur, Fondations, et MurVirtuel. Dans le mapping des données pour l’objet paramétrique, nous ajoutons deux nouvelles entités primaires : IfcCovering et IfcFooting. À l’aide du champ Condition, on définit une règle pour mapper l’entité IFC adéquate par style de mur.
Formule:
=IF(Style.'Name'='MurExtérieur', 'IfcWallStandardCase', IF(Style.'Name'='MurIntérieur', 'IfcCovering', IF(Style.'Name'='Fondations', 'IfcFooting', 'No-Export')))
Résultat:
Le fichier exporté contiendra des murs avec l’une des trois entités IFC, en fonction du style de mur. Les murs avec le style de mur MurVirtuel ne sera pas mappé et ne sera pas exporté.
Condition du jeu de propriétés Pset pour un plancher
Formule:
=(FIND('Structural', Style.'Name')=0)
Résultat
Si le nom du Style du plancher commence par « Structurel », le jeu de propriétés Classification sera lié au plancher.
Condition pour exporter un objet comme plusieurs entités
Les conditions peuvent être utilisées lors de l’export d’un objet seul en tant qu’entités séparées. Ici, nous avons un mur avec plusieurs composants. À l’aide du champ Fonction du style de mur, une autre entité IFC peut être mappée à chaque composant pendant l’export.
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'))))
Résultat:
Dans le fichier IFC, le mur est représenté par trois entités différentes: deux IfcCoverings, IfcWallStandardCase, et IfcBuildingElementProxy. Le composant est marqué par « Air Gap » si sa fonction n’est pas exportée.
Vu qu’il est possible d’avoir des murs sans composant principal et que l’onglet « Données » dans la palette Info Objet permet de ne visualiser qu’une entité, l’entité visualisée est toujours celle mappée au premier composant. Cela n’a pas d'influence sur l’export dans ce cas
Symboles et géométrie sur mesure
Les symboles et la géométrie sur mesure doivent avoir reçu ou être mappés avec des données IFC pour être exportés. La mise en correspondance des données IFC est basée sur les préférences définies pour leur type d’entité IFC.
Dans la boîte de dialogue « Gestion des données », nous ajoutons le jeu de propriétés Pset_ColumnCommon et complétons le champ Référence par le nom de la classe de l’objet. Il est également possible d’ajouter des valeurs fixes TRUE pour les champs IsExternal et LoadBearing.
On peut voir le mapping par défaut dans l’onglet « Données » de la palette Info Objet.
Pour les symboles, vous pouvez créer des mappings basés sur la désignation IFC du symbole ou le nom du symbole. Dans le Gestionnaire de données, on sélectionne la définition du symbole, puis cliquer sur Ajouter un jeu de données pour définir les jeux de données IFC requis que nous souhaitons exporter. Par exemple, on ajoute le jeu de propriétés Pset_ManufacturerTypeInformation et on fait correspondre tous les champs à des valeurs fixes, vu qu’elles sont identiques pour tous les exemplaires du symbole.
Cependant, sans que vous ne liez de données IFC au symbole ou à tout autre exemplaire du symbole, celui-ci est exporté comme un IfcFurnishingElement avec Pset_ManufacturerTypeInformation. On peut voir le mapping par défaut dans l’onglet « Données » de la palette Info Objet.
Entités primaires/secondaires
Pour les objets composés, les entités primaires et secondaires vous donnent plus de précision avec la mise en forme de données IFC. Dans cet exemple, le mur-rideau contient IfcCurtainWall comme jeu d’entités primaires. Les entités secondaires sont IfcMember (cadres) et IfcPlate (panneaux). En désactivant, remplaçant ou supprimant complètement une entité secondaire, vous pouvez contrôler l’export des cadres et panneaux.