diff --git a/tests/BC003_ALX2/BC003-ALX2-rationale.png b/tests/BC003_ALX2/BC003-ALX2-rationale.png new file mode 100644 index 00000000..b37e77fc Binary files /dev/null and b/tests/BC003_ALX2/BC003-ALX2-rationale.png differ diff --git a/tests/BC003_ALX2/BC003-ALX2a_diagram.png b/tests/BC003_ALX2/BC003-ALX2a_diagram.png new file mode 100644 index 00000000..e5ea919c Binary files /dev/null and b/tests/BC003_ALX2/BC003-ALX2a_diagram.png differ diff --git a/tests/BC003_ALX2/BC003-ALX2b_diagram.png b/tests/BC003_ALX2/BC003-ALX2b_diagram.png new file mode 100644 index 00000000..45a2738c Binary files /dev/null and b/tests/BC003_ALX2/BC003-ALX2b_diagram.png differ diff --git a/tests/BC003_ALX2/Dataset/BC003_ALX2.ids b/tests/BC003_ALX2/Dataset/BC003_ALX2.ids index 3c2899ef..7f98ceb5 100644 --- a/tests/BC003_ALX2/Dataset/BC003_ALX2.ids +++ b/tests/BC003_ALX2/Dataset/BC003_ALX2.ids @@ -14,8 +14,8 @@ + description="This test verifies the following requirement: -There must be 1 instance of IfcProject and must be named BC003: Test plan 1" + instructions="The IFCPROJECT's name shall be set in the authoring tool"> @@ -32,14 +32,6 @@ BC003: Test plan 1 - - - GlobalId - - - 3cyAkba2v5a9pVuthidcpX - - - @@ -142,322 +134,26 @@ IFCALIGNMENT - - - Name - - - SAN1_XD-B02 - - - - - - - GlobalId - - - 0irVCt7iH69Qln9fpXqYVb - - - - - - - - - IFCALIGNMENT - - - - - Name - - - SAN1_XG-B02 - - - - - - - GlobalId - - - 202$CKGz56Q98WGfxCVA5m - - - - - - - - - IFCALIGNMENT - - - - - Name - - - SAN1_COM - - - - - - - GlobalId - - - 0V9ARKCu5F1O8wEweo6hYa - - - - - - - - - IFCALIGNMENT - - - - - Name - - - SAN1_COM - - - - - - - GlobalId - - - 06Ng1eKsn2MRkFhhU_YPPI - - - - - - - - - IFCALIGNMENT - - - - - Name - - - A1 - - - - - - - GlobalId - - - 1wibZYcFf8kRCRkcesfjaw - - - - - - - - - IFCALIGNMENT - - - - - Name - - - A2 - - - - - GlobalId - - - 2jQoh3s8LBnhffD4t9HBEu - - - - - - - - - IFCALIGNMENT - - - - - Name - - - A3 - - - - - - - GlobalId - - - 3p6wmnhEXASBW4IPUWbDTO - - - - - - - - - IFCALIGNMENT - - Name - A4 - - - - - - - GlobalId - - - 2OvvhfzYD7uvBS2xRexDn2 - - - - - - - - - IFCALIGNMENT - - - - - Name - - - A5 - - - - - - - GlobalId - - - 0Ju$FFvS1CyRjqJNQKHMqR - - - - - - - - - IFCALIGNMENT - - - - - Name - - - A6 - - - - - - - GlobalId - - - 1yQOHkl1z2vujDdCcNmxGq - - - - - - - - - IFCALIGNMENT - - - - - Name - - - A7 - - - - - - - GlobalId - - - 2R8oIgNy99GOFlhJEKM7Xv + + + + + + + + + + + + + diff --git a/tests/BC003_ALX2/readme.md b/tests/BC003_ALX2/readme.md index 6559e66b..61ecd690 100644 --- a/tests/BC003_ALX2/readme.md +++ b/tests/BC003_ALX2/readme.md @@ -24,8 +24,16 @@ The series of tests that belong to this Business Case are listed as follows: ## IFC concepts involved in this test +The following diagram represents the rationale used for this test. +![Alt text](BC003-ALX2-rationale.png "ALX02 - rationale") + The following diagram represents the entities involved in this test. -![Alt text](BC003-ALX2_diagram.png "ALX02 - involved entities") + +In the test plan ALX02a, the distribution chamber is located using projected coordinates, sharing the Coordinate Reference System with the alignment. +![Alt text](BC003-ALX2a_diagram.png "ALX02a - involved entities") + +In the test plan ALX02b, the distribution chamber is located using a local Engineering Coordinate System, whereas the alignment uses projected coordinates. +![Alt text](BC003-ALX2b_diagram.png "ALX02b - involved entities") ## Prerequisites @@ -61,31 +69,32 @@ When validated using the bSI Validation Service, the IFC must pass: [IDS file BC003_ALX2.ids](./Dataset/BC003_ALX2.ids): -- There must be 1 instance of `IfcProject` and must be named `BC003: Test plan 1` and the `GUID “3cyAkba2v5a9pVuthidcpX”`; -- Alignments must have the same Name, GUID and Length as those one found in the `BC003_AL01_Reference` file, which means: +- There must be 1 instance of `IfcProject` and must be named `BC003: Test plan 1`; +- Alignments must have the same Name and Length as those one found in the `BC003_AL01_Reference` file, which means: -| Name | GUID | Length (m) | -|-------------------|------------------------|--------------| -| SAN1_XD-B02 | 0irVCt7iH69Qln9fpXqYVb | 1709.845 | -| SAN1_XG-B02 | 202$CKGz56Q98WGfxCVA5m | 1693.042 | -| SAN1_COM | 0V9ARKCu5F1O8wEweo6hYa | 40.179 | -| SAN1_XG-3eme_Voie | 06Ng1eKsn2MRkFhhU_YPPI | 104.421 | +| Name | Length (m) | +|-------------------|--------------| +| SAN1_XD-B02 | 1709.845 | +| SAN1_XG-B02 | 1693.042 | +| SAN1_COM | 40.179 | +| SAN1_XG-3eme_Voie | 104.421 | -- Cabling infrastructure alignments must have the Name, GUID and Length according to the table below: +- Cabling infrastructure alignments must have the Name and Length according to the table below: -| Name | GUID | Length (m) | -|-------------------|------------------------|--------------| -| A1 | 1wibZYcFf8kRCRkcesfjaw | 108.361 | -| A2 | 2jQoh3s8LBnhffD4t9HBEu | 14.567 | -| A3 | 3p6wmnhEXASBW4IPUWbDTO | 47.350 | -| A4 | 2OvvhfzYD7uvBS2xRexDn2 | 14.579 | -| A5 | 0Ju$FFvS1CyRjqJNQKHMqR | 58.982 | -| A6 | 1yQOHkl1z2vujDdCcNmxGq | 39.725 | -| A7 | 2R8oIgNy99GOFlhJEKM7Xv | 9.190 | +| Name | Length (m) | +|-------------------|--------------| +| A1 | 108.361 | +| A2 | 14.567 | +| A3 | 47.350 | +| A4 | 14.579 | +| A5 | 58.982 | +| A6 | 39.725 | +| A7 | 9.190 | - All `IfcDistributionChamberElement` must use the predefined type `INSPECTIONCHAMBER`. -#### Not covered by the IDS file (must be checked otherwise): +#### Not covered by the IDS file (must be checked otherwise) + - Inspection chambers are placed in the model using coordinates (XYZ). Once placed, **railway alignment station** is used to **locate** then for works and maintenance purposes. So, Inspection Chambers shall **correlate their XYZ placement and a station in the railway alignment**. In some cases, there isn’t a railway alignment near the inspection chamber, so the cabling infrastructure alignment shall be used as reference. The table below presents for each inspection chamber, its referenced alignment, the referenced station and its placement coordinates of the top center point: | Name | Ref. Alignment | Station | Coord. XYZ (top center point) | @@ -97,20 +106,20 @@ When validated using the bSI Validation Service, the IFC must pass: | SAN1-PK196_D | SAN1_XD-B02 | 0+196.2514 | 1892026.6909, 3126789.2905, 3.6375 | | SAN1-PK196_G | SAN1_XG-B02 | 0+202.7216 | 1892030.7657, 3126780.1744, 3.6100 | | SAN1-PK155_G | SAN1_XG-B02 | 0+161.1289 | 1891988.8846, 3126771.9465, 3.3900 | -| SAN1-PK-60_G | A1 | CHAMBRE-L5T | 0+000 | 1892028.8320, 3126572.5160, 4.0000 | +| SAN1-PK-60_G | A1 - CHAMBRE-L5T | 0+000 | 1892028.8320, 3126572.5160, 4.0000 | -- There must be 8 instances of `IfcDistributionChamberElement`. The table below presents their Name, Description, GUID and dimensions: +- There must be 8 instances of `IfcDistributionChamberElement`. The table below presents their Name, Description and dimensions: -| Name | GUID | Description | Dimensions (m) | -|-------------------|------------------------|---------------|------------------| -| SAN1-PK51_D | 3bS5p7pIjCSf7OHwcvGgFQ | CHAMBRE-L5T | 1.18x2.09x1.35 | -| SAN1-PK51_G | 1GV1OuGwH7rAzQwKk1FNg5 | CHAMBRE-L5T | 1.18x2.09x1.35 | -| SAN1-PK100_D | 3XKJ_0LOX7weceRTA7meQZ | CHAMBRE-L5T | 1.18x2.09x1.35 | -| SAN1-PK100_G | 3$3Sls09P4iA1o5rF_UObb | CHAMBRE-L2T | 0.63x1.41x1.28 | -| SAN1-PK196_D | 1ReXkBNeT5awrIRzMX8ZlJ | CHAMBRE-L2T | 0.63x1.41x0.98 | -| SAN1-PK196_G | 3boZFKETn0JuwT4QmVlZFK | CHAMBRE-M1C | 1.45x2.27x1.44 | -| SAN1-PK155_G | 1HYAamIkL25wQT3bwOCcoI | CHAMBRE-M1C | 1.45x2.27x1.44 | -| SAN1-PK-60_G | 3d9251NuH44xk8yX6C83Nv | CHAMBRE-L5T | 1.18x2.09x1.35 | +| Name | Description | Dimensions (m3) | +|-------------------|---------------|------------------| +| SAN1-PK51_D | CHAMBRE-L5T | 1.18x2.09x1.35 | +| SAN1-PK51_G | CHAMBRE-L5T | 1.18x2.09x1.35 | +| SAN1-PK100_D | CHAMBRE-L5T | 1.18x2.09x1.35 | +| SAN1-PK100_G | CHAMBRE-L2T | 0.63x1.41x1.28 | +| SAN1-PK196_D | CHAMBRE-L2T | 0.63x1.41x0.98 | +| SAN1-PK196_G | CHAMBRE-M1C | 1.45x2.27x1.44 | +| SAN1-PK155_G | CHAMBRE-M1C | 1.45x2.27x1.44 | +| SAN1-PK-60_G | CHAMBRE-L5T | 1.18x2.09x1.35 | - (RI-7) Stationing value must be stored in the `Pset_Stationing` property set related to the `IfcReferent`. - (RI-20) Equipment positioning using a `IfcReferent`. @@ -119,7 +128,7 @@ When validated using the bSI Validation Service, the IFC must pass: ### Informal criteria -- Railway alignments presented in BC003_ALX2_Reference [BC003_ALX2_Reference](./Dataset/BC003_ALX2_Reference.ids) file shall be coincident with the ones presented in [BC003_AL01_Reference](https://github.com/bSI-RailwayRoom/IFC4.x-IF/blob/3ac4acd3e4e8aeca250a98d59297a125319743a4/tests/BC003_AL01/Dataset/BC003_AL01_Reference.ifc) file ; +- Railway alignments presented in BC003_ALX2_Reference [BC003_ALX2_Reference](./Dataset/BC003_ALX2_Reference.ifc) file shall be coincident with the ones presented in [BC003_AL01_Reference](../BC003_AL01/Dataset/BC003_AL01_Reference.ifc) file ; - Alignments A1 to A7 have both start and end station inside inspection chamber objects; - Inspection chambers are represented as 3D solids with parallelepiped shape (extruded from a rectangular 2D profile); @@ -148,5 +157,10 @@ After importing the reference file ([BC003_ALX2_Reference](./Dataset/BC003_ALX2_ ## 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 304 | Stationing address | IfcReferents (typed POSITION or STATION) linked to IfcAlignments need a IfcRelPositions relationship | A Linear address shall be known from the alignment it relates to | +|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 316 | ElementAssemblies stationing | IfcElementAssembly.SIGNAL shall be linked to IFcReferent.STATION by a IfcRelPositions relationship | A signal assembly should have its stationing defined | +|RI 317 | Local Engineering Coordinates | It shall be possible to have many IfcGeometricRepresentationContext entities with CoordinateDimension=3 that reference different IFcCoordinateOperation entities. See [open issue 317](https://github.com/buildingSMART/IFC4.3.x-development/issues/317) which conflicts with [IfcGeometricRepresentationContext](https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcGeometricRepresentationContext.htm) and [GRF001](https://github.com/buildingSMART/ifc-gherkin-rules/blob/main/features/GRF001_Identical-coordinate-operations.feature) | Some railway facility should be positioned wrt an alignment but have its geometry placement defined in local engineering coordinates |