Skip to content

Commit 0dadc6e

Browse files
Merge pull request #213 from CBenghi/issues/211
Prepared change to allow multiple material facets
2 parents 92664f6 + 90aad9c commit 0dadc6e

File tree

3 files changed

+53
-16
lines changed

3 files changed

+53
-16
lines changed

Development/IDS_StructuralSafety.ids

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ids: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/0.9.6/ids.xsd" xmlns:ids="http://standards.buildingsmart.org/IDS">
3+
<ids:info>
4+
<ids:title />
5+
</ids:info>
6+
<ids:specifications>
7+
<ids:specification ifcVersion="IFC4X3" name="Structural safety" instructions="Beams must be assessed for security concerns" minOccurs="1" maxOccurs="unbounded">
8+
<ids:applicability>
9+
<ids:entity>
10+
<ids:name>
11+
<ids:simpleValue>IFCBEAM</ids:simpleValue>
12+
</ids:name>
13+
</ids:entity>
14+
<ids:material>
15+
<ids:value>
16+
<ids:simpleValue>Aerated Concrete</ids:simpleValue>
17+
</ids:value>
18+
</ids:material>
19+
<ids:material>
20+
<ids:value>
21+
<ids:simpleValue>Steel</ids:simpleValue>
22+
</ids:value>
23+
</ids:material>
24+
</ids:applicability>
25+
<ids:requirements>
26+
<ids:property maxOccurs="unbounded" datatype="IFCLABEL">
27+
<ids:propertySet>
28+
<ids:simpleValue>Pset_ConcreteElementGeneral</ids:simpleValue>
29+
</ids:propertySet>
30+
<ids:name>
31+
<ids:simpleValue>ExposureClass</ids:simpleValue>
32+
</ids:name>
33+
</ids:property>
34+
</ids:requirements>
35+
</ids:specification>
36+
</ids:specifications>
37+
</ids:ids>

Development/ids.xsd

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
<xs:element name="classification" type="ids:classificationType" minOccurs="0" maxOccurs="unbounded"/>
6363
<xs:element name="attribute" type="ids:attributeType" minOccurs="0" maxOccurs="unbounded"/>
6464
<xs:element name="property" type="ids:propertyType" minOccurs="0" maxOccurs="unbounded"/>
65-
<xs:element name="material" type="ids:materialType" minOccurs="0"/>
65+
<xs:element name="material" type="ids:materialType" minOccurs="0" maxOccurs="unbounded"/>
6666
</xs:sequence>
6767
</xs:complexType>
6868
<xs:complexType name="propertyType">
@@ -164,7 +164,7 @@
164164
</xs:complexContent>
165165
</xs:complexType>
166166
</xs:element>
167-
<xs:element name="material" minOccurs="0">
167+
<xs:element name="material" minOccurs="0" maxOccurs="unbounded">
168168
<xs:complexType>
169169
<xs:complexContent>
170170
<xs:extension base="ids:materialType">

Documentation/material-facet.md

+14-14
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ In the simplest case, an element may have a single **Material**. For example, a
66

77
An element may also have multiple **Materials** in three possible scenarios:
88

9-
- **Layered materials**: an element (e.g. a wall or slab) is parametrically defined in terms of material layers with a thickness (e.g. stud layer, insulation layer, and gypsum layer). Each layer may have a different **Material**.
10-
- **Profiled materials**: an element (e.g. a column or beam) is parametrically defined in terms of a profile (e.g. C-profile, Z-profile, or I-profile) extruded along a path. Composite columns and beams may have multiple profiles from different **Materials**.
11-
- **Constituent materials**: an element (e.g. a window, or slab) where portions of the element are made out of different **Materials** (e.g. the window glazing and the window frame) or mixed (e.g. a concrete slab may be composed of a percentage of cement, aggregate, etc)
9+
- **Layered materials**: an element (e.g. a wall or slab) is parametrically defined in terms of material layers with a thickness (e.g. stud layer, insulation layer, and gypsum layer). Each layer may have a different **Material**.
10+
- **Profiled materials**: an element (e.g. a column or beam) is parametrically defined in terms of a profile (e.g. C-profile, Z-profile, or I-profile) extruded along a path. Composite columns and beams may have multiple profiles from different **Materials**.
11+
- **Constituent materials**: an element (e.g. a window, or slab) where portions of the element are made out of different **Materials** (e.g. the window glazing and the window frame) or mixed (e.g. a concrete slab may be composed of a percentage of cement, aggregate, etc)
1212

1313
![Material Facet](material-facet.png)
1414

@@ -18,19 +18,19 @@ Many disciplines, such as costing, scheduling, sustainability analysis, or const
1818

1919
## Parameters
2020

21-
Parameter | Required | Restrictions Allowed | Allowed Values | Meaning
22-
--- | --- | --- | --- | ---
23-
**Value** | ❌ | ✔️ | Any material name or material category. The material name is typically specific to the project or local convention. The material category is recommended to be one of 'concrete', 'steel', 'aluminium', 'block', 'brick', 'stone', 'wood', 'glass', 'gypsum', 'plastic', or 'earth'. | The element must be made out of a **Material** with the specified name or category. If there are multiple **Materials**, then any **Material**, **Layer**, **Profile** or **Constituent** with that name or category will also satisfy the requirement.
24-
**URI** | ❌ | ❌ | A URI identifying the material compliant with ISO 23386 | You may find valid URIs using the [buildingSMART Data Dictionary](https://search.bsdd.buildingsmart.org/). Materials are found in the data dictionary as classifications with the keyword "/mat/" in the URI.
21+
| Parameter | Required | Restrictions Allowed | Allowed Values | Meaning |
22+
| --------- | -------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
23+
| **Value** | | ✔️ | Any material name or material category. The material name is typically specific to the project or local convention. The material category is recommended to be one of 'concrete', 'steel', 'aluminium', 'block', 'brick', 'stone', 'wood', 'glass', 'gypsum', 'plastic', or 'earth'. | The element must be made out of a **Material** with the specified name or category. If there are multiple **Materials**, then any **Material**, **Layer**, **Profile** or **Constituent** with that name or category will also satisfy the requirement. |
24+
| **URI** | | | A URI identifying the material compliant with ISO 23386 | You may find valid URIs using the [buildingSMART Data Dictionary](https://search.bsdd.buildingsmart.org/). Materials are found in the data dictionary as classifications with the keyword "/mat/" in the URI. |
2525

2626
If no parameters are specified, then it means that any **Material** should be present, regardless of name or category.
2727

2828
## Examples
2929

30-
Applicabiity Intention | Requirement Intention | Facet Definition
31-
--- | --- | ---
32-
Any entity with a material | The entity must have a material | No parameters
33-
All entities made from wood | The entity must be made out of wood | Value="wood"
34-
All entities made from brick | The entity must be made out of brick | Value="brick"
35-
All entities made from either concrete or steel | The entity (e.g. foundation piles) must be made of either concrete or steel | Value=["concrete", "steel"]
36-
Any entities with a material named with a code starting with "CON" followed by 2 digits, like CON01, CON02, etc | The entity shall have a material with the naming scheme of "CON" followed by two digits, such as CON01, CON02, etc. | Value="CON[0-9]{2}"
30+
| Applicability Intention | Requirement Intention | Facet Definition |
31+
| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------- |
32+
| Any entity with a material | The entity must have a material | No parameters |
33+
| All entities made from wood | The entity must be made out of wood | Value="wood" |
34+
| All entities made from brick | The entity must be made out of brick | Value="brick" |
35+
| All entities made from either concrete or steel | The entity (e.g. foundation piles) must be made of either concrete or steel | Value=["concrete", "steel"] |
36+
| Any entities with a material named with a code starting with "CON" followed by 2 digits, like CON01, CON02, etc | The entity shall have a material with the naming scheme of "CON" followed by two digits, such as CON01, CON02, etc. | Value="CON[0-9]{2}" |

0 commit comments

Comments
 (0)