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

BC003 AL01 - improving documentation #75

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Binary file added tests/BC003_AL01/BC003_AL01_diagram.png
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This diagram is adding requirements on the use of IfcRelPositions that are not further documented within the test instructions, nor in the IFC specification (e.g., between two alignments, between an alignment and a spatial structure element). Please clarify the requirements, possibly referring to existing IFC documentation.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
122 changes: 121 additions & 1 deletion tests/BC003_AL01/Dataset/BC003_AL01.ids
Original file line number Diff line number Diff line change
@@ -1 +1,121 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><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 ids_09.xsd" xmlns:ids="http://standards.buildingsmart.org/IDS"><!--edited with usBIM.IDSeditor (http://www.accasoftware.com)--><ids:info><ids:title>BC003_PS01</ids:title><ids:description>This file was produced for aIFC4Rail project.</ids:description><ids:author>joao.correa@egis-group.com</ids:author><ids:date>2023-05-31</ids:date><ids:purpose>to verify BC003 PS01 test requirements</ids:purpose></ids:info><ids:specifications><ids:specification ifcVersion="IFC4X3" name="IfcProject" minOccurs="1" maxOccurs="1" identifier="01" description="This test verifies the following requirement:&#xA;-There must be 1 instance of IfcProject and must be named BC003: Test plan 1" instructions="The IFCPROJECT's name must be set as &quot;BC003: Test plan 1&quot; to pass the test."><ids:applicability><ids:entity><ids:name><ids:simpleValue>IFCPROJECT</ids:simpleValue></ids:name></ids:entity></ids:applicability><ids:requirements><ids:attribute minOccurs="1" maxOccurs="1"><ids:name><ids:simpleValue>Name</ids:simpleValue></ids:name><ids:value><ids:simpleValue>BC003: Test plan 1</ids:simpleValue></ids:value></ids:attribute></ids:requirements></ids:specification><ids:specification ifcVersion="IFC4X3" name="IfcSIUnit - Length unit" minOccurs="1" maxOccurs="unbounded" identifier="02" description="This test verifies the following requirement:&#xA;• There must be at least 1 instance of IfcSIUnit assigning Metre as default unit for length&#xA;" instructions="Project measure units must be set as metric."><ids:applicability><ids:entity><ids:name><ids:simpleValue>IFCSIUNIT</ids:simpleValue></ids:name></ids:entity><ids:attribute><ids:name><ids:simpleValue>UnitType</ids:simpleValue></ids:name><ids:value><ids:simpleValue>.LENGTHUNIT.</ids:simpleValue></ids:value></ids:attribute></ids:applicability><ids:requirements><ids:attribute minOccurs="1" maxOccurs="1"><ids:name><ids:simpleValue>Name</ids:simpleValue></ids:name><ids:value><ids:simpleValue>.METRE.</ids:simpleValue></ids:value></ids:attribute></ids:requirements></ids:specification><ids:specification ifcVersion="IFC4X3" name="IfcSIUnit - Angle unit" minOccurs="1" maxOccurs="unbounded" identifier="03" description="This test verifies the following requirement:&#xA;• There must be at least 1 instance of IfcSIUnit assigning Radian as default unit for plane angle&#xA;&#xA;" instructions="Project measure units must be set as metric."><ids:applicability><ids:entity><ids:name><ids:simpleValue>IFCSIUNIT</ids:simpleValue></ids:name></ids:entity><ids:attribute><ids:name><ids:simpleValue>UnitType</ids:simpleValue></ids:name><ids:value><ids:simpleValue>.PLANEANGLEUNIT.</ids:simpleValue></ids:value></ids:attribute></ids:applicability><ids:requirements><ids:attribute minOccurs="1" maxOccurs="1"><ids:name><ids:simpleValue>Name</ids:simpleValue></ids:name><ids:value><ids:simpleValue>.RADIAN.</ids:simpleValue></ids:value></ids:attribute></ids:requirements></ids:specification><ids:specification ifcVersion="IFC4X3" name="Coordinate reference system" minOccurs="1" maxOccurs="unbounded" identifier="04" description="This test verifies the following requirement:&#xA;- Georeferencing of the project shall be assigned as RGF Lambert Zone 3 (EPSG:3944) &#xA;" instructions="Coordinate system must be set as RGF93 Lambert Zone 3 (EPSG:3944)"><ids:applicability><ids:entity><ids:name><ids:simpleValue>IFCPROJECTEDCRS</ids:simpleValue></ids:name></ids:entity></ids:applicability><ids:requirements><ids:attribute minOccurs="1" maxOccurs="1"><ids:name><ids:simpleValue>Name</ids:simpleValue></ids:name><ids:value><ids:simpleValue>EPSG:3944</ids:simpleValue></ids:value></ids:attribute><ids:attribute minOccurs="1" maxOccurs="1"><ids:name><ids:simpleValue>GeodeticDatum</ids:simpleValue></ids:name><ids:value><ids:simpleValue>RGF93</ids:simpleValue></ids:value></ids:attribute></ids:requirements></ids:specification></ids:specifications></ids:ids>
<?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_09.xsd">
<!--edited with usBIM.IDSeditor (http://www.accasoftware.com)-->
<ids:info>
<ids:title>BC003_PS01</ids:title>
<ids:description>This file was produced for aIFC4Rail project.</ids:description>
<ids:author>joao.correa@egis-group.com</ids:author>
<ids:date>2023-05-31</ids:date>
<ids:purpose>to verify BC003 PS01 test requirements</ids:purpose>
</ids:info>
<ids:specifications>
<ids:specification description="This test verifies the following requirement:
-There must be 1 instance of IfcProject and must be named BC003: Test plan 1" identifier="01" ifcVersion="IFC4X3" instructions="The IFCPROJECT's name must be set as &quot;BC003: Test plan 1&quot; to pass the test." maxOccurs="1" minOccurs="1" name="IfcProject">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCPROJECT</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:attribute maxOccurs="1" minOccurs="1">
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>BC003: Test plan 1</ids:simpleValue>
</ids:value>
</ids:attribute>
</ids:requirements>
</ids:specification>
<ids:specification description="This test verifies the following requirement:
• There must be at least 1 instance of IfcSIUnit assigning Metre as default unit for length
" identifier="02" ifcVersion="IFC4X3" instructions="Project measure units must be set as metric." maxOccurs="unbounded" minOccurs="1" name="IfcSIUnit - Length unit">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCSIUNIT</ids:simpleValue>
</ids:name>
</ids:entity>
<ids:attribute>
<ids:name>
<ids:simpleValue>UnitType</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>.LENGTHUNIT.</ids:simpleValue>
</ids:value>
</ids:attribute>
</ids:applicability>
<ids:requirements>
<ids:attribute maxOccurs="1" minOccurs="1">
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>.METRE.</ids:simpleValue>
</ids:value>
</ids:attribute>
</ids:requirements>
</ids:specification>
<ids:specification description="This test verifies the following requirement:
• There must be at least 1 instance of IfcSIUnit assigning Radian as default unit for plane angle

" identifier="03" ifcVersion="IFC4X3" instructions="Project measure units must be set as metric." maxOccurs="unbounded" minOccurs="1" name="IfcSIUnit - Angle unit">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCSIUNIT</ids:simpleValue>
</ids:name>
</ids:entity>
<ids:attribute>
<ids:name>
<ids:simpleValue>UnitType</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>.PLANEANGLEUNIT.</ids:simpleValue>
</ids:value>
</ids:attribute>
</ids:applicability>
<ids:requirements>
<ids:attribute maxOccurs="1" minOccurs="1">
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>.RADIAN.</ids:simpleValue>
</ids:value>
</ids:attribute>
</ids:requirements>
</ids:specification>
<ids:specification description="This test verifies the following requirement:
- Georeferencing of the project shall be assigned as RGF Lambert Zone 3 (EPSG:3944)
" identifier="04" ifcVersion="IFC4X3" instructions="Coordinate system must be set as RGF93 Lambert Zone 3 (EPSG:3944)" maxOccurs="unbounded" minOccurs="1" name="Coordinate reference system">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCPROJECTEDCRS</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:attribute maxOccurs="1" minOccurs="1">
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>EPSG:3944</ids:simpleValue>
</ids:value>
</ids:attribute>
<ids:attribute maxOccurs="1" minOccurs="1">
<ids:name>
<ids:simpleValue>GeodeticDatum</ids:simpleValue>
</ids:name>
<ids:value>
<ids:simpleValue>RGF93</ids:simpleValue>
</ids:value>
</ids:attribute>
</ids:requirements>
</ids:specification>
</ids:specifications>
</ids:ids>
18 changes: 16 additions & 2 deletions tests/BC003_AL01/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,15 @@ The series of tests that belong to this Business Case are listed as follows:
| ALX4 | Stationing tests on cable joints (punctual) |
| NE02 | Cable routing |

## IFC concepts involved in this test

The following diagram represents the entities involved in this test.
![AL01 - involved entities](./BC003_AL01_diagram.png)


## Prerequisites

None.
PS01 as indicated above.

## Test dataset (input)

Expand Down Expand Up @@ -120,5 +125,14 @@ After importing the reference file (`BC003_AL01_alignments.xml`):

## Link to requirements

:zap:

|ID (local) | Name | Description | Requirements for Appointed Party |
|-|-|-|-|
| RI 86 | Unique containment | "Each IfcElement shall be either: - contained in one and only one IfcSpatialStructureElement, or - contained in one and only one IfcLinearPositioningElement." | RA-75 |
| RI 305 | Alignment organization | CableCarrier alignments shall be related to the track alignment with IfcRelPositions relationship | Cable carrier alignments shall be related to the track alignment |
| RI 311 | Alignement extruded geometry placement | A IfcCableCarrierSement which geometry is a IfcSectionSolidHorizontal shall be using the same IfcObjectPlacement as the IfcAlignment it is positioned along | NIL|
| RI 312 | Offset alignment placement | An IfcAlignment which geometry is a IfcOffsetCurveByDistances shall use the same IfcLocalPlacement as the IfcAlignment is relates to | NIL|
| RI 313 | Extruded CableCarrier positioning | A IfcSectionedSolidHorizontal geometry used for a IfcCableCarrierElement positioned relatively from an IfcAlignment shall use its IfcLocalPlacement | NIL |
| RI 314 | Project structure | The only "container" aggregated to the project shall be either IfcSite, IfcFacility, IfcAlignment. Other non-IfcProducts shall be connected to the project with IfcRelDeclares | NIL |
| RI 315 | Elements referencing in Spatial structures | If IfcElements are positioned wrt IfcPositioning elements, then they must be also referenced (instead of aggregated) into a IfcSpatialStructure element | NIL |
Comment on lines +131 to +137
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that are not further documented within the test instructions

Please see here.