IFC 4.3.2.20250327 (IFC4X3_ADD2) under development

5.1.6.1 IfcUniqueDefinitionNames

5.1.6.1.1 Semantic definition

The function gets the set of IfcRelDefinesByProperties. It iterates through the Name attribute of the IfcPropertySet's and verifies that no Name appears twice.

5.1.6.1.2 Formal representation

FUNCTION IfcUniqueDefinitionNames
(Relations : SET [1:?] OF IfcRelDefinesByProperties)
:LOGICAL;
LOCAL
Definition : IfcPropertySetDefinitionSelect;
DefinitionSet : IfcPropertySetDefinitionSet;
Properties : SET OF IfcPropertySetDefinition := [];
Result : LOGICAL;
END_LOCAL;
IF SIZEOF(Relations) = 0 THEN
RETURN(TRUE);
END_IF;
REPEAT i:=1 TO HIINDEX(Relations);
Definition := Relations[i].RelatingPropertyDefinition;
IF 'IFC4X3_DEV_738df036.IFCPROPERTYSETDEFINITION' IN TYPEOF(Definition) THEN
Properties := Properties + Definition;
ELSE
IF 'IFC4X3_DEV_738df036.IFCPROPERTYSETDEFINITIONSET' IN TYPEOF(Definition) THEN
BEGIN
DefinitionSet := Definition;
REPEAT j:= 1 TO HIINDEX(DefinitionSet);
Properties := Properties + DefinitionSet[j];
END_REPEAT;
END;
END_IF;
END_IF;
END_REPEAT;
Result := IfcUniquePropertySetNames(Properties);
RETURN (Result);
END_FUNCTION;

5.1.6.1.3 References

Edit on Github


Is this page difficult to understand? Let us know!

5.1.6.1.4 Changelog

5.1.6.1.4.1 IFC4

  • New resource