IfcUniqueDefinitionNames

BACnet MVD

#### IfcUniqueDefinitionNames

Natural language names

##### Semantic definitions at the function

Function Definition

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

> HISTORY New function in IFC4 ADD1

##### Formal representations

EXPRESS Specification
`

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 'IFC4.IfcPropertySetDefinition' IN TYPEOF(Definition) THEN
Properties := Properties + Definition;
ELSE
IF 'IFC4.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;

`

References: IfcObject

Link to this page