![]()  | Adresse | 
![]()  | Address | 
![]()  | Adresse | 
This abstract entity represents various kinds of postal and telecom addresses.
NOTE Entity adapted from address defined in ISO 10303-41.
HISTORY New entity in IFC1.5.1.
| # | Attribute | Type | Cardinality | Description | G | 
|---|---|---|---|---|---|
| 1 | Purpose | IfcAddressTypeEnum | ? | Identifies the logical location of the address. | X | 
| 2 | Description | IfcText | ? | Text that relates the nature of the address. | X | 
| 3 | UserDefinedPurpose | 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. | X | 
| OfPerson | IfcPerson @Addresses  | S[0:?] | The inverse relationship to Person to whom address is associated. | X | |
| OfOrganization | IfcOrganization @Addresses  | S[0:?] | The inverse relationship to Organization to whom address is associated. | X | 
| Rule | 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. | 
| # | Attribute | Type | Cardinality | Description | G | 
|---|---|---|---|---|---|
| IfcAddress | |||||
| 1 | Purpose | IfcAddressTypeEnum | ? | Identifies the logical location of the address. | X | 
| 2 | Description | IfcText | ? | Text that relates the nature of the address. | X | 
| 3 | UserDefinedPurpose | 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. | X | 
| OfPerson | IfcPerson @Addresses  | S[0:?] | The inverse relationship to Person to whom address is associated. | X | |
| OfOrganization | IfcOrganization @Addresses  | S[0:?] | The inverse relationship to Organization to whom address is associated. | X | |
 <xs:element name="IfcAddress" type="ifc:IfcAddress" abstract="true" substitutionGroup="ifc:Entity" nillable="true"/>
 <xs:complexType name="IfcAddress" abstract="true">
  <xs:complexContent>
   <xs:extension base="ifc:Entity">
    <xs:attribute name="Purpose" type="ifc:IfcAddressTypeEnum" use="optional"/>
    <xs:attribute name="Description" type="ifc:IfcText" use="optional"/>
    <xs:attribute name="UserDefinedPurpose" type="ifc:IfcLabel" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
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;
  References: IfcOrganization
IfcPerson
IfcObjectReferenceSelect