4.10.3 Project Declaration

The project provides a directory of object types and property templates contained within using declaration relationships.

NOTE  The actual object occurrences used within the context of a project, such as walls, beams, air outlets, are assigned to a spatial hierarchy that is linked to the project using the aggregation hierarchy. See concept Spatial Decomposition for linking a spatial structure to the project.

HISTORY  New concept template enabled by schema enhancements in IFC4.

Figure 276 illustrates an instance diagram.

Project DeclarationIfcContextIfcLabelIfcLabelIfcLabelIfcRelDeclares

Figure 276 — Project Declaration

mvdXML Specification
<?xml version="1.0" encoding="utf-8"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="ab1e2cfd-9f21-4f4a-b6af-cc26d84e45ac" name="Project Declaration" applicableSchema="IFC4" applicableEntity="IfcContext">
  <Rules>
    <AttributeRule AttributeName="Declares">
      <EntityRules>
        <EntityRule EntityName="IfcRelDeclares">
          <AttributeRules>
            <AttributeRule RuleID="Type" AttributeName="RelatedDefinitions" />
          </AttributeRules>
        </EntityRule>
      </EntityRules>
    </AttributeRule>
    <AttributeRule AttributeName="Phase">
      <EntityRules>
        <EntityRule EntityName="IfcLabel" />
      </EntityRules>
    </AttributeRule>
    <AttributeRule AttributeName="ObjectType">
      <EntityRules>
        <EntityRule EntityName="IfcLabel" />
      </EntityRules>
    </AttributeRule>
    <AttributeRule AttributeName="LongName">
      <EntityRules>
        <EntityRule EntityName="IfcLabel" />
      </EntityRules>
    </AttributeRule>
  </Rules>
  <SubTemplates>
    <ConceptTemplate uuid="d6eddceb-c102-4247-8ec0-24e7d4c5da9b" name="Project Template Definitions" applicableSchema="IFC4" applicableEntity="IfcContext">
      <Rules>
        <AttributeRule AttributeName="Declares">
          <EntityRules>
            <EntityRule EntityName="IfcRelDeclares">
              <AttributeRules>
                <AttributeRule RuleID="Type" AttributeName="RelatedDefinitions">
                  <EntityRules>
                    <EntityRule EntityName="IfcPropertySetTemplate">
                      <AttributeRules>
                        <AttributeRule AttributeName="TemplateType">
                          <EntityRules>
                            <EntityRule EntityName="IfcPropertySetTemplateTypeEnum" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="ApplicableEntity">
                          <EntityRules>
                            <EntityRule EntityName="IfcIdentifier" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="HasPropertyTemplates">
                          <EntityRules>
                            <EntityRule EntityName="IfcSimplePropertyTemplate">
                              <AttributeRules>
                                <AttributeRule AttributeName="TemplateType">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcSimplePropertyTemplateTypeEnum" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="PrimaryMeasureType">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="SecondaryMeasureType">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Enumerators">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcPropertyEnumeration">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Name">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcLabel" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="EnumerationValues">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcValue" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="AccessState">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcStateEnum" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="PrimaryUnit">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcUnit" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="SecondaryUnit">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcUnit" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Expression">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="Phase">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="ObjectType">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="LongName">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="634e27f7-7edb-4e22-b8cc-25f1cdc765ce" name="Project Type Definitions" applicableSchema="IFC4" applicableEntity="IfcContext">
      <Rules>
        <AttributeRule AttributeName="Declares">
          <EntityRules>
            <EntityRule EntityName="IfcRelDeclares">
              <AttributeRules>
                <AttributeRule RuleID="RelatedTypes" AttributeName="RelatedDefinitions">
                  <EntityRules>
                    <EntityRule EntityName="IfcTypeObject" />
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="Phase">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="ObjectType">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="LongName">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
  </SubTemplates>
</ConceptTemplate>

Link to this page  Link to this page