IFC Wall material layers - best practice

2»

Comments

  • Hi @Moult

    @steverugi that sounds like a custom pset.

    @tim I've always used CLADDING for that.

    question on IfcCovering

    sorry, I struggle to make sense of the page on IfcCovering available on "standards.buildingsmart.org".

    It reads: A covering is an element which covers some part of another element and is fully dependent on that other element.
    and Coverings are elements with relationships to the covered element and the space on the other side
    ..which sounds promising

    then it shows two paragraphs on

    • Coverings can be assigned to
    • The following guideline shall apply

    Please, does anybody know how it works in BlenderBIM? That is, how is an IfcCovering assigned to , for instance, a wall?
    Aggregation triggers an error "Cannot aggregate to IfcWall with a body representation", same applies when trying to assign it to an IfcSpace, or at least I wasn't able to.

    what's the meaning of coverings that may not have their own shape representation ?

    I am a bit disoriented here, any hint pretty please? ;)

  • @steverugi I am pleased to know it isn't just me who struggles with the writing style of BSi ifc spec, plain English with examples would help me

    steverugi
  • The documentation seems pretty clear but unfortunately yes it does require a lot of knowledge as to the terminology they use. Here's my attempt at rewriting the docs in simple English :) Also note that IfcRelCoversSpaces and IfcRelCoversBldgElements are deprecated, so I've taken that into account when rewriting the docs.

    I've also submitted a PR to buildingSMART to adjust the docs https://github.com/buildingSMART/IFC4.3.x-development/pull/882

    A covering (including wall claddings, floorings, insulation, flashings, suspended ceilings, moldings, skirting boards, etc) overs some part of another element and is fully dependent on that other element.

    To relate a covering (e.g. cladding) to its "covered element" (e.g. wall), use the the IfcRelAggregates relationship.

    To relate a covering to a space (e.g. this room has carpet and a plasterboard ceiling), use the IfcRelContainedInSpatialStructure relationship. This may typically be used in facility management usecases and room data sheets, such as when creating room finishes schedules.

    In addition to these relationships, if a covering has geometry that defines its extents and the space it is related to contains space boundaries, then the IfcRelSpaceBoundary relationship should be used to relate the covering to the space. This is typically used for the analysis of spaces, such as energy analysis where it is important to know the exact materials and elements that separate spaces at their boundaries.

    NigelKoArasteverugiJohnMassimo
  • edited July 2024

    Hi @Moult :

    thanks a lot for your reply, truly appreciated
    I add a few notes in case somebody needs assistance to apply it to BBIM's UI:

    The documentation seems pretty clear but unfortunately yes it does require a lot of knowledge as to the terminology they use. Here's my attempt at rewriting the docs in simple English :) Also note that IfcRelCoversSpaces and IfcRelCoversBldgElements are deprecated, so I've taken that into account when rewriting the docs.

    I've also submitted a PR to buildingSMART to adjust the docs https://github.com/buildingSMART/IFC4.3.x-development/pull/882

    A covering (including wall claddings, floorings, insulation, flashings, suspended ceilings, moldings, skirting boards, etc) overs some part of another element and is fully dependent on that other element.

    1.

    To relate a covering (e.g. cladding) to its "covered element" (e.g. wall), use the the IfcRelAggregates relationship.

    BBIM:

    Select covering and (for instance) a wall, go to Object Information > Object Metadata > Aggregates, click on + and assign a name, useful when there is an opening in the wall needed to be transferred onto the covering, like a window or door.

    2.

    To relate a covering to a space (e.g. this room has carpet and a plasterboard ceiling), use the IfcRelContainedInSpatialStructure relationship. This may typically be used in facility management usecases and room data sheets, such as when creating room finishes schedules.

    BBIM:

    Select the covering, go to Object Information > Object Metadata > Spatial Container, click on the pencil, go through the spatial tree and select the designated Space, the covering should automatically shift under the Space container in the outliner.
    3.

    In addition to these relationships, if a covering has geometry that defines its extents and the space it is related to contains space boundaries, then the IfcRelSpaceBoundary relationship should be used to relate the covering to the space. This is typically used for the analysis of spaces, such as energy analysis where it is important to know the exact materials and elements that separate spaces at their boundaries.

    BBIM:

    sorry, could you please explain it further here?

    • if a covering has geometry that defines its extents > are there coverings without geometries?
    • and the space it is related to contains space boundaries > is it when a space is built using IfcRelSpaceBoundary ? like when a room is functionally divided in two distinct areas that need to be separately identified with two IfcSpace?
    • to perform the above I use an IfcVirtualElement as a vertical plan as separator, how does it relate to a covering? could you provide a real life example if you don't mind?

    Thank you again for your support and patience

    NigelKoAraJohn
  • are there coverings without geometries?

    Sure. Nothing in IFC needs geometry. Geometry is completely optional. You can totally describe an entire building with all of its floor finishes (for maintenance) and ceiling finishes (for access and maintenance) and skirtings (useful for hospitals) etc without modeling a single thing and it'll be actually enough to build off in a lot of cases without having a single drawing (all hospital jobs here in Aus typically create room data sheets which include data akin to this).

    is it when a space is built using IfcRelSpaceBoundary

    A space isn't built using IfcRelSpaceBoundary. When you have spaces, you can describe the boundaries between spaces using a space boundary. There are two types of space boundaries: 1st Level and 2nd Level. The 1st Level describes merely what physical (e.g. wall, coverings, flooring, ceiling) (or virtual - e.g. the invisible space between an open plan living room / kitching / dining area) elements define the boundary of the space. I guess it's similar to the "what covering is on this space" but with geometry so you can get more accurate Qtos (exactly how much carpet is in my living areas for sustainability counting - yes this is a real usecase I've encountered). The 2nd Level describes what physical elements form the boundary of a space ... taking into account the neighboring spaces (i.e. the spaces on the other side). This increased granularity is critical for energy analysis when you need to know what two spaces touch, and exactly what's in-between.

    If this doesn't sound useful to you, you're probably not the target audience for space boundaries. It's mostly really keen facility managers (for 1st level) and energy simulationists like @Cyril (for 2nd level).

    NigelKoArasteverugiJohn
  • Thanks @Moult :

    are there coverings without geometries?

    Sure. Nothing in IFC needs geometry. Geometry is completely optional. You can totally describe an entire building with all of its floor finishes (for maintenance) and ceiling finishes (for access and maintenance) and skirtings (useful for hospitals) etc without modeling a single thing and it'll be actually enough to build off in a lot of cases without having a single drawing (all hospital jobs here in Aus typically create room data sheets which include data akin to this).

    very interesting topic, of course there are schedules without drawings to detail elements in a particolar context, I didn't know this could be done in IFC, something for me to familiarize with.

    is it when a space is built using IfcRelSpaceBoundary

    A space isn't built using IfcRelSpaceBoundary.

    My bad, I meant IfcVirtualElement

    When you have spaces, you can describe the boundaries between spaces using a space boundary. There are two types of space boundaries: 1st Level and 2nd Level. The 1st Level describes merely what physical (e.g. wall, coverings, flooring, ceiling) (or virtual - e.g. the invisible space between an open plan living room / kitching / dining area) elements define the boundary of the space. I guess it's similar to the "what covering is on this space" but with geometry so you can get more accurate Qtos (exactly how much carpet is in my living areas for sustainability counting - yes this is a real usecase I've encountered). The 2nd Level describes what physical elements form the boundary of a space ... taking into account the neighboring spaces (i.e. the spaces on the other side). This increased granularity is critical for energy analysis when you need to know what two spaces touch, and exactly what's in-between.

    If this doesn't sound useful to you, you're probably not the target audience for space boundaries. It's mostly really keen facility managers (for 1st level) and energy simulationists like @Cyril (for 2nd level).

    Of course it totally sounds useful to me for QTO, very much so.
    It would be even more useful if a practical example in BBIM were available, or as usual I do trial-error approach until I find it out myself :)
    cheers

    NigelKoAraJohn
  • Sure. Nothing in IFC needs geometry. Geometry is completely optional.

    I'm getting to know the difference between CAD and IFC, in addition to the word semantic:)

  • edited August 2024

    Quick question for the community, I have 38 materials that were authored by ArchiCad and exported to IFC.
    But there are some items that are important for us to see in order to schedule and do energy analysis with:

    Namely the building material physical properties noted in the dialogue from ArchiCad. Does anyone know where I can find these Pset values in Bonsai? @dionmoult said in a PM: "in short material properties include some physics data (e.g. grade of steel , compressive strength of concrete), and all objects have psets for environmental impact (e.g. ClimateChangePerUnit for carbon kgCO2e) for simulations, IFC can natively stored 2nd level space boundaries which can then be used for energy analysis"

    But I don't know where I can find these in the Bonsai UI... Can anyone help? Do I need to set up an 'Active Classification Library' with values? per:

  • @Andyro I see these Psets attached to materials in Bonsai:

    Is this an IFC4 file?

  • Huh. Weird, yes I exported as IFC4. I would have expected to see MassDensity and the like as you show it. So I added more data on IFC4 export, and now I see a list, but no values :/
    And when I try to 'search for property' (magnifying glass) I get a .py error:

  • Is there a database somewhere in Bonsai where I can see the list of values in these Psets?

  • hi @Andyro

    Is there a database somewhere in Bonsai where I can see the list of values in these Psets?

    In case you haven't yet please check the Pset page at https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/annex-b3.html

    for instance this is the one covering Pset_MaterialThermal

    cheers

    Andyro
  • @Andyro digging a bit:

    The blenderbim download 0.0.240602 from the website doesn't show these Material Property Sets.

    ..but if I install the new Bonsai extension in blender 4.2.1 I can see them, so I guess this has been fixed recently

  • edited August 2024

    I suspect ArchiCad is not exporting these values into the IFC, because ArchiCad links elements internally to an xml database called 'Material Catalogue.xml'. I think what we might need to do is recreate this 'Material Catalogue.xml' file in a format Bonsai can read. Attached is what AC uses to apply building physical properties to elements. The xml is formatted like this:

    I have a hunch that I may need to link an 'Active Classification Library' per the attaches screenshot. I'm just a little out of my depth here because I don't have a clue what the development arc for Bonsai is wrt how it will handle material/cost/properties from linked databases.

  • This database was considered for thermal calculations. No idea if there has been further integration.

    Andyro
  • edited August 2024

    @brunopostle said:
    @Andyro I see these Psets attached to materials in Bonsai:>...

    @brunopostle was your IFC imported from Revit or somewhere else? I've tried everything I can think of to get values to appear as you do under your custom Pset - but can't... this is not from a specific element you selected but a kind of meta-attribute for the material itself correct?

  • @Andyro These are created with IfcOpenShell and Bonsai.

    You need to look in your IFC file, each Material and its Psets are structured like this:

    #23537=IFCMATERIAL('Insulation',$,$);
    [...]
    #23541=IFCMATERIALPROPERTIES('Pset_MaterialCommon',$,(#23542),#23537);
    #23542=IFCPROPERTYSINGLEVALUE('MassDensity',$,IFCMASSDENSITYMEASURE(100.),$);
    [...]
    #23543=IFCMATERIALPROPERTIES('Pset_MaterialEnergy',$,(#23544,#23545),#23537);
    #23544=IFCPROPERTYSINGLEVALUE('ThermalConductivityTemperatureDerivative',$,IFCREAL(0.1),$);
    #23545=IFCPROPERTYSINGLEVALUE('SpecificHeatTemperatureDerivative',$,IFCREAL(0.2),$);
    
    Andyro
  • @Andyro The distinction between Attributes and Properties is that Attributes are part of the entity itself. ie. the IfcMaterial above has two Attributes (Description & Category) which are empty (represented by $ & $); Properties are separate entities which attach themselves to the Material or whatever.

    MassimoAndyro
  • edited August 2024

    Ok thank you! I think I see now that ArchiCad is NOT exporting the values for IFCMASSDENSITYMEASURE, or any named values like ('ThermalConductivityTemperatureDerivative', $, IFCREAL(0.1), $);
    So we might need to append this data to our files somehow with these values but the IFC export from AC seems really verbose; with thousands of callouts of the same materials for each element, where we'd hope to write single absolute values for say: #6665=IFCMATERIAL('07 | Rockwool Comfortboard 110 1',$,#6259,$,$); and have those values apply to every instance of that material... so would this need to be written into each line in the $&$ section of every instance, or could we make a table with all the absolute and specific values that apply to all instances/elements?

    I also see the same structure for IFCMATERIAL, and IFCMATERIALCONSTITUENT (for ex. composite walls), where I'd imagine if we had a way to write the values to IFCMATERIAL they'd be picked up or relevant to any assembly containing the same IFCMATERIALCONSTITUENT?
    PS - we write long material names because that's how we want them picked up in our notes and schedules and automated wall labelling inside Archicad, and probably from Bonsai eventually too. Otherwise contractors tend to use the wrong fasteners, etc.
    PPS - ArchiCad writes these values as ArchiCad 'Properties' that cannot be exported to XML, Text or otherwise. So it looks like we'll have to recreate these line-by-line from scratch to match our project templates.

  • edited August 2024

    Is there a way to write these building physical property values into a Classification Library as are found in blenderbim/bim/schema/classifications? ie. can we append values to lines like in the Masterformat spec item: #864=IFCCLASSIFICATIONREFERENCE($,'03 31 00','Structural Concrete',#862,$,$); - to include thermal, mass, cost and other values and schedule or calculate from these values in a meaningful way? Would adding a property to the above look like this? (I'd need help w syntax as I have no idea)... #1533=IFCCLASSIFICATIONREFERENCE($,'07 21 13.19','Mineral Board Insulation',#1530,$, (‘ThermalConductivityTemperatureDerivative',$,IFCREAL(0.035),$; - where the U-value for Rockwool CB110 for example is 0.035W/mK

  • @Andyro I have no experience of Classification libraries, but in principle you should be able to create an IFC file that contains just your materials with all their physical properties, shading colours etc.. in the form of IfcMaterial and related entities. Then you can use the Project Library > Custom Library feature of Bonsai to import them into any future models.

    (there are some missing features here: it would be nice to be able to import a material and have it clobber any existing materials with the same name; similarly it would be nice to be able to select several materials and Ctrl-J to merge them into a single material)

    AndyroJohn
  • I'm not an archicad user, but per this comment, it seems you can set the 'translator' to export Material Properties.
    https://forums.buildingsmart.org/t/does-these-attributes-are-defined-by-buildingsmart-or-not/1371/7

    Andyro
  • I've reached out to Stefan to see what I am missing there. His sample is from AC23, we're at AC27 now, there may be some small differences in translator settings, I will find out tx!

  • Finally! Got it to work.
    It was a 'Data Conversion' option in the ArchiCad translator, where 'Building Material Properties and Classifications' needs to be checked/selected. Then all of the values from our established templates import to BBim and can be viewed and presumably scheduled for wbLCA purposes.

    steverugitheoryshawJohnbruno_perdigaoKoAra
  • Settings here in the IFC translator in AC:

    theoryshawNigelemiliotasso
  • I have been struggling with how to represent walls with steel framing, external steel cladding and internal plasterboard lining in my geometry.
    I understand Dion's comment that "nothing in IFC requires geometry" but I need the geometry for visual representation.
    Do I represent the external cladding as a wall type and use this to construct the geometry? Alternatively, if I classify the external cladding as a class, what geometry do I use to include it in 2D/3D representations.
    The same would apply to wooden frame structure with wood or cement/other sheet cladding.
    Not being either an architect or an engineer this puzzles me.

  • hi @ubiquity

    Do I represent the external cladding as a wall type and use this to construct the geometry? Alternatively, if I classify the external cladding as a class, what geometry do I use to include it in 2D/3D representations.

    I use IfcCovering[CLADDING] for it (vertical layer)

    The same would apply to wooden frame structure with wood or cement/other sheet cladding.

    for the frame you can use IfcMember[STUD] or [PLATE] etc.. (extruded profile)

    Not being either an architect or an engineer this puzzles me.

    if that may comfort you, for me too it hasn't been an easy ride, but I got used to enjoying it :)

    John
  • Thank you for your reply and sentiment!

    steverugi
Sign In or Register to comment.