Arch IFC/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "Les packages disponibles sur le site Web IfcOpenShell sont toutefois très anciens et ne prennent pas en charge les versions Python les plus récentes. Nous vous recommandons...")
(Updating to match new version of source page)
(47 intermediate revisions by 4 users not shown)
Line 3: Line 3:
|
|
|[[Arch DAE/fr|DAE]]
|[[Arch DAE/fr|DAE]]
|[[Arch_Module/fr|Atelier architecture]]
|[[Arch_Module/fr|Atelier Arch]]
}}
}}


{{TOCright}}
Les ateliers [[Arch Workbench/fr|architecture]] et [[BIM Workbench/fr|BIM]] comportent un importateur et un exportateur [https://fr.wikipedia.org/wiki/Industry_Foundation_Classes IFC]. Le format IFC est un format de plus en plus répandu pour l'échange de données entre les applications [https://fr.wikipedia.org/wiki/Building_information_modeling BIM] utilisées en architecture et en ingénierie.


Les ateliers [[Arch Workbench/fr|Arch]] et [[BIM Workbench/fr|BIM (Build Information Modeling)]] comportent un importateur et un exportateur [https://fr.wikipedia.org/wiki/Industry_Foundation_Classes IFC (Industry Foundation Classes)]. Le format IFC est un format de plus en plus répandu pour l'échange de données entre les applications [https://fr.wikipedia.org/wiki/Building_information_modeling BIM] utilisées en architecture et en ingénierie.
L’importateur et l’exportateur dépendent tous deux d’un logiciel externe open-source appelé [http://ifcopenshell.org IfcOpenShell] qui peut ou non être fourni avec votre version de FreeCAD, en fonction de la plate-forme et du lieu où vous avez obtenu votre Paquet FreeCAD à partir de. Si IfcOpenShell est correctement installé, il sera détecté par FreeCAD et utilisé pour importer et exporter des fichiers IFC. Un moyen facile de vérifier si IfcOpenShell est présent et disponible, est d’essayer d’importer ou d’exporter un fichier IFC ou tout simplement de saisir les informations suivantes dans la console Python de FreeCAD (située dans le menu Affichage -> Panneaux):


L’importateur et l’exportateur dépendent tous deux d’un logiciel externe open-source appelé [http://ifcopenshell.org IfcOpenShell] qui peut ou non être fourni avec votre version de FreeCAD, en fonction de la plate-forme et du lieu où vous avez obtenu votre Paquet FreeCAD à partir de. Si IfcOpenShell est correctement installé, il sera détecté par FreeCAD et utilisé pour importer et exporter des fichiers IFC. Un moyen facile de vérifier si IfcOpenShell est présent et disponible, est d’essayer d’importer ou d’exporter un fichier IFC ou tout simplement de saisir les informations suivantes dans la console Python de FreeCAD (située dans le menu Affichage Panneaux):
import IfcOpenShell

import ifcopenshell


Si aucun message d'erreur n'apparaît, tout va bien. IfcOpenShell est correctement installé, sinon, vous devrez l'installer vous-même.
Si aucun message d'erreur n'apparaît, tout va bien. IfcOpenShell est correctement installé, sinon, vous devrez l'installer vous-même.
Line 22: Line 24:
==Récupérer IfcOpenShell==
==Récupérer IfcOpenShell==


Sur le site Web [http://ifcopenshell.org IfcOpenShell], vous trouverez des liens de téléchargement pour les divers utilitaires composant le programme IfcOpenShell. FreeCAD a besoin de '''IfcOpenShell-Python'''. Vous devez veiller à choisir la bonne architecture pour votre système d'exploitation (32bits ou 64bits) et vous devez également disposer de la '''version identique à Python''' de FreeCAD. La version Python utilisée par FreeCAD est indiquée sur la première ligne de la console FreeCAD Python située dans le menu Affichage-> Panneaux. Vous avez besoin d'une version d'IfcOpenShell avec les deux mêmes premiers chiffres. Le troisième numéro n'est pas important. Par exemple, si votre version de FreeCAD Python est 3.7.4, vous avez besoin d’une version 3.7 de IfcOpenShell.
Sur le site Web [http://ifcopenshell.org IfcOpenShell], vous trouverez des liens de téléchargement pour les divers utilitaires composant le programme IfcOpenShell. FreeCAD a besoin de '''IfcOpenShell-Python'''. Vous devez veiller à choisir la bonne architecture pour votre système d'exploitation (32bits ou 64bits) et vous devez également disposer de la '''version identique à Python''' de FreeCAD. La version Python utilisée par FreeCAD est indiquée sur la première ligne de la console FreeCAD Python située dans le menu Affichage Panneaux. Vous avez besoin d'une version d'IfcOpenShell avec les deux mêmes premiers chiffres. Le troisième numéro n'est pas important. Par exemple, si votre version de FreeCAD Python est 3.7.4, vous avez besoin d’une version 3.7 de IfcOpenShell.


===IfcOpenBot===
===IfcOpenBot===
Line 28: Line 30:
Les packages disponibles sur le site Web IfcOpenShell sont toutefois très anciens et ne prennent pas en charge les versions Python les plus récentes. Nous vous recommandons donc d'utiliser un autre service fourni par les développeurs de IfcOpenShell, appelé [https://github.com/IfcOpenBot/IfcOpenShell IfcOpenBot]. C'est un système automatisé qui construit de temps en temps une série de paquets à partir du code source IfcOpenShell. Pour télécharger l'un de ces packages, cliquez sur le lien "Commits" dans le référentiel GitHub puis, localisez les Commits contenant un commentaire (une petite icône "message"). Ces commentaires sont où vous trouverez les paquets construits par IfcOpenBot.
Les packages disponibles sur le site Web IfcOpenShell sont toutefois très anciens et ne prennent pas en charge les versions Python les plus récentes. Nous vous recommandons donc d'utiliser un autre service fourni par les développeurs de IfcOpenShell, appelé [https://github.com/IfcOpenBot/IfcOpenShell IfcOpenBot]. C'est un système automatisé qui construit de temps en temps une série de paquets à partir du code source IfcOpenShell. Pour télécharger l'un de ces packages, cliquez sur le lien "Commits" dans le référentiel GitHub puis, localisez les Commits contenant un commentaire (une petite icône "message"). Ces commentaires sont où vous trouverez les paquets construits par IfcOpenBot.


At the time of writing, the current stable version of IfcOpenShell, which lies in its "master" branch, is v0.5. However, v0.6 is already very stable and contains many improvements such as support for both IFC2x3 and IFC4 at the same time. We recommend you to switch the "branch" button to v0.6 and use one of these instead. Again, make sure you download the correct package for your version of FreeCAD.
Au moment de la rédaction, la version stable actuelle de IfcOpenShell qui se trouve dans sa branche "principale" est la version 0.5. Cependant, la version 0.6 est déjà très stable et contient de nombreuses améliorations telles que la prise en charge simultanée de IFC2x3 et IFC4. Nous vous recommandons de basculer le bouton "branch" sur la v0.6 et de l'utiliser. Encore une fois, assurez-vous de télécharger le package correspondant à votre version de FreeCAD.


===Compiling===
===Compiler===


You can also [[Import/Export_IFC_-_compiling_IfcOpenShell|compile IfcOpenShell yourself]], of course. As it has almost the same dependencies as FreeCAD, if you are already compiling FreeCAD yourself, compiling IfcOpenShell will be very straightforward and will normally not require any additional dependency.
Vous pouvez aussi [[Import/Export_IFC_-_compiling_IfcOpenShell/fr|compiler IfcOpenShell]], bien sûr. Comme il a presque les mêmes dépendances que FreeCAD, si vous compilez déjà FreeCAD vous-même, compiler IfcOpenShell sera très simple et ne nécessitera normalement aucune dépendance supplémentaire.


==Installing IfcOpenShell==
==Installer IfcOpenShell==


The package you downloaded from one of the above locations is a zip file that contains a folder named "ifcopenshell" with several other files and folders inside. To "install" it simply means make this ifcopenshell folder found by Python (so the ''import ifcopenshell'' command we used above succeeds). The list of folders where Python looks for modules can be obtained by entering these two lines in the FreeCAD Python Console:
Le package que vous avez téléchargé à partir de l’un des emplacements ci-dessus est un fichier zip contenant un dossier nommé "ifcopenshell" avec plusieurs autres fichiers et dossiers. "Installer" cela signifie simplement que ce dossier ifcopenshell ait été trouvé par Python (donc la commande ''import ifcopenshell'' que nous avons utilisée ci-dessus a réussi). La liste des dossiers dans lesquels Python recherche des modules peut être obtenue en entrant ces deux lignes dans la console FreeCAD Python:


import sys
import sys
for p in sys.path: print(p)
for p in sys.path: print(p)


et appuyez deux fois sur entrée.
and press enter twice.


To install IfcOpenShell, just unzip the downloaded package, and place the "ifcopenshell" folder in any of the locations issued by the commands above.
Pour installer IfcOpenShell, décompressez simplement le package téléchargé et placez le dossier "ifcopenshell" dans l’un des emplacements fournis par les commandes ci-dessus.


You will notice that some of these locations are system folders (the officially recommended locations are the "site-packages" or "dist-packages" folders), which will make IfcOpenShell installed system-wide and available to other applications such as Blender, but you might prefer to not pollute your system folders with something copied by hand, and place it in one of the folders of FreeCAD itself. Good suggestions are FreeCAD's "bin" folder, or the macros folder (which you can also obtain from menu Macro->Macros)
Vous remarquerez que certains de ces emplacements sont des dossiers système (les emplacements officiellement recommandés sont les dossiers "site-packages" ou "dist-packages"), ce qui rendra IfcOpenShell installé à l'échelle du système et disponible pour d'autres applications telles que Blender. Vous préférerez peut-être ne pas polluer vos dossiers système avec quelque chose copié à la main et le placer dans l'un des dossiers de FreeCAD lui-même. Les suggestions sont le dossier "bin" de FreeCAD ou le dossier des macros (que vous pouvez également obtenir à partir du menu MacroMacros)


Une fois que vous avez copié votre dossier ifcopenshell à l’un de ces emplacements, vérifiez qu’il fonctionne correctement en entrant:
Once you copied your ifcopenshell folder at one of these locations, test that it works correctly by entering:


import ifcopenshell
import ifcopenshell


in the Python console of FreeCAD. If no error appears, you are good to go.
dans la console Python de FreeCAD. Si aucune erreur n'apparaît, vous êtes prêt.


==Importation==
==Importer==


Toutes les entités [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifckernel/lexical/ifcproduct.htm IfcProduct] à partir de fichiers IFC2x3 ou IFC4 seront importées dans le document FreeCAD. Les paramètres de préférences IFC vous permettent de définir le mode d'importation des objets IFC: en tant qu''''objets Arch paramétriques complets''' (la géométrie sera, autant que possible, modifiables dans FreeCAD), en tant qu''''objets Arch non paramétriques complets''' (les objets porteront des informations et des propriétés IFC mais ne seront pas modifiables), en tant que '''formes de pièce non paramétriques''' (la géométrie sera restituée fidèlement mais les informations IFC seront supprimées), ou en tant que '''forme de pièce par étage''' (un objet tout-en-un, juste pour référence). Chacun de ces types perd des informations par rapport au précédent, mais est plus léger en ressources, ce qui permet d’ouvrir des fichiers plus volumineux. Un dernier type permet de supprimer complètement l'importation d'objets Arch, ce qui est utile pour les modèles analytiques structurels.
<div class="mw-translate-fuzzy">
Toutes les entités [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifckernel/lexical/ifcproduct.htm IfcProduct] à partir de fichiers IFC2x3 ou IFC4 seront importées dans le document FreeCAD. Les paramètres de préférences IFC vous permettent de définir le mode d'importation des objets IFC: en tant qu'objets Arch paramétriques complets, en tant qu'objets Arch non paramétriques, en tant que formes de pièce non paramétriques ou en tant que forme de pièce par étage. Chacun de ces types perd des informations par rapport au précédent mais est plus léger en ressources ce qui permet d’ouvrir des fichiers plus volumineux. Un dernier type permet de supprimer complètement l'importation d'objets Arch ce qui est utile pour les modèles analytiques structurels.
</div>


Généralement, si vous essayez d'ouvrir un fichier volumineux et que FreeCAD prend trop de temps pour l'importer, essayez avec un mode d'importation plus faible.
Typically, if you try to open a large file and FreeCAD takes too long to import it, try with a lower import mode.


IfcOpenShell supports all IFC2x3 and IFC4 entities (IFC4-add1 and IFC4-add2 are being implemented in v0.6 and might be available by the time you read this) but not all of them can be converted to [[Arch Module|Arch]] objects, those that can't will be imported as simple [[Part Module|Part]] shapes. The IFC importer starts by importing all IFC entities derived from http://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifckernel/lexical/ifcproduct.htm IfcProduct], that is, basically, all the objects that compose a building, such as walls or windows or pipes. All other entities needed by one of these objects, such as profiles of extrusion, or components of boolean operations, will be imported as required.
IfcOpenShell prend en charge toutes les entités IFC2x3 et IFC4 (IFC4-add1 et IFC4-add2 sont implémentées dans la version 0.6 et peuvent être disponibles au moment vous lisez ceci), mais elles ne peuvent pas toutes être converties en objets de l'[[Arch Module/fr|Atelier Arch]], celles qui ne peuvent pas être seront importées sous forme de formes simples de l'[[Part Module/fr|Atelier Part]]. L’importateur IFC commence par importer toutes les entités IFC dérivées de [http://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifckernel/lexical/ifcproduct.htm IfcProduct], c’est-à-dire tous les objets qui composent un bâtiment, tel que des murs ou des fenêtres ou des tuyaux. Toutes les autres entités requises par l'un de ces objets, telles que les profils d'extrusion ou les composants d'opérations booléennes, seront importées en fonction des besoins.


Si vous utilisez un mode d’importation qui utilise des objets Arch, paramétriques ou non, tous les objets porteront l’ensemble complet des [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcpropertyresource/lexical/ifcproperty.htm IfcProperties] attaché à chaque objet, groupé par ensemble de propriétés.
<div class="mw-translate-fuzzy">
Si des objets Arch paramétriques sont utilisés, le type correspondant est utilisé pour tous les types IFC ayant un équivalent dans le module Arch. Pour les autres, une forme de pièce générique est créée. Tous les objets Arch, paramétriques et non paramétriques, porteront l’ensemble complet de [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcpropertyresource/lexical/ifcproperty.htm IfcProperties] rattaché à chaque objet.
</div>


Building structures such as Sites, Buildings and Storeys are also faithfully imported and the structure is correctly recreated in FreeCAD. Group structures (using IfcGroups) are also imported and rendered in FreeCAD, and can be combined with building structures, for ex. having groups inside storeys or storeys inside groups.
Les structures de bâtiments telles que sites, bâtiments et étages sont également importées fidèlement et la structure est correctement recréée dans FreeCAD. Les structures de groupe (utilisant les IfcGroups) sont également importées et rendues dans FreeCAD et peuvent être combinées avec des structures de bâtiment par exemple, avoir des groupes dans des étages ou des étages dans des groupes.


Les objets [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcannotation.htm IfcAnnotation] sont également importés ainsi que les objets linéaires ou basés sur des courbes [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcstructuralanalysisdomain/lexical/ifcstructuralitem.htm IfcStructuralItem].
Les objets [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcannotation.htm IfcAnnotation] sont également importés ainsi que les objets linéaires ou basés sur des courbes [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcstructuralanalysisdomain/lexical/ifcstructuralitem.htm IfcStructuralItem].


Quantities specified in the IFC file are '''NOT''' imported. However, since the geometry is fully recreated in FreeCAD, most of the quantities such as length, area, etc.. are easily obtainable for each object
Les quantités spécifiées dans le fichier IFC sont importées '''NOT'''. Cependant, puisque la géométrie est entièrement recréée dans FreeCAD, la plupart des quantités telles que la longueur, la surface, etc... peuvent être facilement obtenues pour chaque objet.


Activer '''afficher les messages de débogage''' dans les paramètres de préférences IFC indiquera si un objet à partir du fichier IFC n'aura pas été importé correctement.
Activer '''afficher les messages de débogage''' dans les paramètres de préférences IFC indiquera si un objet à partir du fichier IFC n'aura pas été importé correctement.


'''Note''': The BIM Workbench features an [[BIM IfcExplorer|IFC explorer]] tool that allows you to open an IFC file in fast, text-only mode, and import only the parts you wish.
'''Remarque''': L'atelier BIM comporte un outil [[BIM IfcExplorer/fr|Explorateur IFC]] qui vous permet d'ouvrir un fichier IFC en mode rapide uniquement en mode texte et d'importer uniquement les pièces de votre choix.


==Exportation==
==Exporter==


L'exportation vers des fichiers IFC exportera tous les objets sélectionnés et leurs descendants. Tous les objets Arch/BIM sont pris en charge ainsi que d'autres objets créés dans d'autres ateliers. Pour le moment, les seuls objets qui ne sont pas totalement pris en charge sont les corps PartDesign, App Parts et les nouvelles structures telles que Links et LinkGroups. Vous devrez donc les tester un peu avant de les utiliser. [[Arch Reference|Arch Référence]] exportera actuellement sous le nom IfcBuildingElementProxies.
<div class="mw-translate-fuzzy">
L'exportation vers des fichiers IFC exportera tous les objets sélectionnés et leurs descendants. Pour exporter un bâtiment entier ou un étage entier, il suffit de sélectionner le bâtiment ou l'objet étage. Les objets Arch seront exportés avec le type défini dans leur propriété "Role". Leurs propriétés IFC [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcpropertyresource/lexical/ifcproperty.htm IfcProperties] sont également exportées et si ces objets ont un UID IFC d'une importation précédente, le même UID sera conservé à l'exportation. Les objets qui ne sont pas des objets Arch sont exportés sous le nom [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcbuildingelementproxy.htm IfcBuildingElementPRoxy].
</div>


To export a whole site or building or a whole floor or a group containing other objects, it is only needed to select that building or floor or group. Arch objects will be exported with the type set in their "IFC Type" property. Their [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcpropertyresource/lexical/ifcproperty.htm IfcProperties] are exported as well, and if these objects have an IFC UID from a previous import, the same UID will be kept at export. Objects that are not Arch objects are exported as [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcbuildingelementproxy.htm IfcBuildingElementProxy].
Pour exporter un site ou un bâtiment entier, un étage entier ou un groupe contenant d'autres objets, il suffit de sélectionner ce bâtiment, cet étage ou ce groupe. Les objets Arch seront exportés avec le type défini dans leur propriété "Type IFC". Leurs [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcpropertyresource/lexical/ifcproperty.htm IfcProperties] sont également exportés, et si ces objets ont un UID IFC provenant d'une importation précédente, le même UID sera conservé à l'exportation. Les objets qui ne sont pas des objets Arch sont exportés sous le format [http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcbuildingelementproxy.htm IfcBuildingElementProxy].


Les fichiers IFC sont exportés au format IFC2x3 ou IFC4, selon votre version d'IfcOpenShell, qui peut être compilé avec n'importe lequel des schémas IFC. Si vous utilisez IfcOpenShell version 0.6 ou supérieure, la version IFC spécifiée dans les préférences Arch est utilisée.
<div class="mw-translate-fuzzy">
Les fichiers IFC sont exportés au format IFC2x3 ou IFC4 en fonction de votre version d'IfcOpenShell qui peut être compilée avec n'importe lequel des schémas IFC.
</div>


Si la forme des objets exportés est basée sur une extrusion ou une opération booléenne, l'opération et les composants seront correctement exportés au format IFC. Dans le cas contraire, la forme de l'objet est exportée sous la forme [http://www.buildingsmart-tech.org/ifc/IFC4x1/html/schema/ifcgeometricmodelresource/lexical/ifcfacetedbrep.htm IfcFacetedBrep]. Si la forme contient des courbes, celles-ci seront triangulées. Toutefois, IfcOpenShell version 0.5 ou ultérieure comporte un sérialiseur qui doit être activé dans les préférences Import/Export → IFC. S'il est activé, ce sérialiseur est capable d'exporter des objets courbes très complexes tels que ceux basés sur NURBS et d'éviter ainsi les faces triangulées. Au moment de la rédaction de ce document, cependant, rares sont les autres applications BIM qui prennent en charge les objets IFC NURBS. Il est donc conseillé d'effectuer quelques tests.
<div class="mw-translate-fuzzy">
Si la forme des objets exportés est basée sur une extrusion ou une opération booléenne, l'opération et les composants seront correctement exportés au format IFC. Si ce n'est pas le cas, la forme de l'objet est exportée sous le nom [http://www.buildingsmart-tech.org/ifc/IFC4x1/html/schema/ifcgeometricmodelresource/lexical/ifcfacetedbrep.htm IfcFacetedBrep]. Si la forme contient des courbes, celles-ci seront facettées.
</div>


==Liens==
==Liens==
Tutoriel [[Import/Export_IFC_-_compiling_IfcOpenShell/fr|Importer/Exporter IFC - compiler IfcOpenShell]]
Tutoriel [[Import/Export_IFC_-_compiling_IfcOpenShell/fr|Importer/Exporter IFC - compiler IfcOpenShell]]


{{docnav/fr
{{docnav/fr||[[Arch DAE/fr|DAE]]|[[Arch_Module/fr|Atelier architecture]]}}
|
{{Arch Tools navi/fr}}
|[[Arch DAE/fr|DAE]]
{{Userdocnavi/fr}}
|[[Arch_Module/fr|Atelier architecture]]
}}

{{Arch Tools navi{{#translation:}}}}

{{Userdocnavi{{#translation:}}}}

[[Category:File Formats{{#translation:}}]]

Revision as of 21:03, 8 May 2020

Les ateliers Arch et BIM (Build Information Modeling) comportent un importateur et un exportateur IFC (Industry Foundation Classes). Le format IFC est un format de plus en plus répandu pour l'échange de données entre les applications BIM utilisées en architecture et en ingénierie.

L’importateur et l’exportateur dépendent tous deux d’un logiciel externe open-source appelé IfcOpenShell qui peut ou non être fourni avec votre version de FreeCAD, en fonction de la plate-forme et du lieu où vous avez obtenu votre Paquet FreeCAD à partir de. Si IfcOpenShell est correctement installé, il sera détecté par FreeCAD et utilisé pour importer et exporter des fichiers IFC. Un moyen facile de vérifier si IfcOpenShell est présent et disponible, est d’essayer d’importer ou d’exporter un fichier IFC ou tout simplement de saisir les informations suivantes dans la console Python de FreeCAD (située dans le menu Affichage → Panneaux):

import ifcopenshell

Si aucun message d'erreur n'apparaît, tout va bien. IfcOpenShell est correctement installé, sinon, vous devrez l'installer vous-même.

Remarque: L'outil BIM Configuration recherchera également IfcOpenShell et émettra une notification s'il n'est pas installé.

Remarque: L'atelier Arch présentait auparavant un importateur IFC plus simple qui ne dépendait pas d’IfOpenShell. Il est toujours possible de forcer l’utilisation de cet ancien importateur IFC Python en activant l’option correspondante dans les paramètres de préférences Arch. Mais cet importateur a été arrêté et risque de ne pas fonctionner correctement. Il ne pourra importer qu'un très petit sous-ensemble d'objets IFC.

L’utilisation d'IfcOpenShell est fortement recommandée car elle est beaucoup plus rapide et plus puissante que l’analyseur interne. Nous pensons que c’est l’un des meilleurs gestionnaires d'IFC…

Récupérer IfcOpenShell

Sur le site Web IfcOpenShell, vous trouverez des liens de téléchargement pour les divers utilitaires composant le programme IfcOpenShell. FreeCAD a besoin de IfcOpenShell-Python. Vous devez veiller à choisir la bonne architecture pour votre système d'exploitation (32bits ou 64bits) et vous devez également disposer de la version identique à Python de FreeCAD. La version Python utilisée par FreeCAD est indiquée sur la première ligne de la console FreeCAD Python située dans le menu Affichage → Panneaux. Vous avez besoin d'une version d'IfcOpenShell avec les deux mêmes premiers chiffres. Le troisième numéro n'est pas important. Par exemple, si votre version de FreeCAD Python est 3.7.4, vous avez besoin d’une version 3.7 de IfcOpenShell.

IfcOpenBot

Les packages disponibles sur le site Web IfcOpenShell sont toutefois très anciens et ne prennent pas en charge les versions Python les plus récentes. Nous vous recommandons donc d'utiliser un autre service fourni par les développeurs de IfcOpenShell, appelé IfcOpenBot. C'est un système automatisé qui construit de temps en temps une série de paquets à partir du code source IfcOpenShell. Pour télécharger l'un de ces packages, cliquez sur le lien "Commits" dans le référentiel GitHub puis, localisez les Commits contenant un commentaire (une petite icône "message"). Ces commentaires sont où vous trouverez les paquets construits par IfcOpenBot.

Au moment de la rédaction, la version stable actuelle de IfcOpenShell qui se trouve dans sa branche "principale" est la version 0.5. Cependant, la version 0.6 est déjà très stable et contient de nombreuses améliorations telles que la prise en charge simultanée de IFC2x3 et IFC4. Nous vous recommandons de basculer le bouton "branch" sur la v0.6 et de l'utiliser. Encore une fois, assurez-vous de télécharger le package correspondant à votre version de FreeCAD.

Compiler

Vous pouvez aussi compiler IfcOpenShell, bien sûr. Comme il a presque les mêmes dépendances que FreeCAD, si vous compilez déjà FreeCAD vous-même, compiler IfcOpenShell sera très simple et ne nécessitera normalement aucune dépendance supplémentaire.

Installer IfcOpenShell

Le package que vous avez téléchargé à partir de l’un des emplacements ci-dessus est un fichier zip contenant un dossier nommé "ifcopenshell" avec plusieurs autres fichiers et dossiers. "Installer" cela signifie simplement que ce dossier ifcopenshell ait été trouvé par Python (donc la commande import ifcopenshell que nous avons utilisée ci-dessus a réussi). La liste des dossiers dans lesquels Python recherche des modules peut être obtenue en entrant ces deux lignes dans la console FreeCAD Python:

import sys
for p in sys.path: print(p)

et appuyez deux fois sur entrée.

Pour installer IfcOpenShell, décompressez simplement le package téléchargé et placez le dossier "ifcopenshell" dans l’un des emplacements fournis par les commandes ci-dessus.

Vous remarquerez que certains de ces emplacements sont des dossiers système (les emplacements officiellement recommandés sont les dossiers "site-packages" ou "dist-packages"), ce qui rendra IfcOpenShell installé à l'échelle du système et disponible pour d'autres applications telles que Blender. Vous préférerez peut-être ne pas polluer vos dossiers système avec quelque chose copié à la main et le placer dans l'un des dossiers de FreeCAD lui-même. Les suggestions sont le dossier "bin" de FreeCAD ou le dossier des macros (que vous pouvez également obtenir à partir du menu Macro → Macros)

Une fois que vous avez copié votre dossier ifcopenshell à l’un de ces emplacements, vérifiez qu’il fonctionne correctement en entrant:

import ifcopenshell

dans la console Python de FreeCAD. Si aucune erreur n'apparaît, vous êtes prêt.

Importer

Toutes les entités IfcProduct à partir de fichiers IFC2x3 ou IFC4 seront importées dans le document FreeCAD. Les paramètres de préférences IFC vous permettent de définir le mode d'importation des objets IFC: en tant qu'objets Arch paramétriques complets (la géométrie sera, autant que possible, modifiables dans FreeCAD), en tant qu'objets Arch non paramétriques complets (les objets porteront des informations et des propriétés IFC mais ne seront pas modifiables), en tant que formes de pièce non paramétriques (la géométrie sera restituée fidèlement mais les informations IFC seront supprimées), ou en tant que forme de pièce par étage (un objet tout-en-un, juste pour référence). Chacun de ces types perd des informations par rapport au précédent, mais est plus léger en ressources, ce qui permet d’ouvrir des fichiers plus volumineux. Un dernier type permet de supprimer complètement l'importation d'objets Arch, ce qui est utile pour les modèles analytiques structurels.

Généralement, si vous essayez d'ouvrir un fichier volumineux et que FreeCAD prend trop de temps pour l'importer, essayez avec un mode d'importation plus faible.

IfcOpenShell prend en charge toutes les entités IFC2x3 et IFC4 (IFC4-add1 et IFC4-add2 sont implémentées dans la version 0.6 et peuvent être disponibles au moment où vous lisez ceci), mais elles ne peuvent pas toutes être converties en objets de l'Atelier Arch, celles qui ne peuvent pas être seront importées sous forme de formes simples de l'Atelier Part. L’importateur IFC commence par importer toutes les entités IFC dérivées de IfcProduct, c’est-à-dire tous les objets qui composent un bâtiment, tel que des murs ou des fenêtres ou des tuyaux. Toutes les autres entités requises par l'un de ces objets, telles que les profils d'extrusion ou les composants d'opérations booléennes, seront importées en fonction des besoins.

Si vous utilisez un mode d’importation qui utilise des objets Arch, paramétriques ou non, tous les objets porteront l’ensemble complet des IfcProperties attaché à chaque objet, groupé par ensemble de propriétés.

Les structures de bâtiments telles que sites, bâtiments et étages sont également importées fidèlement et la structure est correctement recréée dans FreeCAD. Les structures de groupe (utilisant les IfcGroups) sont également importées et rendues dans FreeCAD et peuvent être combinées avec des structures de bâtiment par exemple, avoir des groupes dans des étages ou des étages dans des groupes.

Les objets IfcAnnotation sont également importés ainsi que les objets linéaires ou basés sur des courbes IfcStructuralItem.

Les quantités spécifiées dans le fichier IFC sont importées NOT. Cependant, puisque la géométrie est entièrement recréée dans FreeCAD, la plupart des quantités telles que la longueur, la surface, etc... peuvent être facilement obtenues pour chaque objet.

Activer afficher les messages de débogage dans les paramètres de préférences IFC indiquera si un objet à partir du fichier IFC n'aura pas été importé correctement.

Remarque: L'atelier BIM comporte un outil Explorateur IFC qui vous permet d'ouvrir un fichier IFC en mode rapide uniquement en mode texte et d'importer uniquement les pièces de votre choix.

Exporter

L'exportation vers des fichiers IFC exportera tous les objets sélectionnés et leurs descendants. Tous les objets Arch/BIM sont pris en charge ainsi que d'autres objets créés dans d'autres ateliers. Pour le moment, les seuls objets qui ne sont pas totalement pris en charge sont les corps PartDesign, App Parts et les nouvelles structures telles que Links et LinkGroups. Vous devrez donc les tester un peu avant de les utiliser. Arch Référence exportera actuellement sous le nom IfcBuildingElementProxies.

Pour exporter un site ou un bâtiment entier, un étage entier ou un groupe contenant d'autres objets, il suffit de sélectionner ce bâtiment, cet étage ou ce groupe. Les objets Arch seront exportés avec le type défini dans leur propriété "Type IFC". Leurs IfcProperties sont également exportés, et si ces objets ont un UID IFC provenant d'une importation précédente, le même UID sera conservé à l'exportation. Les objets qui ne sont pas des objets Arch sont exportés sous le format IfcBuildingElementProxy.

Les fichiers IFC sont exportés au format IFC2x3 ou IFC4, selon votre version d'IfcOpenShell, qui peut être compilé avec n'importe lequel des schémas IFC. Si vous utilisez IfcOpenShell version 0.6 ou supérieure, la version IFC spécifiée dans les préférences Arch est utilisée.

Si la forme des objets exportés est basée sur une extrusion ou une opération booléenne, l'opération et les composants seront correctement exportés au format IFC. Dans le cas contraire, la forme de l'objet est exportée sous la forme IfcFacetedBrep. Si la forme contient des courbes, celles-ci seront triangulées. Toutefois, IfcOpenShell version 0.5 ou ultérieure comporte un sérialiseur qui doit être activé dans les préférences Import/Export → IFC. S'il est activé, ce sérialiseur est capable d'exporter des objets courbes très complexes tels que ceux basés sur NURBS et d'éviter ainsi les faces triangulées. Au moment de la rédaction de ce document, cependant, rares sont les autres applications BIM qui prennent en charge les objets IFC NURBS. Il est donc conseillé d'effectuer quelques tests.

Liens

Tutoriel Importer/Exporter IFC - compiler IfcOpenShell