mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-11 10:06:47 +00:00
Basic IFC concepts
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
Classification and Types
|
||||
========================
|
||||
|
||||
IFC classification hierarchy and the concept of types and occurrences.
|
||||
@@ -0,0 +1,81 @@
|
||||
Geometry and Representations
|
||||
============================
|
||||
|
||||
Understanding IFC Elements and Geometry
|
||||
---------------------------------------
|
||||
|
||||
In BlenderBIM, it's crucial to understand the relationship between IFC elements, their classification, types, and geometry.
|
||||
These concepts work together but serve different purposes.
|
||||
|
||||
IFC Classification
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Every IFC element has a two-level classification:
|
||||
|
||||
1. IFC Class: The top level (e.g., IfcWall)
|
||||
2. Predefined Type: The second level (e.g., PARTITIONING)
|
||||
|
||||
This classification is purely for categorization and filtering. It doesn't determine the element's geometry or appearance.
|
||||
|
||||
Types and Occurrences
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
IFC uses the concept of "Types" and "Occurrences":
|
||||
|
||||
- Types: Define common properties or materials shared by multiple elements.
|
||||
- Occurrences: Individual instances of a type.
|
||||
|
||||
If a type has geometry associated with it, all its occurrences must have the same geometry (similar to instancing or cloning in other applications).
|
||||
However, if a type has no material or geometry, it doesn't impact the geometry of its occurrences.
|
||||
|
||||
Geometry and Representations
|
||||
----------------------------
|
||||
|
||||
In IFC, unlike traditional 3D modeling:
|
||||
|
||||
- An object may have no geometry, one geometry, or multiple geometries.
|
||||
- Each geometry is called a "Representation".
|
||||
- Representations are differentiated by their "Context". A "Context" defines what the geometry is used for (e.g., 3D Body, 2D Plan, etc.).
|
||||
|
||||
The most common context is the 3D Body context, which represents the physical shape of the object.
|
||||
|
||||
Representation Types
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
IFC supports various geometry types:
|
||||
|
||||
- Mesh-like: Facetations, tessellations, triangulations, or planar breps.
|
||||
- Solid modeling: CSGs, swept solids, extrusions, lofts, etc.
|
||||
|
||||
In BlenderBIM, you can create simple mesh geometries (like a cube) and assign them to IFC elements.
|
||||
However, for more complex elements like walls, slabs, or columns, other representation types are more appropriate.
|
||||
|
||||
Parametric Materials
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
IFC standardizes certain parametric modeling techniques:
|
||||
|
||||
1. Material Layers: Uses an axis line and material layers to derive the body of an object by extruding layers of different thicknesses to a particular height.
|
||||
2. Material Profiles: Extrudes a profile (arbitrary or parametric) along a 3D axis.
|
||||
|
||||
These are typically defined at the type level and inherited by occurrences.
|
||||
|
||||
Working with Representations in BlenderBIM
|
||||
------------------------------------------
|
||||
|
||||
- Creating swept solids: Currently, the best method is to use parametric material layers (e.g., for walls) or material profiles.
|
||||
- Mesh editing: For mesh-like representations, you can edit them directly in Blender's edit mode.
|
||||
- Non-mesh modeling: BlenderBIM currently has limited tools for direct modeling of non-mesh geometries.
|
||||
Future updates will include more intuitive interfaces for this purpose.
|
||||
- Deleting representations: This should be avoided as it can create invalid IFC data.
|
||||
If you delete a representation, the element should no longer be visible in the 3D view.
|
||||
|
||||
.. note::
|
||||
The current implementation allows low-level manipulation of IFC data, which requires a deep understanding of IFC rules.
|
||||
Users should exercise caution when manually editing representations or other low-level IFC data.
|
||||
|
||||
Future Developments
|
||||
-------------------
|
||||
|
||||
The BlenderBIM team plans to develop more intuitive interfaces for non-mesh direct modeling tools in future versions.
|
||||
This will make it easier to create and manipulate complex geometric representations without needing to understand the intricacies of IFC data structures.
|
||||
@@ -0,0 +1,10 @@
|
||||
Basic Spatial Objects
|
||||
=====================
|
||||
|
||||
IFC organizes building information in a hierarchical structure:
|
||||
|
||||
- IfcProject
|
||||
- IfcSite
|
||||
- IfcBuilding
|
||||
- IfcBuildingStorey
|
||||
- IfcSpace
|
||||
@@ -11,16 +11,6 @@ IFC Schema
|
||||
The IFC schema defines a comprehensive set of consistent data representations of building information for exchange between AEC software applications.
|
||||
It covers various aspects of buildings throughout their lifecycle, from conception to demolition.
|
||||
|
||||
Basic Spatial Objects
|
||||
---------------------
|
||||
|
||||
IFC organizes building information in a hierarchical structure:
|
||||
|
||||
- IfcProject
|
||||
- IfcSite
|
||||
- IfcBuilding
|
||||
- IfcBuildingStorey
|
||||
- IfcSpace
|
||||
|
||||
buildingSMART and Standards
|
||||
---------------------------
|
||||
@@ -45,3 +35,40 @@ IFC is part of a broader ecosystem of open standards in the AEC industry. Other
|
||||
|
||||
The use of open standards like IFC ensures interoperability between different software tools
|
||||
and preserves data integrity throughout the building lifecycle.
|
||||
|
||||
|
||||
Key Concepts
|
||||
============
|
||||
|
||||
This section provides an overview of key IFC concepts and how they're implemented in BlenderBIM.
|
||||
|
||||
|
||||
.. only:: builder_html and (not singlehtml)
|
||||
|
||||
.. container:: toc-cards
|
||||
|
||||
.. container:: card
|
||||
|
||||
:doc:`ifc_concepts/spatial_objects`
|
||||
Basic spatial objects.
|
||||
|
||||
.. container:: card
|
||||
|
||||
:doc:`ifc_concepts/classification_and_types`
|
||||
IFC classification hierarchy and the concept of types and occurrences.
|
||||
|
||||
.. container:: card
|
||||
|
||||
:doc:`ifc_concepts/geometry_and_representations`
|
||||
Understanding IFC geometry, representations, and parametric materials.
|
||||
|
||||
.. container:: global-index-toc
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
:caption: Understanding IFC
|
||||
:maxdepth: 2
|
||||
|
||||
ifc_concepts/spatial_objects
|
||||
ifc_concepts/classification_and_types
|
||||
ifc_concepts/geometry_and_representations
|
||||
|
||||
Reference in New Issue
Block a user