IFC 4.3.2.20240423 (IFC4X3_ADD2) under development

8.1.3.2 IfcAddress

RV ⓘ
AbV ⓘ

ABSTRACT This definition may not be instantiated

8.1.3.2.1 Semantic definition

This abstract entity represents various kinds of postal and telecom addresses.

8.1.3.2.2 Entity inheritance

8.1.3.2.3 Attributes

# Attribute Type Description
IfcAddress (5)
1 Purpose OPTIONAL IfcAddressTypeEnum

Identifies the logical location of the address.

2 Description OPTIONAL IfcText

Text that relates the nature of the address.

3 UserDefinedPurpose OPTIONAL IfcLabel

Allows for specification of user specific purpose of the address beyond the enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. When a value is provided for attribute UserDefinedPurpose, in parallel the attribute Purpose shall have enumeration value USERDEFINED.

OfPerson SET [0:?] OF IfcPerson FOR Addresses

The inverse relationship to Person to whom address is associated.

OfOrganization SET [0:?] OF IfcOrganization FOR Addresses

The inverse relationship to Organization to whom address is associated.

Table 8.1.3.2.A

8.1.3.2.4 Formal propositions

Name Description
WR1

Either attribute value Purpose is not given, or when attribute Purpose has enumeration value USERDEFINED then attribute UserDefinedPurpose shall also have a value.

(NOT(EXISTS(Purpose))) OR
((Purpose <> IfcAddressTypeEnum.USERDEFINED) OR
((Purpose = IfcAddressTypeEnum.USERDEFINED) AND
  EXISTS(SELF.UserDefinedPurpose)))
Table 8.1.3.2.B

8.1.3.2.5 Formal representation

ENTITY IfcAddress
 ABSTRACT SUPERTYPE OF (ONEOF
	(IfcPostalAddress
	,IfcTelecomAddress));
	Purpose : OPTIONAL IfcAddressTypeEnum;
	Description : OPTIONAL IfcText;
	UserDefinedPurpose : OPTIONAL IfcLabel;
 INVERSE
	OfPerson : SET [0:?] OF IfcPerson FOR Addresses;
	OfOrganization : SET [0:?] OF IfcOrganization FOR Addresses;
 WHERE
	WR1 : (NOT(EXISTS(Purpose))) OR
((Purpose <> IfcAddressTypeEnum.USERDEFINED) OR
((Purpose = IfcAddressTypeEnum.USERDEFINED) AND
  EXISTS(SELF.UserDefinedPurpose)));
END_ENTITY;

8.1.3.2.6 References

Edit on Github


Is this page difficult to understand? Let us know!