Arch IFC: Difference between revisions
(IfcOpenShell, more information on installing this library.) |
No edit summary |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<translate> |
<translate> |
||
<!--T:20--> |
<!--T:20--> |
||
{{ |
{{Docnav |
||
|[[Arch_Preferences|Preferences]] |
|||
| |
|||
|[[ |
|[[Arch_DAE|DAE]] |
||
|[[ |
|[[Arch_Workbench|Arch]] |
||
|IconL= |
|||
|IconR= |
|||
|IconC=Workbench_Arch.svg |
|||
}} |
}} |
||
Line 12: | Line 16: | ||
<translate> |
<translate> |
||
== Description == |
== Description == <!--T:49--> |
||
<!--T:5--> |
<!--T:5--> |
||
The [[Arch_Workbench|Arch]] and [[ |
The [[File:Workbench_Arch.svg|24px]] [[Arch_Workbench|Arch]] and [[File:Workbench_BIM.svg|24px]] [[BIM_Workbench|BIM Workbenches]] feature an [http://en.wikipedia.org/wiki/Industry_Foundation_Classes Industry Foundation Classes (IFC)] importer and exporter. The IFC format is a continuously growing format to interchange data among [http://en.wikipedia.org/wiki/Building_Information_Modeling BIM] applications, used in architecture and engineering. |
||
<!--T:6--> |
<!--T:6--> |
||
Both the importer and exporter depend on |
Both the importer and exporter depend on the [[IfcOpenShell|IfcOpenShell]] library, which is bundled in some distributions of FreeCAD. An easy way to check if IfcOpenShell is available is to enter the following in the [[Python_console|Python console]]: |
||
</translate> |
</translate> |
||
Line 27: | Line 31: | ||
<!--T:22--> |
<!--T:22--> |
||
If no error message appears, IfcOpenShell is |
If no error message appears, IfcOpenShell is installed, and you may proceed with [[Std_Import|importing]] IFC files. Otherwise, you will need to install IfcOpenShell yourself; read the [[IfcOpenShell|IfcOpenShell]] page to learn more about this process. |
||
<!--T:23--> |
<!--T:23--> |
||
{{Emphasis|Note:}} the {{Button|[[File:BIM_Setup.svg|16px]] [[BIM_Setup|BIM Setup]]}} tool will look for IfcOpenShell too, and issue a notification if it is not installed. |
|||
<!--T:24--> |
<!--T:24--> |
||
{{Emphasis|Note 2:}} in the past (2013) the Arch Workbench used to feature a simpler IFC importer that didn't depend on IfcOpenShell. This legacy module is still included in the source code but as of v0.19 it is not recommended at all; it will only be able to import a very small subset of IFC objects, and should be considered completely obsolete. |
|||
==Importing== <!--T:4--> |
==Importing== <!--T:4--> |
||
Line 44: | Line 48: | ||
* '''one Part shape per floor''', one all-in-one object, just for reference |
* '''one Part shape per floor''', one all-in-one object, just for reference |
||
<!--T:50--> |
|||
Each of these types loses some information over the previous one, but is lighter on resources, which allows to open bigger files. A last type allows to discard entirely the importing of Arch objects, which is useful for structural analytic models. |
Each of these types loses some information over the previous one, but is lighter on resources, which allows to open bigger files. A last type allows to discard entirely the importing of Arch objects, which is useful for structural analytic models. |
||
Line 50: | Line 55: | ||
<!--T:42--> |
<!--T:42--> |
||
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 [[ |
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_Workbench|Arch]] objects, those that can't will be imported as simple [[Part_Workbench|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. |
||
<!--T:13--> |
<!--T:13--> |
||
Line 86: | Line 91: | ||
== Further information == <!--T:18--> |
== Further information == <!--T:18--> |
||
<!--T:51--> |
|||
* [[IfcOpenShell|IfcOpenShell]], more information on installing this library. |
* [[IfcOpenShell|IfcOpenShell]], more information on installing this library. |
||
<!--T:19--> |
<!--T:19--> |
||
{{ |
{{Docnav |
||
|[[Arch_Preferences|Preferences]] |
|||
| |
|||
|[[ |
|[[Arch_DAE|DAE]] |
||
|[[ |
|[[Arch_Workbench|Arch]] |
||
|IconL= |
|||
|IconR= |
|||
|IconC=Workbench_Arch.svg |
|||
}} |
}} |
||
</translate> |
</translate> |
||
{{Arch Tools navi{{#translation:}}}} |
{{Arch Tools navi{{#translation:}}}} |
||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
[[Category:File Formats{{#translation:}}]] |
[[Category:File Formats{{#translation:}}]] |
Latest revision as of 13:38, 10 March 2022
Description
The Arch and BIM Workbenches feature an Industry Foundation Classes (IFC) importer and exporter. The IFC format is a continuously growing format to interchange data among BIM applications, used in architecture and engineering.
Both the importer and exporter depend on the IfcOpenShell library, which is bundled in some distributions of FreeCAD. An easy way to check if IfcOpenShell is available is to enter the following in the Python console:
import ifcopenshell
If no error message appears, IfcOpenShell is installed, and you may proceed with importing IFC files. Otherwise, you will need to install IfcOpenShell yourself; read the IfcOpenShell page to learn more about this process.
Note: the BIM Setup tool will look for IfcOpenShell too, and issue a notification if it is not installed.
Note 2: in the past (2013) the Arch Workbench used to feature a simpler IFC importer that didn't depend on IfcOpenShell. This legacy module is still included in the source code but as of v0.19 it is not recommended at all; it will only be able to import a very small subset of IFC objects, and should be considered completely obsolete.
Importing
All IfcProduct-based entities from IFC2x3 or IFC4 files will be imported into the FreeCAD document. The IFC preferences settings allow you to set how the IFC objects are imported:
- full parametric Arch objects, the geometry will, as much as possible, be editable in FreeCAD
- non-parametric Arch objects, objects will carry IFC information and properties but will not be editable
- non-parametric Part shapes, the geometry will be faithfully rendered but IFC information will be discarded
- one Part shape per floor, one all-in-one object, just for reference
Each of these types loses some information over the previous one, but is lighter on resources, which allows to open bigger files. A last type allows to discard entirely the importing of Arch objects, which is useful for structural analytic models.
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 objects, those that can't will be imported as simple Part shapes. The IFC importer starts by importing all IFC entities derived from 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.
If using an import mode that uses Arch objects, being parametric or not, all objects will carry the full set of IfcProperties attached to each object, grouped by Property Set.
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.
IfcAnnotation objects are also imported, as well as linear and curve-based IfcStructuralItem-based entities.
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.
Enabling the show debug messages in the IFC preferences settings will print a report indicating if any object from the IFC file failed to import.
Note: The BIM Workbench features an IFC explorer tool that allows you to open an IFC file in fast, text-only mode, and import only the parts you wish.
Exporting
Exporting to IFC files will export all the selected objects and their descendants. All Arch/BIM objects are supported, as well as other objects created in other workbenches. The only not fully supported objects, at the moment, are PartDesign Bodies, Std Parts, and new structures such as App Links and LinkGroups, so you will need a bit of testing if using them. Arch References will currently export as IfcBuildingElementProxies
.
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 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 IfcBuildingElementProxy.
IFC files are exported as IFC2x3 or IFC4 depending on your version of IfcOpenShell, which can be compiled with any of the IFC schemas. If using IfcOpenShell v0.6 or higher, the IFC version specified in the Arch preferences will be used.
If the shape of exported objects is based on an extrusion or a boolean operation, the operation and components will be correctly exported to IFC. If not, the object's shape is exported as IfcFacetedBrep. If the shape contains curves, these will be triangulated. However, IfcOpenShell v0.5 or above feature a serializer, which must be enabled in the Import/Export → IFC preferences. If enabled, this serializer is able to export very complex curved objects such as those based on NURBS, and thus avoid triangulated faces. At the time of writing, though, few other BIM applications support IFC NURBS objects, so a bit of testing is advised.
Further information
- IfcOpenShell, more information on installing this library.
- Elements: Wall, Structure, Curtain Wall, Window, Roof, Space, Stairs, Equipment, Frame, Fence, Truss, Profile, Pipe, Pipe Connector
- Reinforcements: Straight Rebar, U-Shape Rebar, L-Shape Rebar, Stirrup, Bent-Shape Rebar, Helical Rebar, Column Reinforcement, Beam Reinforcement, Slab Reinforcement, Footing Reinforcement, Custom Rebar
- Panels: Panel, Panel Cut, Panel Sheet, Nest
- Materials: Material, Multi-Material
- Organization: Building Part, Project, Site, Building, Level, External reference, Section Plane, Schedule
- Axes: Axis, Axes system, Grid
- Modification: Cut with plane, Add component, Remove component, Survey
- Utilities: Component, Clone component, Split Mesh, Mesh to Shape, Select non-manifold meshes, Remove Shape from Arch, Close Holes, Merge Walls, Check, Toggle IFC Brep flag, 3 Views from mesh, Create IFC spreadsheet, Toggle Subcomponents
- Additional: Preferences, Import Export Preferences (IFC, DAE, OBJ, JSON, 3DS, SHP), IfcOpenShell, IfcPlusPlus, Arch API
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub