Invariant parameters for types and instances

I noticed it in the “IFC Material List”, and there I raised the issue more in passing. But it is of a fundamental nature.

I can model an instance (Floor Level 1) from a type (ifcSlabType/Beton 20 cm) and can change the instance in x- and y-direction. I can also change the PredefinedType of the instance to Floor or Roof. This has no effect on the other instances I modeled from the ifcSlabType.

But if I want to change the thickness in z-direction in the instance (Floor Level 1), the height also changes in all instances coming from the type IfcSlabType. Also the height in the type has been adjusted.

Is this approach intentional? It would mean that I need a separate type for each centimeter of walls or slabs? This would be very time-consuming for structures with different thicknesses for walls and slabs.

Comments

  • This is intentional. There are a few possible situations you can choose from:

    1. The type has no geometry, or there is no type at all. In this case, each occurrence may be totally custom and have totally different geometry.
    2. The type has explicit geometry. In this case, each occurrence must have that exact same geometry (this is called a mapped representation).
    3. The type has a parametric material layer set. In this case, each occurrence may vary in two axes, but the third axis (i.e. the thickness) is fixed. For example, walls may vary in length or height, but have a fixed thickness. Slabs may vary in 2D plan, but have a fixed depth.
    4. The type has a parametric material profile set. In this case, each occurrence may vary in length but must have a fixed cross sectional profile. This is most typical in beams, columns, structural steel members, etc.

    These situations are well established norms in the AEC industry. For example, the most standard situation for walls is that each wall type describes a layer build up with a constant thickness.

    Gorgious
  • In the days of 2D technology, it was right not to change the thickness of slabs and always keep them the same. The effort to recreate the sections was expensive, so 3 or 4 cm too much concrete didn't matter.
    But with objects, sections are easy to create and I can determine the C02 footprint for each component, and costs can be saved by optimizing material consumption per slab. With object-oriented methods, I can plan differently if I have technology for it.

  • @peterpaul how do you determine the C02 footprint for each component?

  • I think the time-consuming part you're talking about is at the moment mainly spent visually parsing the screen to find the correct place to open up and too many clicks to get to the material layer thickness field and validate the change, but it can always be fixed with a special interface / QOL enhancement. The schema makes things lightweight and reliable IMO.

  • @peterpaul great! In that case, you simply fall into situation number 1. Just don't create a type, or create a non-representation type and voila, you have no invariants :)

    Of course the next issue is exactly what @Gorgious says: we're still working on improving the usability to support all forms of authoring. So your modeling might slow down a tad :)

  • @Massimo said:
    @peterpaul how do you determine the C02 footprint for each component?

    The previous planning goes the way let's make it simple. All components the same thickness, the same material, etc. is also correct in terms of 2D planning.
    But with today's methods of static calculation, the possibility of producing material in small quantities and 3D printing, I can make, for example, the Base slab 22 cm, the Floor slab 19 cm and the roof 15 cm. The Co2 footprint results from the proportion of cement, from the type of manufacturing, etc..
    Yes, the idea is new - but it can be implemented with objects. But at the same time, planning with CAD tools must be simple. Here, object templates are a very good tool first to model the slab quickly and adjust as needed. A tool where I have to completely redesign each plate is not interesting.

  • @Moult said:
    @peterpaul great! In that case, you simply fall into situation number 1. Just don't create a type, or create a non-representation type and voila, you have no invariants :)

    Of course the next issue is exactly what @Gorgious says: we're still working on improving the usability to support all forms of authoring. So your modeling might slow down a tad :)

    Yes, that is a possibility. Hence my question about the basic structure.
    But for what I want to do with my students BlenderBIM is not the right tool. I wish you continued success :-)

  • I can see where this kind of optimisation is useful (I do it myself for bespoke structures, I literally shave kilos here and there), but for a normal building this looks like overfitting - you may save materials, but you create a structure that can't be adapted to new uses in the future, reducing its lifespan and negating savings made during construction (see How Buildings Learn by Stewart Brand for a good discussion of this process).

    Nigel
  • Please distinguish two things:
    a) My question is simple: Can the thickness and the material also be set variably per object. Currently this is not possible.
    b) I was asked why. I have been working in construction for almost 50 years and I want to get out of the old recurring discussions like precast or reuse structures and try new things.
    And for that I am looking for software that allows me to do new things - thats it!

    brunopostle
This discussion has been closed.