cost_estimation_requirements.ids•27.9 kB
<?xml version='1.0' encoding='utf-8'?>
<ids xmlns="http://standards.buildingsmart.org/IDS" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd">
<info>
<title>BIM Data Requirements for Cost Estimation</title>
<version>1.0</version>
<description>Validates that all building elements contain necessary data for accurate cost estimation including assembly codes and geometric quantities</description>
<date>2025-11-02</date>
<purpose>Cost Estimation Data Validation</purpose>
<milestone>Basic Implementation</milestone>
</info>
<specifications>
<specification name="IFCFOOTING - Assembly Code Requirement" ifcVersion="IFC4" identifier="S01" description="Foundation elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., A1010, A1020)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCFOOTING</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCCOLUMN - Assembly Code Requirement" ifcVersion="IFC4" identifier="S02" description="Column elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., B1011)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCCOLUMN</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCBEAM - Assembly Code Requirement" ifcVersion="IFC4" identifier="S03" description="Beam elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., B1011)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCBEAM</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCSLAB - Assembly Code Requirement" ifcVersion="IFC4" identifier="S04" description="Slab elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., A4010, A4020, B1012)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCSLAB</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCWALL - Assembly Code Requirement" ifcVersion="IFC4" identifier="S05" description="Wall elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., A2010, B1011, B2010, C1010)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCWALL</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCDOOR - Assembly Code Requirement" ifcVersion="IFC4" identifier="S06" description="Door elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., B2050, C1030)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCDOOR</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCWINDOW - Assembly Code Requirement" ifcVersion="IFC4" identifier="S07" description="Window elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., B2020, C1020)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCWINDOW</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCCOVERING FLOORING - Assembly Code Requirement" ifcVersion="IFC4" identifier="S08" description="Floor covering elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., C2030, C2032, C2037)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCCOVERING</simpleValue>
</name>
<predefinedType>
<simpleValue>FLOORING</simpleValue>
</predefinedType>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCCOVERING CEILING - Assembly Code Requirement" ifcVersion="IFC4" identifier="S09" description="Ceiling covering elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., C1070)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCCOVERING</simpleValue>
</name>
<predefinedType>
<simpleValue>CEILING</simpleValue>
</predefinedType>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCROOF - Assembly Code Requirement" ifcVersion="IFC4" identifier="S10" description="Roof elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., B3010)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCROOF</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCSTAIR - Assembly Code Requirement" ifcVersion="IFC4" identifier="S11" description="Stair elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., B1080)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCSTAIR</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCCHILLER - Assembly Code Requirement" ifcVersion="IFC4" identifier="S12" description="Chiller equipment must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D3030)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCCHILLER</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCBOILER - Assembly Code Requirement" ifcVersion="IFC4" identifier="S13" description="Boiler equipment must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D3020)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCBOILER</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCDUCTFITTING - Assembly Code Requirement" ifcVersion="IFC4" identifier="S14" description="Duct fitting elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D3050)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCDUCTFITTING</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCDUCTSEGMENT - Assembly Code Requirement" ifcVersion="IFC4" identifier="S15" description="Duct segment elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D3050)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCDUCTSEGMENT</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCPIPEFITTING - Assembly Code Requirement" ifcVersion="IFC4" identifier="S16" description="Pipe fitting elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D2010, D2020, D3010)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCPIPEFITTING</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCPIPESEGMENT - Assembly Code Requirement" ifcVersion="IFC4" identifier="S17" description="Pipe segment elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D2010, D2020, D3010)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCPIPESEGMENT</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCSANITARYTERMINAL - Assembly Code Requirement" ifcVersion="IFC4" identifier="S18" description="Plumbing fixture elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D2010)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCSANITARYTERMINAL</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCELECTRICALDISTRIBUTIONBOARD - Assembly Code Requirement" ifcVersion="IFC4" identifier="S19" description="Electrical distribution panels must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D5020)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCELECTRICALDISTRIBUTIONBOARD</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCCABLECARRIERFITTING - Assembly Code Requirement" ifcVersion="IFC4" identifier="S20" description="Cable carrier fitting elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D5030)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCCABLECARRIERFITTING</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCCABLECARRIERSEGMENT - Assembly Code Requirement" ifcVersion="IFC4" identifier="S21" description="Cable carrier segment elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., D5030)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCCABLECARRIERSEGMENT</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
<specification name="IFCPAVEMENT - Assembly Code Requirement" ifcVersion="IFC4" identifier="S22" description="Pavement elements must have assembly codes for cost estimation" instructions="Populate AssemblyCode property in Pset_Common with format [Letter][4 digits] (e.g., G2010, G2020, G2030)">
<applicability minOccurs="0" maxOccurs="unbounded">
<entity>
<name>
<simpleValue>IFCPAVEMENT</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<property dataType="IFCLABEL" cardinality="required">
<propertySet>
<simpleValue>Pset_Common</simpleValue>
</propertySet>
<baseName>
<simpleValue>AssemblyCode</simpleValue>
</baseName>
<value>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][0-9]{4}" />
</xs:restriction>
</value>
</property>
</requirements>
</specification>
</specifications>
</ids>