Change BIM-Property.Value through ObjectBRX?

Hi BricsCAD BIM community,

I am currently facing a challenge while working with the "BimClassification::setProperty()" function in BricsCAD BIM.

My objective is to set a property value without an active Export/Import reactor call. Specifically, I want to assign values to "PropertySet1.Property" and "PropertySet2.Property." The unique identifier for these properties lies in the propertySetName, as both properties share the same name.



However, I have encountered difficulties in achieving this as the get/setProperty() functions take PropertyName as an argument and not PropertySetName and I am particularly interested in accessing the properties through the propertySetName to be able to differentiate.

Is there a recommended method or workaround to accomplish this effectively?

Thank you in advance.

Comments

  • Hi @iref3at,

    BIM Properties can have the same 'Label', but they still use unique ID's, and I believe they are stored in PropertyName. Check out if they have a different 'Label' from 'ID' in the BIMPROPERTIES dialog box. (they should).

    All the best,
    Billie

  • RubenDBricsys
    edited March 4
    For the sake of completeness: Property ID's are unique within a namespace/BimCategory, but you can have properties with the same ID in different namespaces/BimCategory.

    E.g. you can create a property 'Reference' in the 'User' namespace, even if it does exist already in the 'IFC' namespace.

    (Namespace is how it is called in the BIMPROPERTIES dialog, but in the API documentation, it's called BimCategory (https://developer.bricsys.com/bricscad/help/en_US/V24/DevRef/index.html?page=source/html/f53c2602-5af0-3ece-e019-075d1999f444.htm )
  • Thank you all.

    I got a reply from bricsys.

    This is the method I was looking for.

    BimPropertySets::getPSetProperty(_oid, strPsetNameC, strAttNameC, AcAttValue)