BIM Contrôle en amont

From FreeCAD Documentation
Revision as of 12:16, 27 April 2020 by David69 (talk | contribs) (Created page with "== Tests personnalisés ==")
Other languages:

BIM Contrôle en amont

Emplacement
Manage → Preflight check
Atelier
BIM
Raccourci
None
Voir aussi
None
 
Cette commande fait partie de BIM AddOn, Vous pouvez l'installer via le menu Outils → Addons Manager

Description

FreeCAD étant une plate-forme de modélisation très souple, les exigences sont très faibles. Vous pouvez essentiellement modéliser et organiser votre modèle BIM comme vous le souhaitez, en utilisant tous les outils offerts par FreeCAD, à la fois à partir de l'atelier BIM et d'autres ateliers. Le format IFC, cependant, a des exigences strictes, et d'autres applications BIM qui peuvent lire des fichiers IFC apportent souvent des limitations supplémentaires car elles ont plus que souvent des difficultés avec certaines entités ou la façon dont certains objets sont modélisés.

L'outil de contrôle en amont BIM vous permet d'effectuer plusieurs tests sur votre modèle pour vérifier sa compatibilité avec les normes IFC et les meilleures pratiques et vous aider à détecter les éventuels problèmes que vous pourriez vouloir résoudre.

Les résultats de la plupart des tests fournis par cet outil sont facultatifs, ce qui signifie que vous pouvez choisir d'exporter votre modèle même en cas d'échec. Vous êtes le seul à évaluer si vous avez besoin du test pour réussir ou non. Nous avons fait de notre mieux pour fournir des informations fiables afin de vous aider à prendre une décision.

Utilisation

  • Avoir un modèle ouvert dans FreeCAD, avec au moins quelques objets
  • Vous pouvez sélectionner des objets avant de lancer les tests, auquel cas vous avez la possibilité d'effectuer le test uniquement sur les objets sélectionnés
  • Appuyez sur le bouton Test All pour effectuer tous les tests ou uniquement les boutons correspondant aux tests individuels.
  • Une fois les tests terminés, appuyer sur un bouton Failed vous donnera des informations supplémentaires pour vous aider à décider si cela vous concerne ou non.

Tests intégrés

  • Run all tests: Exécute tous les tests les uns après les autres

Tests d'installation de FreeCAD

  • IFC4 support: Teste si le système d'importation/exportation IFC de FreeCAD fonctionne correctement et si le format IFC4 est disponible (nécessite une version à jour de IfcOpenShell) et activé dans les préférences.

Tests d'organisation du projet

  • Project hierarchy: Le format IFC nécessite au moins un Bâtiment et il est également courant d'avoir un site et au moins un Etage. Ce test vérifie s'ils sont présents dans le modèle
  • Buildings: vérifie que tous les bâtiments trouvés dans le modèle font partie d'un site
  • Levels: vérifie que tous les Etages (étages du bâtiment) trouvés dans le modèle sont bien d'un bâtiment
  • Objects structure: Vérifie que tous les objets trouvés dans le modèle font partie d'un niveau

Objets et tests de propriétés

  • Undefined objects: vérifie s'il y a des objets dans le modèle qui ne sont pas des objets BIM et seront donc exportés sans les propriétés BIM complètes
  • Solids: vérifie que tous les objets du modèle ont une géométrie solide valide
  • Explicit quantities: vérifie que tous les objets avec des propriétés de longueur, largeur ou hauteur sont marqués pour l'exportation explicite de ces quantités
  • Common Properties sets: vérifie que tous les objets BIM de types communs (mur, porte, etc ...) ont le jeu de propriétés "common" correspondant appliqué (Pset_WallCommon, Pset_DoorCommon, etc.)
  • Property sets integrity: vérifie que tous les Psets courants (Pset_WallCommon, Pset_DoorCommon, etc.) trouvés dans le modèle incluent toutes et uniquement les propriétés définies par les normes IFC
  • Materials: vérifie que tous les objets BIM ont un matériau
  • Standards: vérifie que tous les objets BIM ont un code standard

Tests de compatibilité

  • Extrusions: vérifie que tous les objets BIM sont des extrusions linéaires
  • Standard cases: vérifie que tous les murs et éléments de structure sont des cas standard, tels que définis par le schéma IFC
  • Tiny lines: vérifie qu'aucun segment de ligne dans le modèle n'est inférieur à 1/32", la longueur minimale que Revit est capable de gérer...
  • IfcRectangleProfileDef: vérifie que l'option d'exporter des profils rectangulaires en tant que IfcRectangleProfileDef est désactivée, car Revit (oui, encore une fois) ne peut pas importer cette entité.

Tests personnalisés

The Preflight tool also allows you to write custom tests, that will be appended after the built-in tools in the Preflight dialog, and run when using the Run all tests button. These tests are written in Python. They consists of simple functions inside one or more Python files. You can perform any operation you want inside those functions, they must just pass or fail, and in case they fail, show a message informing the user of what failed.

You can write several tests in one single Python file, or divide in several files, as you prefer. These files must be placed in $USERAPPDATA/BIM/Preflight and can be given any name (Be sure to use very unique names as to not conflict with any built-in Python module. The $USERAPPDATA folder depends on your platform/operating system (usually $HOME/.FreeCAD on linux/mac, /users/YOUR USER/Application Data/roaming/FreeCAD on windows), and can also be found by entering this in the FreeCAD Python console:

FreeCAD.getUserAppDataDir()

Inside each Python file, tests are simple functions that take no argument, and return either True if the test passed, or a string of text that will be shown to the user if the test failed.

A typical test file would be like this, that should be named something like "myCustomTest.py" and placed inside $USERAPPDATA/BIM/Preflight:

import FreeCAD

# The name of your test. You can give the functions any name
# you want, the important is the description text below

def myCustomTest():

   # This describes what your test does. For example,
   # here, it checks that there is at least one object in the document.
   # This text will appear next to the button in the Preflight tool

   """Checks that the document contains at least one object"""

   doc = FreeCAD.ActiveDocument
   objects = doc.Objects
   if len(objects) >= 1:
       result = True
   else:
       result = "This document contains no object"

   # The function must return either True or a string of
   # text if the test failed. The string or text will be displayed
   # to the user when they press the "Failed" button.

   return result