diff --git a/src/blenderbim/docs/users/modeling/ifc_concepts/classification_and_types.rst b/src/blenderbim/docs/users/modeling/ifc_concepts/classification_and_types.rst new file mode 100644 index 0000000000..cd978aded5 --- /dev/null +++ b/src/blenderbim/docs/users/modeling/ifc_concepts/classification_and_types.rst @@ -0,0 +1,4 @@ +Classification and Types +======================== + +IFC classification hierarchy and the concept of types and occurrences. \ No newline at end of file diff --git a/src/blenderbim/docs/users/modeling/ifc_concepts/geometry_and_representations.rst b/src/blenderbim/docs/users/modeling/ifc_concepts/geometry_and_representations.rst new file mode 100644 index 0000000000..85c64fcf23 --- /dev/null +++ b/src/blenderbim/docs/users/modeling/ifc_concepts/geometry_and_representations.rst @@ -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. \ No newline at end of file diff --git a/src/blenderbim/docs/users/modeling/ifc_concepts/spatial_objects.rst b/src/blenderbim/docs/users/modeling/ifc_concepts/spatial_objects.rst new file mode 100644 index 0000000000..6a59de4f54 --- /dev/null +++ b/src/blenderbim/docs/users/modeling/ifc_concepts/spatial_objects.rst @@ -0,0 +1,10 @@ +Basic Spatial Objects +===================== + +IFC organizes building information in a hierarchical structure: + +- IfcProject +- IfcSite +- IfcBuilding +- IfcBuildingStorey +- IfcSpace diff --git a/src/blenderbim/docs/users/modeling/ifc_concepts/working_with_representations.rst b/src/blenderbim/docs/users/modeling/ifc_concepts/working_with_representations.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/blenderbim/docs/users/modeling/understanding_ifc.rst b/src/blenderbim/docs/users/modeling/understanding_ifc.rst index 26092bc291..6a9c33f652 100644 --- a/src/blenderbim/docs/users/modeling/understanding_ifc.rst +++ b/src/blenderbim/docs/users/modeling/understanding_ifc.rst @@ -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