Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed development IDS files. #185

Merged
merged 2 commits into from
Aug 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 43 additions & 42 deletions Development/IDS_ArcDox.ids
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ids:ids xmlns:ids="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 ids.xsd">
<ids:info>
<ids:title>Example for ArcDox </ids:title>
<ids:copyright>buildingSMART International Ltd</ids:copyright>
<ids:date>2022-02-08</ids:date>
</ids:info>
<ids:specifications>
<ids:specification instructions="Add some context here to help users understand what you are asking." ifcVersion="IFC2X3" name="Project requirements" maxOccurs="unbounded">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCPROJECT</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:attribute instructions="Project ID">
<ids:name>
<ids:simpleValue>GlobalId</ids:simpleValue>
</ids:name>
</ids:attribute>
<ids:attribute instructions="Functional Unit (Overall Sq.Metres or Linear Meters etc)">
<ids:ids xmlns:ids="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 ids.xsd">
<ids:info>
<ids:title>Example for ArcDox </ids:title>
<ids:copyright>buildingSMART International Ltd</ids:copyright>
<ids:date>2022-02-08</ids:date>
</ids:info>
<ids:specifications>
<ids:specification instructions="Add some context here to help users understand what you are asking." ifcVersion="IFC2X3" name="Project requirements" maxOccurs="unbounded">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCPROJECT</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:attribute instructions="Project ID">
<ids:name>
<ids:simpleValue>GlobalId</ids:simpleValue>
</ids:name>
</ids:attribute>
<ids:attribute instructions="Functional Unit (Overall Sq.Metres or Linear Meters etc)">
<ids:name>
<ids:simpleValue>UnitsInContext</ids:simpleValue>
</ids:name>
Expand All @@ -30,14 +30,14 @@
<ids:simpleValue>Description</ids:simpleValue>
</ids:name>
</ids:attribute>
<ids:attribute instructions="Project name">
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
</ids:attribute>
</ids:requirements>
</ids:specification>
<ids:specification name="name1" minOccurs="1" maxOccurs="unbounded" ifcVersion="IFC2X3">
<ids:attribute instructions="Project name">
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
</ids:attribute>
</ids:requirements>
</ids:specification>
<ids:specification name="name1" minOccurs="1" maxOccurs="unbounded" ifcVersion="IFC2X3">
<ids:applicability>
<ids:entity>
<ids:name>
Expand All @@ -46,15 +46,15 @@
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:property maxOccurs="unbounded" datatype="IfcText">
<ids:property maxOccurs="unbounded" datatype="IFCTEXT">
<ids:propertySet>
<ids:simpleValue>ArcDox</ids:simpleValue>
</ids:propertySet>
<ids:name>
<ids:simpleValue>Function</ids:simpleValue>
</ids:name>
</ids:property>
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IfcLabel">
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IFCLABEL">
<ids:propertySet>
<ids:simpleValue>ArcDox</ids:simpleValue>
</ids:propertySet>
Expand All @@ -63,13 +63,13 @@
</ids:name>
<ids:value>
<xs:restriction base="xs:string">
<xs:enumeration value="New Build" />
<xs:enumeration value="Renovation" />
<xs:enumeration value="Etc" />
<xs:enumeration value="New Build"/>
<xs:enumeration value="Renovation"/>
<xs:enumeration value="Etc"/>
</xs:restriction>
</ids:value>
</ids:property>
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IfcText">
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IFCTEXT">
<ids:propertySet>
<ids:simpleValue>ArcDox</ids:simpleValue>
</ids:propertySet>
Expand All @@ -78,13 +78,13 @@
</ids:name>
<ids:value>
<xs:restriction base="xs:string">
<xs:enumeration value="Design-Bid-Build" />
<xs:enumeration value="Design-Build-Operate" />
<xs:enumeration value="Etc" />
<xs:enumeration value="Design-Bid-Build"/>
<xs:enumeration value="Design-Build-Operate"/>
<xs:enumeration value="Etc"/>
</xs:restriction>
</ids:value>
</ids:property>
<ids:property maxOccurs="unbounded" datatype="IfcText">
<ids:property maxOccurs="unbounded" datatype="IFCTEXT">
<ids:propertySet>
<ids:simpleValue>ArcDox</ids:simpleValue>
</ids:propertySet>
Expand All @@ -103,7 +103,8 @@
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:attribute instructions="Add this attribute twice: once for Area Units and once for Linear Units."> <!-- this is actually not the best way to distinguish between types of units. -->
<ids:attribute instructions="Add this attribute twice: once for Area Units and once for Linear Units.">
<!-- this is actually not the best way to distinguish between types of units. -->
<ids:name>
<ids:simpleValue>Units</ids:simpleValue>
</ids:name>
Expand Down Expand Up @@ -170,5 +171,5 @@
</ids:attribute>
</ids:requirements>
</ids:specification>
</ids:specifications>
</ids:specifications>
</ids:ids>
193 changes: 85 additions & 108 deletions Development/IDS_SimpleBIM_examples.ids
Original file line number Diff line number Diff line change
@@ -1,114 +1,91 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ids:ids xmlns:ids="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 ids.xsd">
<ids:info>
<ids:title>SimpleBIM use-case example</ids:title>
</ids:info>
<ids:specifications>
<ids:specification ifcVersion="IFC2X3 IFC4" name="Room requirement 1" description="the model must have rooms, every room must have a name from a list of allowed values, every room must have a (unique) room number" maxOccurs="unbounded">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCSPACE</ids:simpleValue>
</ids:name>
</ids:entity>
<ids:classification>
<ids:value>
<ids:simpleValue>room</ids:simpleValue><!-- this could of course also be a list of things, a pattern, etc.. -->
</ids:value>
</ids:classification>
</ids:applicability>
<ids:requirements>
<ids:attribute>
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
<ids:value>
<xs:restriction>
<xs:enumeration value="first allowed value for room"/>
<xs:enumeration value="second allowed value for room"/>
<xs:enumeration value="third allowed value for room"/>
</xs:restriction>
</ids:value>
</ids:attribute>
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IfcText">
<ids:propertySet>
<ids:simpleValue>MyProject</ids:simpleValue>
</ids:propertySet>
<ids:name>
<ids:simpleValue>Room number</ids:simpleValue>
</ids:name>
<ids:value>
<xs:restriction base="xs:string">
<xs:annotation><xs:documentation>not sure we have a good way of describing 'room needs to have a unique room number'.</xs:documentation>
</xs:annotation>
<xs:pattern value="(A\s?)?(B\s?)?(C\s?)?"/>
</xs:restriction>
</ids:value>
</ids:property>
</ids:requirements>
</ids:specification>
<ids:specification ifcVersion="IFC2X3" name="Wall requirement" description="if the model has walls, each wall must have a wall type" minOccurs="0" maxOccurs="unbounded">
<ids:applicability>
<ids:entity>
<ids:name>
<xs:restriction>
<ids:info>
<ids:title>SimpleBIM use-case example</ids:title>
</ids:info>
<ids:specifications>
<ids:specification ifcVersion="IFC2X3 IFC4" name="Room requirement 1" description="the model must have rooms, every room must have a name from a list of allowed values, every room must have a (unique) room number" maxOccurs="unbounded">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCSPACE</ids:simpleValue>
</ids:name>
</ids:entity>
<ids:classification>
<ids:value>
<ids:simpleValue>room</ids:simpleValue>
<!-- this could of course also be a list of things, a pattern, etc.. -->
</ids:value>
</ids:classification>
</ids:applicability>
<ids:requirements>
<ids:attribute>
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
<ids:value>
<xs:restriction>
<xs:enumeration value="first allowed value for room"/>
<xs:enumeration value="second allowed value for room"/>
<xs:enumeration value="third allowed value for room"/>
</xs:restriction>
</ids:value>
</ids:attribute>
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IFCTEXT">
<ids:propertySet>
<ids:simpleValue>MyProject</ids:simpleValue>
</ids:propertySet>
<ids:name>
<ids:simpleValue>Room number</ids:simpleValue>
</ids:name>
<ids:value>
<xs:restriction base="xs:string">
<xs:annotation>
<xs:documentation>not sure we have a good way of describing 'room needs to have a unique room number'.</xs:documentation>
</xs:annotation>
<xs:pattern value="(A\s?)?(B\s?)?(C\s?)?"/>
</xs:restriction>
</ids:value>
</ids:property>
</ids:requirements>
</ids:specification>
<!-- currently there is no real good way to say 'all walls need to have a type'. An old solution was to state that all walls need to have a property on the 'type' level with any kind of value... This cannot be done now that we hav removed the type source constraint. -->


<ids:specification name="External wall requirement" ifcVersion="IFC2X3" description="if the model has exterior walls, each exterior wall must have a u-value" minOccurs="0" maxOccurs="unbounded">
<ids:applicability>
<ids:entity>
<ids:name>
<xs:restriction>
<xs:annotation>
<xs:documentation>This goed for either 'IFCWALL' ór 'IFCWALLSTANDARDCASE'</xs:documentation>
</xs:annotation>
<xs:pattern value="IFCWALL|IFCWALLSTANDARDCASE"/>
</xs:restriction>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IfcText"> <!-- currently there is no real good way to say 'all walls need to have a type'. This solution is to state that all walls need to have a property on the 'type' level with any kind of value. Not nice, but currently no alternativel. -->
<ids:propertySet>
<xs:restriction>
<xs:annotation><xs:documentation>Any value is allowed</xs:documentation></xs:annotation>
<xs:pattern value=".*"/>
</xs:restriction>
</ids:propertySet>
<ids:name>
<xs:restriction>
<xs:annotation><xs:documentation>Any value is allowed</xs:documentation></xs:annotation>
<xs:pattern value=".*"/>
</xs:restriction>
</ids:name>
</ids:property>
</ids:requirements>
</ids:specification>
<ids:specification name="External wall requirement" ifcVersion="IFC2X3" description="if the model has exterior walls, each exterior wall must have a u-value" minOccurs="0" maxOccurs="unbounded">
<ids:applicability>
<ids:entity>
<ids:name>
<xs:restriction>
<xs:annotation><xs:documentation>This goed for either 'IFCWALL' ór 'IFCWALLSTANDARDCASE'</xs:documentation></xs:annotation>
<xs:pattern value="IFCWALL|IFCWALLSTANDARDCASE"/>
</xs:restriction>
</ids:name>
</ids:entity>
<ids:property datatype="IfcText">
<ids:propertySet>
<ids:simpleValue>Pset_WallCommon</ids:simpleValue>
</ids:propertySet>
<ids:name>
<ids:simpleValue>IsExternal</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>TRUE</ids:simpleValue>
</ids:value>
</ids:property>
</ids:applicability>
<ids:requirements>
<ids:property maxOccurs="unbounded" datatype="">
<ids:propertySet>
<ids:simpleValue>Pset_WallCommon</ids:simpleValue>
</ids:propertySet>
<ids:name>
<ids:simpleValue>ThermalTransmittance</ids:simpleValue>
</ids:name>
</ids:property>
</ids:requirements>
</ids:specification>
</ids:specifications>
<xs:pattern value="IFCWALL|IFCWALLSTANDARDCASE"/>
</xs:restriction>
</ids:name>
</ids:entity>
<ids:property datatype="IFCBOOLEAN">
<ids:propertySet>
<ids:simpleValue>Pset_WallCommon</ids:simpleValue>
</ids:propertySet>
<ids:name>
<ids:simpleValue>IsExternal</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>TRUE</ids:simpleValue>
</ids:value>
</ids:property>
</ids:applicability>
<ids:requirements>
<ids:property maxOccurs="unbounded" datatype="">
<ids:propertySet>
<ids:simpleValue>Pset_WallCommon</ids:simpleValue>
</ids:propertySet>
<ids:name>
<ids:simpleValue>ThermalTransmittance</ids:simpleValue>
</ids:name>
</ids:property>
</ids:requirements>
</ids:specification>
</ids:specifications>
</ids:ids>
4 changes: 2 additions & 2 deletions Development/IDS_random_example.ids
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
</ids:classification>
</ids:applicability>
<ids:requirements>
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IfcLengthMeasure">
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IFCLENGTHMEASURE">
<ids:propertySet>
<ids:simpleValue>attribute</ids:simpleValue>
</ids:propertySet>
Expand All @@ -87,7 +87,7 @@
</xs:restriction>
</ids:value>
</ids:property>
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IfcText" uri="http://identifier.buildingsmart.org/uri/dummy-example/FireRating">
<ids:property minOccurs="1" maxOccurs="unbounded" datatype="IFCTEXT" uri="http://identifier.buildingsmart.org/uri/dummy-example/FireRating">
<ids:propertySet>
<ids:simpleValue>AedesUVIP</ids:simpleValue>
</ids:propertySet>
Expand Down
Loading
Loading