Hello,
I’m running CMDBuild 4.2 / openMAINT 5 and I’m trying to import walls from an IFC4 file (exported from Revit) as Asset cards, mapping custom property set values to my class attributes.
Setup:
I created a custom Pset in Revit (Pset_Asset) with the following instance-level properties on IfcWall:
AssetTagAssetManufacturerModelReference
I verified in BIMvision/Navisworks that these properties are correctly exported on the IfcWall instance (not on IfcWallType) under Pset_Asset, with values such as:
Pset_Asset
AssetManufacturer: Carrier
AssetTag: 01
ModelReference: BTC07
My import template (Wall Import from IFC):
- Apply on: Class = Wall
- IFC entity path:
IfcWall - Attribute mappings:
-
Code→AssetTag -
Name→Name -
Model→ModelReference -
Supplier→AssetManufacturer
-
The problem:
-
CodeandNameimport correctly (these are direct IFC attributes) -
ModelandSupplier, mapped to the custom Pset propertiesModelReferenceandAssetManufacturer, are always imported empty
What I’ve tried:
- Plain property name:
ModelReference→ doesn’t work - Full traversal path (as documented on the OSArch wiki):
IsDefinedBy[RelatingPropertyDefinition/Name="Pset_Asset"]/RelatingPropertyDefinition/HasProperties[Name="ModelReference"]/NominalValue/wrappedValue
→ doesn’t work
3. Type-relationship traversal:
IsTypedBy/RelatingType/IsDefinedBy[RelatingPropertyDefinition/Name="Pset_Asset"]/RelatingPropertyDefinition/HasProperties[Name="ModelReference"]/NominalValue/wrappedValue
→ doesn’t work
None of these produce an error — the import just completes with the Model and Supplier fields left blank.
Question:
What is the correct syntax for the “IFC property” field in the import template to read a value from a custom property set on an IfcWall instance? Is there a working example/documentation for this specific use case? I see a similar unanswered question from another user here: BIM IFC4 Mapping Pset standard
Any help would be greatly appreciated — this seems to be a fairly common need for asset management use cases (manufacturer/model info from custom Psets) but I can’t find a single working example anywhere.
Thanks!