Adding data to an object type or the instance of a typed object

timtim
edited January 21 in General

I am looking for clarification regarding modifying types vs the instance of typed objects in BBim. I have been using BBim for a little while now but I am still unsure in the Object Information, and the Geometry and Materials tabs, which properties are for making changes to the 'type' and which properties are for making changes to the selected object (which may or may not be a 'type'). Any insights or guidance to differentiate and comprehend this better would be highly appreciated!

carlopavsteverugi

Comments

  • If you select an instance, anything listed under Inherited Psets, or Inherited Material is applied to the type.

    If you select an instance, and add a pset, then it applies it to the instance. Below is a silly example, but it shows how one Pset_ActuatorTypeCommon pset is applied to instance and one Pset_ActuatorTypeCommon pset is already applied to the type (listed under Inherited Psets)

    If you select an instance, and change anything listed under Inherited Psets, or Inherited Material it will change it on the type level... that is, all the instances will be undated.

    MassimocarlopavtimJanF
  • edited January 21

    If you select an instance (that's driven by a type, but currently does not a material assignment) and apply an IfcMaterial to the instance, it will apply it to the instance, and not the type.

    I could be wrong, but intuitively, I feel like the UI should change here, and it should be applied to the type.

    tim
  • Thank you @theoryshaw, this has been very helpful.
    The conditional nature of modifying either the type or instance does appear to be counterintuitive.

    Ideally, I would envision a UI that allows me to:
    1. Establish a property at the 'type' level (e.g., Pset, material).
    2. Override this property selectively on chosen instances.
    3. Easily revert to the type's default setting by removing the overridden property.

  • edited January 21

    you might have something else in mind, but currently i think it's the following ways...

    1. Establish a property at the 'type' level (e.g., Pset, material).


    1. Override this property selectively on chosen instances.


    I don't think you can override a material assignment on the instance however... could be wrong. As you can see from the following it acts somewhat strange:

    1. Easily revert to the type's default setting by removing the overridden property.

    carlopavtim
  • Loving the screen captures - this has been very insightful!
    I think I did not understand that the same pset (with different values) can be defined on the type as well as an instance, I thought it had to be one or the other. Thanks for your patience.

    Looks like the Materials section could do with the same functionality.

  • Yes you can have instance properties override type properties.
    https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPropertySetTemplateTypeEnum.htm

    The following is for a custom pset. I'm not sure how it works with out-of-the-box psets. Anyone have any clues?

    tim
  • The concept of inheritance and override is very common in most object oriented systems and indeed how our industry works. E.g. "All TYPE2 Fire Rated doors are painted red ... except that one!"

    tim
Sign In or Register to comment.