From cd78f897739701c20a92248cd746de1c136ed672 Mon Sep 17 00:00:00 2001 From: larswik Date: Mon, 10 Jan 2022 09:19:33 +0100 Subject: [PATCH 01/37] Draft readme for ALIN --- E1a-ARSE/ALIN/Dataset/README.md | 45 +++++++++ E1a-ARSE/ALIN/README.md | 174 ++++++++++++++++++++++++++++++++ 2 files changed, 219 insertions(+) create mode 100644 E1a-ARSE/ALIN/Dataset/README.md create mode 100644 E1a-ARSE/ALIN/README.md diff --git a/E1a-ARSE/ALIN/Dataset/README.md b/E1a-ARSE/ALIN/Dataset/README.md new file mode 100644 index 0000000..2424951 --- /dev/null +++ b/E1a-ARSE/ALIN/Dataset/README.md @@ -0,0 +1,45 @@ +## Variations +The Following occurence variations need to be checked and certified in relation to the targetted entities and concept templates: + +- Entity_01 - *decription of variation* +- Entity_02 - *decription of variation* + +***=>What other elements occur for roads?*** + + + +## Model Dataset +This test case utilises the attached dataset documented by the following drawings and data schedule. + +"Synopsis": + +- IfcAlignment => IfcPolyline (Axis,Curve3D)? + - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) + - Line + - Clothoid (to left) + - Circular arc (left) + - Clothoid (to straight) + - Line + - Clothoid (to right) + - Circular arc (right) + - Clothoid (to straight) + - Line + - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) + - Line (up) + - Parabolic arc/Circular arc + - Line (down) + - Parabolic arc/Circular arc + - Line (up) + +*This is a later step tha involved the detailed documentation of the certification dataset (model)* + + +## Drawings (Visualisations) +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + + +## Supporting files + +| Filename | Description | +|-----------------------------------|-------------------------------------------| +| *filename* | *short description* | \ No newline at end of file diff --git a/E1a-ARSE/ALIN/README.md b/E1a-ARSE/ALIN/README.md new file mode 100644 index 0000000..7e83e8d --- /dev/null +++ b/E1a-ARSE/ALIN/README.md @@ -0,0 +1,174 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* + +With these instructions the infrastructure (e.g. Road) alignment exchange will be established.This includes basic alignment geometry featuring the common layout: + +- horizontal +- vertical + +The valid geometry segment types for horizontal are the following: + +- Arc +- Clothoid +- Linear +- *Check if other transition curves are being used* + +The valid geometry segment types for vertical: + +- Linear +- Arc +- Parabolic Arc +- *Check if there are cases with transition curves (don't think that there are)* + +... + +We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). + +The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. + +:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: + +## Itemised Roots +*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* + +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
IFC Entities + +These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *IfcAlignment* +- *IfcAlignmentHorizontal* +- *IfcAlignmentVertical* +- *IfcAlignmentSegment* +- *IfcAlignmentHorizontalSegment* +- *IfcAlignmentVerticalSegment* +- *IfcAxis2PlacementLinear* +- *IfcAxis2Placement2D* +- *IfcAxis2Placement3D* +- *IfcCircle* +- *IfcClothoid* +- *IfcCompositeCurve* +- *IfcCurveSegment* +- *IfcLine* +- *IfcLinearPlacement* +- *IfcLocalPlacement* +- *IfcGeometricRepresentationContext* +- *IfcGeometricRepresentationSubContext* +- *IfcGradientCurve* +- *IfcMapConversion* +- *IfcPolyline* +- *IfcProject* +- *IfcProjectedCRS* +- *IfcProductDefinitionShape* +- *IfcSite* +- *IfcShapeRepresentation* + +
+ +
Concept Templates + +These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *Alignment Layout* +- *Alignment Geometry* +- *Alignment Geometry Gradient* +- *Project Global Positioning* +- *Spatial Containment* + +
+ +## Test Case Imports +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. + +:construction: under construction :construction: + +
Imports & Reuses + +| TI Code | Test Instruction Title | Comments | +| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | +| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | + +
+ +## Usages, Constraints & Logic +The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
Semantic Usages, Constraints & Logic + +The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria + +- IfcSomething + - *Constraint* + +
+ +
Model Geometry +The Test case requires the following additional checks related to Model Geometry: + +- *Constraint* + +
+ +## Expected Results + +For certification of capabilities the only source will be: + +:construction: under construction :construction: + +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) + +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of ... +- CSV export of ... + +--- + +## Validation criteria +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +:construction: under construction :construction: + +### General & Imports + +
Click to expand + +- All the concept templates must be correctly implemented as presented in the validation criteria +- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. + + +#### Imports +| **TI Code** | **Criteria Codes** | *COMMENT** | +|--------------------|--------------------|----------------------------------------------------| +| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | + + +#### General +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|-----------------------------------------------|-------------| +| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | + +
+ +### Some Concept Group + +
Click to expand +Criteria around the representation of 'Some Concept' + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|------------------------------------------|-------------| +| XXXX_01 | A Criteria to follow | its expected value or outcome | | + +
From 29083913580abb8411765cf52323c038f7daca5f Mon Sep 17 00:00:00 2001 From: larswik Date: Mon, 10 Jan 2022 13:51:20 +0100 Subject: [PATCH 02/37] Update E1a-ARSE/ALIN/README.md Co-authored-by: Stefan Jaud <59165496+pjanck@users.noreply.github.com> --- E1a-ARSE/ALIN/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/E1a-ARSE/ALIN/README.md b/E1a-ARSE/ALIN/README.md index 7e83e8d..78c5e52 100644 --- a/E1a-ARSE/ALIN/README.md +++ b/E1a-ARSE/ALIN/README.md @@ -9,7 +9,8 @@ *Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* -With these instructions the infrastructure (e.g. Road) alignment exchange will be established.This includes basic alignment geometry featuring the common layout: +With these instructions the infrastructure (e.g. Road) alignment exchange is established. +This includes basic alignment geometry featuring the common layout: - horizontal - vertical From 7fce3c6baf83747072ce5588bd5e32b721394ca6 Mon Sep 17 00:00:00 2001 From: larswik Date: Mon, 10 Jan 2022 13:51:40 +0100 Subject: [PATCH 03/37] Update E1a-ARSE/ALIN/README.md Co-authored-by: Stefan Jaud <59165496+pjanck@users.noreply.github.com> --- E1a-ARSE/ALIN/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/E1a-ARSE/ALIN/README.md b/E1a-ARSE/ALIN/README.md index 78c5e52..77aad9b 100644 --- a/E1a-ARSE/ALIN/README.md +++ b/E1a-ARSE/ALIN/README.md @@ -25,7 +25,7 @@ The valid geometry segment types for horizontal are the following: The valid geometry segment types for vertical: - Linear -- Arc +- Circular Arc - Parabolic Arc - *Check if there are cases with transition curves (don't think that there are)* From 481c1646894496a0d9ab7a87cb14a80e533569c9 Mon Sep 17 00:00:00 2001 From: larswik Date: Mon, 10 Jan 2022 13:51:50 +0100 Subject: [PATCH 04/37] Update E1a-ARSE/ALIN/Dataset/README.md Co-authored-by: Stefan Jaud <59165496+pjanck@users.noreply.github.com> --- E1a-ARSE/ALIN/Dataset/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/E1a-ARSE/ALIN/Dataset/README.md b/E1a-ARSE/ALIN/Dataset/README.md index 2424951..d49f555 100644 --- a/E1a-ARSE/ALIN/Dataset/README.md +++ b/E1a-ARSE/ALIN/Dataset/README.md @@ -1,5 +1,5 @@ ## Variations -The Following occurence variations need to be checked and certified in relation to the targetted entities and concept templates: +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: - Entity_01 - *decription of variation* - Entity_02 - *decription of variation* From ce03fae7fa5c245470bfccd769763f6a00e10daf Mon Sep 17 00:00:00 2001 From: larswik Date: Thu, 17 Feb 2022 11:21:11 +0100 Subject: [PATCH 05/37] A little further on E1a-ALIN According to discussions with Karin, Juha L and Juha H --- .../ALIN01/Dataset/AlignmentParameters.xlsx | Bin 0 -> 13723 bytes .../Dataset/HorizontalAlignmentParameters.csv | 16 + E1a-ARSE/ALIN01/Dataset/README.md | 51 +++ E1a-ARSE/ALIN01/Dataset/Testi_101_ml.ifc | 344 ++++++++++++++++++ E1a-ARSE/ALIN01/Dataset/Testi_101_ml.xml | 116 ++++++ E1a-ARSE/ALIN01/Dataset/Testi_ml_map.pdf | Bin 0 -> 383327 bytes E1a-ARSE/ALIN01/Dataset/Testi_ml_profiles.pdf | Bin 0 -> 148510 bytes .../Dataset/VerticalAlignmentParameters.csv | 18 + E1a-ARSE/{ALIN => ALIN01}/README.md | 0 E1a-ARSE/{ALIN => ALIN02}/Dataset/README.md | 0 E1a-ARSE/ALIN02/README.md | 175 +++++++++ E1a-ARSE/ALIN03/Dataset/README.md | 45 +++ E1a-ARSE/ALIN03/README.md | 175 +++++++++ E1a-ARSE/ALIN04/Dataset/README.md | 45 +++ E1a-ARSE/ALIN04/README.md | 175 +++++++++ E1a-ARSE/ALIN05/Dataset/README.md | 45 +++ E1a-ARSE/ALIN05/README.md | 175 +++++++++ E1a-ARSE/ALIN06/Dataset/README.md | 45 +++ E1a-ARSE/ALIN06/README.md | 175 +++++++++ E1a-ARSE/README.md | 16 +- 20 files changed, 1611 insertions(+), 5 deletions(-) create mode 100644 E1a-ARSE/ALIN01/Dataset/AlignmentParameters.xlsx create mode 100644 E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv create mode 100644 E1a-ARSE/ALIN01/Dataset/README.md create mode 100644 E1a-ARSE/ALIN01/Dataset/Testi_101_ml.ifc create mode 100644 E1a-ARSE/ALIN01/Dataset/Testi_101_ml.xml create mode 100644 E1a-ARSE/ALIN01/Dataset/Testi_ml_map.pdf create mode 100644 E1a-ARSE/ALIN01/Dataset/Testi_ml_profiles.pdf create mode 100644 E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv rename E1a-ARSE/{ALIN => ALIN01}/README.md (100%) rename E1a-ARSE/{ALIN => ALIN02}/Dataset/README.md (100%) create mode 100644 E1a-ARSE/ALIN02/README.md create mode 100644 E1a-ARSE/ALIN03/Dataset/README.md create mode 100644 E1a-ARSE/ALIN03/README.md create mode 100644 E1a-ARSE/ALIN04/Dataset/README.md create mode 100644 E1a-ARSE/ALIN04/README.md create mode 100644 E1a-ARSE/ALIN05/Dataset/README.md create mode 100644 E1a-ARSE/ALIN05/README.md create mode 100644 E1a-ARSE/ALIN06/Dataset/README.md create mode 100644 E1a-ARSE/ALIN06/README.md diff --git a/E1a-ARSE/ALIN01/Dataset/AlignmentParameters.xlsx b/E1a-ARSE/ALIN01/Dataset/AlignmentParameters.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..babcb95a06d7ec55e3b498de77221648fef4e84c GIT binary patch literal 13723 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 literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..577e25c --- /dev/null +++ b/E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv @@ -0,0 +1,16 @@ +StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +24474600.283;6654918.750;0.7121999;;;193.423;.LINE. +24474746.690;6655045.152;0.7121999;0.0;200.0;63.845;.CLOTHOID. +24474792.678;6655089.336;0.8718124;200.0;200.0;34.421;.CIRCULARARC. +24474812.455;6655117.455;1.0439153;200.0;0.0;63.845;.CLOTHOID. +24474838.485;6655175.674;1.2035278;;;21.347;.LINE. +24474846.150;6655195.597;1.2035278;0.0;-200.0;63.845;.CLOTHOID. +24474872.181;6655253.815;1.0439153;-200.0;-200.0;85.355;.CIRCULARARC. +24474929.317;6655316.355;0.6171368;-200.0;0.0;63.845;.CLOTHOID. +24474984.952;6655347.527;0.4575243;;;192.323;.LINE. +24475157.495;6655432.482;0.4575243;200.0;200.0;82.814;.CIRCULARARC. +24475222.220;6655483.191;0.8715950;-200.0;-200.0;100.119;.CIRCULARARC. +24475302.782;6655540.862;0.3710006;;;58.660;.LINE. +24475357.451;6655562.129;0.3710006;-200.0;-200.0;115.441;.CIRCULARARC. +24475470.910;6655571.499;6.0769809;200.0;200.0;102.335;.CIRCULARARC. +24475572.007;6655576.521;0.3054710;;;28.790;.LINE. diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md new file mode 100644 index 0000000..3f8b84c --- /dev/null +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -0,0 +1,51 @@ +## Variations +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* +- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* +- Alignment Decomposition: + - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns + - The horizontal alignment shall also be decomposed with element sequences lacking clothoid transition curves including both clockwise and counter-clockwise turns where a clockwise and counter-clockwise turn are joined together (forming an "S" curve) + - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns + - The vertical alignment shall also be decomposed with element sequences where circular arcs follows directly after each other (forming an "S" curve) + +## Model Dataset +This test case utilises the following dataset: + +- One alignment layout (no geometric representation is required) + +- The alignment is composed of one horizontal alignment layout and one vertical alignment layout + +- The horizontal layout has the following sequences of elements: + + - Line => Clothoid => Circular arc (cw) => Clothoid => Line => Clothoid => Circular arc (ccw) => Clothoid => Line + + - Line => Circular arc (cw) => Circular arc (ccw) => Line + + - Line => Circular arc (ccw) => Circular arc (cw) => Line + +- The vertical layout has the following sequences of elements: + + - Line => Circular arc => Line + + - Line => Circular arc (cw) => Circular arc (ccw) => Line + + - Line => Circular arc (ccw) => Circular arc (cw) => Line + + +## Drawings (Visualisations) +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + +| Filename | Description | +| -------------------------------------------- | -------------------------------------------- | +| [Testi_ml_map](./Testi_ml_map.pdf) | Planar (map) view of the test case | +| [Testi_ml_profiles](./Testi_ml_profiles.pdf) | Long section (profile) view of the test case | + + +## Supporting files + +| Filename | Description | +| ------------------------------------------------------------ | -------------------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [AlignmentParameters](./AlignmentParameters.xlsx) | Parameters for horizontal and vertical segments as excel | \ No newline at end of file diff --git a/E1a-ARSE/ALIN01/Dataset/Testi_101_ml.ifc b/E1a-ARSE/ALIN01/Dataset/Testi_101_ml.ifc new file mode 100644 index 0000000..da86021 --- /dev/null +++ b/E1a-ARSE/ALIN01/Dataset/Testi_101_ml.ifc @@ -0,0 +1,344 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4NotAssigned]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\Users\\lars\\Documents\\Projekt\\IFCInfra\\Tests\\Testi_101_ml.ifc', +/* time_stamp */ '2022-02-10T08:16:24', +/* author */ ('lars'), +/* organization */ ('Unknown'), +/* preprocessor_version */ 'ggIfcConverter v0.0.5.0 by Geometry Gym Pty Ltd built 2022-02-10T07:15:39', +/* originating_system */ 'ggIFCConverter v0.0.5.0 - Converter by Geometry Gym Pty Ltd', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4X3_RC4')); +ENDSEC; + +DATA; +#1= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2= IFCDIRECTION((1.0,0.0,0.0)); +#3= IFCDIRECTION((0.0,1.0,0.0)); +#4= IFCDIRECTION((0.0,0.0,1.0)); +#5= IFCAXIS2PLACEMENT3D(#1,$,$); +#6= IFCCARTESIANPOINT((0.0,0.0)); +#7= IFCAXIS2PLACEMENT2D(#6,$); +#8= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#9= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#10= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#11= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#12= IFCUNITASSIGNMENT((#8,#11)); +#13= IFCPROJECT('0ecx2rClfBtAk7rrRtzpG7',$,'IFC testi','IFC testi',$,$,$,(#80),#12); +#14= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#15= IFCAXIS2PLACEMENT3D(#14,$,$); +#16= IFCLOCALPLACEMENT($,#15); +#17= IFCSITE('0AeyuwY3Sco4GqVIWj7KBz',$,'IFC testi',$,$,#16,$,$,$,$,$,$,$,$); +#18= IFCRELAGGREGATES('1Q9vKweljnFkXDa3IGNYn4',$,$,$,#13,(#17)); +#19= IFCLOCALPLACEMENT(#16,#5); +#20= IFCALIGNMENT('1V4IFLD5FZEHUFn2xxO5TX',$,'Testi',$,$,#19,#321,$); +#21= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Vg8iVaUzCc8kgu5atnp5Z',$,'Site','Site Container for Elements',(#20),#17); +#22= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#23= IFCAXIS2PLACEMENT3D(#22,#4,#2); +#25= IFCALIGNMENTHORIZONTAL('3aXJ1N8KqGC4XvJ0PdDKpy',$,$,$,$,#19,#169); +#26= IFCRELNESTS('3bHIy9qJHBYPOZgc7zqv0h',$,$,$,#20,(#25,#187)); +#27= IFCCARTESIANPOINT((24474600.283714,6654918.750471)); +#28= IFCALIGNMENTHORIZONTALSEGMENT($,$,#27,0.712199895871347,0.0,0.0,193.4232,$,.LINE.); +#29= IFCALIGNMENTSEGMENT('2vaztxIjrKOr$0KqItOJ$I',$,$,$,$,#19,#86,#28); +#30= IFCRELNESTS('1KmS$Dxxj4qx0ze8hbov2P',$,$,$,#25,(#29,#33,#36,#39,#42,#45,#48,#51,#54,#57,#60,#63,#66,#69,#72)); +#31= IFCCARTESIANPOINT((24474746.690778,6655045.152631)); +#32= IFCALIGNMENTHORIZONTALSEGMENT($,$,#31,0.712199906334298,0.0,200.0,63.845,$,.CLOTHOID.); +#33= IFCALIGNMENTSEGMENT('0sGR5JP9JE3NzGE0Oyp0za',$,$,$,$,#19,#92,#32); +#34= IFCCARTESIANPOINT((24474792.677965,6655089.335669)); +#35= IFCALIGNMENTHORIZONTALSEGMENT($,$,#34,0.871812399176709,200.0,200.0,34.420584,$,.CIRCULARARC.); +#36= IFCALIGNMENTSEGMENT('3uyWopL_852h4xFIJlpBjd',$,$,$,$,#19,#98,#35); +#37= IFCCARTESIANPOINT((24474812.454617,6655117.455754)); +#38= IFCALIGNMENTHORIZONTALSEGMENT($,$,#37,1.04391527787276,200.0,0.0,63.845,$,.CLOTHOID.); +#39= IFCALIGNMENTSEGMENT('0bOZo63U6dC0a70iOtGkCQ',$,$,$,$,#19,#104,#38); +#40= IFCCARTESIANPOINT((24474838.485471,6655175.673937)); +#41= IFCALIGNMENTHORIZONTALSEGMENT($,$,#40,1.20352784295313,0.0,0.0,21.346852,$,.LINE.); +#42= IFCALIGNMENTSEGMENT('3uw5yTngOd73UakCbjcKPN',$,$,$,$,#19,#109,#41); +#43= IFCCARTESIANPOINT((24474846.15043,6655195.597202)); +#44= IFCALIGNMENTHORIZONTALSEGMENT($,$,#43,1.20352781983867,0.0,-200.0,63.845,$,.CLOTHOID.); +#45= IFCALIGNMENTSEGMENT('2NuHEWbbdCcMrblPJjitBe',$,$,$,$,#19,#115,#44); +#46= IFCCARTESIANPOINT((24474872.181284,6655253.815386)); +#47= IFCALIGNMENTHORIZONTALSEGMENT($,$,#46,1.04391531991188,-200.0,-200.0,85.355704,$,.CIRCULARARC.); +#48= IFCALIGNMENTSEGMENT('3lHxSswtYwB01wMksZZIMT',$,$,$,$,#19,#121,#47); +#49= IFCCARTESIANPOINT((24474929.316712,6655316.355174)); +#50= IFCALIGNMENTHORIZONTALSEGMENT($,$,#49,0.617136818616182,-200.0,0.0,63.845,$,.CLOTHOID.); +#51= IFCALIGNMENTSEGMENT('2B5epfRrF3gcg_hsGk922T',$,$,$,$,#19,#127,#50); +#52= IFCCARTESIANPOINT((24474984.951684,6655347.527472)); +#53= IFCALIGNMENTHORIZONTALSEGMENT($,$,#52,0.457524298045646,0.0,0.0,192.323738,$,.LINE.); +#54= IFCALIGNMENTSEGMENT('0f8_8Cj8lvTUcnnmiVdCiP',$,$,$,$,#19,#132,#53); +#55= IFCCARTESIANPOINT((24475157.494701,6655432.482327)); +#56= IFCALIGNMENTHORIZONTALSEGMENT($,$,#55,0.457524292762515,200.0,200.0,82.814142,$,.CIRCULARARC.); +#57= IFCALIGNMENTSEGMENT('2I$Xcy$JkuUauhfYMs2_jz',$,$,$,$,#19,#138,#56); +#58= IFCCARTESIANPOINT((24475222.220317,6655483.190771)); +#59= IFCALIGNMENTHORIZONTALSEGMENT($,$,#58,0.871595018418373,-200.0,-200.0,100.11889,$,.CIRCULARARC.); +#60= IFCALIGNMENTSEGMENT('2czZ2zyktpvqOs4xYwOTKV',$,$,$,$,#19,#144,#59); +#61= IFCCARTESIANPOINT((24475302.781991,6655540.862461)); +#62= IFCALIGNMENTHORIZONTALSEGMENT($,$,#61,0.37100055838095,0.0,0.0,58.659577,$,.LINE.); +#63= IFCALIGNMENTSEGMENT('0l0XkEmfjreXS$jzp6amF6',$,$,$,$,#19,#149,#62); +#64= IFCCARTESIANPOINT((24475357.450667,6655562.129379)); +#65= IFCALIGNMENTHORIZONTALSEGMENT($,$,#64,0.371000555025985,-200.0,-200.0,115.440984,$,.CIRCULARARC.); +#66= IFCALIGNMENTSEGMENT('0Bb9yB3iA_2DK_lIKVX5zx',$,$,$,$,#19,#155,#65); +#67= IFCCARTESIANPOINT((24475470.909519,6655571.499388)); +#68= IFCALIGNMENTHORIZONTALSEGMENT($,$,#67,6.07698093924176,200.0,200.0,102.335082,$,.CIRCULARARC.); +#69= IFCALIGNMENTSEGMENT('3miJ11ZCKhG0rTvyyAcgwC',$,$,$,$,#19,#161,#68); +#70= IFCCARTESIANPOINT((24475572.00724,6655576.521331)); +#71= IFCALIGNMENTHORIZONTALSEGMENT($,$,#70,0.305471032863846,0.0,0.0,28.790227,$,.LINE.); +#72= IFCALIGNMENTSEGMENT('3zvKhvQ6EEPa36uvd5tvQ9',$,$,$,$,#19,#166,#71); +#73= IFCAXIS2PLACEMENT2D(#27,#74); +#74= IFCDIRECTION((0.75692608,0.65350051)); +#75= IFCCARTESIANPOINT((0.0,0.0)); +#76= IFCDIRECTION((1.0,0.0)); +#77= IFCVECTOR(#76,1.0); +#78= IFCLINE(#75,#77); +#79= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#73,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(193.4232),#78); +#80= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.00001,#82,#83); +#81= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#82= IFCAXIS2PLACEMENT3D(#81,$,$); +#83= IFCDIRECTION((0.0,1.0)); +#84= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#80,$,.GRAPH_VIEW.,$); +#85= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#79)); +#86= IFCPRODUCTDEFINITIONSHAPE($,$,(#85)); +#87= IFCAXIS2PLACEMENT2D(#31,#88); +#88= IFCDIRECTION((0.75692607,0.65350052)); +#89= IFCCLOTHOID(#7,113.0); +#90= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#87,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(63.845),#89); +#91= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#90)); +#92= IFCPRODUCTDEFINITIONSHAPE($,$,(#91)); +#93= IFCAXIS2PLACEMENT2D(#34,#94); +#94= IFCDIRECTION((0.64344022,0.76549636)); +#95= IFCCIRCLE(#7,200.0); +#96= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#93,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(34.420584),#95); +#97= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#96)); +#98= IFCPRODUCTDEFINITIONSHAPE($,$,(#97)); +#99= IFCAXIS2PLACEMENT2D(#37,#100); +#100= IFCDIRECTION((0.50283983,0.86437961)); +#101= IFCCLOTHOID(#7,-113.0); +#102= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#99,IFCPARAMETERVALUE(-63.845),IFCNONNEGATIVELENGTHMEASURE(63.845),#101); +#103= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#102)); +#104= IFCPRODUCTDEFINITIONSHAPE($,$,(#103)); +#105= IFCAXIS2PLACEMENT2D(#40,#106); +#106= IFCDIRECTION((0.35906742,0.93331162)); +#107= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#105,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(21.346852),#78); +#108= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#107)); +#109= IFCPRODUCTDEFINITIONSHAPE($,$,(#108)); +#110= IFCAXIS2PLACEMENT2D(#43,#111); +#111= IFCDIRECTION((0.35906744,0.93331162)); +#112= IFCCLOTHOID(#7,-113.0); +#113= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#110,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(63.845),#112); +#114= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#113)); +#115= IFCPRODUCTDEFINITIONSHAPE($,$,(#114)); +#116= IFCAXIS2PLACEMENT2D(#46,#117); +#117= IFCDIRECTION((0.5028398,0.86437963)); +#118= IFCCIRCLE(#7,200.0); +#119= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#116,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.42677852),#118); +#120= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#119)); +#121= IFCPRODUCTDEFINITIONSHAPE($,$,(#120)); +#122= IFCAXIS2PLACEMENT2D(#49,#123); +#123= IFCDIRECTION((0.81553873,0.5787025)); +#124= IFCCLOTHOID(#7,113.0); +#125= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#122,IFCPARAMETERVALUE(-63.845),IFCNONNEGATIVELENGTHMEASURE(63.845),#124); +#126= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#125)); +#127= IFCPRODUCTDEFINITIONSHAPE($,$,(#126)); +#128= IFCAXIS2PLACEMENT2D(#52,#129); +#129= IFCDIRECTION((0.89714883,0.44172839)); +#130= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#128,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(192.323738),#78); +#131= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#130)); +#132= IFCPRODUCTDEFINITIONSHAPE($,$,(#131)); +#133= IFCAXIS2PLACEMENT2D(#55,#134); +#134= IFCDIRECTION((0.89714884,0.44172839)); +#135= IFCCIRCLE(#7,200.0); +#136= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#133,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(82.814142),#135); +#137= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#136)); +#138= IFCPRODUCTDEFINITIONSHAPE($,$,(#137)); +#139= IFCAXIS2PLACEMENT2D(#58,#140); +#140= IFCDIRECTION((0.64360661,0.76535647)); +#141= IFCCIRCLE(#7,200.0); +#142= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#139,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.50059445),#141); +#143= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#142)); +#144= IFCPRODUCTDEFINITIONSHAPE($,$,(#143)); +#145= IFCAXIS2PLACEMENT2D(#61,#146); +#146= IFCDIRECTION((0.93196506,0.3625481)); +#147= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#145,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(58.659577),#78); +#148= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#147)); +#149= IFCPRODUCTDEFINITIONSHAPE($,$,(#148)); +#150= IFCAXIS2PLACEMENT2D(#64,#151); +#151= IFCDIRECTION((0.93196506,0.3625481)); +#152= IFCCIRCLE(#7,200.0); +#153= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#150,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.57720492),#152); +#154= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#153)); +#155= IFCPRODUCTDEFINITIONSHAPE($,$,(#154)); +#156= IFCAXIS2PLACEMENT2D(#67,#157); +#157= IFCDIRECTION((0.9788151,-0.20474616)); +#158= IFCCIRCLE(#7,200.0); +#159= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#156,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(102.335082),#158); +#160= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#159)); +#161= IFCPRODUCTDEFINITIONSHAPE($,$,(#160)); +#162= IFCAXIS2PLACEMENT2D(#70,#163); +#163= IFCDIRECTION((0.9537054,0.30074244)); +#164= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#162,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(28.790227),#78); +#165= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#164)); +#166= IFCPRODUCTDEFINITIONSHAPE($,$,(#165)); +#167= IFCCOMPOSITECURVE((#79,#90,#96,#102,#107,#113,#119,#125,#130,#136,#142,#147,#153,#159,#164),.U.); +#168= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#167)); +#169= IFCPRODUCTDEFINITIONSHAPE($,$,(#168)); +#170= IFCALIGNMENTVERTICALSEGMENT($,$,0.0,67.9666275938242,43.475329,-0.00773410503537014,-0.00773410503537014,$,.CONSTANTGRADIENT.); +#171= IFCALIGNMENTVERTICALSEGMENT($,$,67.9666275938242,25.56006049186,42.9496679632888,-0.00773410503537014,-0.0933380176556316,-300.0,.CIRCULARARC.); +#172= IFCALIGNMENTVERTICALSEGMENT($,$,93.5266880856841,20.3985317664884,41.6603192684821,-0.0933380176556316,-0.0933380176556316,$,.CONSTANTGRADIENT.); +#173= IFCALIGNMENTVERTICALSEGMENT($,$,113.925219852173,21.6842049028376,39.7563607503138,-0.0933380176556316,-0.0206577987550277,300.0,.CIRCULARARC.); +#174= IFCALIGNMENTVERTICALSEGMENT($,$,135.60942475501,68.6257430776865,38.5220312181138,-0.0206577987550277,-0.0206577987550277,$,.CONSTANTGRADIENT.); +#175= IFCALIGNMENTVERTICALSEGMENT($,$,204.235167832697,56.9319301335483,37.1043744281956,-0.0206577987550277,0.00781281114018211,2000.0,.CIRCULARARC.); +#176= IFCALIGNMENTVERTICALSEGMENT($,$,261.167097966245,46.449675607139,36.7388035371268,0.00781281114018211,0.00781281114018211,$,.CONSTANTGRADIENT.); +#177= IFCALIGNMENTVERTICALSEGMENT($,$,307.616773573384,101.90056287711,37.101706080191,0.00781281114018211,0.0486301987513986,2500.0,.CIRCULARARC.); +#178= IFCALIGNMENTVERTICALSEGMENT($,$,409.517336450494,30.5916549869268,39.9762969622553,0.0486301987513986,0.0486301987513986,$,.CONSTANTGRADIENT.); +#179= IFCALIGNMENTVERTICALSEGMENT($,$,440.108991437421,64.0288214133387,41.4639752243932,0.0486301987513986,-0.0154578700237117,-1000.0,.CIRCULARARC.); +#180= IFCALIGNMENTVERTICALSEGMENT($,$,504.13781285076,203.571683667725,42.5248787225931,-0.0154578700237117,-0.0154578700237117,$,.CONSTANTGRADIENT.); +#181= IFCALIGNMENTVERTICALSEGMENT($,$,707.709496518485,55.8482922569574,39.3780940959472,-0.0154578700237117,-0.0714862764285531,-1000.0,.CIRCULARARC.); +#182= IFCALIGNMENTVERTICALSEGMENT($,$,763.557781493212,76.6250733893689,36.9521538451958,-0.0714862764285531,0.00532083289209283,1000.0,.CIRCULARARC.); +#183= IFCALIGNMENTVERTICALSEGMENT($,$,840.182854882581,152.344654262115,34.4209169381877,0.00532083289209283,0.00532083289209283,$,.CONSTANTGRADIENT.); +#184= IFCALIGNMENTVERTICALSEGMENT($,$,992.527509144696,36.8173619984802,35.2315173854975,0.00532083289209283,0.0237361222562795,2000.0,.CIRCULARARC.); +#185= IFCALIGNMENTVERTICALSEGMENT($,$,1029.34487722718,52.5625639402238,35.7663724122683,0.0237361222562795,-0.0288451180418102,-1000.0,.CIRCULARARC.); +#186= IFCALIGNMENTVERTICALSEGMENT($,$,1081.90744116741,188.501540832592,35.6321941963812,-0.0288451180418207,-0.0288451180418207,$,.CONSTANTGRADIENT.); +#187= IFCALIGNMENTVERTICAL('3X$U5$NVT6K9Ko9bGmnTu2',$,'Testi',$,$,#19,#319); +#188= IFCALIGNMENTSEGMENT('26hB2BUmb2Veh74un0Xpfb',$,$,$,$,#19,#211,#170); +#189= IFCRELNESTS('0221xrOpX7n9rswbXSA$aN',$,$,$,#187,(#188,#190,#191,#192,#193,#194,#195,#196,#197,#198,#199,#200,#201,#202,#203,#204,#205)); +#190= IFCALIGNMENTSEGMENT('1eMXlD_EfCk9dPhHpP0rsu',$,$,$,$,#19,#218,#171); +#191= IFCALIGNMENTSEGMENT('147CHC9rT4p8XukwIN_JR3',$,$,$,$,#19,#224,#172); +#192= IFCALIGNMENTSEGMENT('1hojd2yvH5n8$dNLvVeYAr',$,$,$,$,#19,#231,#173); +#193= IFCALIGNMENTSEGMENT('3F09I6WPz6F9DZ0VSoaOCM',$,$,$,$,#19,#237,#174); +#194= IFCALIGNMENTSEGMENT('31QCTES6zA3fiZ4oJeZyb5',$,$,$,$,#19,#244,#175); +#195= IFCALIGNMENTSEGMENT('2A43wLJJjD3vkH$$FgJt_Y',$,$,$,$,#19,#250,#176); +#196= IFCALIGNMENTSEGMENT('3W2WokM2n7ghCxTiHp1bH0',$,$,$,$,#19,#257,#177); +#197= IFCALIGNMENTSEGMENT('25Cl1FkpD2v8EJErxkyuuN',$,$,$,$,#19,#263,#178); +#198= IFCALIGNMENTSEGMENT('1UgJmOR355CPy_gjJ3oLEV',$,$,$,$,#19,#270,#179); +#199= IFCALIGNMENTSEGMENT('0KetFY0jv3XAjvLuVVQEpz',$,$,$,$,#19,#276,#180); +#200= IFCALIGNMENTSEGMENT('2Y85$WNn98nOTLMVM_s_z5',$,$,$,$,#19,#283,#181); +#201= IFCALIGNMENTSEGMENT('2yAiFMqkrF4B9LRlwAqY_7',$,$,$,$,#19,#290,#182); +#202= IFCALIGNMENTSEGMENT('0nHVW1pGTEdvbPo9$0K2fd',$,$,$,$,#19,#296,#183); +#203= IFCALIGNMENTSEGMENT('0WmjnZ8LH1shpB8fjLvHEY',$,$,$,$,#19,#303,#184); +#204= IFCALIGNMENTSEGMENT('0t4c9fkL51CvLVKIaPJz8f',$,$,$,$,#19,#310,#185); +#205= IFCALIGNMENTSEGMENT('1i6Y5IqCXEsO45nyGwtUYB',$,$,$,$,#19,#316,#186); +#206= IFCCARTESIANPOINT((0.0,43.475329)); +#207= IFCDIRECTION((0.99997009,-0.00773387)); +#208= IFCAXIS2PLACEMENT2D(#206,#207); +#209= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#208,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(67.9686603222625),#78); +#210= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#209)); +#211= IFCPRODUCTDEFINITIONSHAPE($,$,(#210)); +#212= IFCCARTESIANPOINT((67.966628,42.949668)); +#213= IFCDIRECTION((0.99997009,-0.00773387)); +#214= IFCAXIS2PLACEMENT2D(#212,#213); +#215= IFCCIRCLE(#7,300.0); +#216= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#214,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0853344217592635),#215); +#217= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#216)); +#218= IFCPRODUCTDEFINITIONSHAPE($,$,(#217)); +#219= IFCCARTESIANPOINT((93.526688,41.660319)); +#220= IFCDIRECTION((0.99567226,-0.09293408)); +#221= IFCAXIS2PLACEMENT2D(#219,#220); +#222= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#221,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(20.4871949340886),#78); +#223= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#222)); +#224= IFCPRODUCTDEFINITIONSHAPE($,$,(#223)); +#225= IFCCARTESIANPOINT((113.92522,39.756361)); +#226= IFCDIRECTION((0.99567226,-0.09293408)); +#227= IFCAXIS2PLACEMENT2D(#225,#226); +#228= IFCCIRCLE(#7,300.0); +#229= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#227,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0724135116192724),#228); +#230= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#229)); +#231= IFCPRODUCTDEFINITIONSHAPE($,$,(#230)); +#232= IFCCARTESIANPOINT((135.609425,38.522031)); +#233= IFCDIRECTION((0.9997867,-0.02065339)); +#234= IFCAXIS2PLACEMENT2D(#232,#233); +#235= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#234,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(68.6403843501667),#78); +#236= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#235)); +#237= IFCPRODUCTDEFINITIONSHAPE($,$,(#236)); +#238= IFCCARTESIANPOINT((204.235168,37.104374)); +#239= IFCDIRECTION((0.9997867,-0.02065339)); +#240= IFCAXIS2PLACEMENT2D(#238,#239); +#241= IFCCIRCLE(#7,2000.0); +#242= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#240,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0284675131534649),#241); +#243= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#242)); +#244= IFCPRODUCTDEFINITIONSHAPE($,$,(#243)); +#245= IFCCARTESIANPOINT((261.167098,36.738804)); +#246= IFCDIRECTION((0.99996948,0.00781257)); +#247= IFCAXIS2PLACEMENT2D(#245,#246); +#248= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#247,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(46.4510932300219),#78); +#249= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#248)); +#250= IFCPRODUCTDEFINITIONSHAPE($,$,(#249)); +#251= IFCCARTESIANPOINT((307.616774,37.101706)); +#252= IFCDIRECTION((0.99996948,0.00781257)); +#253= IFCAXIS2PLACEMENT2D(#251,#252); +#254= IFCCIRCLE(#7,2500.0); +#255= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#253,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0407792657489707),#254); +#256= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#255)); +#257= IFCPRODUCTDEFINITIONSHAPE($,$,(#256)); +#258= IFCCARTESIANPOINT((409.517336,39.976297)); +#259= IFCDIRECTION((0.99881965,0.0485728)); +#260= IFCAXIS2PLACEMENT2D(#258,#259); +#261= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#260,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(30.6278066705866),#78); +#262= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#261)); +#263= IFCPRODUCTDEFINITIONSHAPE($,$,(#262)); +#264= IFCCARTESIANPOINT((440.108991,41.463975)); +#265= IFCDIRECTION((0.99881965,0.0485728)); +#266= IFCAXIS2PLACEMENT2D(#264,#265); +#267= IFCCIRCLE(#7,1000.0); +#268= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#266,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0640485569330326),#267); +#269= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#268)); +#270= IFCPRODUCTDEFINITIONSHAPE($,$,(#269)); +#271= IFCCARTESIANPOINT((504.137813,42.524879)); +#272= IFCDIRECTION((0.99988055,-0.01545602)); +#273= IFCAXIS2PLACEMENT2D(#271,#272); +#274= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#273,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(203.596003508907),#78); +#275= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#274)); +#276= IFCPRODUCTDEFINITIONSHAPE($,$,(#275)); +#277= IFCCARTESIANPOINT((707.709497,39.378094)); +#278= IFCDIRECTION((0.99988055,-0.01545602)); +#279= IFCAXIS2PLACEMENT2D(#277,#278); +#280= IFCCIRCLE(#7,1000.0); +#281= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#279,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0559082376282203),#280); +#282= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#281)); +#283= IFCPRODUCTDEFINITIONSHAPE($,$,(#282)); +#284= IFCCARTESIANPOINT((763.557781,36.952154)); +#285= IFCDIRECTION((0.99745461,-0.07130432)); +#286= IFCAXIS2PLACEMENT2D(#284,#285); +#287= IFCCIRCLE(#7,1000.0); +#288= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#286,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.076685659310769),#287); +#289= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#288)); +#290= IFCPRODUCTDEFINITIONSHAPE($,$,(#289)); +#291= IFCCARTESIANPOINT((840.182855,34.420917)); +#292= IFCDIRECTION((0.99998584,0.00532076)); +#293= IFCAXIS2PLACEMENT2D(#291,#292); +#294= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#293,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(152.346810781613),#78); +#295= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#294)); +#296= IFCPRODUCTDEFINITIONSHAPE($,$,(#295)); +#297= IFCCARTESIANPOINT((992.527509,35.231517)); +#298= IFCDIRECTION((0.99998584,0.00532076)); +#299= IFCAXIS2PLACEMENT2D(#297,#298); +#300= IFCCIRCLE(#7,2000.0); +#301= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#299,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0184108834113241),#300); +#302= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#301)); +#303= IFCPRODUCTDEFINITIONSHAPE($,$,(#302)); +#304= IFCCARTESIANPOINT((1029.344877,35.766372)); +#305= IFCDIRECTION((0.99971842,0.02372944)); +#306= IFCAXIS2PLACEMENT2D(#304,#305); +#307= IFCCIRCLE(#7,1000.0); +#308= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#306,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0525687880190251),#307); +#309= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#308)); +#310= IFCPRODUCTDEFINITIONSHAPE($,$,(#309)); +#311= IFCCARTESIANPOINT((1081.907441,35.632194)); +#312= IFCDIRECTION((0.99958424,-0.02883313)); +#313= IFCAXIS2PLACEMENT2D(#311,#312); +#314= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#313,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(188.579945016814),#78); +#315= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#314)); +#316= IFCPRODUCTDEFINITIONSHAPE($,$,(#315)); +#317= IFCGRADIENTCURVE((#209,#216,#222,#229,#235,#242,#248,#255,#261,#268,#274,#281,#288,#294,#301,#308,#314),.U.,#167,$); +#318= IFCSHAPEREPRESENTATION(#84,'Axis','Curve3D',(#317)); +#319= IFCPRODUCTDEFINITIONSHAPE($,$,(#318)); +#320= IFCSHAPEREPRESENTATION(#84,'Axis','Curve3D',(#317)); +#321= IFCPRODUCTDEFINITIONSHAPE($,$,(#320)); +#322= IFCPROPERTYSINGLEVALUE('state',$,IFCIDENTIFIER('proposed'),$); +#323= IFCPROPERTYSET('1GzoJm_T13fRi9EcDx2r9U',$,'landXML_Alignment',$,(#322)); +#324= IFCRELDEFINESBYPROPERTIES('0zJtMCYNrDHB6mAADvGL7b',$,$,$,(#20),#323); +#325= IFCPROJECTEDCRS('EPSG:3878',$,$,$,$,$,$); +#326= IFCMAPCONVERSION(#80,#325,0.0,0.0,0.0,$,$,$,$,$); +ENDSEC; + +END-ISO-10303-21; diff --git a/E1a-ARSE/ALIN01/Dataset/Testi_101_ml.xml b/E1a-ARSE/ALIN01/Dataset/Testi_101_ml.xml new file mode 100644 index 0000000..2aa38b0 --- /dev/null +++ b/E1a-ARSE/ALIN01/Dataset/Testi_101_ml.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 6654918.750471 24474600.283714 0.000000 + 6655045.152631 24474746.690778 0.000000 + + + 6655045.152631 24474746.690778 + 6655089.335669 24474792.677965 + 6655073.005000 24474778.951172 + + + 6655089.335669 24474792.677965 + 6655117.455754 24474812.454617 +
6655218.023713 24474639.578692
+
+ + 6655117.455754 24474812.454617 + 6655175.673937 24474838.485471 + 6655135.895942 24474823.181919 + + + 6655175.673937 24474838.485471 0.000000 + 6655195.597202 24474846.150430 0.000000 + + + 6655195.597202 24474846.150430 + 6655253.815386 24474872.181284 + 6655235.375197 24474861.453982 + + + 6655253.815386 24474872.181284 + 6655316.355174 24474929.316712 +
6655153.247426 24475045.057209
+
+ + 6655316.355174 24474929.316712 + 6655347.527472 24474984.951684 + 6655328.700888 24474946.714957 + + + 6655347.527472 24474984.951684 0.000000 + 6655432.482327 24475157.494701 0.000000 + + + 6655432.482327 24475157.494701 + 6655483.190771 24475222.220317 +
6655611.912094 24475069.149023
+
+ + 6655483.190771 24475222.220317 + 6655540.862461 24475302.781991 +
6655354.469449 24475375.291611
+
+ + 6655540.862461 24475302.781991 0.000000 + 6655562.129379 24475357.450667 0.000000 + + + 6655562.129379 24475357.450667 + 6655571.499388 24475470.909519 +
6655375.736367 24475429.960288
+
+ + 6655571.499388 24475470.909519 + 6655576.521331 24475572.007240 +
6655767.262409 24475511.858750
+
+ + 6655576.521331 24475572.007240 0.000000 + 6655585.179774 24475599.464635 0.000000 + +
+ + + 0.000000 43.475329 + 80.774181 42.850613 + 124.744967 38.746467 + 232.698531 36.516384 + 358.596365 37.500000 + 472.106409 43.020016 + 735.667559 38.945922 + 801.821767 34.216804 + 1010.938652 35.329480 + 1055.627923 36.390230 + 1270.408982 30.194845 + + + + + + +
+
+
diff --git a/E1a-ARSE/ALIN01/Dataset/Testi_ml_map.pdf b/E1a-ARSE/ALIN01/Dataset/Testi_ml_map.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a64cfde5bb3dfe2245119d1bd4b539eef130bdf7 GIT binary patch literal 383327 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

&l)W!g>yms)B~4aYI5QegXXmCGv{KBixS6`B*# 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 literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN01/Dataset/Testi_ml_profiles.pdf b/E1a-ARSE/ALIN01/Dataset/Testi_ml_profiles.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f9d0c572706f65ebb724758f34f4d08a9e6ed902 GIT binary patch literal 148510 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°=7B+1no4`dCHOmmtwqr1k+%2g;0nZ@mP}i~I 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 bMB2E+%%QL!NdpoP65$iVW?_-nP{8{?c*9WJ literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv new file mode 100644 index 0000000..11ddfd8 --- /dev/null +++ b/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv @@ -0,0 +1,18 @@ +StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +0.0;67.967;43.475;-0.0077341;-0.0077341;;.CONSTANTGRADIENT. +67.967;25.560;42.950;-0.0077341;-0.0933380;-300.0;.CIRCULARARC. +93.527;20.399;41.660;-0.0933380;-0.0933380;;.CONSTANTGRADIENT. +113.925;21.684;39.756;-0.0933380;-0.0206578;300.0;.CIRCULARARC. +135.609;68.626;38.522;-0.0206578;-0.0206578;;.CONSTANTGRADIENT. +204.235;56.932;37.104;-0.0206578;0.0078128;2000.0;.CIRCULARARC. +261.167;46.450;36.739;0.0078128;0.0078128;;.CONSTANTGRADIENT. +307.617;101.901;37.102;0.0078128;0.0486302;2500.0;.CIRCULARARC. +409.517;30.592;39.976;0.0486302;0.0486302;;.CONSTANTGRADIENT. +440.109;64.029;41.464;0.0486302;-0.0154579;-1000.0;.CIRCULARARC. +504.138;203.572;42.525;-0.0154579;-0.0154579;;.CONSTANTGRADIENT. +707.709;55.848;39.378;-0.0154579;-0.0714863;-1000.0;.CIRCULARARC. +763.558;76.625;36.952;-0.0714863;0.0053208;1000.0;.CIRCULARARC. +840.183;152.345;34.421;0.0053208;0.0053208;;.CONSTANTGRADIENT. +992.528;36.817;35.232;0.0053208;0.0237361;2000.0;.CIRCULARARC. +1029.345;52.563;35.766;0.0237361;-0.0288451;-1000.0;.CIRCULARARC. +1081.907;188.502;35.632;-0.0288451;-0.0288451;;.CONSTANTGRADIENT. diff --git a/E1a-ARSE/ALIN/README.md b/E1a-ARSE/ALIN01/README.md similarity index 100% rename from E1a-ARSE/ALIN/README.md rename to E1a-ARSE/ALIN01/README.md diff --git a/E1a-ARSE/ALIN/Dataset/README.md b/E1a-ARSE/ALIN02/Dataset/README.md similarity index 100% rename from E1a-ARSE/ALIN/Dataset/README.md rename to E1a-ARSE/ALIN02/Dataset/README.md diff --git a/E1a-ARSE/ALIN02/README.md b/E1a-ARSE/ALIN02/README.md new file mode 100644 index 0000000..77aad9b --- /dev/null +++ b/E1a-ARSE/ALIN02/README.md @@ -0,0 +1,175 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* + +With these instructions the infrastructure (e.g. Road) alignment exchange is established. +This includes basic alignment geometry featuring the common layout: + +- horizontal +- vertical + +The valid geometry segment types for horizontal are the following: + +- Arc +- Clothoid +- Linear +- *Check if other transition curves are being used* + +The valid geometry segment types for vertical: + +- Linear +- Circular Arc +- Parabolic Arc +- *Check if there are cases with transition curves (don't think that there are)* + +... + +We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). + +The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. + +:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: + +## Itemised Roots +*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* + +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +:construction: under construction :construction: + +

IFC Entities + +These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *IfcAlignment* +- *IfcAlignmentHorizontal* +- *IfcAlignmentVertical* +- *IfcAlignmentSegment* +- *IfcAlignmentHorizontalSegment* +- *IfcAlignmentVerticalSegment* +- *IfcAxis2PlacementLinear* +- *IfcAxis2Placement2D* +- *IfcAxis2Placement3D* +- *IfcCircle* +- *IfcClothoid* +- *IfcCompositeCurve* +- *IfcCurveSegment* +- *IfcLine* +- *IfcLinearPlacement* +- *IfcLocalPlacement* +- *IfcGeometricRepresentationContext* +- *IfcGeometricRepresentationSubContext* +- *IfcGradientCurve* +- *IfcMapConversion* +- *IfcPolyline* +- *IfcProject* +- *IfcProjectedCRS* +- *IfcProductDefinitionShape* +- *IfcSite* +- *IfcShapeRepresentation* + +
+ +
Concept Templates + +These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *Alignment Layout* +- *Alignment Geometry* +- *Alignment Geometry Gradient* +- *Project Global Positioning* +- *Spatial Containment* + +
+ +## Test Case Imports +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. + +:construction: under construction :construction: + +
Imports & Reuses + +| TI Code | Test Instruction Title | Comments | +| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | +| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | + +
+ +## Usages, Constraints & Logic +The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
Semantic Usages, Constraints & Logic + +The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria + +- IfcSomething + - *Constraint* + +
+ +
Model Geometry +The Test case requires the following additional checks related to Model Geometry: + +- *Constraint* + +
+ +## Expected Results + +For certification of capabilities the only source will be: + +:construction: under construction :construction: + +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) + +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of ... +- CSV export of ... + +--- + +## Validation criteria +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +:construction: under construction :construction: + +### General & Imports + +
Click to expand + +- All the concept templates must be correctly implemented as presented in the validation criteria +- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. + + +#### Imports +| **TI Code** | **Criteria Codes** | *COMMENT** | +|--------------------|--------------------|----------------------------------------------------| +| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | + + +#### General +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|-----------------------------------------------|-------------| +| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | + +
+ +### Some Concept Group + +
Click to expand +Criteria around the representation of 'Some Concept' + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|------------------------------------------|-------------| +| XXXX_01 | A Criteria to follow | its expected value or outcome | | + +
diff --git a/E1a-ARSE/ALIN03/Dataset/README.md b/E1a-ARSE/ALIN03/Dataset/README.md new file mode 100644 index 0000000..d49f555 --- /dev/null +++ b/E1a-ARSE/ALIN03/Dataset/README.md @@ -0,0 +1,45 @@ +## Variations +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- Entity_01 - *decription of variation* +- Entity_02 - *decription of variation* + +***=>What other elements occur for roads?*** + + + +## Model Dataset +This test case utilises the attached dataset documented by the following drawings and data schedule. + +"Synopsis": + +- IfcAlignment => IfcPolyline (Axis,Curve3D)? + - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) + - Line + - Clothoid (to left) + - Circular arc (left) + - Clothoid (to straight) + - Line + - Clothoid (to right) + - Circular arc (right) + - Clothoid (to straight) + - Line + - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) + - Line (up) + - Parabolic arc/Circular arc + - Line (down) + - Parabolic arc/Circular arc + - Line (up) + +*This is a later step tha involved the detailed documentation of the certification dataset (model)* + + +## Drawings (Visualisations) +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + + +## Supporting files + +| Filename | Description | +|-----------------------------------|-------------------------------------------| +| *filename* | *short description* | \ No newline at end of file diff --git a/E1a-ARSE/ALIN03/README.md b/E1a-ARSE/ALIN03/README.md new file mode 100644 index 0000000..77aad9b --- /dev/null +++ b/E1a-ARSE/ALIN03/README.md @@ -0,0 +1,175 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* + +With these instructions the infrastructure (e.g. Road) alignment exchange is established. +This includes basic alignment geometry featuring the common layout: + +- horizontal +- vertical + +The valid geometry segment types for horizontal are the following: + +- Arc +- Clothoid +- Linear +- *Check if other transition curves are being used* + +The valid geometry segment types for vertical: + +- Linear +- Circular Arc +- Parabolic Arc +- *Check if there are cases with transition curves (don't think that there are)* + +... + +We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). + +The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. + +:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: + +## Itemised Roots +*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* + +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
IFC Entities + +These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *IfcAlignment* +- *IfcAlignmentHorizontal* +- *IfcAlignmentVertical* +- *IfcAlignmentSegment* +- *IfcAlignmentHorizontalSegment* +- *IfcAlignmentVerticalSegment* +- *IfcAxis2PlacementLinear* +- *IfcAxis2Placement2D* +- *IfcAxis2Placement3D* +- *IfcCircle* +- *IfcClothoid* +- *IfcCompositeCurve* +- *IfcCurveSegment* +- *IfcLine* +- *IfcLinearPlacement* +- *IfcLocalPlacement* +- *IfcGeometricRepresentationContext* +- *IfcGeometricRepresentationSubContext* +- *IfcGradientCurve* +- *IfcMapConversion* +- *IfcPolyline* +- *IfcProject* +- *IfcProjectedCRS* +- *IfcProductDefinitionShape* +- *IfcSite* +- *IfcShapeRepresentation* + +
+ +
Concept Templates + +These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *Alignment Layout* +- *Alignment Geometry* +- *Alignment Geometry Gradient* +- *Project Global Positioning* +- *Spatial Containment* + +
+ +## Test Case Imports +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. + +:construction: under construction :construction: + +
Imports & Reuses + +| TI Code | Test Instruction Title | Comments | +| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | +| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | + +
+ +## Usages, Constraints & Logic +The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
Semantic Usages, Constraints & Logic + +The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria + +- IfcSomething + - *Constraint* + +
+ +
Model Geometry +The Test case requires the following additional checks related to Model Geometry: + +- *Constraint* + +
+ +## Expected Results + +For certification of capabilities the only source will be: + +:construction: under construction :construction: + +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) + +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of ... +- CSV export of ... + +--- + +## Validation criteria +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +:construction: under construction :construction: + +### General & Imports + +
Click to expand + +- All the concept templates must be correctly implemented as presented in the validation criteria +- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. + + +#### Imports +| **TI Code** | **Criteria Codes** | *COMMENT** | +|--------------------|--------------------|----------------------------------------------------| +| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | + + +#### General +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|-----------------------------------------------|-------------| +| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | + +
+ +### Some Concept Group + +
Click to expand +Criteria around the representation of 'Some Concept' + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|------------------------------------------|-------------| +| XXXX_01 | A Criteria to follow | its expected value or outcome | | + +
diff --git a/E1a-ARSE/ALIN04/Dataset/README.md b/E1a-ARSE/ALIN04/Dataset/README.md new file mode 100644 index 0000000..d49f555 --- /dev/null +++ b/E1a-ARSE/ALIN04/Dataset/README.md @@ -0,0 +1,45 @@ +## Variations +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- Entity_01 - *decription of variation* +- Entity_02 - *decription of variation* + +***=>What other elements occur for roads?*** + + + +## Model Dataset +This test case utilises the attached dataset documented by the following drawings and data schedule. + +"Synopsis": + +- IfcAlignment => IfcPolyline (Axis,Curve3D)? + - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) + - Line + - Clothoid (to left) + - Circular arc (left) + - Clothoid (to straight) + - Line + - Clothoid (to right) + - Circular arc (right) + - Clothoid (to straight) + - Line + - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) + - Line (up) + - Parabolic arc/Circular arc + - Line (down) + - Parabolic arc/Circular arc + - Line (up) + +*This is a later step tha involved the detailed documentation of the certification dataset (model)* + + +## Drawings (Visualisations) +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + + +## Supporting files + +| Filename | Description | +|-----------------------------------|-------------------------------------------| +| *filename* | *short description* | \ No newline at end of file diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md new file mode 100644 index 0000000..77aad9b --- /dev/null +++ b/E1a-ARSE/ALIN04/README.md @@ -0,0 +1,175 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* + +With these instructions the infrastructure (e.g. Road) alignment exchange is established. +This includes basic alignment geometry featuring the common layout: + +- horizontal +- vertical + +The valid geometry segment types for horizontal are the following: + +- Arc +- Clothoid +- Linear +- *Check if other transition curves are being used* + +The valid geometry segment types for vertical: + +- Linear +- Circular Arc +- Parabolic Arc +- *Check if there are cases with transition curves (don't think that there are)* + +... + +We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). + +The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. + +:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: + +## Itemised Roots +*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* + +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
IFC Entities + +These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *IfcAlignment* +- *IfcAlignmentHorizontal* +- *IfcAlignmentVertical* +- *IfcAlignmentSegment* +- *IfcAlignmentHorizontalSegment* +- *IfcAlignmentVerticalSegment* +- *IfcAxis2PlacementLinear* +- *IfcAxis2Placement2D* +- *IfcAxis2Placement3D* +- *IfcCircle* +- *IfcClothoid* +- *IfcCompositeCurve* +- *IfcCurveSegment* +- *IfcLine* +- *IfcLinearPlacement* +- *IfcLocalPlacement* +- *IfcGeometricRepresentationContext* +- *IfcGeometricRepresentationSubContext* +- *IfcGradientCurve* +- *IfcMapConversion* +- *IfcPolyline* +- *IfcProject* +- *IfcProjectedCRS* +- *IfcProductDefinitionShape* +- *IfcSite* +- *IfcShapeRepresentation* + +
+ +
Concept Templates + +These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *Alignment Layout* +- *Alignment Geometry* +- *Alignment Geometry Gradient* +- *Project Global Positioning* +- *Spatial Containment* + +
+ +## Test Case Imports +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. + +:construction: under construction :construction: + +
Imports & Reuses + +| TI Code | Test Instruction Title | Comments | +| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | +| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | + +
+ +## Usages, Constraints & Logic +The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
Semantic Usages, Constraints & Logic + +The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria + +- IfcSomething + - *Constraint* + +
+ +
Model Geometry +The Test case requires the following additional checks related to Model Geometry: + +- *Constraint* + +
+ +## Expected Results + +For certification of capabilities the only source will be: + +:construction: under construction :construction: + +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) + +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of ... +- CSV export of ... + +--- + +## Validation criteria +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +:construction: under construction :construction: + +### General & Imports + +
Click to expand + +- All the concept templates must be correctly implemented as presented in the validation criteria +- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. + + +#### Imports +| **TI Code** | **Criteria Codes** | *COMMENT** | +|--------------------|--------------------|----------------------------------------------------| +| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | + + +#### General +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|-----------------------------------------------|-------------| +| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | + +
+ +### Some Concept Group + +
Click to expand +Criteria around the representation of 'Some Concept' + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|------------------------------------------|-------------| +| XXXX_01 | A Criteria to follow | its expected value or outcome | | + +
diff --git a/E1a-ARSE/ALIN05/Dataset/README.md b/E1a-ARSE/ALIN05/Dataset/README.md new file mode 100644 index 0000000..d49f555 --- /dev/null +++ b/E1a-ARSE/ALIN05/Dataset/README.md @@ -0,0 +1,45 @@ +## Variations +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- Entity_01 - *decription of variation* +- Entity_02 - *decription of variation* + +***=>What other elements occur for roads?*** + + + +## Model Dataset +This test case utilises the attached dataset documented by the following drawings and data schedule. + +"Synopsis": + +- IfcAlignment => IfcPolyline (Axis,Curve3D)? + - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) + - Line + - Clothoid (to left) + - Circular arc (left) + - Clothoid (to straight) + - Line + - Clothoid (to right) + - Circular arc (right) + - Clothoid (to straight) + - Line + - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) + - Line (up) + - Parabolic arc/Circular arc + - Line (down) + - Parabolic arc/Circular arc + - Line (up) + +*This is a later step tha involved the detailed documentation of the certification dataset (model)* + + +## Drawings (Visualisations) +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + + +## Supporting files + +| Filename | Description | +|-----------------------------------|-------------------------------------------| +| *filename* | *short description* | \ No newline at end of file diff --git a/E1a-ARSE/ALIN05/README.md b/E1a-ARSE/ALIN05/README.md new file mode 100644 index 0000000..77aad9b --- /dev/null +++ b/E1a-ARSE/ALIN05/README.md @@ -0,0 +1,175 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* + +With these instructions the infrastructure (e.g. Road) alignment exchange is established. +This includes basic alignment geometry featuring the common layout: + +- horizontal +- vertical + +The valid geometry segment types for horizontal are the following: + +- Arc +- Clothoid +- Linear +- *Check if other transition curves are being used* + +The valid geometry segment types for vertical: + +- Linear +- Circular Arc +- Parabolic Arc +- *Check if there are cases with transition curves (don't think that there are)* + +... + +We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). + +The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. + +:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: + +## Itemised Roots +*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* + +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
IFC Entities + +These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *IfcAlignment* +- *IfcAlignmentHorizontal* +- *IfcAlignmentVertical* +- *IfcAlignmentSegment* +- *IfcAlignmentHorizontalSegment* +- *IfcAlignmentVerticalSegment* +- *IfcAxis2PlacementLinear* +- *IfcAxis2Placement2D* +- *IfcAxis2Placement3D* +- *IfcCircle* +- *IfcClothoid* +- *IfcCompositeCurve* +- *IfcCurveSegment* +- *IfcLine* +- *IfcLinearPlacement* +- *IfcLocalPlacement* +- *IfcGeometricRepresentationContext* +- *IfcGeometricRepresentationSubContext* +- *IfcGradientCurve* +- *IfcMapConversion* +- *IfcPolyline* +- *IfcProject* +- *IfcProjectedCRS* +- *IfcProductDefinitionShape* +- *IfcSite* +- *IfcShapeRepresentation* + +
+ +
Concept Templates + +These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *Alignment Layout* +- *Alignment Geometry* +- *Alignment Geometry Gradient* +- *Project Global Positioning* +- *Spatial Containment* + +
+ +## Test Case Imports +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. + +:construction: under construction :construction: + +
Imports & Reuses + +| TI Code | Test Instruction Title | Comments | +| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | +| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | + +
+ +## Usages, Constraints & Logic +The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
Semantic Usages, Constraints & Logic + +The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria + +- IfcSomething + - *Constraint* + +
+ +
Model Geometry +The Test case requires the following additional checks related to Model Geometry: + +- *Constraint* + +
+ +## Expected Results + +For certification of capabilities the only source will be: + +:construction: under construction :construction: + +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) + +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of ... +- CSV export of ... + +--- + +## Validation criteria +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +:construction: under construction :construction: + +### General & Imports + +
Click to expand + +- All the concept templates must be correctly implemented as presented in the validation criteria +- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. + + +#### Imports +| **TI Code** | **Criteria Codes** | *COMMENT** | +|--------------------|--------------------|----------------------------------------------------| +| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | + + +#### General +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|-----------------------------------------------|-------------| +| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | + +
+ +### Some Concept Group + +
Click to expand +Criteria around the representation of 'Some Concept' + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|------------------------------------------|-------------| +| XXXX_01 | A Criteria to follow | its expected value or outcome | | + +
diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md new file mode 100644 index 0000000..d49f555 --- /dev/null +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -0,0 +1,45 @@ +## Variations +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- Entity_01 - *decription of variation* +- Entity_02 - *decription of variation* + +***=>What other elements occur for roads?*** + + + +## Model Dataset +This test case utilises the attached dataset documented by the following drawings and data schedule. + +"Synopsis": + +- IfcAlignment => IfcPolyline (Axis,Curve3D)? + - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) + - Line + - Clothoid (to left) + - Circular arc (left) + - Clothoid (to straight) + - Line + - Clothoid (to right) + - Circular arc (right) + - Clothoid (to straight) + - Line + - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) + - Line (up) + - Parabolic arc/Circular arc + - Line (down) + - Parabolic arc/Circular arc + - Line (up) + +*This is a later step tha involved the detailed documentation of the certification dataset (model)* + + +## Drawings (Visualisations) +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + + +## Supporting files + +| Filename | Description | +|-----------------------------------|-------------------------------------------| +| *filename* | *short description* | \ No newline at end of file diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md new file mode 100644 index 0000000..77aad9b --- /dev/null +++ b/E1a-ARSE/ALIN06/README.md @@ -0,0 +1,175 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* + +With these instructions the infrastructure (e.g. Road) alignment exchange is established. +This includes basic alignment geometry featuring the common layout: + +- horizontal +- vertical + +The valid geometry segment types for horizontal are the following: + +- Arc +- Clothoid +- Linear +- *Check if other transition curves are being used* + +The valid geometry segment types for vertical: + +- Linear +- Circular Arc +- Parabolic Arc +- *Check if there are cases with transition curves (don't think that there are)* + +... + +We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). + +The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. + +:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: + +## Itemised Roots +*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* + +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
IFC Entities + +These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *IfcAlignment* +- *IfcAlignmentHorizontal* +- *IfcAlignmentVertical* +- *IfcAlignmentSegment* +- *IfcAlignmentHorizontalSegment* +- *IfcAlignmentVerticalSegment* +- *IfcAxis2PlacementLinear* +- *IfcAxis2Placement2D* +- *IfcAxis2Placement3D* +- *IfcCircle* +- *IfcClothoid* +- *IfcCompositeCurve* +- *IfcCurveSegment* +- *IfcLine* +- *IfcLinearPlacement* +- *IfcLocalPlacement* +- *IfcGeometricRepresentationContext* +- *IfcGeometricRepresentationSubContext* +- *IfcGradientCurve* +- *IfcMapConversion* +- *IfcPolyline* +- *IfcProject* +- *IfcProjectedCRS* +- *IfcProductDefinitionShape* +- *IfcSite* +- *IfcShapeRepresentation* + +
+ +
Concept Templates + +These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + +- *Alignment Layout* +- *Alignment Geometry* +- *Alignment Geometry Gradient* +- *Project Global Positioning* +- *Spatial Containment* + +
+ +## Test Case Imports +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. + +:construction: under construction :construction: + +
Imports & Reuses + +| TI Code | Test Instruction Title | Comments | +| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | +| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | + +
+ +## Usages, Constraints & Logic +The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: + +:construction: under construction :construction: + +
Semantic Usages, Constraints & Logic + +The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria + +- IfcSomething + - *Constraint* + +
+ +
Model Geometry +The Test case requires the following additional checks related to Model Geometry: + +- *Constraint* + +
+ +## Expected Results + +For certification of capabilities the only source will be: + +:construction: under construction :construction: + +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) + +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of ... +- CSV export of ... + +--- + +## Validation criteria +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +:construction: under construction :construction: + +### General & Imports + +
Click to expand + +- All the concept templates must be correctly implemented as presented in the validation criteria +- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. + + +#### Imports +| **TI Code** | **Criteria Codes** | *COMMENT** | +|--------------------|--------------------|----------------------------------------------------| +| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | + + +#### General +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|-----------------------------------------------|-------------| +| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | + +
+ +### Some Concept Group + +
Click to expand +Criteria around the representation of 'Some Concept' + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +|---------|-----------------------------------------------------|------------------------------------------|-------------| +| XXXX_01 | A Criteria to follow | its expected value or outcome | | + +
diff --git a/E1a-ARSE/README.md b/E1a-ARSE/README.md index e8c211b..957241a 100644 --- a/E1a-ARSE/README.md +++ b/E1a-ARSE/README.md @@ -10,7 +10,7 @@ Exchange Lead: @larswik TBC -...The Alignment Reference Super Elevation Exchange is an extension *superset* of the Alignment Reference Exchange ([IFC4x3_AbRV-E1](../E1-ALRF))... +...The Alignment Reference Super Elevation Exchange is an extension *superset* of the Alignment Reference Exchange ([IFC4x3_AbRV-E1](../E1-ALRF)). ### Scope @@ -20,7 +20,13 @@ TBC ## Test Instructions -| TI Code | Test Instruction Title | -|------------------------------------|----------------------------------| -| [**IFC4x3_AbRV-E1a-ALIN**](./ALIN) | Alignment Infrastructure Curves | -| [**IFC4x3_AbRV-E1a-ALSE**](./ALSE) | Alignment Superelevation & Width | \ No newline at end of file +| TI Code | Test Instruction Title | +| -------------------------------------- | ------------------------------------------------------------ | +| [**IFC4x3_AbRV-E1a-ALIN01**](./ALIN01) | Alignment layout
Horizontal: Line, Circular arc, Clothoid
Vertical: Line, Circular arc (including "S") | +| [**IFC4x3_AbRV-E1a-ALIN02**](./ALIN02) | Alignment layout
Horizontal: Line, Circular arc, Clothoid
Vertical: Line, Parabolic arc (including "S") | +| [**IFC4x3_AbRV-E1a-ALIN03**](./ALIN03) | Alignment layout
Horizontal: Line, Circular Arc
Vertical: Line, Circular Arc
Geometry: IfcPolyline (2d) | +| [**IFC4x3_AbRV-E1a-ALIN04**](./ALIN04) | Alignment layout : See ALIN01
Geometry: IfcCompositeCurve, IfcGradientCurve | +| [**IFC4x3_AbRV-E1a-ALIN05**](./ALIN05) | Alignment layout: See ALIN02
Geometry: IfcCompositeCurve, IfcGradientCurve | +| [**IFC4x3_AbRV-E1a-ALIN06**](./ALIN06) | Alignment layout: See ALIN03
Geometry: IfcCompositeCurve, IfcGradientCurve | +| [**IFC4x3_AbRV-E1a-ALSE01**](./ALSE01) | Alignment Superelevation
Alignment: See ALIN06 | +| [**IFC4x3_AbRV-E1a-ALSE02**](./ALSE02) | Alignment Superelevation plus Width
Alignment: See ALIN06 | \ No newline at end of file From 1c5a7242e51959f99495ec5e8ae30bfd1d9425f5 Mon Sep 17 00:00:00 2001 From: larswik Date: Thu, 17 Feb 2022 11:24:42 +0100 Subject: [PATCH 06/37] Update README.md --- E1a-ARSE/ALIN01/README.md | 134 ++++++++++++++++++-------------------- 1 file changed, 65 insertions(+), 69 deletions(-) diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 77aad9b..777df0a 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -1,37 +1,22 @@ # Test Instruction -| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | -| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | -| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN01 | Alignment Infrastructure Curves | E1a | ALIN01 | Lars Wikström | FTIA | 1.0 | 07.01.2022 | ## Summary (Intent) -*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* - With these instructions the infrastructure (e.g. Road) alignment exchange is established. -This includes basic alignment geometry featuring the common layout: - -- horizontal -- vertical - -The valid geometry segment types for horizontal are the following: - -- Arc -- Clothoid -- Linear -- *Check if other transition curves are being used* - -The valid geometry segment types for vertical: -- Linear -- Circular Arc -- Parabolic Arc -- *Check if there are cases with transition curves (don't think that there are)* - -... - -We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). +| Info | | +| ---------------------------- | ------------------------------------- | +| Number of alignment(s) | 1 | +| Properties of segments | no | +| Horizontal layout | Straight Line, Circular Arc, Clothoid | +| Vertical layout | Straight Line, Circular Arc | +| Geometric representation | No | +| IFC reference file available | Yes | The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. @@ -48,32 +33,22 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *IfcAlignment* -- *IfcAlignmentHorizontal* -- *IfcAlignmentVertical* -- *IfcAlignmentSegment* -- *IfcAlignmentHorizontalSegment* -- *IfcAlignmentVerticalSegment* -- *IfcAxis2PlacementLinear* -- *IfcAxis2Placement2D* -- *IfcAxis2Placement3D* -- *IfcCircle* -- *IfcClothoid* -- *IfcCompositeCurve* -- *IfcCurveSegment* -- *IfcLine* -- *IfcLinearPlacement* -- *IfcLocalPlacement* -- *IfcGeometricRepresentationContext* -- *IfcGeometricRepresentationSubContext* -- *IfcGradientCurve* -- *IfcMapConversion* -- *IfcPolyline* -- *IfcProject* -- *IfcProjectedCRS* -- *IfcProductDefinitionShape* -- *IfcSite* -- *IfcShapeRepresentation* +- Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment + +- Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + @@ -81,9 +56,7 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Layout* -- *Alignment Geometry* -- *Alignment Geometry Gradient* +- *Alignment Decomposition* - *Project Global Positioning* - *Spatial Containment* @@ -108,18 +81,29 @@ The following itemised restrictions and constraints shall be placed on IFC Entit :construction: under construction :construction:
Semantic Usages, Constraints & Logic - The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria -- IfcSomething - - *Constraint* +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | --------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_00 | Alignment layout structure is verified | See below for further specification | | +| SITE_00 | Alignment shall always be contained in a Site | na | | -
+ALIG_00: Alignment layout structure is verified -
Model Geometry -The Test case requires the following additional checks related to Model Geometry: +> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` +> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` +> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` +> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` +> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` +> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` +> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` +> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` +> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` -- *Constraint* +-
+ +
Model Geometry +The Test case requires no additional checks related to Model Geometry
@@ -132,8 +116,8 @@ For certification of capabilities the only source will be: - n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of ... -- CSV export of ... +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters --- @@ -163,13 +147,25 @@ Considering the aim of this test, other **optional** results, not subject to the -### Some Concept Group +### Road alignment + +
Click to expand + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | +| ALIG_01 | Alignments contained in file | 1 | | +| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | +| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/Readme.md) | See [Dataset description](./Dataset/Readme.md) | | +| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/Readme.md) | See [Dataset description](./Dataset/Readme.md) | | + +
+### Spatial containment
Click to expand -Criteria around the representation of 'Some Concept' +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|------------------------------------------|-------------| -| XXXX_01 | A Criteria to follow | its expected value or outcome | | +| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | +| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | +| IfcSite | | 1 | 1 | IfcAlignment | Road alignment |
From c88d662150bde5adbccb1fe0b6e519f186cd633f Mon Sep 17 00:00:00 2001 From: larswik Date: Thu, 17 Feb 2022 11:30:08 +0100 Subject: [PATCH 07/37] Update README.md --- E1a-ARSE/ALIN01/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 777df0a..99f5de2 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -155,8 +155,8 @@ Considering the aim of this test, other **optional** results, not subject to the | ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | | ALIG_01 | Alignments contained in file | 1 | | | ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | -| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/Readme.md) | See [Dataset description](./Dataset/Readme.md) | | -| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/Readme.md) | See [Dataset description](./Dataset/Readme.md) | | +| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | ### Spatial containment From 2f2490d29e13b7296397355a66eda9dd07c54c3f Mon Sep 17 00:00:00 2001 From: larswik Date: Thu, 17 Feb 2022 12:00:30 +0100 Subject: [PATCH 08/37] Update README.md --- E1a-ARSE/ALIN01/Dataset/README.md | 57 ++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 3f8b84c..076dda4 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -13,9 +13,7 @@ The Following occurrence variations need to be checked and certified in relation This test case utilises the following dataset: - One alignment layout (no geometric representation is required) - - The alignment is composed of one horizontal alignment layout and one vertical alignment layout - - The horizontal layout has the following sequences of elements: - Line => Clothoid => Circular arc (cw) => Clothoid => Line => Clothoid => Circular arc (ccw) => Clothoid => Line @@ -23,17 +21,66 @@ This test case utilises the following dataset: - Line => Circular arc (cw) => Circular arc (ccw) => Line - Line => Circular arc (ccw) => Circular arc (cw) => Line - - The vertical layout has the following sequences of elements: - Line => Circular arc => Line - - Line => Circular arc (cw) => Circular arc (ccw) => Line - - Line => Circular arc (ccw) => Circular arc (cw) => Line +The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : + +Alignment: + +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | ----------------- | -------------- | +| A1 | IfcAlignment | IfcLocalPlacement | None | +| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | None | +| AV1 | IfcAlignmentVertical | IfcLocalPlacement | None | + +Horizontal segments nested into AH1 in the following order: + +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type | +| ---- | ----------------------------- | ------------ | ----------- | -------------- | ----------- | --------- | ------- | ------------- | +| H1 | IfcAlignmentHorizontalSegment | 24474600.283 | 6654918.750 | 0.7121999 | | | 193.423 | .LINE. | +| H2 | IfcAlignmentHorizontalSegment | 24474746.690 | 6655045.152 | 0.7121999 | 0.0 | 200.0 | 63.845 | .CLOTHOID. | +| H3 | IfcAlignmentHorizontalSegment | 24474792.678 | 6655089.336 | 0.8718124 | 200.0 | 200.0 | 34.421 | .CIRCULARARC. | +| H4 | IfcAlignmentHorizontalSegment | 24474812.455 | 6655117.455 | 1.0439153 | 200.0 | 0.0 | 63.845 | .CLOTHOID. | +| H5 | IfcAlignmentHorizontalSegment | 24474838.485 | 6655175.674 | 1.2035278 | | | 21.347 | .LINE. | +| H6 | IfcAlignmentHorizontalSegment | 24474846.150 | 6655195.597 | 1.2035278 | 0.0 | -200.0 | 63.845 | .CLOTHOID. | +| H7 | IfcAlignmentHorizontalSegment | 24474872.181 | 6655253.815 | 1.0439153 | -200.0 | -200.0 | 85.355 | .CIRCULARARC. | +| H8 | IfcAlignmentHorizontalSegment | 24474929.317 | 6655316.355 | 0.6171368 | -200.0 | 0.0 | 63.845 | .CLOTHOID. | +| H9 | IfcAlignmentHorizontalSegment | 24474984.952 | 6655347.527 | 0.4575243 | | | 192.323 | .LINE. | +| H10 | IfcAlignmentHorizontalSegment | 24475157.495 | 6655432.482 | 0.4575243 | 200.0 | 200.0 | 82.814 | .CIRCULARARC. | +| H11 | IfcAlignmentHorizontalSegment | 24475222.220 | 6655483.191 | 0.8715950 | -200.0 | -200.0 | 100.119 | .CIRCULARARC. | +| H12 | IfcAlignmentHorizontalSegment | 24475302.782 | 6655540.862 | 0.3710006 | | | 58.660 | .LINE. | +| H13 | IfcAlignmentHorizontalSegment | 24475357.451 | 6655562.129 | 0.3710006 | -200.0 | -200.0 | 115.441 | .CIRCULARARC. | +| H14 | IfcAlignmentHorizontalSegment | 24475470.910 | 6655571.499 | 6.0769809 | 200.0 | 200.0 | 102.335 | .CIRCULARARC. | +| H15 | IfcAlignmentHorizontalSegment | 24475572.007 | 6655576.521 | 0.3054710 | | | 28.790 | .LINE. | + +Vertical segments nested into AV1 in the following order: + +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------- | ------------------ | +| V1 | IfcAlignmentVerticalSegment | 0.0 | 67.967 | 43.475 | -0.0077341 | -0.0077341 | | .CONSTANTGRADIENT. | +| V2 | IfcAlignmentVerticalSegment | 67.967 | 25.560 | 42.950 | -0.0077341 | -0.0933380 | -300.0 | .CIRCULARARC. | +| V3 | IfcAlignmentVerticalSegment | 93.527 | 20.399 | 41.660 | -0.0933380 | -0.0933380 | | .CONSTANTGRADIENT. | +| V4 | IfcAlignmentVerticalSegment | 113.925 | 21.684 | 39.756 | -0.0933380 | -0.0206578 | 300.0 | .CIRCULARARC. | +| V5 | IfcAlignmentVerticalSegment | 135.609 | 68.626 | 38.522 | -0.0206578 | -0.0206578 | | .CONSTANTGRADIENT. | +| V6 | IfcAlignmentVerticalSegment | 204.235 | 56.932 | 37.104 | -0.0206578 | 0.0078128 | 2000.0 | .CIRCULARARC. | +| V7 | IfcAlignmentVerticalSegment | 261.167 | 46.450 | 36.739 | 0.0078128 | 0.0078128 | | .CONSTANTGRADIENT. | +| V8 | IfcAlignmentVerticalSegment | 307.617 | 101.901 | 37.102 | 0.0078128 | 0.0486302 | 2500.0 | .CIRCULARARC. | +| V9 | IfcAlignmentVerticalSegment | 409.517 | 30.592 | 39.976 | 0.0486302 | 0.0486302 | | .CONSTANTGRADIENT. | +| V10 | IfcAlignmentVerticalSegment | 440.109 | 64.029 | 41.464 | 0.0486302 | -0.0154579 | -1000.0 | .CIRCULARARC. | +| V11 | IfcAlignmentVerticalSegment | 504.138 | 203.572 | 42.525 | -0.0154579 | -0.0154579 | | .CONSTANTGRADIENT. | +| V12 | IfcAlignmentVerticalSegment | 707.709 | 55.848 | 39.378 | -0.0154579 | -0.0714863 | -1000.0 | .CIRCULARARC. | +| V13 | IfcAlignmentVerticalSegment | 763.558 | 76.625 | 36.952 | -0.0714863 | 0.0053208 | 1000.0 | .CIRCULARARC. | +| V14 | IfcAlignmentVerticalSegment | 840.183 | 152.345 | 34.421 | 0.0053208 | 0.0053208 | | .CONSTANTGRADIENT. | +| V15 | IfcAlignmentVerticalSegment | 992.528 | 36.817 | 35.232 | 0.0053208 | 0.0237361 | 2000.0 | .CIRCULARARC. | +| V16 | IfcAlignmentVerticalSegment | 1029.345 | 52.563 | 35.766 | 0.0237361 | -0.0288451 | -1000.0 | .CIRCULARARC. | +| V17 | IfcAlignmentVerticalSegment | 1081.907 | 188.502 | 35.632 | -0.0288451 | -0.0288451 | | .CONSTANTGRADIENT. | ## Drawings (Visualisations) + The following Drawings and visualisations describe the test case dataset to be modelled and certified. | Filename | Description | From 8c3bcf5a0adcd46b0f39d246fb292ac7d708bdfb Mon Sep 17 00:00:00 2001 From: larswik Date: Fri, 18 Feb 2022 11:25:27 +0100 Subject: [PATCH 09/37] Added ALIN02 and ALIN04 --- E1a-ARSE/ALIN01/Dataset/README.md | 10 +- .../Dataset/HorizontalAlignmentParameters.csv | 10 + E1a-ARSE/ALIN02/Dataset/README.md | 114 ++++-- E1a-ARSE/ALIN02/Dataset/T616AAC0.ifc | 379 ++++++++++++++++++ E1a-ARSE/ALIN02/Dataset/T616AAC0.xml | 215 ++++++++++ .../Dataset/VerticalAlignmentParameters.csv | 28 ++ E1a-ARSE/ALIN02/README.md | 134 +++---- .../ALIN04/Dataset/AlignmentParameters.xlsx | Bin 0 -> 13723 bytes .../Dataset/HorizontalAlignmentParameters.csv | 16 + E1a-ARSE/ALIN04/Dataset/README.md | 113 ++++-- E1a-ARSE/ALIN04/Dataset/Testi_101_ml.ifc | 344 ++++++++++++++++ E1a-ARSE/ALIN04/Dataset/Testi_101_ml.xml | 116 ++++++ E1a-ARSE/ALIN04/Dataset/Testi_ml_map.pdf | Bin 0 -> 383327 bytes E1a-ARSE/ALIN04/Dataset/Testi_ml_profiles.pdf | Bin 0 -> 148510 bytes .../Dataset/VerticalAlignmentParameters.csv | 18 + E1a-ARSE/ALIN04/README.md | 156 +++---- 16 files changed, 1452 insertions(+), 201 deletions(-) create mode 100644 E1a-ARSE/ALIN02/Dataset/HorizontalAlignmentParameters.csv create mode 100644 E1a-ARSE/ALIN02/Dataset/T616AAC0.ifc create mode 100644 E1a-ARSE/ALIN02/Dataset/T616AAC0.xml create mode 100644 E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv create mode 100644 E1a-ARSE/ALIN04/Dataset/AlignmentParameters.xlsx create mode 100644 E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv create mode 100644 E1a-ARSE/ALIN04/Dataset/Testi_101_ml.ifc create mode 100644 E1a-ARSE/ALIN04/Dataset/Testi_101_ml.xml create mode 100644 E1a-ARSE/ALIN04/Dataset/Testi_ml_map.pdf create mode 100644 E1a-ARSE/ALIN04/Dataset/Testi_ml_profiles.pdf create mode 100644 E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 076dda4..8674b38 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -91,8 +91,8 @@ The following Drawings and visualisations describe the test case dataset to be m ## Supporting files -| Filename | Description | -| ------------------------------------------------------------ | -------------------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [AlignmentParameters](./AlignmentParameters.xlsx) | Parameters for horizontal and vertical segments as excel | \ No newline at end of file +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALIN02/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN02/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..c255850 --- /dev/null +++ b/E1a-ARSE/ALIN02/Dataset/HorizontalAlignmentParameters.csv @@ -0,0 +1,10 @@ +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;145685,855172;6591370,14247;3,81786017386422;0;0;47,36403;LINE +H2;IfcAlignmentHorizontalSegment;145648,91529;6591340,497969;3,81786015919453;0;0;84,45946;CLOTHOID +H3;IfcAlignmentHorizontalSegment;145587,393864;6591282,917242;4,04612898397448;185;185;137,211623;CIRCULARARC +H4;IfcAlignmentHorizontalSegment;145548,355486;6591154,637666;4,78781344986031;185;185;59,594595;CLOTHOID +H5;IfcAlignmentHorizontalSegment;145559,177136;6591096,103693;4,94887976098661;0;0;55,65383;CLOTHOID +H6;IfcAlignmentHorizontalSegment;145569,732915;6591041,507035;4,81233958697448;-203,799988;-203,799988;25,757113;CIRCULARARC +H7;IfcAlignmentHorizontalSegment;145570,678864;6591015,784448;4,68595602013852;-203,799988;-203,799988;125,614636;CLOTHOID +H8;IfcAlignmentHorizontalSegment;145541,922395;6590894,049604;4,37777593581732;0;0;118,881381;CLOTHOID +H9;IfcAlignmentHorizontalSegment;145505,510693;6590780,90873;4,44754181497448;851,999999;851,999999;2,84745;CIRCULARARC diff --git a/E1a-ARSE/ALIN02/Dataset/README.md b/E1a-ARSE/ALIN02/Dataset/README.md index d49f555..8b27108 100644 --- a/E1a-ARSE/ALIN02/Dataset/README.md +++ b/E1a-ARSE/ALIN02/Dataset/README.md @@ -1,45 +1,99 @@ ## Variations The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: -- Entity_01 - *decription of variation* -- Entity_02 - *decription of variation* +- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* +- IfcAlignmentVerticalSegment - *The test shall include linear and parabolic arc segments* +- Alignment Decomposition: + - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns + - The horizontal alignment shall also be decomposed with sequences of clothoid transition curves forming "S" curves + - The vertical alignment shall be decomposed with element sequences containing linear and parabolic arc segments including both clockwise and counter-clockwise turns + - The vertical alignment shall also be decomposed into parabolic arcs followed by parabolic arcs forming "S" curves + - The vertical alignment shall also be decomposed with element sequences where linear elements follows directly after each other -***=>What other elements occur for roads?*** +## Model Dataset +This test case utilises the following dataset: +- One alignment layout (no geometric representation is required) +- The alignment is composed of one horizontal alignment layout and one vertical alignment layout +- The horizontal layout has the following sequences of elements: + - Line => Clothoid => Circular arc (cw) => Clothoid => Clothoid => Circular arc (ccw) => Clothoid => Clothoid => Circular arc (cw) +- The vertical layout has the following sequences of elements: -## Model Dataset -This test case utilises the attached dataset documented by the following drawings and data schedule. - -"Synopsis": - -- IfcAlignment => IfcPolyline (Axis,Curve3D)? - - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) - - Line - - Clothoid (to left) - - Circular arc (left) - - Clothoid (to straight) - - Line - - Clothoid (to right) - - Circular arc (right) - - Clothoid (to straight) - - Line - - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) - - Line (up) - - Parabolic arc/Circular arc - - Line (down) - - Parabolic arc/Circular arc - - Line (up) - -*This is a later step tha involved the detailed documentation of the certification dataset (model)* + - Line => Parabolic arc => Line + - Line => Parabolic arc => Parabolic arc => Line + - Line => Line => Line => ... + +The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : + +Alignment: + +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | ----------------- | -------------- | +| A1 | IfcAlignment | IfcLocalPlacement | None | +| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | None | +| AV1 | IfcAlignmentVertical | IfcLocalPlacement | None | +Horizontal segments nested into AH1 in the following order: + +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | +| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | ----------- | ---------- | ----------- | +| H1 | IfcAlignmentHorizontalSegment | 145685,8552 | 6591370,142 | 3,817860174 | 0 | 0 | 47,36403 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 145648,9153 | 6591340,498 | 3,817860159 | 0 | 185 | 84,45946 | CLOTHOID | +| H3 | IfcAlignmentHorizontalSegment | 145587,3939 | 6591282,917 | 4,046128984 | 185 | 185 | 137,211623 | CIRCULARARC | +| H4 | IfcAlignmentHorizontalSegment | 145548,3555 | 6591154,638 | 4,78781345 | 185 | 0 | 59,594595 | CLOTHOID | +| H5 | IfcAlignmentHorizontalSegment | 145559,1771 | 6591096,104 | 4,948879761 | 0 | -203,799988 | 55,65383 | CLOTHOID | +| H6 | IfcAlignmentHorizontalSegment | 145569,7329 | 6591041,507 | 4,812339587 | -203,799988 | -203,799988 | 25,757113 | CIRCULARARC | +| H7 | IfcAlignmentHorizontalSegment | 145570,6789 | 6591015,784 | 4,68595602 | -203,799988 | 0 | 125,614636 | CLOTHOID | +| H8 | IfcAlignmentHorizontalSegment | 145541,9224 | 6590894,05 | 4,377775936 | 0 | 851,999999 | 118,881381 | CLOTHOID | +| H9 | IfcAlignmentHorizontalSegment | 145505,5107 | 6590780,909 | 4,447541815 | 851,999999 | 851,999999 | 2,84745 | CIRCULARARC | + +Vertical segments nested into AV1 in the following order: + +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------------ | ---------------- | +| V1 | IfcAlignmentVerticalSegment | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | CONSTANTGRADIENT | +| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,009739982 | 1549,998375 | PARABOLICARC | +| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,023047408 | -5000,004241 | PARABOLICARC | +| V4 | IfcAlignmentVerticalSegment | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | CONSTANTGRADIENT | +| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,016859621 | -3000,015228 | PARABOLICARC | +| V6 | IfcAlignmentVerticalSegment | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | CONSTANTGRADIENT | +| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,012637385 | 3000,021522 | PARABOLICARC | +| V8 | IfcAlignmentVerticalSegment | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | CONSTANTGRADIENT | +| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,017293222 | 2999,990831 | PARABOLICARC | +| V10 | IfcAlignmentVerticalSegment | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | CONSTANTGRADIENT | +| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,023106068 | 2950,001197 | PARABOLICARC | +| V12 | IfcAlignmentVerticalSegment | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | CONSTANTGRADIENT | +| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,045000824 | -3000,000288 | PARABOLICARC | +| V14 | IfcAlignmentVerticalSegment | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | CONSTANTGRADIENT | +| V15 | IfcAlignmentVerticalSegment | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | CONSTANTGRADIENT | +| V16 | IfcAlignmentVerticalSegment | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | CONSTANTGRADIENT | +| V17 | IfcAlignmentVerticalSegment | 549,99946 | 10 | 27,818 | 0,026832 | 0,026832 | 0 | CONSTANTGRADIENT | +| V18 | IfcAlignmentVerticalSegment | 559,99946 | 10 | 28,08632 | 0,026325 | 0,026325 | 0 | CONSTANTGRADIENT | +| V19 | IfcAlignmentVerticalSegment | 569,99946 | 10 | 28,34957 | 0,02537 | 0,02537 | 0 | CONSTANTGRADIENT | +| V20 | IfcAlignmentVerticalSegment | 579,99946 | 10 | 28,60327 | 0,020813 | 0,020813 | 0 | CONSTANTGRADIENT | +| V21 | IfcAlignmentVerticalSegment | 589,99946 | 10 | 28,8114 | 0,020176 | 0,020176 | 0 | CONSTANTGRADIENT | +| V22 | IfcAlignmentVerticalSegment | 599,99946 | 10 | 29,01316 | 0,019498 | 0,019498 | 0 | CONSTANTGRADIENT | +| V23 | IfcAlignmentVerticalSegment | 609,99946 | 10 | 29,20814 | 0,018781 | 0,018781 | 0 | CONSTANTGRADIENT | +| V24 | IfcAlignmentVerticalSegment | 619,99946 | 10 | 29,39595 | 0,018022 | 0,018022 | 0 | CONSTANTGRADIENT | +| V25 | IfcAlignmentVerticalSegment | 629,99946 | 10 | 29,57617 | 0,017226 | 0,017226 | 0 | CONSTANTGRADIENT | +| V26 | IfcAlignmentVerticalSegment | 639,99946 | 10 | 29,74843 | 0,01639 | 0,01639 | 0 | CONSTANTGRADIENT | +| V27 | IfcAlignmentVerticalSegment | 649,99946 | 7,384658 | 29,91233 | 0,015674389 | 0,015674389 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) + The following Drawings and visualisations describe the test case dataset to be modelled and certified. +| Filename | Description | +| -------------------------------------------- | -------------------------------------------- | +| [Testi_ml_map](./Testi_ml_map.pdf) | Planar (map) view of the test case | +| [Testi_ml_profiles](./Testi_ml_profiles.pdf) | Long section (profile) view of the test case | + ## Supporting files -| Filename | Description | -|-----------------------------------|-------------------------------------------| -| *filename* | *short description* | \ No newline at end of file +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./T616AAC0.ifc) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALIN02/Dataset/T616AAC0.ifc b/E1a-ARSE/ALIN02/Dataset/T616AAC0.ifc new file mode 100644 index 0000000..1f85899 --- /dev/null +++ b/E1a-ARSE/ALIN02/Dataset/T616AAC0.ifc @@ -0,0 +1,379 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4NotAssigned]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\Users\\lars\\Documents\\Projekt\\IFCInfra\\Tests\\T616AAC0.ifc', +/* time_stamp */ '2022-02-11T14:31:20', +/* author */ ('lars'), +/* organization */ ('Unknown'), +/* preprocessor_version */ 'ggIfcConverter v0.0.5.0 by Geometry Gym Pty Ltd built 2022-02-10T07:15:39', +/* originating_system */ 'ggIFCConverter v0.0.5.0 - Converter by Geometry Gym Pty Ltd', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4X3_RC4')); +ENDSEC; + +DATA; +#1= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2= IFCDIRECTION((1.0,0.0,0.0)); +#3= IFCDIRECTION((0.0,1.0,0.0)); +#4= IFCDIRECTION((0.0,0.0,1.0)); +#5= IFCAXIS2PLACEMENT3D(#1,$,$); +#6= IFCCARTESIANPOINT((0.0,0.0)); +#7= IFCAXIS2PLACEMENT2D(#6,$); +#8= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#9= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#10= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#11= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#12= IFCUNITASSIGNMENT((#8,#11)); +#13= IFCPROJECT('1Tv021Gck$7ughfYxwF4yI',$,'FSE62','Haggvik',$,$,$,(#62),#12); +#14= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#15= IFCAXIS2PLACEMENT3D(#14,$,$); +#16= IFCLOCALPLACEMENT($,#15); +#17= IFCSITE('3T1iwTWw_7C9gXxbplesA6',$,'FSE62',$,$,#16,$,$,$,$,$,$,$,$); +#18= IFCRELAGGREGATES('0r0HqCeSODTtdmcoweUKiT',$,$,$,#13,(#17)); +#19= IFCLOCALPLACEMENT(#16,#5); +#20= IFCALIGNMENT('1qKoYQmefwILLh4ZsI6LxI',$,'BH FSK06 T 616 - MCL0',$,$,#19,#349,$); +#21= IFCRELCONTAINEDINSPATIALSTRUCTURE('0nVagFNqT69QpkPBmysnEN',$,'Site','Site Container for Elements',(#20),#17); +#22= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#23= IFCAXIS2PLACEMENT3D(#22,#4,#2); +#25= IFCALIGNMENTHORIZONTAL('0eCZ0W41XqosthTwW3nHMK',$,$,$,$,#19,#119); +#26= IFCRELNESTS('3LMExpFLX4iQsPL7OaDfQh',$,$,$,#20,(#25,#147)); +#27= IFCCARTESIANPOINT((145685.855172,6591370.14247)); +#28= IFCALIGNMENTHORIZONTALSEGMENT($,$,#27,3.81786017386422,0.0,0.0,47.36403,$,.LINE.); +#29= IFCALIGNMENTSEGMENT('0fFLjTpDOX1QYJYWSPuaEh',$,$,$,$,#19,#68,#28); +#30= IFCRELNESTS('305zaPLUj2JfD1ZD3UQPAH',$,$,$,#25,(#29,#33,#36,#39,#42,#45,#48,#51,#54)); +#31= IFCCARTESIANPOINT((145648.91529,6591340.497969)); +#32= IFCALIGNMENTHORIZONTALSEGMENT($,$,#31,3.81786015919453,0.0,185.0,84.45946,$,.CLOTHOID.); +#33= IFCALIGNMENTSEGMENT('3l1vipy03BwwW_WnKuy0xn',$,$,$,$,#19,#74,#32); +#34= IFCCARTESIANPOINT((145587.393864,6591282.917242)); +#35= IFCALIGNMENTHORIZONTALSEGMENT($,$,#34,4.04612898397448,185.0,185.0,137.211623,$,.CIRCULARARC.); +#36= IFCALIGNMENTSEGMENT('1kDteeSkka4ZRXjPeCwS4$',$,$,$,$,#19,#80,#35); +#37= IFCCARTESIANPOINT((145548.355486,6591154.637666)); +#38= IFCALIGNMENTHORIZONTALSEGMENT($,$,#37,4.78781344986031,185.0,0.0,59.594595,$,.CLOTHOID.); +#39= IFCALIGNMENTSEGMENT('1dhuWBbsUf660FT84XQd$R',$,$,$,$,#19,#86,#38); +#40= IFCCARTESIANPOINT((145559.177136,6591096.103693)); +#41= IFCALIGNMENTHORIZONTALSEGMENT($,$,#40,4.94887976098661,0.0,-203.799988,55.65383,$,.CLOTHOID.); +#42= IFCALIGNMENTSEGMENT('0TjXmuzRqJQbl7$1zvHNM0',$,$,$,$,#19,#92,#41); +#43= IFCCARTESIANPOINT((145569.732915,6591041.507035)); +#44= IFCALIGNMENTHORIZONTALSEGMENT($,$,#43,4.81233958697448,-203.799988,-203.799988,25.757113,$,.CIRCULARARC.); +#45= IFCALIGNMENTSEGMENT('2LV6BwicdV_X3HMaqU2uph',$,$,$,$,#19,#98,#44); +#46= IFCCARTESIANPOINT((145570.678864,6591015.784448)); +#47= IFCALIGNMENTHORIZONTALSEGMENT($,$,#46,4.68595602013852,-203.799988,0.0,125.614636,$,.CLOTHOID.); +#48= IFCALIGNMENTSEGMENT('03KECuLeEdyOHhsPBo52s8',$,$,$,$,#19,#104,#47); +#49= IFCCARTESIANPOINT((145541.922395,6590894.049604)); +#50= IFCALIGNMENTHORIZONTALSEGMENT($,$,#49,4.37777593581732,0.0,851.999999,118.881381,$,.CLOTHOID.); +#51= IFCALIGNMENTSEGMENT('1TlIJ8w4HdkkZ$zAwmVOT5',$,$,$,$,#19,#110,#50); +#52= IFCCARTESIANPOINT((145505.510693,6590780.90873)); +#53= IFCALIGNMENTHORIZONTALSEGMENT($,$,#52,4.44754181497448,851.999999,851.999999,2.84745,$,.CIRCULARARC.); +#54= IFCALIGNMENTSEGMENT('1SwrZzgdyr8eBKAjrC6oJA',$,$,$,$,#19,#116,#53); +#55= IFCAXIS2PLACEMENT2D(#27,#56); +#56= IFCDIRECTION((-0.77991425,-0.62588638)); +#57= IFCCARTESIANPOINT((0.0,0.0)); +#58= IFCDIRECTION((1.0,0.0)); +#59= IFCVECTOR(#58,1.0); +#60= IFCLINE(#57,#59); +#61= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#55,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(47.3640298),#60); +#62= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.00001,#64,#65); +#63= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#64= IFCAXIS2PLACEMENT3D(#63,$,$); +#65= IFCDIRECTION((0.0,1.0)); +#66= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#62,$,.GRAPH_VIEW.,$); +#67= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#61)); +#68= IFCPRODUCTDEFINITIONSHAPE($,$,(#67)); +#69= IFCAXIS2PLACEMENT2D(#31,#70); +#70= IFCDIRECTION((-0.77991426,-0.62588636)); +#71= IFCCLOTHOID(#7,125.00000003); +#72= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#69,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(84.4594595),#71); +#73= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#72)); +#74= IFCPRODUCTDEFINITIONSHAPE($,$,(#73)); +#75= IFCAXIS2PLACEMENT2D(#34,#76); +#76= IFCDIRECTION((-0.61805015,-0.78613867)); +#77= IFCCIRCLE(#7,185.0); +#78= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#75,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(137.2116232),#77); +#79= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#78)); +#80= IFCPRODUCTDEFINITIONSHAPE($,$,(#79)); +#81= IFCAXIS2PLACEMENT2D(#37,#82); +#82= IFCDIRECTION((0.07535298,-0.99715692)); +#83= IFCCLOTHOID(#7,-105.000000004762); +#84= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#81,IFCPARAMETERVALUE(-59.5945946),IFCNONNEGATIVELENGTHMEASURE(59.5945946),#83); +#85= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#84)); +#86= IFCPRODUCTDEFINITIONSHAPE($,$,(#85)); +#87= IFCAXIS2PLACEMENT2D(#40,#88); +#88= IFCDIRECTION((0.23429253,-0.97216614)); +#89= IFCCLOTHOID(#7,-106.50000004843); +#90= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#87,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(55.6538305),#89); +#91= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#90)); +#92= IFCPRODUCTDEFINITIONSHAPE($,$,(#91)); +#93= IFCAXIS2PLACEMENT2D(#43,#94); +#94= IFCDIRECTION((0.09978427,-0.9950091)); +#95= IFCCIRCLE(#7,203.799988); +#96= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#93,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.126384271668585),#95); +#97= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#96)); +#98= IFCPRODUCTDEFINITIONSHAPE($,$,(#97)); +#99= IFCAXIS2PLACEMENT2D(#46,#100); +#100= IFCDIRECTION((-0.02642988,-0.99965067)); +#101= IFCCLOTHOID(#7,160.000816780929); +#102= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#99,IFCPARAMETERVALUE(-125.6146363),IFCNONNEGATIVELENGTHMEASURE(125.6146363),#101); +#103= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#102)); +#104= IFCPRODUCTDEFINITIONSHAPE($,$,(#103)); +#105= IFCAXIS2PLACEMENT2D(#49,#106); +#106= IFCDIRECTION((-0.3284037,-0.94453746)); +#107= IFCCLOTHOID(#7,318.256086779962); +#108= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#105,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(118.8813813),#107); +#109= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#108)); +#110= IFCPRODUCTDEFINITIONSHAPE($,$,(#109)); +#111= IFCAXIS2PLACEMENT2D(#52,#112); +#112= IFCDIRECTION((-0.26176177,-0.96513252)); +#113= IFCCIRCLE(#7,851.999999); +#114= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#111,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(2.8474498),#113); +#115= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#114)); +#116= IFCPRODUCTDEFINITIONSHAPE($,$,(#115)); +#117= IFCCOMPOSITECURVE((#61,#72,#78,#84,#90,#96,#102,#108,#114),.U.); +#118= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#117)); +#119= IFCPRODUCTDEFINITIONSHAPE($,$,(#118)); +#120= IFCALIGNMENTVERTICALSEGMENT($,$,85.0,1.41860494999992,15.82,0.00973998216308436,0.00973998216308436,$,.CONSTANTGRADIENT.); +#121= IFCALIGNMENTVERTICALSEGMENT($,$,86.4186049499999,20.6264881,15.8338171869095,0.00973998216308436,0.0230474077876794,1549.99837548427,.PARABOLICARC.); +#122= IFCALIGNMENTVERTICALSEGMENT($,$,107.04509375,30.9389625,16.1719615573674,0.0230474077876794,0.0168596205365767,-5000.00424133629,.PARABOLICARC.); +#123= IFCALIGNMENTVERTICALSEGMENT($,$,137.98405625,66.8933770000001,16.7893025837727,0.0168596205365767,0.0168596205365767,$,.CONSTANTGRADIENT.); +#124= IFCALIGNMENTVERTICALSEGMENT($,$,204.87743325,12.6667695,17.9170995364029,0.0168596205365767,0.0126373854679485,-3000.01522750735,.PARABOLICARC.); +#125= IFCALIGNMENTVERTICALSEGMENT($,$,217.54420275,4.4678965999999,18.1039154244026,0.0126373854679485,0.0126373854679485,$,.CONSTANTGRADIENT.); +#126= IFCALIGNMENTVERTICALSEGMENT($,$,222.01209935,13.9676113,18.1603779559677,0.0126373854679485,0.0172932224996773,3000.02152240574,.PARABOLICARC.); +#127= IFCALIGNMENTVERTICALSEGMENT($,$,235.97971065,29.55312205,18.369407505,0.0172932224996773,0.0172932224996773,$,.CONSTANTGRADIENT.); +#128= IFCALIGNMENTVERTICALSEGMENT($,$,265.5328327,17.4384826,18.8804762201707,0.0172932224996773,0.0231060677982796,2999.99083137358,.PARABOLICARC.); +#129= IFCALIGNMENTVERTICALSEGMENT($,$,282.9713153,12.9163156,19.2327273806274,0.0231060677982796,0.0231060677982796,$,.CONSTANTGRADIENT.); +#130= IFCALIGNMENTVERTICALSEGMENT($,$,295.8876309,64.5895582,19.5311726445849,0.0231060677982796,0.0450008244047686,2950.00119712944,.PARABOLICARC.); +#131= IFCALIGNMENTVERTICALSEGMENT($,$,360.4771891,0.0557456000001366,21.7306696834699,0.0450008244047686,0.0450008244047686,$,.CONSTANTGRADIENT.); +#132= IFCALIGNMENTVERTICALSEGMENT($,$,360.5329347,42.5278306,21.7331782814268,0.0450008244047686,0.0308248822338554,-3000.00028832373,.PARABOLICARC.); +#133= IFCALIGNMENTVERTICALSEGMENT($,$,403.0607653,126.9386947,23.3455296849532,0.0308248822338554,0.0308248822338554,$,.CONSTANTGRADIENT.); +#134= IFCALIGNMENTVERTICALSEGMENT($,$,529.99946,10.0,27.2584,0.0286679999999997,0.0286679999999997,$,.CONSTANTGRADIENT.); +#135= IFCALIGNMENTVERTICALSEGMENT($,$,539.99946,10.0,27.54508,0.0272920000000003,0.0272920000000003,$,.CONSTANTGRADIENT.); +#136= IFCALIGNMENTVERTICALSEGMENT($,$,549.99946,10.0,27.818,0.0268319999999999,0.0268319999999999,$,.CONSTANTGRADIENT.); +#137= IFCALIGNMENTVERTICALSEGMENT($,$,559.99946,10.0,28.08632,0.0263249999999999,0.0263249999999999,$,.CONSTANTGRADIENT.); +#138= IFCALIGNMENTVERTICALSEGMENT($,$,569.99946,10.0,28.34957,0.0253699999999998,0.0253699999999998,$,.CONSTANTGRADIENT.); +#139= IFCALIGNMENTVERTICALSEGMENT($,$,579.99946,10.0,28.60327,0.0208130000000001,0.0208130000000001,$,.CONSTANTGRADIENT.); +#140= IFCALIGNMENTVERTICALSEGMENT($,$,589.99946,10.0,28.8114,0.020176,0.020176,$,.CONSTANTGRADIENT.); +#141= IFCALIGNMENTVERTICALSEGMENT($,$,599.99946,10.0,29.01316,0.0194980000000001,0.0194980000000001,$,.CONSTANTGRADIENT.); +#142= IFCALIGNMENTVERTICALSEGMENT($,$,609.99946,10.0,29.20814,0.0187809999999999,0.0187809999999999,$,.CONSTANTGRADIENT.); +#143= IFCALIGNMENTVERTICALSEGMENT($,$,619.99946,10.0,29.39595,0.0180220000000002,0.0180220000000002,$,.CONSTANTGRADIENT.); +#144= IFCALIGNMENTVERTICALSEGMENT($,$,629.99946,10.0,29.57617,0.0172259999999998,0.0172259999999998,$,.CONSTANTGRADIENT.); +#145= IFCALIGNMENTVERTICALSEGMENT($,$,639.99946,10.0,29.74843,0.0163900000000002,0.0163900000000002,$,.CONSTANTGRADIENT.); +#146= IFCALIGNMENTVERTICALSEGMENT($,$,649.99946,7.38465799999994,29.91233,0.0156743887123817,0.0156743887123817,$,.CONSTANTGRADIENT.); +#147= IFCALIGNMENTVERTICAL('3yZID4z3LD1Q169TMHXNS9',$,'GCL0BH FSK06 T 616',$,$,#19,#347); +#148= IFCALIGNMENTSEGMENT('0Oz2vXYBnFQeKCpYLUInCA',$,$,$,$,#19,#181,#120); +#149= IFCRELNESTS('2B4aDb4$XDIA9eMNMVsOsk',$,$,$,#147,(#148,#150,#151,#152,#153,#154,#155,#156,#157,#158,#159,#160,#161,#162,#163,#164,#165,#166,#167,#168,#169,#170,#171,#172,#173,#174,#175)); +#150= IFCALIGNMENTSEGMENT('1FVHW310TC$8EwmI8ZOvzK',$,$,$,$,#19,#188,#121); +#151= IFCALIGNMENTSEGMENT('0vmaF4tqL2AxYtl1WwGjlg',$,$,$,$,#19,#195,#122); +#152= IFCALIGNMENTSEGMENT('2Y_b_GPi99ag_YmKfEAcE1',$,$,$,$,#19,#201,#123); +#153= IFCALIGNMENTSEGMENT('0cTpBx3CTDXf7Ga0_WuGUO',$,$,$,$,#19,#208,#124); +#154= IFCALIGNMENTSEGMENT('16PlGGFWT7ZhtAxP15DL9Z',$,$,$,$,#19,#214,#125); +#155= IFCALIGNMENTSEGMENT('3rhOV0RST8sg_$KPVceuMS',$,$,$,$,#19,#221,#126); +#156= IFCALIGNMENTSEGMENT('0EGpLYeWDEDwcg93ZEWbtC',$,$,$,$,#19,#227,#127); +#157= IFCALIGNMENTSEGMENT('3xk5NvLRr1Fxqy4DUiAvr7',$,$,$,$,#19,#234,#128); +#158= IFCALIGNMENTSEGMENT('1$4qk3FZ557ur2whBLMvpt',$,$,$,$,#19,#240,#129); +#159= IFCALIGNMENTSEGMENT('2nrrGm_dr6w8OwQNM$pjuJ',$,$,$,$,#19,#247,#130); +#160= IFCALIGNMENTSEGMENT('2qI4jYgTfA99unGS59jrcW',$,$,$,$,#19,#253,#131); +#161= IFCALIGNMENTSEGMENT('0fQzmPlJH0j9qUngDIS_gn',$,$,$,$,#19,#260,#132); +#162= IFCALIGNMENTSEGMENT('3Vf_IpZ1nEdQWbNIR9se5b',$,$,$,$,#19,#266,#133); +#163= IFCALIGNMENTSEGMENT('2RBYedQIzDaQy4fYsJd1KF',$,$,$,$,#19,#272,#134); +#164= IFCALIGNMENTSEGMENT('3idbhVgBDFBOsuRZzMmHc7',$,$,$,$,#19,#278,#135); +#165= IFCALIGNMENTSEGMENT('2xGprMiYj9LAbf1kLD8EN5',$,$,$,$,#19,#284,#136); +#166= IFCALIGNMENTSEGMENT('33cR$eeuLD$goDR6Cb7njT',$,$,$,$,#19,#290,#137); +#167= IFCALIGNMENTSEGMENT('3A_5iVdsr7Lg4rzwhQFNuu',$,$,$,$,#19,#296,#138); +#168= IFCALIGNMENTSEGMENT('2kWm0SYR94Jx4rvOW0Oq6g',$,$,$,$,#19,#302,#139); +#169= IFCALIGNMENTSEGMENT('2fXcw4EVj7Vw84m$cXpyyg',$,$,$,$,#19,#308,#140); +#170= IFCALIGNMENTSEGMENT('15opIWozD44AgdO2ccxWqO',$,$,$,$,#19,#314,#141); +#171= IFCALIGNMENTSEGMENT('0hKmt36IjFzQju$FM19J9T',$,$,$,$,#19,#320,#142); +#172= IFCALIGNMENTSEGMENT('2lBotrH$HAZQZnJSW2xESI',$,$,$,$,#19,#326,#143); +#173= IFCALIGNMENTSEGMENT('3v3_LX3fP0eB$G9ABpj8tP',$,$,$,$,#19,#332,#144); +#174= IFCALIGNMENTSEGMENT('0k3aRclTX3mBfN5kQbH_8z',$,$,$,$,#19,#338,#145); +#175= IFCALIGNMENTSEGMENT('1_Zh_6n0PD2ud7HcMKKXcP',$,$,$,$,#19,#344,#146); +#176= IFCCARTESIANPOINT((85.0,15.82)); +#177= IFCDIRECTION((0.99995257,0.00973952)); +#178= IFCAXIS2PLACEMENT2D(#176,#177); +#179= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#178,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(1.41867223798112),#60); +#180= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#179)); +#181= IFCPRODUCTDEFINITIONSHAPE($,$,(#180)); +#182= IFCCARTESIANPOINT((86.418605,15.833817)); +#183= IFCDIRECTION((0.99995257,0.00973952)); +#184= IFCAXIS2PLACEMENT2D(#182,#183); +#185= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,3.22580983E-04),$); +#186= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#184,IFCPARAMETERVALUE(15.0969565300265),IFCPARAMETERVALUE(20.6264881),#185); +#187= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#186)); +#188= IFCPRODUCTDEFINITIONSHAPE($,$,(#187)); +#189= IFCCARTESIANPOINT((107.045094,16.171962)); +#190= IFCDIRECTION((0.99973451,0.02304129)); +#191= IFCAXIS2PLACEMENT2D(#189,#190); +#192= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,-9.99999152E-05),$); +#193= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#191,IFCPARAMETERVALUE(-115.237136690204),IFCPARAMETERVALUE(30.9389625),#192); +#194= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#193)); +#195= IFCPRODUCTDEFINITIONSHAPE($,$,(#194)); +#196= IFCCARTESIANPOINT((137.984056,16.789303)); +#197= IFCDIRECTION((0.99985791,0.01685722)); +#198= IFCAXIS2PLACEMENT2D(#196,#197); +#199= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#198,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(66.9028834388362),#60); +#200= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#199)); +#201= IFCPRODUCTDEFINITIONSHAPE($,$,(#200)); +#202= IFCCARTESIANPOINT((204.877433,17.9171)); +#203= IFCDIRECTION((0.99985791,0.01685722)); +#204= IFCAXIS2PLACEMENT2D(#202,#203); +#205= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,-1.66665821E-04),$); +#206= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#204,IFCPARAMETERVALUE(-50.5791183397258),IFCPARAMETERVALUE(12.6667695),#205); +#207= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#206)); +#208= IFCPRODUCTDEFINITIONSHAPE($,$,(#207)); +#209= IFCCARTESIANPOINT((217.544203,18.103915)); +#210= IFCDIRECTION((0.99992016,0.01263638)); +#211= IFCAXIS2PLACEMENT2D(#209,#210); +#212= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#211,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(4.46825335514465),#60); +#213= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#212)); +#214= IFCPRODUCTDEFINITIONSHAPE($,$,(#213)); +#215= IFCCARTESIANPOINT((222.012099,18.160378)); +#216= IFCDIRECTION((0.99992016,0.01263638)); +#217= IFCAXIS2PLACEMENT2D(#215,#216); +#218= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,1.66665471E-04),$); +#219= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#217,IFCPARAMETERVALUE(37.9124283907832),IFCPARAMETERVALUE(13.9676113),#218); +#220= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#219)); +#221= IFCPRODUCTDEFINITIONSHAPE($,$,(#220)); +#222= IFCCARTESIANPOINT((235.979711,18.369408)); +#223= IFCDIRECTION((0.99985051,0.01729064)); +#224= IFCAXIS2PLACEMENT2D(#222,#223); +#225= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#224,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(29.5575407321688),#60); +#226= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#225)); +#227= IFCPRODUCTDEFINITIONSHAPE($,$,(#226)); +#228= IFCCARTESIANPOINT((265.532833,18.880476)); +#229= IFCDIRECTION((0.99985051,0.01729064)); +#230= IFCAXIS2PLACEMENT2D(#228,#229); +#231= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,1.66667176E-04),$); +#232= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#230,IFCPARAMETERVALUE(51.8795089439353),IFCPARAMETERVALUE(17.4384826),#231); +#233= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#232)); +#234= IFCPRODUCTDEFINITIONSHAPE($,$,(#233)); +#235= IFCCARTESIANPOINT((282.971315,19.232727)); +#236= IFCDIRECTION((0.99973316,0.0230999)); +#237= IFCAXIS2PLACEMENT2D(#235,#236); +#238= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#237,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(12.9197630881677),#60); +#239= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#238)); +#240= IFCPRODUCTDEFINITIONSHAPE($,$,(#239)); +#241= IFCCARTESIANPOINT((295.887631,19.531173)); +#242= IFCDIRECTION((0.99973316,0.0230999)); +#243= IFCAXIS2PLACEMENT2D(#241,#242); +#244= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,1.69491457E-04),$); +#245= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#243,IFCPARAMETERVALUE(68.162927665879),IFCPARAMETERVALUE(64.5895582),#244); +#246= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#245)); +#247= IFCPRODUCTDEFINITIONSHAPE($,$,(#246)); +#248= IFCCARTESIANPOINT((360.477189,21.73067)); +#249= IFCDIRECTION((0.998989,0.04495533)); +#250= IFCAXIS2PLACEMENT2D(#248,#249); +#251= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#250,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(0.0558020159410466),#60); +#252= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#251)); +#253= IFCPRODUCTDEFINITIONSHAPE($,$,(#252)); +#254= IFCCARTESIANPOINT((360.532935,21.733178)); +#255= IFCDIRECTION((0.998989,0.04495533)); +#256= IFCAXIS2PLACEMENT2D(#254,#255); +#257= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,-1.66666651E-04),$); +#258= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#256,IFCPARAMETERVALUE(-135.002486189111),IFCPARAMETERVALUE(42.5278306),#257); +#259= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#258)); +#260= IFCPRODUCTDEFINITIONSHAPE($,$,(#259)); +#261= IFCCARTESIANPOINT((403.060765,23.34553)); +#262= IFCDIRECTION((0.99952525,0.03081025)); +#263= IFCAXIS2PLACEMENT2D(#261,#262); +#264= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#263,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(126.998987264632),#60); +#265= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#264)); +#266= IFCPRODUCTDEFINITIONSHAPE($,$,(#265)); +#267= IFCCARTESIANPOINT((529.99946,27.2584)); +#268= IFCDIRECTION((0.99958933,0.02865623)); +#269= IFCAXIS2PLACEMENT2D(#267,#268); +#270= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#269,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0041084271613),#60); +#271= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#270)); +#272= IFCPRODUCTDEFINITIONSHAPE($,$,(#271)); +#273= IFCCARTESIANPOINT((539.99946,27.54508)); +#274= IFCDIRECTION((0.99962778,0.02728184)); +#275= IFCAXIS2PLACEMENT2D(#273,#274); +#276= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#275,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0037235730702),#60); +#277= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#276)); +#278= IFCPRODUCTDEFINITIONSHAPE($,$,(#277)); +#279= IFCCARTESIANPOINT((549.99946,27.818)); +#280= IFCDIRECTION((0.99964022,0.02682235)); +#281= IFCAXIS2PLACEMENT2D(#279,#280); +#282= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#281,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0035991334319),#60); +#283= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#282)); +#284= IFCPRODUCTDEFINITIONSHAPE($,$,(#283)); +#285= IFCCARTESIANPOINT((559.99946,28.08632)); +#286= IFCDIRECTION((0.99965368,0.02631588)); +#287= IFCAXIS2PLACEMENT2D(#285,#286); +#288= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#287,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0034644280119),#60); +#289= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#288)); +#290= IFCPRODUCTDEFINITIONSHAPE($,$,(#289)); +#291= IFCCARTESIANPOINT((569.99946,28.34957)); +#292= IFCDIRECTION((0.99967834,0.02536184)); +#293= IFCAXIS2PLACEMENT2D(#291,#292); +#294= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#293,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.003217666831),#60); +#295= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#294)); +#296= IFCPRODUCTDEFINITIONSHAPE($,$,(#295)); +#297= IFCCARTESIANPOINT((579.99946,28.60327)); +#298= IFCDIRECTION((0.99978348,0.02080849)); +#299= IFCAXIS2PLACEMENT2D(#297,#298); +#300= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#299,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0021656703386),#60); +#301= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#300)); +#302= IFCPRODUCTDEFINITIONSHAPE($,$,(#301)); +#303= IFCCARTESIANPOINT((589.99946,28.8114)); +#304= IFCDIRECTION((0.99979653,0.02017189)); +#305= IFCAXIS2PLACEMENT2D(#303,#304); +#306= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#305,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0020351477887),#60); +#307= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#306)); +#308= IFCPRODUCTDEFINITIONSHAPE($,$,(#307)); +#309= IFCCARTESIANPOINT((599.99946,29.01316)); +#310= IFCDIRECTION((0.99980997,0.01949429)); +#311= IFCAXIS2PLACEMENT2D(#309,#310); +#312= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#311,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0019006793909),#60); +#313= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#312)); +#314= IFCPRODUCTDEFINITIONSHAPE($,$,(#313)); +#315= IFCCARTESIANPOINT((609.99946,29.20814)); +#316= IFCDIRECTION((0.99982368,0.01877769)); +#317= IFCAXIS2PLACEMENT2D(#315,#316); +#318= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#317,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0017634743129),#60); +#319= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#318)); +#320= IFCPRODUCTDEFINITIONSHAPE($,$,(#319)); +#321= IFCCARTESIANPOINT((619.99946,29.39595)); +#322= IFCDIRECTION((0.99983764,0.01801907)); +#323= IFCAXIS2PLACEMENT2D(#321,#322); +#324= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#323,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0016238305787),#60); +#325= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#324)); +#326= IFCPRODUCTDEFINITIONSHAPE($,$,(#325)); +#327= IFCCARTESIANPOINT((629.99946,29.57617)); +#328= IFCDIRECTION((0.99985167,0.01722344)); +#329= IFCAXIS2PLACEMENT2D(#327,#328); +#330= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#329,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0014835653317),#60); +#331= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#330)); +#332= IFCPRODUCTDEFINITIONSHAPE($,$,(#331)); +#333= IFCCARTESIANPOINT((639.99946,29.74843)); +#334= IFCDIRECTION((0.99986571,0.0163878)); +#335= IFCAXIS2PLACEMENT2D(#333,#334); +#336= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#335,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0013430703081),#60); +#337= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#336)); +#338= IFCPRODUCTDEFINITIONSHAPE($,$,(#337)); +#339= IFCCARTESIANPOINT((649.99946,29.91233)); +#340= IFCDIRECTION((0.99987718,0.01567246)); +#341= IFCAXIS2PLACEMENT2D(#339,#340); +#342= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#341,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(7.38556509953458),#60); +#343= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#342)); +#344= IFCPRODUCTDEFINITIONSHAPE($,$,(#343)); +#345= IFCGRADIENTCURVE((#179,#186,#193,#199,#206,#212,#219,#225,#232,#238,#245,#251,#258,#264,#270,#276,#282,#288,#294,#300,#306,#312,#318,#324,#330,#336,#342),.U.,#117,$); +#346= IFCSHAPEREPRESENTATION(#66,'Axis','Curve3D',(#345)); +#347= IFCPRODUCTDEFINITIONSHAPE($,$,(#346)); +#348= IFCSHAPEREPRESENTATION(#66,'Axis','Curve3D',(#345)); +#349= IFCPRODUCTDEFINITIONSHAPE($,$,(#348)); +#350= IFCREFERENT('1rOA0_Hlj4wvgaMcjms$Y1',$,$,$,$,#358,$,.STATION.,$); +#351= IFCRELNESTS('1sGo_$YJD4me8QWpepB0x9',$,$,$,#20,(#350)); +#352= IFCRELPOSITIONS('0LAIHHfBH9phTNLqeDurRB',$,$,$,#20,(#350)); +#353= IFCPROPERTYSET('3sJJbJ_GHEtxzf4$LdFusm',$,'Pset_Stationing',$,(#355)); +#354= IFCRELDEFINESBYPROPERTIES('1wMkSiEC95JeqBq8a1gtPS',$,$,$,(#350),#353); +#355= IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(1000.0),$); +#356= IFCPOINTBYDISTANCEEXPRESSION(IFCNONNEGATIVELENGTHMEASURE(0.0),$,$,$,#117); +#357= IFCAXIS2PLACEMENTLINEAR(#356,$,$); +#358= IFCLINEARPLACEMENT(#16,#357,$); +#359= IFCPROPERTYSINGLEVALUE('state',$,IFCIDENTIFIER('proposed'),$); +#360= IFCPROPERTYSET('0gT_0DEtH21ADdZKVgGwbx',$,'landXML_Alignment',$,(#359)); +#361= IFCRELDEFINESBYPROPERTIES('0zFoF1ac9F3BXzX37veXrP',$,$,$,(#20),#360); +ENDSEC; + +END-ISO-10303-21; diff --git a/E1a-ARSE/ALIN02/Dataset/T616AAC0.xml b/E1a-ARSE/ALIN02/Dataset/T616AAC0.xml new file mode 100644 index 0000000..3aacb2f --- /dev/null +++ b/E1a-ARSE/ALIN02/Dataset/T616AAC0.xml @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + 6591370.142470 145685.855172 0.000000 + + + 6591340.497969 145648.915290 0.000000 + + + + + + + + 6591340.497969 145648.915290 0.000000 + + + 6591305.159950 145604.880739 0.000000 + + + 6591282.917242 145587.393864 0.000000 + + + + + + + + 6591282.917242 145587.393864 0.000000 + +
+ 6591168.577963 145732.829517 0.000000 +
+ + 6591154.637666 145548.355486 0.000000 + + + + +
+ + + 6591154.637666 145548.355486 0.000000 + + + 6591134.780206 145549.856071 0.000000 + + + 6591096.103693 145559.177136 0.000000 + + + + + + + + 6591096.103693 145559.177136 0.000000 + + + 6591059.998499 145567.878506 0.000000 + + + 6591041.507035 145569.732915 0.000000 + + + + + + + + 6591041.507035 145569.732915 0.000000 + +
+ 6591021.171001 145366.950073 0.000000 +
+ + 6591015.784448 145570.678864 0.000000 + + + + +
+ + + 6591015.784448 145570.678864 0.000000 + + + 6590973.545180 145569.562095 0.000000 + + + 6590894.049604 145541.922395 0.000000 + + + + + + + + 6590894.049604 145541.922395 0.000000 + + + 6590819.171864 145515.888354 0.000000 + + + 6590780.908730 145505.510693 0.000000 + + + + + + + + 6590780.908730 145505.510693 0.000000 + +
+ 6590557.887706 146327.803598 0.000000 +
+ + 6590778.159323 145504.769933 0.000000 + + + + +
+
+ + + + 1085.000000 15.820000 + + + 1096.731849 15.934268 + + + 1122.514575 16.528493 + + + 1211.210818 18.023878 + + + 1228.995905 18.248635 + + + 1274.252074 19.031260 + + + 1328.182410 20.277378 + + + 1381.796850 22.690072 + + + 1529.999460 27.258400 + + + 1539.999460 27.545080 + + + 1549.999460 27.818000 + + + 1559.999460 28.086320 + + + 1569.999460 28.349570 + + + 1579.999460 28.603270 + + + 1589.999460 28.811400 + + + 1599.999460 29.013160 + + + 1609.999460 29.208140 + + + 1619.999460 29.395950 + + + 1629.999460 29.576170 + + + 1639.999460 29.748430 + + + 1649.999460 29.912330 + + + 1657.384118 30.028080 + + + + + + + +
+
+
diff --git a/E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv new file mode 100644 index 0000000..e241289 --- /dev/null +++ b/E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv @@ -0,0 +1,28 @@ +Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +V1;IfcAlignmentVerticalSegment;85;1,41860494999992;15,82;0,00973998216308436;0,00973998216308436;0;CONSTANTGRADIENT +V2;IfcAlignmentVerticalSegment;86,4186049499999;20,6264881;15,8338171869095;0,00973998216308436;0,00973998216308436;1549,99837548427;PARABOLICARC +V3;IfcAlignmentVerticalSegment;107,04509375;30,9389625;16,1719615573674;0,0230474077876794;0,0230474077876794;-5000,00424133629;PARABOLICARC +V4;IfcAlignmentVerticalSegment;137,98405625;66,8933770000001;16,7893025837727;0,0168596205365767;0,0168596205365767;0;CONSTANTGRADIENT +V5;IfcAlignmentVerticalSegment;204,87743325;12,6667695;17,9170995364029;0,0168596205365767;0,0168596205365767;-3000,01522750735;PARABOLICARC +V6;IfcAlignmentVerticalSegment;217,54420275;4,4678965999999;18,1039154244026;0,0126373854679485;0,0126373854679485;0;CONSTANTGRADIENT +V7;IfcAlignmentVerticalSegment;222,01209935;13,9676113;18,1603779559677;0,0126373854679485;0,0126373854679485;3000,02152240574;PARABOLICARC +V8;IfcAlignmentVerticalSegment;235,97971065;29,55312205;18,369407505;0,0172932224996773;0,0172932224996773;0;CONSTANTGRADIENT +V9;IfcAlignmentVerticalSegment;265,5328327;17,4384826;18,8804762201707;0,0172932224996773;0,0172932224996773;2999,99083137358;PARABOLICARC +V10;IfcAlignmentVerticalSegment;282,9713153;12,9163156;19,2327273806274;0,0231060677982796;0,0231060677982796;0;CONSTANTGRADIENT +V11;IfcAlignmentVerticalSegment;295,8876309;64,5895582;19,5311726445849;0,0231060677982796;0,0231060677982796;2950,00119712944;PARABOLICARC +V12;IfcAlignmentVerticalSegment;360,4771891;0,0557456000001366;21,7306696834699;0,0450008244047686;0,0450008244047686;0;CONSTANTGRADIENT +V13;IfcAlignmentVerticalSegment;360,5329347;42,5278306;21,7331782814268;0,0450008244047686;0,0450008244047686;-3000,00028832373;PARABOLICARC +V14;IfcAlignmentVerticalSegment;403,0607653;126,9386947;23,3455296849532;0,0308248822338554;0,0308248822338554;0;CONSTANTGRADIENT +V15;IfcAlignmentVerticalSegment;529,99946;10;27,2584;0,0286679999999997;0,0286679999999997;0;CONSTANTGRADIENT +V16;IfcAlignmentVerticalSegment;539,99946;10;27,54508;0,0272920000000003;0,0272920000000003;0;CONSTANTGRADIENT +V17;IfcAlignmentVerticalSegment;549,99946;10;27,818;0,0268319999999999;0,0268319999999999;0;CONSTANTGRADIENT +V18;IfcAlignmentVerticalSegment;559,99946;10;28,08632;0,0263249999999999;0,0263249999999999;0;CONSTANTGRADIENT +V19;IfcAlignmentVerticalSegment;569,99946;10;28,34957;0,0253699999999998;0,0253699999999998;0;CONSTANTGRADIENT +V20;IfcAlignmentVerticalSegment;579,99946;10;28,60327;0,0208130000000001;0,0208130000000001;0;CONSTANTGRADIENT +V21;IfcAlignmentVerticalSegment;589,99946;10;28,8114;0,020176;0,020176;0;CONSTANTGRADIENT +V22;IfcAlignmentVerticalSegment;599,99946;10;29,01316;0,0194980000000001;0,0194980000000001;0;CONSTANTGRADIENT +V23;IfcAlignmentVerticalSegment;609,99946;10;29,20814;0,0187809999999999;0,0187809999999999;0;CONSTANTGRADIENT +V24;IfcAlignmentVerticalSegment;619,99946;10;29,39595;0,0180220000000002;0,0180220000000002;0;CONSTANTGRADIENT +V25;IfcAlignmentVerticalSegment;629,99946;10;29,57617;0,0172259999999998;0,0172259999999998;0;CONSTANTGRADIENT +V26;IfcAlignmentVerticalSegment;639,99946;10;29,74843;0,0163900000000002;0,0163900000000002;0;CONSTANTGRADIENT +V27;IfcAlignmentVerticalSegment;649,99946;7,38465799999994;29,91233;0,0156743887123817;0,0156743887123817;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN02/README.md b/E1a-ARSE/ALIN02/README.md index 77aad9b..f26e419 100644 --- a/E1a-ARSE/ALIN02/README.md +++ b/E1a-ARSE/ALIN02/README.md @@ -1,37 +1,22 @@ # Test Instruction -| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | -| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | -| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN02 | Alignment Infrastructure Curves | E1a | ALIN02 | Lars Wikström | TRV | 1.0 | 07.01.2022 | ## Summary (Intent) -*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* - With these instructions the infrastructure (e.g. Road) alignment exchange is established. -This includes basic alignment geometry featuring the common layout: - -- horizontal -- vertical - -The valid geometry segment types for horizontal are the following: - -- Arc -- Clothoid -- Linear -- *Check if other transition curves are being used* - -The valid geometry segment types for vertical: -- Linear -- Circular Arc -- Parabolic Arc -- *Check if there are cases with transition curves (don't think that there are)* - -... - -We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). +| Info | | +| ---------------------------- | ------------------------------------- | +| Number of alignment(s) | 1 | +| Properties of segments | no | +| Horizontal layout | Straight Line, Circular Arc, Clothoid | +| Vertical layout | Straight Line, Parabolic Arc | +| Geometric representation | No | +| IFC reference file available | Yes | The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. @@ -48,32 +33,22 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *IfcAlignment* -- *IfcAlignmentHorizontal* -- *IfcAlignmentVertical* -- *IfcAlignmentSegment* -- *IfcAlignmentHorizontalSegment* -- *IfcAlignmentVerticalSegment* -- *IfcAxis2PlacementLinear* -- *IfcAxis2Placement2D* -- *IfcAxis2Placement3D* -- *IfcCircle* -- *IfcClothoid* -- *IfcCompositeCurve* -- *IfcCurveSegment* -- *IfcLine* -- *IfcLinearPlacement* -- *IfcLocalPlacement* -- *IfcGeometricRepresentationContext* -- *IfcGeometricRepresentationSubContext* -- *IfcGradientCurve* -- *IfcMapConversion* -- *IfcPolyline* -- *IfcProject* -- *IfcProjectedCRS* -- *IfcProductDefinitionShape* -- *IfcSite* -- *IfcShapeRepresentation* +- Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment + +- Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + @@ -81,9 +56,7 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Layout* -- *Alignment Geometry* -- *Alignment Geometry Gradient* +- *Alignment Decomposition* - *Project Global Positioning* - *Spatial Containment* @@ -108,18 +81,29 @@ The following itemised restrictions and constraints shall be placed on IFC Entit :construction: under construction :construction:
Semantic Usages, Constraints & Logic - The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria -- IfcSomething - - *Constraint* +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | --------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_00 | Alignment layout structure is verified | See below for further specification | | +| SITE_00 | Alignment shall always be contained in a Site | na | | -
+ALIG_00: Alignment layout structure is verified -
Model Geometry -The Test case requires the following additional checks related to Model Geometry: +> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` +> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` +> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` +> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` +> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` +> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` +> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` +> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` +> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` -- *Constraint* +-
+ +
Model Geometry +The Test case requires no additional checks related to Model Geometry
@@ -132,8 +116,8 @@ For certification of capabilities the only source will be: - n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of ... -- CSV export of ... +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters --- @@ -163,13 +147,25 @@ Considering the aim of this test, other **optional** results, not subject to the -### Some Concept Group +### Road alignment + +
Click to expand + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | +| ALIG_01 | Alignments contained in file | 1 | | +| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | +| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | + +
+### Spatial containment
Click to expand -Criteria around the representation of 'Some Concept' +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|------------------------------------------|-------------| -| XXXX_01 | A Criteria to follow | its expected value or outcome | | +| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | +| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | +| IfcSite | | 1 | 1 | IfcAlignment | Road alignment |
diff --git a/E1a-ARSE/ALIN04/Dataset/AlignmentParameters.xlsx b/E1a-ARSE/ALIN04/Dataset/AlignmentParameters.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..babcb95a06d7ec55e3b498de77221648fef4e84c GIT binary patch literal 13723 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 literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..577e25c --- /dev/null +++ b/E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv @@ -0,0 +1,16 @@ +StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +24474600.283;6654918.750;0.7121999;;;193.423;.LINE. +24474746.690;6655045.152;0.7121999;0.0;200.0;63.845;.CLOTHOID. +24474792.678;6655089.336;0.8718124;200.0;200.0;34.421;.CIRCULARARC. +24474812.455;6655117.455;1.0439153;200.0;0.0;63.845;.CLOTHOID. +24474838.485;6655175.674;1.2035278;;;21.347;.LINE. +24474846.150;6655195.597;1.2035278;0.0;-200.0;63.845;.CLOTHOID. +24474872.181;6655253.815;1.0439153;-200.0;-200.0;85.355;.CIRCULARARC. +24474929.317;6655316.355;0.6171368;-200.0;0.0;63.845;.CLOTHOID. +24474984.952;6655347.527;0.4575243;;;192.323;.LINE. +24475157.495;6655432.482;0.4575243;200.0;200.0;82.814;.CIRCULARARC. +24475222.220;6655483.191;0.8715950;-200.0;-200.0;100.119;.CIRCULARARC. +24475302.782;6655540.862;0.3710006;;;58.660;.LINE. +24475357.451;6655562.129;0.3710006;-200.0;-200.0;115.441;.CIRCULARARC. +24475470.910;6655571.499;6.0769809;200.0;200.0;102.335;.CIRCULARARC. +24475572.007;6655576.521;0.3054710;;;28.790;.LINE. diff --git a/E1a-ARSE/ALIN04/Dataset/README.md b/E1a-ARSE/ALIN04/Dataset/README.md index d49f555..e8f9537 100644 --- a/E1a-ARSE/ALIN04/Dataset/README.md +++ b/E1a-ARSE/ALIN04/Dataset/README.md @@ -1,45 +1,98 @@ ## Variations The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: -- Entity_01 - *decription of variation* -- Entity_02 - *decription of variation* +- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* +- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* +- Alignment Decomposition: + - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns + - The horizontal alignment shall also be decomposed with element sequences lacking clothoid transition curves including both clockwise and counter-clockwise turns where a clockwise and counter-clockwise turn are joined together (forming an "S" curve) + - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns + - The vertical alignment shall also be decomposed with element sequences where circular arcs follows directly after each other (forming an "S" curve) -***=>What other elements occur for roads?*** +## Model Dataset +This test case utilises the following dataset: +- One alignment layout (no geometric representation is required) +- The alignment is composed of one horizontal alignment layout and one vertical alignment layout +- The horizontal layout has the following sequences of elements: + - Line => Clothoid => Circular arc (cw) => Clothoid => Line => Clothoid => Circular arc (ccw) => Clothoid => Line -## Model Dataset -This test case utilises the attached dataset documented by the following drawings and data schedule. - -"Synopsis": - -- IfcAlignment => IfcPolyline (Axis,Curve3D)? - - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) - - Line - - Clothoid (to left) - - Circular arc (left) - - Clothoid (to straight) - - Line - - Clothoid (to right) - - Circular arc (right) - - Clothoid (to straight) - - Line - - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) - - Line (up) - - Parabolic arc/Circular arc - - Line (down) - - Parabolic arc/Circular arc - - Line (up) - -*This is a later step tha involved the detailed documentation of the certification dataset (model)* + - Line => Circular arc (cw) => Circular arc (ccw) => Line + + - Line => Circular arc (ccw) => Circular arc (cw) => Line +- The vertical layout has the following sequences of elements: + + - Line => Circular arc => Line + - Line => Circular arc (cw) => Circular arc (ccw) => Line + - Line => Circular arc (ccw) => Circular arc (cw) => Line + +The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : + +Alignment: +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | +| A1 | IfcAlignment | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | +| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcCompositeCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | +| AV1 | IfcAlignmentVertical | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | + +Horizontal segments nested into AH1 in the following order: + +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type | +| ---- | ----------------------------- | ------------ | ----------- | -------------- | ----------- | --------- | ------- | ------------- | +| H1 | IfcAlignmentHorizontalSegment | 24474600.283 | 6654918.750 | 0.7121999 | | | 193.423 | .LINE. | +| H2 | IfcAlignmentHorizontalSegment | 24474746.690 | 6655045.152 | 0.7121999 | 0.0 | 200.0 | 63.845 | .CLOTHOID. | +| H3 | IfcAlignmentHorizontalSegment | 24474792.678 | 6655089.336 | 0.8718124 | 200.0 | 200.0 | 34.421 | .CIRCULARARC. | +| H4 | IfcAlignmentHorizontalSegment | 24474812.455 | 6655117.455 | 1.0439153 | 200.0 | 0.0 | 63.845 | .CLOTHOID. | +| H5 | IfcAlignmentHorizontalSegment | 24474838.485 | 6655175.674 | 1.2035278 | | | 21.347 | .LINE. | +| H6 | IfcAlignmentHorizontalSegment | 24474846.150 | 6655195.597 | 1.2035278 | 0.0 | -200.0 | 63.845 | .CLOTHOID. | +| H7 | IfcAlignmentHorizontalSegment | 24474872.181 | 6655253.815 | 1.0439153 | -200.0 | -200.0 | 85.355 | .CIRCULARARC. | +| H8 | IfcAlignmentHorizontalSegment | 24474929.317 | 6655316.355 | 0.6171368 | -200.0 | 0.0 | 63.845 | .CLOTHOID. | +| H9 | IfcAlignmentHorizontalSegment | 24474984.952 | 6655347.527 | 0.4575243 | | | 192.323 | .LINE. | +| H10 | IfcAlignmentHorizontalSegment | 24475157.495 | 6655432.482 | 0.4575243 | 200.0 | 200.0 | 82.814 | .CIRCULARARC. | +| H11 | IfcAlignmentHorizontalSegment | 24475222.220 | 6655483.191 | 0.8715950 | -200.0 | -200.0 | 100.119 | .CIRCULARARC. | +| H12 | IfcAlignmentHorizontalSegment | 24475302.782 | 6655540.862 | 0.3710006 | | | 58.660 | .LINE. | +| H13 | IfcAlignmentHorizontalSegment | 24475357.451 | 6655562.129 | 0.3710006 | -200.0 | -200.0 | 115.441 | .CIRCULARARC. | +| H14 | IfcAlignmentHorizontalSegment | 24475470.910 | 6655571.499 | 6.0769809 | 200.0 | 200.0 | 102.335 | .CIRCULARARC. | +| H15 | IfcAlignmentHorizontalSegment | 24475572.007 | 6655576.521 | 0.3054710 | | | 28.790 | .LINE. | + +Vertical segments nested into AV1 in the following order: + +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------- | ------------------ | +| V1 | IfcAlignmentVerticalSegment | 0.0 | 67.967 | 43.475 | -0.0077341 | -0.0077341 | | .CONSTANTGRADIENT. | +| V2 | IfcAlignmentVerticalSegment | 67.967 | 25.560 | 42.950 | -0.0077341 | -0.0933380 | -300.0 | .CIRCULARARC. | +| V3 | IfcAlignmentVerticalSegment | 93.527 | 20.399 | 41.660 | -0.0933380 | -0.0933380 | | .CONSTANTGRADIENT. | +| V4 | IfcAlignmentVerticalSegment | 113.925 | 21.684 | 39.756 | -0.0933380 | -0.0206578 | 300.0 | .CIRCULARARC. | +| V5 | IfcAlignmentVerticalSegment | 135.609 | 68.626 | 38.522 | -0.0206578 | -0.0206578 | | .CONSTANTGRADIENT. | +| V6 | IfcAlignmentVerticalSegment | 204.235 | 56.932 | 37.104 | -0.0206578 | 0.0078128 | 2000.0 | .CIRCULARARC. | +| V7 | IfcAlignmentVerticalSegment | 261.167 | 46.450 | 36.739 | 0.0078128 | 0.0078128 | | .CONSTANTGRADIENT. | +| V8 | IfcAlignmentVerticalSegment | 307.617 | 101.901 | 37.102 | 0.0078128 | 0.0486302 | 2500.0 | .CIRCULARARC. | +| V9 | IfcAlignmentVerticalSegment | 409.517 | 30.592 | 39.976 | 0.0486302 | 0.0486302 | | .CONSTANTGRADIENT. | +| V10 | IfcAlignmentVerticalSegment | 440.109 | 64.029 | 41.464 | 0.0486302 | -0.0154579 | -1000.0 | .CIRCULARARC. | +| V11 | IfcAlignmentVerticalSegment | 504.138 | 203.572 | 42.525 | -0.0154579 | -0.0154579 | | .CONSTANTGRADIENT. | +| V12 | IfcAlignmentVerticalSegment | 707.709 | 55.848 | 39.378 | -0.0154579 | -0.0714863 | -1000.0 | .CIRCULARARC. | +| V13 | IfcAlignmentVerticalSegment | 763.558 | 76.625 | 36.952 | -0.0714863 | 0.0053208 | 1000.0 | .CIRCULARARC. | +| V14 | IfcAlignmentVerticalSegment | 840.183 | 152.345 | 34.421 | 0.0053208 | 0.0053208 | | .CONSTANTGRADIENT. | +| V15 | IfcAlignmentVerticalSegment | 992.528 | 36.817 | 35.232 | 0.0053208 | 0.0237361 | 2000.0 | .CIRCULARARC. | +| V16 | IfcAlignmentVerticalSegment | 1029.345 | 52.563 | 35.766 | 0.0237361 | -0.0288451 | -1000.0 | .CIRCULARARC. | +| V17 | IfcAlignmentVerticalSegment | 1081.907 | 188.502 | 35.632 | -0.0288451 | -0.0288451 | | .CONSTANTGRADIENT. | ## Drawings (Visualisations) + The following Drawings and visualisations describe the test case dataset to be modelled and certified. +| Filename | Description | +| -------------------------------------------- | -------------------------------------------- | +| [Testi_ml_map](./Testi_ml_map.pdf) | Planar (map) view of the test case | +| [Testi_ml_profiles](./Testi_ml_profiles.pdf) | Long section (profile) view of the test case | + ## Supporting files -| Filename | Description | -|-----------------------------------|-------------------------------------------| -| *filename* | *short description* | \ No newline at end of file +| Filename | Description | +| ------------------------------------------------------------ | -------------------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [AlignmentParameters](./AlignmentParameters.xlsx) | Parameters for horizontal and vertical segments as excel | \ No newline at end of file diff --git a/E1a-ARSE/ALIN04/Dataset/Testi_101_ml.ifc b/E1a-ARSE/ALIN04/Dataset/Testi_101_ml.ifc new file mode 100644 index 0000000..da86021 --- /dev/null +++ b/E1a-ARSE/ALIN04/Dataset/Testi_101_ml.ifc @@ -0,0 +1,344 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4NotAssigned]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\Users\\lars\\Documents\\Projekt\\IFCInfra\\Tests\\Testi_101_ml.ifc', +/* time_stamp */ '2022-02-10T08:16:24', +/* author */ ('lars'), +/* organization */ ('Unknown'), +/* preprocessor_version */ 'ggIfcConverter v0.0.5.0 by Geometry Gym Pty Ltd built 2022-02-10T07:15:39', +/* originating_system */ 'ggIFCConverter v0.0.5.0 - Converter by Geometry Gym Pty Ltd', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4X3_RC4')); +ENDSEC; + +DATA; +#1= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2= IFCDIRECTION((1.0,0.0,0.0)); +#3= IFCDIRECTION((0.0,1.0,0.0)); +#4= IFCDIRECTION((0.0,0.0,1.0)); +#5= IFCAXIS2PLACEMENT3D(#1,$,$); +#6= IFCCARTESIANPOINT((0.0,0.0)); +#7= IFCAXIS2PLACEMENT2D(#6,$); +#8= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#9= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#10= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#11= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#12= IFCUNITASSIGNMENT((#8,#11)); +#13= IFCPROJECT('0ecx2rClfBtAk7rrRtzpG7',$,'IFC testi','IFC testi',$,$,$,(#80),#12); +#14= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#15= IFCAXIS2PLACEMENT3D(#14,$,$); +#16= IFCLOCALPLACEMENT($,#15); +#17= IFCSITE('0AeyuwY3Sco4GqVIWj7KBz',$,'IFC testi',$,$,#16,$,$,$,$,$,$,$,$); +#18= IFCRELAGGREGATES('1Q9vKweljnFkXDa3IGNYn4',$,$,$,#13,(#17)); +#19= IFCLOCALPLACEMENT(#16,#5); +#20= IFCALIGNMENT('1V4IFLD5FZEHUFn2xxO5TX',$,'Testi',$,$,#19,#321,$); +#21= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Vg8iVaUzCc8kgu5atnp5Z',$,'Site','Site Container for Elements',(#20),#17); +#22= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#23= IFCAXIS2PLACEMENT3D(#22,#4,#2); +#25= IFCALIGNMENTHORIZONTAL('3aXJ1N8KqGC4XvJ0PdDKpy',$,$,$,$,#19,#169); +#26= IFCRELNESTS('3bHIy9qJHBYPOZgc7zqv0h',$,$,$,#20,(#25,#187)); +#27= IFCCARTESIANPOINT((24474600.283714,6654918.750471)); +#28= IFCALIGNMENTHORIZONTALSEGMENT($,$,#27,0.712199895871347,0.0,0.0,193.4232,$,.LINE.); +#29= IFCALIGNMENTSEGMENT('2vaztxIjrKOr$0KqItOJ$I',$,$,$,$,#19,#86,#28); +#30= IFCRELNESTS('1KmS$Dxxj4qx0ze8hbov2P',$,$,$,#25,(#29,#33,#36,#39,#42,#45,#48,#51,#54,#57,#60,#63,#66,#69,#72)); +#31= IFCCARTESIANPOINT((24474746.690778,6655045.152631)); +#32= IFCALIGNMENTHORIZONTALSEGMENT($,$,#31,0.712199906334298,0.0,200.0,63.845,$,.CLOTHOID.); +#33= IFCALIGNMENTSEGMENT('0sGR5JP9JE3NzGE0Oyp0za',$,$,$,$,#19,#92,#32); +#34= IFCCARTESIANPOINT((24474792.677965,6655089.335669)); +#35= IFCALIGNMENTHORIZONTALSEGMENT($,$,#34,0.871812399176709,200.0,200.0,34.420584,$,.CIRCULARARC.); +#36= IFCALIGNMENTSEGMENT('3uyWopL_852h4xFIJlpBjd',$,$,$,$,#19,#98,#35); +#37= IFCCARTESIANPOINT((24474812.454617,6655117.455754)); +#38= IFCALIGNMENTHORIZONTALSEGMENT($,$,#37,1.04391527787276,200.0,0.0,63.845,$,.CLOTHOID.); +#39= IFCALIGNMENTSEGMENT('0bOZo63U6dC0a70iOtGkCQ',$,$,$,$,#19,#104,#38); +#40= IFCCARTESIANPOINT((24474838.485471,6655175.673937)); +#41= IFCALIGNMENTHORIZONTALSEGMENT($,$,#40,1.20352784295313,0.0,0.0,21.346852,$,.LINE.); +#42= IFCALIGNMENTSEGMENT('3uw5yTngOd73UakCbjcKPN',$,$,$,$,#19,#109,#41); +#43= IFCCARTESIANPOINT((24474846.15043,6655195.597202)); +#44= IFCALIGNMENTHORIZONTALSEGMENT($,$,#43,1.20352781983867,0.0,-200.0,63.845,$,.CLOTHOID.); +#45= IFCALIGNMENTSEGMENT('2NuHEWbbdCcMrblPJjitBe',$,$,$,$,#19,#115,#44); +#46= IFCCARTESIANPOINT((24474872.181284,6655253.815386)); +#47= IFCALIGNMENTHORIZONTALSEGMENT($,$,#46,1.04391531991188,-200.0,-200.0,85.355704,$,.CIRCULARARC.); +#48= IFCALIGNMENTSEGMENT('3lHxSswtYwB01wMksZZIMT',$,$,$,$,#19,#121,#47); +#49= IFCCARTESIANPOINT((24474929.316712,6655316.355174)); +#50= IFCALIGNMENTHORIZONTALSEGMENT($,$,#49,0.617136818616182,-200.0,0.0,63.845,$,.CLOTHOID.); +#51= IFCALIGNMENTSEGMENT('2B5epfRrF3gcg_hsGk922T',$,$,$,$,#19,#127,#50); +#52= IFCCARTESIANPOINT((24474984.951684,6655347.527472)); +#53= IFCALIGNMENTHORIZONTALSEGMENT($,$,#52,0.457524298045646,0.0,0.0,192.323738,$,.LINE.); +#54= IFCALIGNMENTSEGMENT('0f8_8Cj8lvTUcnnmiVdCiP',$,$,$,$,#19,#132,#53); +#55= IFCCARTESIANPOINT((24475157.494701,6655432.482327)); +#56= IFCALIGNMENTHORIZONTALSEGMENT($,$,#55,0.457524292762515,200.0,200.0,82.814142,$,.CIRCULARARC.); +#57= IFCALIGNMENTSEGMENT('2I$Xcy$JkuUauhfYMs2_jz',$,$,$,$,#19,#138,#56); +#58= IFCCARTESIANPOINT((24475222.220317,6655483.190771)); +#59= IFCALIGNMENTHORIZONTALSEGMENT($,$,#58,0.871595018418373,-200.0,-200.0,100.11889,$,.CIRCULARARC.); +#60= IFCALIGNMENTSEGMENT('2czZ2zyktpvqOs4xYwOTKV',$,$,$,$,#19,#144,#59); +#61= IFCCARTESIANPOINT((24475302.781991,6655540.862461)); +#62= IFCALIGNMENTHORIZONTALSEGMENT($,$,#61,0.37100055838095,0.0,0.0,58.659577,$,.LINE.); +#63= IFCALIGNMENTSEGMENT('0l0XkEmfjreXS$jzp6amF6',$,$,$,$,#19,#149,#62); +#64= IFCCARTESIANPOINT((24475357.450667,6655562.129379)); +#65= IFCALIGNMENTHORIZONTALSEGMENT($,$,#64,0.371000555025985,-200.0,-200.0,115.440984,$,.CIRCULARARC.); +#66= IFCALIGNMENTSEGMENT('0Bb9yB3iA_2DK_lIKVX5zx',$,$,$,$,#19,#155,#65); +#67= IFCCARTESIANPOINT((24475470.909519,6655571.499388)); +#68= IFCALIGNMENTHORIZONTALSEGMENT($,$,#67,6.07698093924176,200.0,200.0,102.335082,$,.CIRCULARARC.); +#69= IFCALIGNMENTSEGMENT('3miJ11ZCKhG0rTvyyAcgwC',$,$,$,$,#19,#161,#68); +#70= IFCCARTESIANPOINT((24475572.00724,6655576.521331)); +#71= IFCALIGNMENTHORIZONTALSEGMENT($,$,#70,0.305471032863846,0.0,0.0,28.790227,$,.LINE.); +#72= IFCALIGNMENTSEGMENT('3zvKhvQ6EEPa36uvd5tvQ9',$,$,$,$,#19,#166,#71); +#73= IFCAXIS2PLACEMENT2D(#27,#74); +#74= IFCDIRECTION((0.75692608,0.65350051)); +#75= IFCCARTESIANPOINT((0.0,0.0)); +#76= IFCDIRECTION((1.0,0.0)); +#77= IFCVECTOR(#76,1.0); +#78= IFCLINE(#75,#77); +#79= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#73,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(193.4232),#78); +#80= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.00001,#82,#83); +#81= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#82= IFCAXIS2PLACEMENT3D(#81,$,$); +#83= IFCDIRECTION((0.0,1.0)); +#84= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#80,$,.GRAPH_VIEW.,$); +#85= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#79)); +#86= IFCPRODUCTDEFINITIONSHAPE($,$,(#85)); +#87= IFCAXIS2PLACEMENT2D(#31,#88); +#88= IFCDIRECTION((0.75692607,0.65350052)); +#89= IFCCLOTHOID(#7,113.0); +#90= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#87,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(63.845),#89); +#91= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#90)); +#92= IFCPRODUCTDEFINITIONSHAPE($,$,(#91)); +#93= IFCAXIS2PLACEMENT2D(#34,#94); +#94= IFCDIRECTION((0.64344022,0.76549636)); +#95= IFCCIRCLE(#7,200.0); +#96= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#93,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(34.420584),#95); +#97= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#96)); +#98= IFCPRODUCTDEFINITIONSHAPE($,$,(#97)); +#99= IFCAXIS2PLACEMENT2D(#37,#100); +#100= IFCDIRECTION((0.50283983,0.86437961)); +#101= IFCCLOTHOID(#7,-113.0); +#102= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#99,IFCPARAMETERVALUE(-63.845),IFCNONNEGATIVELENGTHMEASURE(63.845),#101); +#103= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#102)); +#104= IFCPRODUCTDEFINITIONSHAPE($,$,(#103)); +#105= IFCAXIS2PLACEMENT2D(#40,#106); +#106= IFCDIRECTION((0.35906742,0.93331162)); +#107= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#105,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(21.346852),#78); +#108= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#107)); +#109= IFCPRODUCTDEFINITIONSHAPE($,$,(#108)); +#110= IFCAXIS2PLACEMENT2D(#43,#111); +#111= IFCDIRECTION((0.35906744,0.93331162)); +#112= IFCCLOTHOID(#7,-113.0); +#113= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#110,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(63.845),#112); +#114= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#113)); +#115= IFCPRODUCTDEFINITIONSHAPE($,$,(#114)); +#116= IFCAXIS2PLACEMENT2D(#46,#117); +#117= IFCDIRECTION((0.5028398,0.86437963)); +#118= IFCCIRCLE(#7,200.0); +#119= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#116,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.42677852),#118); +#120= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#119)); +#121= IFCPRODUCTDEFINITIONSHAPE($,$,(#120)); +#122= IFCAXIS2PLACEMENT2D(#49,#123); +#123= IFCDIRECTION((0.81553873,0.5787025)); +#124= IFCCLOTHOID(#7,113.0); +#125= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#122,IFCPARAMETERVALUE(-63.845),IFCNONNEGATIVELENGTHMEASURE(63.845),#124); +#126= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#125)); +#127= IFCPRODUCTDEFINITIONSHAPE($,$,(#126)); +#128= IFCAXIS2PLACEMENT2D(#52,#129); +#129= IFCDIRECTION((0.89714883,0.44172839)); +#130= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#128,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(192.323738),#78); +#131= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#130)); +#132= IFCPRODUCTDEFINITIONSHAPE($,$,(#131)); +#133= IFCAXIS2PLACEMENT2D(#55,#134); +#134= IFCDIRECTION((0.89714884,0.44172839)); +#135= IFCCIRCLE(#7,200.0); +#136= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#133,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(82.814142),#135); +#137= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#136)); +#138= IFCPRODUCTDEFINITIONSHAPE($,$,(#137)); +#139= IFCAXIS2PLACEMENT2D(#58,#140); +#140= IFCDIRECTION((0.64360661,0.76535647)); +#141= IFCCIRCLE(#7,200.0); +#142= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#139,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.50059445),#141); +#143= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#142)); +#144= IFCPRODUCTDEFINITIONSHAPE($,$,(#143)); +#145= IFCAXIS2PLACEMENT2D(#61,#146); +#146= IFCDIRECTION((0.93196506,0.3625481)); +#147= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#145,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(58.659577),#78); +#148= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#147)); +#149= IFCPRODUCTDEFINITIONSHAPE($,$,(#148)); +#150= IFCAXIS2PLACEMENT2D(#64,#151); +#151= IFCDIRECTION((0.93196506,0.3625481)); +#152= IFCCIRCLE(#7,200.0); +#153= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#150,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.57720492),#152); +#154= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#153)); +#155= IFCPRODUCTDEFINITIONSHAPE($,$,(#154)); +#156= IFCAXIS2PLACEMENT2D(#67,#157); +#157= IFCDIRECTION((0.9788151,-0.20474616)); +#158= IFCCIRCLE(#7,200.0); +#159= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#156,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(102.335082),#158); +#160= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#159)); +#161= IFCPRODUCTDEFINITIONSHAPE($,$,(#160)); +#162= IFCAXIS2PLACEMENT2D(#70,#163); +#163= IFCDIRECTION((0.9537054,0.30074244)); +#164= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#162,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(28.790227),#78); +#165= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#164)); +#166= IFCPRODUCTDEFINITIONSHAPE($,$,(#165)); +#167= IFCCOMPOSITECURVE((#79,#90,#96,#102,#107,#113,#119,#125,#130,#136,#142,#147,#153,#159,#164),.U.); +#168= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#167)); +#169= IFCPRODUCTDEFINITIONSHAPE($,$,(#168)); +#170= IFCALIGNMENTVERTICALSEGMENT($,$,0.0,67.9666275938242,43.475329,-0.00773410503537014,-0.00773410503537014,$,.CONSTANTGRADIENT.); +#171= IFCALIGNMENTVERTICALSEGMENT($,$,67.9666275938242,25.56006049186,42.9496679632888,-0.00773410503537014,-0.0933380176556316,-300.0,.CIRCULARARC.); +#172= IFCALIGNMENTVERTICALSEGMENT($,$,93.5266880856841,20.3985317664884,41.6603192684821,-0.0933380176556316,-0.0933380176556316,$,.CONSTANTGRADIENT.); +#173= IFCALIGNMENTVERTICALSEGMENT($,$,113.925219852173,21.6842049028376,39.7563607503138,-0.0933380176556316,-0.0206577987550277,300.0,.CIRCULARARC.); +#174= IFCALIGNMENTVERTICALSEGMENT($,$,135.60942475501,68.6257430776865,38.5220312181138,-0.0206577987550277,-0.0206577987550277,$,.CONSTANTGRADIENT.); +#175= IFCALIGNMENTVERTICALSEGMENT($,$,204.235167832697,56.9319301335483,37.1043744281956,-0.0206577987550277,0.00781281114018211,2000.0,.CIRCULARARC.); +#176= IFCALIGNMENTVERTICALSEGMENT($,$,261.167097966245,46.449675607139,36.7388035371268,0.00781281114018211,0.00781281114018211,$,.CONSTANTGRADIENT.); +#177= IFCALIGNMENTVERTICALSEGMENT($,$,307.616773573384,101.90056287711,37.101706080191,0.00781281114018211,0.0486301987513986,2500.0,.CIRCULARARC.); +#178= IFCALIGNMENTVERTICALSEGMENT($,$,409.517336450494,30.5916549869268,39.9762969622553,0.0486301987513986,0.0486301987513986,$,.CONSTANTGRADIENT.); +#179= IFCALIGNMENTVERTICALSEGMENT($,$,440.108991437421,64.0288214133387,41.4639752243932,0.0486301987513986,-0.0154578700237117,-1000.0,.CIRCULARARC.); +#180= IFCALIGNMENTVERTICALSEGMENT($,$,504.13781285076,203.571683667725,42.5248787225931,-0.0154578700237117,-0.0154578700237117,$,.CONSTANTGRADIENT.); +#181= IFCALIGNMENTVERTICALSEGMENT($,$,707.709496518485,55.8482922569574,39.3780940959472,-0.0154578700237117,-0.0714862764285531,-1000.0,.CIRCULARARC.); +#182= IFCALIGNMENTVERTICALSEGMENT($,$,763.557781493212,76.6250733893689,36.9521538451958,-0.0714862764285531,0.00532083289209283,1000.0,.CIRCULARARC.); +#183= IFCALIGNMENTVERTICALSEGMENT($,$,840.182854882581,152.344654262115,34.4209169381877,0.00532083289209283,0.00532083289209283,$,.CONSTANTGRADIENT.); +#184= IFCALIGNMENTVERTICALSEGMENT($,$,992.527509144696,36.8173619984802,35.2315173854975,0.00532083289209283,0.0237361222562795,2000.0,.CIRCULARARC.); +#185= IFCALIGNMENTVERTICALSEGMENT($,$,1029.34487722718,52.5625639402238,35.7663724122683,0.0237361222562795,-0.0288451180418102,-1000.0,.CIRCULARARC.); +#186= IFCALIGNMENTVERTICALSEGMENT($,$,1081.90744116741,188.501540832592,35.6321941963812,-0.0288451180418207,-0.0288451180418207,$,.CONSTANTGRADIENT.); +#187= IFCALIGNMENTVERTICAL('3X$U5$NVT6K9Ko9bGmnTu2',$,'Testi',$,$,#19,#319); +#188= IFCALIGNMENTSEGMENT('26hB2BUmb2Veh74un0Xpfb',$,$,$,$,#19,#211,#170); +#189= IFCRELNESTS('0221xrOpX7n9rswbXSA$aN',$,$,$,#187,(#188,#190,#191,#192,#193,#194,#195,#196,#197,#198,#199,#200,#201,#202,#203,#204,#205)); +#190= IFCALIGNMENTSEGMENT('1eMXlD_EfCk9dPhHpP0rsu',$,$,$,$,#19,#218,#171); +#191= IFCALIGNMENTSEGMENT('147CHC9rT4p8XukwIN_JR3',$,$,$,$,#19,#224,#172); +#192= IFCALIGNMENTSEGMENT('1hojd2yvH5n8$dNLvVeYAr',$,$,$,$,#19,#231,#173); +#193= IFCALIGNMENTSEGMENT('3F09I6WPz6F9DZ0VSoaOCM',$,$,$,$,#19,#237,#174); +#194= IFCALIGNMENTSEGMENT('31QCTES6zA3fiZ4oJeZyb5',$,$,$,$,#19,#244,#175); +#195= IFCALIGNMENTSEGMENT('2A43wLJJjD3vkH$$FgJt_Y',$,$,$,$,#19,#250,#176); +#196= IFCALIGNMENTSEGMENT('3W2WokM2n7ghCxTiHp1bH0',$,$,$,$,#19,#257,#177); +#197= IFCALIGNMENTSEGMENT('25Cl1FkpD2v8EJErxkyuuN',$,$,$,$,#19,#263,#178); +#198= IFCALIGNMENTSEGMENT('1UgJmOR355CPy_gjJ3oLEV',$,$,$,$,#19,#270,#179); +#199= IFCALIGNMENTSEGMENT('0KetFY0jv3XAjvLuVVQEpz',$,$,$,$,#19,#276,#180); +#200= IFCALIGNMENTSEGMENT('2Y85$WNn98nOTLMVM_s_z5',$,$,$,$,#19,#283,#181); +#201= IFCALIGNMENTSEGMENT('2yAiFMqkrF4B9LRlwAqY_7',$,$,$,$,#19,#290,#182); +#202= IFCALIGNMENTSEGMENT('0nHVW1pGTEdvbPo9$0K2fd',$,$,$,$,#19,#296,#183); +#203= IFCALIGNMENTSEGMENT('0WmjnZ8LH1shpB8fjLvHEY',$,$,$,$,#19,#303,#184); +#204= IFCALIGNMENTSEGMENT('0t4c9fkL51CvLVKIaPJz8f',$,$,$,$,#19,#310,#185); +#205= IFCALIGNMENTSEGMENT('1i6Y5IqCXEsO45nyGwtUYB',$,$,$,$,#19,#316,#186); +#206= IFCCARTESIANPOINT((0.0,43.475329)); +#207= IFCDIRECTION((0.99997009,-0.00773387)); +#208= IFCAXIS2PLACEMENT2D(#206,#207); +#209= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#208,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(67.9686603222625),#78); +#210= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#209)); +#211= IFCPRODUCTDEFINITIONSHAPE($,$,(#210)); +#212= IFCCARTESIANPOINT((67.966628,42.949668)); +#213= IFCDIRECTION((0.99997009,-0.00773387)); +#214= IFCAXIS2PLACEMENT2D(#212,#213); +#215= IFCCIRCLE(#7,300.0); +#216= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#214,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0853344217592635),#215); +#217= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#216)); +#218= IFCPRODUCTDEFINITIONSHAPE($,$,(#217)); +#219= IFCCARTESIANPOINT((93.526688,41.660319)); +#220= IFCDIRECTION((0.99567226,-0.09293408)); +#221= IFCAXIS2PLACEMENT2D(#219,#220); +#222= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#221,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(20.4871949340886),#78); +#223= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#222)); +#224= IFCPRODUCTDEFINITIONSHAPE($,$,(#223)); +#225= IFCCARTESIANPOINT((113.92522,39.756361)); +#226= IFCDIRECTION((0.99567226,-0.09293408)); +#227= IFCAXIS2PLACEMENT2D(#225,#226); +#228= IFCCIRCLE(#7,300.0); +#229= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#227,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0724135116192724),#228); +#230= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#229)); +#231= IFCPRODUCTDEFINITIONSHAPE($,$,(#230)); +#232= IFCCARTESIANPOINT((135.609425,38.522031)); +#233= IFCDIRECTION((0.9997867,-0.02065339)); +#234= IFCAXIS2PLACEMENT2D(#232,#233); +#235= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#234,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(68.6403843501667),#78); +#236= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#235)); +#237= IFCPRODUCTDEFINITIONSHAPE($,$,(#236)); +#238= IFCCARTESIANPOINT((204.235168,37.104374)); +#239= IFCDIRECTION((0.9997867,-0.02065339)); +#240= IFCAXIS2PLACEMENT2D(#238,#239); +#241= IFCCIRCLE(#7,2000.0); +#242= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#240,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0284675131534649),#241); +#243= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#242)); +#244= IFCPRODUCTDEFINITIONSHAPE($,$,(#243)); +#245= IFCCARTESIANPOINT((261.167098,36.738804)); +#246= IFCDIRECTION((0.99996948,0.00781257)); +#247= IFCAXIS2PLACEMENT2D(#245,#246); +#248= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#247,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(46.4510932300219),#78); +#249= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#248)); +#250= IFCPRODUCTDEFINITIONSHAPE($,$,(#249)); +#251= IFCCARTESIANPOINT((307.616774,37.101706)); +#252= IFCDIRECTION((0.99996948,0.00781257)); +#253= IFCAXIS2PLACEMENT2D(#251,#252); +#254= IFCCIRCLE(#7,2500.0); +#255= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#253,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0407792657489707),#254); +#256= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#255)); +#257= IFCPRODUCTDEFINITIONSHAPE($,$,(#256)); +#258= IFCCARTESIANPOINT((409.517336,39.976297)); +#259= IFCDIRECTION((0.99881965,0.0485728)); +#260= IFCAXIS2PLACEMENT2D(#258,#259); +#261= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#260,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(30.6278066705866),#78); +#262= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#261)); +#263= IFCPRODUCTDEFINITIONSHAPE($,$,(#262)); +#264= IFCCARTESIANPOINT((440.108991,41.463975)); +#265= IFCDIRECTION((0.99881965,0.0485728)); +#266= IFCAXIS2PLACEMENT2D(#264,#265); +#267= IFCCIRCLE(#7,1000.0); +#268= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#266,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0640485569330326),#267); +#269= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#268)); +#270= IFCPRODUCTDEFINITIONSHAPE($,$,(#269)); +#271= IFCCARTESIANPOINT((504.137813,42.524879)); +#272= IFCDIRECTION((0.99988055,-0.01545602)); +#273= IFCAXIS2PLACEMENT2D(#271,#272); +#274= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#273,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(203.596003508907),#78); +#275= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#274)); +#276= IFCPRODUCTDEFINITIONSHAPE($,$,(#275)); +#277= IFCCARTESIANPOINT((707.709497,39.378094)); +#278= IFCDIRECTION((0.99988055,-0.01545602)); +#279= IFCAXIS2PLACEMENT2D(#277,#278); +#280= IFCCIRCLE(#7,1000.0); +#281= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#279,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0559082376282203),#280); +#282= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#281)); +#283= IFCPRODUCTDEFINITIONSHAPE($,$,(#282)); +#284= IFCCARTESIANPOINT((763.557781,36.952154)); +#285= IFCDIRECTION((0.99745461,-0.07130432)); +#286= IFCAXIS2PLACEMENT2D(#284,#285); +#287= IFCCIRCLE(#7,1000.0); +#288= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#286,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.076685659310769),#287); +#289= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#288)); +#290= IFCPRODUCTDEFINITIONSHAPE($,$,(#289)); +#291= IFCCARTESIANPOINT((840.182855,34.420917)); +#292= IFCDIRECTION((0.99998584,0.00532076)); +#293= IFCAXIS2PLACEMENT2D(#291,#292); +#294= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#293,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(152.346810781613),#78); +#295= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#294)); +#296= IFCPRODUCTDEFINITIONSHAPE($,$,(#295)); +#297= IFCCARTESIANPOINT((992.527509,35.231517)); +#298= IFCDIRECTION((0.99998584,0.00532076)); +#299= IFCAXIS2PLACEMENT2D(#297,#298); +#300= IFCCIRCLE(#7,2000.0); +#301= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#299,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.0184108834113241),#300); +#302= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#301)); +#303= IFCPRODUCTDEFINITIONSHAPE($,$,(#302)); +#304= IFCCARTESIANPOINT((1029.344877,35.766372)); +#305= IFCDIRECTION((0.99971842,0.02372944)); +#306= IFCAXIS2PLACEMENT2D(#304,#305); +#307= IFCCIRCLE(#7,1000.0); +#308= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#306,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0525687880190251),#307); +#309= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#308)); +#310= IFCPRODUCTDEFINITIONSHAPE($,$,(#309)); +#311= IFCCARTESIANPOINT((1081.907441,35.632194)); +#312= IFCDIRECTION((0.99958424,-0.02883313)); +#313= IFCAXIS2PLACEMENT2D(#311,#312); +#314= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#313,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(188.579945016814),#78); +#315= IFCSHAPEREPRESENTATION(#84,'Axis','Curve2D',(#314)); +#316= IFCPRODUCTDEFINITIONSHAPE($,$,(#315)); +#317= IFCGRADIENTCURVE((#209,#216,#222,#229,#235,#242,#248,#255,#261,#268,#274,#281,#288,#294,#301,#308,#314),.U.,#167,$); +#318= IFCSHAPEREPRESENTATION(#84,'Axis','Curve3D',(#317)); +#319= IFCPRODUCTDEFINITIONSHAPE($,$,(#318)); +#320= IFCSHAPEREPRESENTATION(#84,'Axis','Curve3D',(#317)); +#321= IFCPRODUCTDEFINITIONSHAPE($,$,(#320)); +#322= IFCPROPERTYSINGLEVALUE('state',$,IFCIDENTIFIER('proposed'),$); +#323= IFCPROPERTYSET('1GzoJm_T13fRi9EcDx2r9U',$,'landXML_Alignment',$,(#322)); +#324= IFCRELDEFINESBYPROPERTIES('0zJtMCYNrDHB6mAADvGL7b',$,$,$,(#20),#323); +#325= IFCPROJECTEDCRS('EPSG:3878',$,$,$,$,$,$); +#326= IFCMAPCONVERSION(#80,#325,0.0,0.0,0.0,$,$,$,$,$); +ENDSEC; + +END-ISO-10303-21; diff --git a/E1a-ARSE/ALIN04/Dataset/Testi_101_ml.xml b/E1a-ARSE/ALIN04/Dataset/Testi_101_ml.xml new file mode 100644 index 0000000..2aa38b0 --- /dev/null +++ b/E1a-ARSE/ALIN04/Dataset/Testi_101_ml.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 6654918.750471 24474600.283714 0.000000 + 6655045.152631 24474746.690778 0.000000 + + + 6655045.152631 24474746.690778 + 6655089.335669 24474792.677965 + 6655073.005000 24474778.951172 + + + 6655089.335669 24474792.677965 + 6655117.455754 24474812.454617 +
6655218.023713 24474639.578692
+
+ + 6655117.455754 24474812.454617 + 6655175.673937 24474838.485471 + 6655135.895942 24474823.181919 + + + 6655175.673937 24474838.485471 0.000000 + 6655195.597202 24474846.150430 0.000000 + + + 6655195.597202 24474846.150430 + 6655253.815386 24474872.181284 + 6655235.375197 24474861.453982 + + + 6655253.815386 24474872.181284 + 6655316.355174 24474929.316712 +
6655153.247426 24475045.057209
+
+ + 6655316.355174 24474929.316712 + 6655347.527472 24474984.951684 + 6655328.700888 24474946.714957 + + + 6655347.527472 24474984.951684 0.000000 + 6655432.482327 24475157.494701 0.000000 + + + 6655432.482327 24475157.494701 + 6655483.190771 24475222.220317 +
6655611.912094 24475069.149023
+
+ + 6655483.190771 24475222.220317 + 6655540.862461 24475302.781991 +
6655354.469449 24475375.291611
+
+ + 6655540.862461 24475302.781991 0.000000 + 6655562.129379 24475357.450667 0.000000 + + + 6655562.129379 24475357.450667 + 6655571.499388 24475470.909519 +
6655375.736367 24475429.960288
+
+ + 6655571.499388 24475470.909519 + 6655576.521331 24475572.007240 +
6655767.262409 24475511.858750
+
+ + 6655576.521331 24475572.007240 0.000000 + 6655585.179774 24475599.464635 0.000000 + +
+ + + 0.000000 43.475329 + 80.774181 42.850613 + 124.744967 38.746467 + 232.698531 36.516384 + 358.596365 37.500000 + 472.106409 43.020016 + 735.667559 38.945922 + 801.821767 34.216804 + 1010.938652 35.329480 + 1055.627923 36.390230 + 1270.408982 30.194845 + + + + + + +
+
+
diff --git a/E1a-ARSE/ALIN04/Dataset/Testi_ml_map.pdf b/E1a-ARSE/ALIN04/Dataset/Testi_ml_map.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a64cfde5bb3dfe2245119d1bd4b539eef130bdf7 GIT binary patch literal 383327 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 literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN04/Dataset/Testi_ml_profiles.pdf b/E1a-ARSE/ALIN04/Dataset/Testi_ml_profiles.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f9d0c572706f65ebb724758f34f4d08a9e6ed902 GIT binary patch literal 148510 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°=7B+1no4`dCHOmmtwqr1k+%2g;0nZ@mP}i~I z8F6^`(*9ouO=#!oqXNT1m2ac8|BNR4O{xL93gVzctqZSg!7}q3K1vG#SnQxpvlPVo ztvv2&ArYY}85DzQ*Ggbock;;78pBQcw`b3|s5^F=x7Vj_@U}&B+}45f2$GR35O!J) zIvaXJ-Sy)YRenAU;VrUtSXlC#6uQ`o5yKUaXoO_1puJLT8(ClU>{31$e#Lb0k%&&n zS!LJo+X-%k+>jU@ij@%q~oFPL6g$h)Fw&%XS;=^gNWeguXH*J zu&3L+gT43~SpG!yo)qO!$3SW1k{5Zalce~9E&+Dt104?+We6j6mz)s`V4AxR2xE z=w`^ooF39dKigE4oCP49+7m=y7<`+*H2zAbY$K9TYRI~2AY9Av=c>;t;D*F4Y02di z_MCnZLZUw4>AXexm5v82MccoYSuCJE@xsbgYZUvy@n@mN2QPok?a14waSvA4x_HyJ z*xwoEj{qNxR7j_ZTgnLvp9{26oH03lI{PicACRZpn=24?maN$x$9}Y_pl(i`WCcA_ zTBsoPvXc5Oilem9N1Jk9D1W+mLleQa1U`;O^o9_#h(QuxpGUfGDZH|@n6D}OKIo=e7iJPA=Ge}6=@WG#wYIFMd8t49 zSKiH@qbtSUJSTZIz4x{D#OY%J_S{?DGy7GRZia83OOx^Rr}j^`x_^6kh)}M6?Ie9_ zjyo5Xo*aXYd-FvwIN+ty=|2l3)hGoylf&doohz|_8i=QJn6&*popCeP`%|c9vDd); zjmazw$m!YUPQzVHj#K6j+a4AlyW}ozP`8|Ww z+Ubn8H4$>xx7)eg>u1LT&nRMrS(gNTEsWL~amX!%1IG@)?|eTX95ym&8_Td1`cM_k zh)h@^(tR-2j6f*qb$sV7d$Ax9O3`zH-8(ddVinic&yi{JzyU1DSG$HjBF16u#>{c? zg*skE4MGSVuV!uy*8}<_J%HYhB)1(PE49j^(bS{}!Fdq_tx=SK#Cc1i{0286SFcD> zrD0@((lturp49si>va#jmGo`v9q@3jM8hif!(?RcXz(Se&c74l|THJypI@1yaXax zbT7U!EiLl-jqhEsFQjjN=xEKjdt8+xiN_r8WF@GOXr=u08!fTjU3aif?#K3*$q&KS zP7+ORZGL|r=kyG~nrrh9N3Z`)TMD4!Du;4GY4E$>` z?Z0xynYE+;WNM!K4!^NiH3i@TRy6}-D1Yf{KpEQ>!T{WHziZS=FWuzjxm4@%?T zM?t%!vAm@BdcN!px5KKl-d0x6@15IDO7BnveixhEi28p2Sae}cNkL3sEqCt~(XfP; zitS@otNsXD$8U~fNPxhdkX1zc01?6>mRb464b>5WCYg}}B z$=bX;a~t~R>Y(;r)ZVaD;SJ3ExM>TtUX!DeRW)aZ(u{OS_HvMa1p~7CI)*0=r4zqv z3{%kAF%|saqxr2}f~T){4AW(Y$keou>rS@8+W4iHWJ4#*dxAQ1d*b`8?-iq}*l41u z=%nJKO>Cp!}8T(ecL5KMNP2~$W9F&w)o2FjFYrQa%{h9_nX3>_(q}ZiJxTVf%dy8pugd(t3~kdiIC~l_SXBw< z9n{Yym)32(E>kYj7`AU&Pt@8k*s-sQV}n-DRz$?LgLh6CzdY-dIek;}%h)nZ!BvoF z(c1i!e5uT6O|=S0`2D8zQb0+n3Ly7B^K6Tc&EnwtT0C^S@T1=|^AW9Nr%q@O9Rd3o)Jia6US!W(!)9)yJ;8 zz&fS=YolW_@7EpxB6HI(gW9O=+1E65S-<;49;D0km&o2kt@4uBLA>F+CcmLhNy8Qq zBi@6JwKg$TonPhZ#hpUMtAM#9KNM$B7HiaiuniSQgf2PwIJHzychRTtK@9D^O{yLgFh~Q^`f!ryZCZ@diUcxZGpMLq9Hpbmc z>x$MKC*AENNBUSV!J}Ny7@-JOCW# zY$YG=YglN@d1+FcLU?cWH-!*yLe5wx0{UShk>&lL`uQbvf^-2*-I^BTg`@djb4Fh^ zMY$qaR>DTf4Ub66>}-y;I_PWbo9|&-;{+4irG)7Mz)s&$(?WB>dD-a7-kJN8QUJ5r zSa;d4!nEV7OOsyHhatL;pLkNDFm>#X+>IZZ>z=MOzJ08+VxMQUzCSbBs$Uy=-%*m$ zI66xp$9c+Y(K&?1Gt-#6sqMAo-Kl?pd4)l(!E>)e9$@CWWO)8cvvtQb=WEsCr#7vu zVU;NNq_deilzYY1$(<%X$a(`SieCMngKo|>%(nCn9{x!BB+Se}Y*R9#aEE=PlbxR)?c0Uj;-b%rMq5rcI(owkrd+QFh61z8$-{ci0*cO z!OAA*+7>^4O=dI9XOFX-Tp`NQq_;jQuTHi~xJyj@s`B#I(&Vap?)i7d%Y%$WihT9N z1x5{1vO>R8*M-T&S1y{bWNq^ocW0$a5tYrfmX$}bZ*G3;RsW*-id~-B#T0s2-n-t| zy9hc&;#%B05OR%F&E^;W>@~h@5`Kn-??iNM2TeU&eE;G;T|esOLMCWQSF~>w&9F-d zYFIJXS#N};&xXO^%}qVFt}!qMMC#<>3N;2sPdv-cooGkXTHlPf%%{gvcXa-nilo(g zow$wI7MEz)ChzRj?vWb$Y3sS-6}38a6^q;)SP!F8=BdDFR^^3R2R#*dbJtyXH!po{ z7`)`JgySCw|CGJq#rDXS@o$q6{j#E9xSozzM7a`!^gh_C%1!REcYN+4nKI4`#nAe2 zE{f}5vos>J9or~aOf0pL)Q88 zM1Zl>^XJXNxu$QWv%htdUb+d#=f?r~$7r?B1); zL``yOdPlR-fWEI1Qz+hKLkp|6{97|G53w_nB@Kjv{s8Jh<+AuAJ~EXim|=Hes0ksUc1e`OT(IW}RA8or0AEC7paEV@8waWyC%hn! zCK%4j7i^mo-VFDdtOFAuR#jtGS}PFxKJp3ahNtuEZ=`0r#w`6doLEk8`^6Vh{wZ|C zMugB^Y{SvJaNLroRuqEF8J_i>GoLEnPn{i5(_*o&LosU^rsdzf0CV={Wp;mGNK#=y z*=1o=eQ{pV5xDTU9-O->Z`SaFxIWHJ9dwHB9rMxkij?Yx>M}IGF=+mFY(8yDaj|Vu za}jsa%ufwEhuqx#eW3pGJCTLjmzt}&)p~a@!z&pxzAvG$6(aio@CP!Aw(@SBBxm1d zgW^8BFH`n5xQxE$er?5kM_F(Lg4BA_kTuf5NDT;IL41!KR)~cEPne}0Ba)eTrbaA7 zX*25)iQ>J9w9DIWJ*|j1Hz(oHMDCr2?SUfW@9s*R+UQ3FKH}$`T|_iy*NA@5+v1&} zVGy|#Uz6Nbj(%8CZ^(aF$#oE0R=#W3WJ+#(T;SQJ)bVbWHJ#CW6H(nvH#pX+Q(o83 z-}q5BZTlh#@P4oIJMa^k!kPuu$H(46vizoL{_3~-ik>HyXW2U5Ya|o!(cW4cux{J8 z7JgYlkavx9>_;YY=ttH%XmFoJa-$az;;cqc85d<25(=%W%i(TGKM2(0)yfa@8lQYD zeLg)__3bgw3lG5rq&?HY*Ygh7L?QAJHv_~MJL426R>7?W9-%N{8ygL+MfgIp%8 z>UaHxbhVBexxR%Mo@&Te`8}X0e>+gf|BFYak1A|y#~e5&fMU1w7jxIS{D$|_--fK9 zA@0RC)Xn0x;i=Ew60>8rR6dO5+Y+L%o~+eLI+{ZG6XxKKluIJwk?k3)q2;5*Ac`E{M|(Ikz&%-nlqK2 z6+rCwmOq_LY?DWwn=4rauKCQN*&b>S@=A~DEE&A|YO_UPGR=ZdGD7yZ{83G5n;S?3XnqPZ1=BMaO8vczm3dov22de51w zxMWXe*;SiKU1lHT?CCkDS>4V(>wBjDo0QJf$K=JGvdfD<_x!XT>6JJ0;U8H9&v#rA zeV%)d;5Gywau9I|5Q`d%>H5G2JA-9qzU+0W` z1--R>Lva};SREo5bXXf9A93$bb}|aONl#f;ZRCJcJz423tQMYZDuz8Zn}a&!zS*+j zzoIA24jNhCI}hfqqD$m;rBmdtFQuuUv_DKmv%M*|%vn~wx~H|Zvj|k=@n|Gj+`W#6 zy^1;d!n+A4u?^z2rB|e>SCL}zcE+}qHjX=A2&Hhf_~~ZxQ*mnh3vb6~-aA{a<%uuj z;@jkluPTez__&>0kK%pgZ2HUn)~1#?pSRi{aQX@FSCu(kbL>|sv^I{fCsoCDNLTzR zGOG?7&t5@WY{)*T`O;6p{U`sPxADMSNKv^_nse8`lNBHfZ)^>Y) zI!f=w*wjapsgiew_Y^13Z-S`oqG8(i?YI+v-$N3u7&)?Iz`T3x85*3 zJXV$bKgQlNsE(*v7v8Y3guupv2Z!Jg+}U{05Zv9}-8E=%cXzj78+UhicXzqG=brDL z`{%2=KUP)G)S8~@r`N3N)zxCbkL6GSzka9^rS!f!6fLDWir9xl8+##m0)!TIFo6&zS#r(cN{mM}r0R+-KHYT1NF&Ks{o;uEI znHyHtNVLhirz&iD?K#IpAmNjjtN@W1-AGdDekAP#IWn2)9{+*1C#%t%9r+y+YUu5k zui3*OUQmz0-_{WE4Z3~}eWTqpY8Dr|eriQ>VW{nwCv@xiv4PRgAB?^|AEg0nCei$H zGOm5Up4(P2C!dZJY}SvZ=#ViT*2ZRu!@~B@e(ceD*RJ)$&D{zfElCMt+zp zje&S5dZv1K&+y$%L9ph3pdSoJD40**xt7A2QgDNQKd2qU#mUYMN)i3|NFl)0nGt3a z)2n(2AHA%IT@#x4MdHsPpK0^qt3A{=nA$fG5DJ9U2$ph(&nDf2j9Tl`r0EbBoI+y^ zOjyN(k>S&ldDGvW%yhEW(cdt$R)vi;)1qaN>iE!$xTE7goa+Z2qH)O>5au3RPbpaf zT;I>-iIC^zH?Olz6x%o;vgzoJ-<}F zU#J&nSe$&bpBQTOfcHlJ^=rlU{Q*v##x=bt(~A^$sRg{Hm#XLPO8$D@QuH@?eW45~ zCEu96kYCH{ywdy6wXjp!k~d@!Wzu7AqV^ZpW!<_*;-qX)qrFzmYQsWf92?vCrM;|B zrgOkpU_^{2%P6RRirTy4jQ=IVMx!WWUBjp5%e z^>2YVj@)(u*pRb63k<-5oiU!iQMo$Bj9ZYT!`Ds^T} zK;^v}u_8HoM%zpS&f?4nkg;8}awatIv3LpGzx#}J%ML$`SX=^Adjk)RQ?Bu%7PQIk z;6vo43H-19VfJESp5Q-mYx)PU+DC!QU%x{_9}PM#$ptpvB(x4}1t9zU%edr#{@hakq~!jvzX z+d^(9^5Rdgo%LGcPi}0^2lhU9emeSmu-6TLj%p7Va!Vdw;@TR%V^Hp4G}3^In>Np??(wg`HAAor zHVh%JSm)NZm6xo%-oC$!7`=Aik^U6`Yr;m`t3G=C`mK<8esRB{Ki4PsW|^BU-lMvE z{@-rtB8x#W1PlAMydjUG$u}QqUHUsgf&ZDgj>bLLkTH+GS06L)(aRoreuYg;0vjWF z6t1v3ljLK3mgwyKQ9=%CUV;fPSF*2w>IK9)WmBK6MIX30X}pC@ zv-(z~g{CPRkBec+TYJFB&q2XkOYqHL0aBgwj4{VNd?x5KSu9PlRJd$HnN&DJzk#7% z0JV2q2yy4}@yvCk$~%g!ir zu29J3xrZFL?D20CxM9n7eTl$6pYBX~B(F(XIVkM1oh=zhtkjMszS%7~ZoEI2X$43( zzgYPpxxR;ROQqdSnJ`@q9wnw6iygCk(!iBWGfsTgD4^%>2QhtYv20xjB@^t%uegaA zzl6N>-Dq5(Hh&W3IXfX7@@5jN;$iDO18?4n3o`ni!gW0nlA}))M@x{ARPeG)&DkAN ze1c+URZgt{7Z1e367kO(H2(C*!5j91o_lgW=i zbqgA`_wdjDfx0A4Xw(MkdzIXdpX`FOHJ)wmp@!fI;gybh;z+U-X}B3P+0+t@CJ}Vp<7?hLM!H7#uH=4Ga?M>aTsziHn2?Bj zxVIIs9%)*^#ToP%DQ~&9eM;j!KmMR^VF=L|HS!PZ&O_{f>|E7Hm%ehIpgx8{;vLKT zJ`*o}ztvP)ArDh|$0=X&F(_pDXU{zQ&fL!|mVP`LE=hss*2*Z%jo64jhNX^Ii7N*S zWBY6P9gYliHg2X_CUZW;ac{8x<Sue1I>`2AAhsb=l#zj9}Ejp59gM8~nfHh4U- zA|Y$SVC=`XK1n@7Ql#+P;<;r>>vhbgLnp|M4B)uA)N}MYiX#=yrcgmW^Ak5v8e?tq z#CfoFRydHA?WckY?~X~RjLw-na`XN$V9~|I2tvMo`^LKR z!26%M`!yJJZXO-<7vWpD=jZN5-*$UNrapqX%DuTmTaFmv+Ue$(DgIg=(s+-LKZu!4 z6Vy7vY|YGqA^u9L-%S?!pO?9zwI%mn?{-uGqUz)#q!FqX(|+V8(3T!0 zw{NC8JCx=UM{=@N=m)Rz(h{x^kVsn?nN7|!ydqs1absXD4T;~cLGCay4!qmc`{!_w z>P|FiemFYX%mT>>n#z6Q(%S^`WRmpxYmS%C8vksbWhJNq!2w84_zCm4oS@Msq0GK; z!eP5`r|p}R&pmWSgVtIt3+>}W-=A~RYrm*n1^*ta4xxNgU}PS+-l>gw)7R{`N&~^o z1dH@+3XMwkH#^f~S?#l0FSM*SHNGz!aM-ez$H1G%Vz$a(Kzr{Lt<&klC*<#?rdgT0 z3DS^J5h_uK%}*}`hs{UpHdRNoy|&@jjhf1m%l9|E z-PbL*_xHKG8C;v~d)Cfr3#$~6`{Hgxxb?FmYxm}bskcW>K1Z^p7t6GTTItuba}N72 zyUY!D&1-(u6@*^jpRT8SRjg|t-=p%(TOs$$^}P5w5EL$QZk{zPoqK3~&yvwsQzC?T zy8iPM+cRe}UAF<$Akcb|sDy7;Wv9lpm3ASWcA7zm|6-aopTj>%{u8}*9hXjLa@j!w zTo8&aGKg`gQ0*oT$>hre`u7ed+xk1ptntRfWz?t{Q|K@Kv)Dy=fWRd_FhOt~wgbd& zV%x9pE8?;a^!##Dw@lMAFF(*OAanFOHL-f#%pQV-aA~pB5&RivLmbHl)nIQkbl?>~ z%cGQdM{CV974Bn?t#Ed1`_Jb2T};^#-ZWqmxWbU(Dk0x(J;*a(`l;@!c&^shF;bhEK>9%gHk9FlvnGVH5QSn0WlTvHRYrkv%+rd%n1aobFb!zeGGb+s`E{irSZpf7WH)-PGAwt?x7x?N;W11x#iBZ<%c*Xq`YZfhu4#U@yE+vmr<#Mr8cfTj+xVzZWgT~?nfGf zGWeUv+(k8NGinRG&YeW5b6*VdxT4~I$*1MqaQ{^XT@bX+O$>hLU+kA;TT71v*;FIAp54xGCcq@j@i;bV#*lg}Jkm$JZkrwu3)Gc06W(M`YIB=d%FJ0!b&heFp zY`89{3BeZ*?|5&Qz>Mw}rXZ{DdKKGqCmnX!cFoRxaz@LO%WJfib@RQ-n8R)andtNg zrNC_PDPP-|bO7@YOTDdZbMU8cc`U^PUhRK3~ZMmpVxUI z#h8d$zMnIoK$pz8mD4KDvpL<+WJE1WoHk&q@A3+rla|Z+xz{L5k{+*j*`UsQO6hE@ ztB;p=301~bNv7>z2DH~Vh0^0`aCv6I@S8(Q$7^S>Z^M;9_Fs@)t>^!@*r8B=l>V0y zUjI+VPmX?_emk%>I5bVNgCXtxa}@;oq!RE<)A0tO={UMdO+$duG$mYt`oW94 zkCXw*Ahncug~bYj;eiX0Op)(AhrLlFEj>&Q#hZ|=J-qFU88K_~#KnFK%6d4S{sq0O zF5Nu{SGQ1O3blBs$=6M_?%PhegHP28mWd(6Na0%$j1cCU5z)S9=w}UWACn9`IBr#N z0o=S@!ValNDBD>9ri)VhSUya}kAn&SEQ{`9#}236BXp+g=w^{G^Mvr`H%DlE}m@qXNuHu#NgYJK}yO?Qh}W2j16= zw@2P9y8UZ+to3NVa;@iA&HdtBpXxU@w>6oYY?RoKhDQd4j_r4>1fx&8*Da#f4qtBA>0`%M$=qb#~6~*uIXTO^P?ANC6Sg zi6_TO{{H2{dP=kgBrq-wB`XJr{z9VZxuTDySlGH0zFO>#brJ>z$?;GDUE`Pm^~pa?l_5QQSXUB z+0&PPxT4fiM7~nyu#Nu}yF<~(Y$wGA*p%69>K-~#3>CC()_ypcmpL?2W<~02`ET53 z;4MvPHAfcu-grgQiR^DGnw{Nj`Nk2EK*iCKRMyS5Lw0z_qBzpXFV?=(O>EMj*pAn1 z=x)w~*}JhasC$L}XGPLD&pr3R5~D~Z2dKFLmr@0!0{`$~y%K_v$$>v}^5%GV6=v-PZ>UrX+v zWX$#x0CQ)_#t{OZLm7Qyj~<5Fx=X1NudzOBUM)*8(nArzw7z>a1|`5hwE4>S>;5h) zT8niei>ZRYL4>n(H8fBI6!WLDPe}BS1Ud*Pz{qkmx>dHX-ew>`+rVVEI$9Xvr~UjCR$&BxXP!4 zm5B0Fi2e&`V%CA)h^A-pn2GUTsTKVPL$}c^*hy^p+>&JlAw-B!F2^Aff4qRHylmx@|SZrI~oUO+)It=7e#l01-F`KBFBc_>deN}CWsO(L z05=0qbN%lzNsU=Dh3|u%sT%48L>I-WaAcLo1yF4S{WhO}Q?k$69GEJg7oR~BJvy21z3jZB#g3O$ zM|bKeS-KS&#NOJA7s)&>)#{E==$9qEKdx>$?>evi5U4E(AWliyckT&_`ON(M^>?a? z7_y|~89{9@=q;v%Q$KeBaU_1z?FSX<8O5MIlhEd({Ma}90DFv53*_0vx{S`*U#Umt zN9s$N(Zx~ZT*e#{)hY!qI9T>SwvU`mLCMuacY1evuY8b4?+C7~QXI-t@=oS>;ofc4 zI;s@PnT45}B;u6J^(VHS*=u!urJG5r5WWzl=AzslS~UWDnkw(jM(8*5U@x~2>v{-% zPL&xf-Rhn6q;9X)hLe(ua{7D!>D$a(qt%-Fh59*N-GdTLgxgWksQMr({ZSN5_BFSh zueoDcPS0m9`tqD24K-65K{6h-!98b#(zyFKQl#xh7yaJSXWpJlnlAaXY)(x@9BNjE zaSJ|uf}HND-~gi}tp-oJ%+^=QoOMiN2SP9dFDKeyKc8swiHExcHFq+fsBIs zMU*2*u8OAVrlV0JCJdGxBu_YXJ}p!AOkoz3&_glOi#+QRtGw}8{)9XJCqTw!=9Dq} zq@@0x*0H|wDK>n$guffAJ~Ws-11<5BC(EAVu&H+l@=T&d*_LIE@x-9p80~_l_05Y6M3teRn2#nt z`b?Jg0dIDqT*xV|1f$yH22eKYwHpifD&y|1%)(g9DD$v zVoaArWTNCVmy>{u&a&yTgO&?Gf-EvtEQD5Oj6Gci8I`;kl$EcqW?im&9a&RI%+a-w z+j_rIdoL->OSUqrI?C_~TdjqmpdD!Pj|=pe&$?fCkoeHCxKK$BE+xzACWcB6%>EN& z%_<%ZgJIC#l(N^~9lcSh41GP)rP%`?bwsb$xikGQEFg&4rWQB-Q(F-ssd7)1Xm%0d zRo;N|LpWE$7-Ag5gqC>rgz)nYQlbif$nkJA#!zpDho}1_Qv)2t68H)XK+|!(FgZJw zy7&f{827VPxjb*s)yH%0&K`d~7-TawGPj^UVD3=+&t-UZ-`@@ROX6lqb`^r!^}h0V(Ids}8CdP@4sx*Trq z!a7ARImHF0U~WYs`uZk;614qH_yxd^&InGrM2{xa z9+8vv1v?4+a)J(WIi{7HSIg7L_}Mf>E%hX?ble}%3 z&tZw>UwQM5rfKxv$GRwqlb!5IPNIBTI8mK`hGQK#A1OlJ{Q8u~MC6xbwUmrzc`AkU zL#1bjK~|fD?a&e7oTRsibKC<|VfJ$Yt?+)@)Ec^@kOmfpDetGeSzn#`5vspo&kVaT z7>7mLTxd*Kl(-D_oV{+Y9WZbhx47^S=2Y94p_r%4I%nF095$G9SZw1j<4*q-QeBN< zDViRUPdgbwCT~c^;6fpsNS#jJO5tP01#a)~5JO22EnWO*t8IcOVfn@gn{JiP5j8Ji zSk-bFjacVPtyz}K$P0c2a2XK?9Oc_b)M5vdPX(tnotV1jG&_p_3%c`YA-%3{b$ zk!lt{X+WH+C)4U>KAOJkc{%N~f$! z>an+IBhJmNYO|(qBqWL=HBi(j49*S4i!u!y4qre5f~j1EJ+ULg?`B$1@BVQm#;`Ht zr<*s*n^ekPH^?XV!%nY_VG@!q$_%I^<|w+#r^*{tptv-dmaj&>K&UUO1(CsKWYVt>A)?Cpg4Y4Z^zJoabnt#bn@6Y^~}Tn z(QvRir`U0-Fw%JTXeBylg+}J&U05neLdy{zM zS8dXQfL{PF9h2KeTXx4G;Y8Zw1@%QA_3uE?R-Ud!W6Fbx;t`biT2ovN-(s`Yi;AQh zQ9NfZ>wFDgAg>tRZ7|wA#?4W&6PQf6cZ3l!Df=mu&lLa=$bH^#kRqYW=Hh-MisW2k}9{h zaJLD`bB;eY+a`ZssvC_`Z2j5yJci2=3h_G30H7t1VGqr*N^Mv*;y=XF&FgikZOeJ0c-s)}eY>Xqsp9pujl2a4 zhXkmccVlxZFrwuvU#Z8MH7RSBBkxF7HY44_t%Qg%Cmm{$JHtyzS8jb2o!HZIbDNRY zU{nQZqVfm8@^vS=+_-6V9{gDW1)Wo%zUdXIuS%E_AL4NAB(vQ! z8*CLSgEJp~BI7y0siSF?KV1O9<6qj5V1~s0?PfA2PQ<*r_MK@lwz#SapItA!`$4Y> zJ>{&WztYZtjO}UGhfEf7XfW~37^9-b8sECYlJf_@@~gAIi2e}Ebf6OJ!OH$?MEjJuQ&+tw_-V{e&wgJi+(E{YJABCz;`dtfs@QPq%)rgJodD;E<@J!c zZqn{!9S&z+wTY$=qX)QDNlU1xaCB0YE6zQ_l(*$eme0lgWTLjY`oMa*;fw$EgemV8 z^oBnq`3hd0co7UYY@%q%HimuA7&A3-C_mi$?Ho*|pZ4Jr8oe;TP<8rJvAKvuDB$3k zeFa1lW%K5deTAC*90zV@9j809<-_=!Exd;0${VEQLr0>YHA8T!%n#6TGN5sT_OSH&MpW^rlaCwbPO0>jCLG|jyav(Ty*Ob` z8Es`NdP}R>#}FgFM7U|ipr_yNf3Je~lel?9`1_oH7T51!cig%Ym4I^gE8?4O&OGbg zsO#TzXLbcWP?8H^iH|*u1*$@l@XwmM;1jZ@eom&Ud4}D5o0@%Ucw~f7$U7=fT6K7?lU|HJbrJ zW1<5Uu!_FMw5c2y$`3x!P4#ja1$Q^^7xAE#k%cW+A?n<3v%|WCF?!$ zGQ6lNkxZ4cCOp>$jy4p|Q{S{Ckj3-cLM^6o%(6X;N$<6f%!asazSZ}@Q;oGbBElPAvPAmI;BwwzA`OsssL%l8 zE7;bwiFgY6zNanmSUO$(nYSqso^yktS;xNu)PE2$Np|P+!(6OH2#Bou zU6AA*N|>DCCbYVo`-2Ne9llu+5g`2g^*L1X@1Di5H<79Q&+DeSIV%f{YPk5blqt#2 zkIWSUBtOuSHK*qs)RMoZvbxBqH~#Mn#BU+dsx7vlVXl~AviNk_qptSwa#zw= z(;BGZUIMGGyKx)S`^0DLt_gCL8lmHVmgBB5L8h!k11C2Mpq|16m|h56M0b(5^tq^5MAz<#E|i{!V!VtAx5&*^)wG>my7^rU7uMu z#=41e>_xB;=`U$)ADFK~w`|U`Y49SwHTQ{vF_;V`M619IlWHK zJ9BiP8%ws;DOxEIXXYi_{_o*#d&CxFj?x}aCV3S-?WHhQEJ50rr;j!zCxSUWB$Cz- zfUaHqNJ=}zq;7IMDQ6%%!R09U9nfqUoGtkqc=kP~{Cv|_DZgHnGV$VI1?Z|h04E-q zBe&}tF+eL#zc6C-X&&v_iy!O~y^;0`sP^AdNA>Ju?_D2&g6>p8Xzfd(T4KZ<&N(1~ zBohTxOMrb7#5q)&JwyuBN%^uVN-13xnC;}GaqZQ1BCI-PyW$|6?0oLR4_kypt=wt5 zRXyp$cQv$^T{>9U#RCirpK>J;-Zi5zMIw_JvQ`v4(8uW-uF)|6g|&4&05-qM^N`z- z(PYTG8e&cn#y5qnG>XwxV(WDVAu2?)B0Eq=LRx&Y(SDMHB+oVpi9}CFByK;aUkHXO z28Oo~c|@4^c~%cAx>9cIT>vI;dSi%LzM4G&1K@iDcZ%JtZAW3$0KH(cpy2INjg#NE z1VlI3`;#TMmrd!8%!2!3TtB$l{DsnVOM~*%m8i_{1F*EP#!cH`eC`wp>EG)c)aAL9 zOSxG`_RTvJ+%O<%tMz@l&U7~r+=hbQ`f(s-dv&T(1&W3;!G?gHG^UQ?Pr?_&&{jRn zgm?I&%ZSU6_<9#9C6X?4z-WgHfPHlaMDj0a3Q{13f@mZCOFXFoi#>Gn0yEvMK_99@ zT&4^c@r`9-7R*|ellRXzxYDux3z5Z=xm$x!!hr%cQBimNHju}xZ)-1Spxh|p6pn=U z1WYi4y}hL<4WNb!Tzux9$Xc(dDz&w4pgl389TkBIh5xe=zi65ik9A)Jbpk?py%;H? zWPCK`ifl5L*a~oe`pAy?rmhn5YYTn(bCr8G*AHwFRN{2o_^HHS-fgNxUX?y>qb`0r->aB z68IzCm@gbL?0FBKGG`fS;wW1k@$nk)CR+Z3|5VA`Mvq1faZH+!t*Y0&5B3=p^t#u3)CN>#@u$)PUH;X%q(1@lR1_BHM6^IGPKV4BE>{--l)TEs zS9OitZ&J_g?H$GvT*vSjL31Fc>goyIUCeXkdAn&Ly{Ox30G*GXjxgZiBl6BSDmM}G zDNbrPKRcqyA~^v6aHZ;@+Mm zE6Li96!Xg~7u&*TKuqq5k)`QqbsBop7Z}vv21|0GLl!=)`(7k2b&l-~D)z%Z5?^4J zI1$xTQKuk*h#T3Rb8$q`YDuWb<=w4UQOZa+3&-@5p*;GO$aSmnZ%R%lfaNF|k0JK^TemjR zh*LN+=-RoYw@pOc(+gzoyq(fpY>>&dBp*grKIxzj{~#9!VU~w*kSXvM4k?5s z$^y3Y4<2MLCf1V5={C2m^<-?HT_efwY2e&{?#FTSI@C;e7^KSp&$&+j6fTp?qhVI4 zb-|-f_}j{J+~k{*xw?rV7>dur_(M}i7V?oS>AguO z2Y=gY9Oo~Cqm$p@vQs*S-?pca2WI{ z>?=nqYxYHn`h;Dj{y`p2oE7ZS>+TgCv?oYs;$AZ<$h97FK zf0c6Me-)Ou);QNaNwlNRpBQK1$MSSaKc!wCs`2AD!}XKxEQ4PKuXsBi6sDD;X5AhY zrbBwW1+bV=TO8U?6bh+ocbnE`IXKj^2`QHbO)WpZg@=xv$Z|p-5AESkr*8cpnf+U8 zeo~e>5aaqsP^}i20vTDe&%x_C*#b7)?I@`ye;{eeI|YIoR-OAdpIM&W2I6)O7V9!# zOu*QOnW2IfL6wsm#Fdon^Y~V=7`&Z`9nxkHka|b8xMbIA^0o2DBVD++c{XOmDxb6% zAgVjp*3n_^E&;6DkF5?3tD`k=jGVxCX;wKRZk2UOh1IXiOK5$($ii zk7rmo)l2|JE5`dnx}rBKoot+7Twy9Uj%G@!AviF)Z|dXKY$A*F$64o{%GD?K5O~nh zDVSLkN84~Tm^@g^8vq@n*B9Ah0m-n%)M$53l_ULwd=IFeRx8e|7NZw*=JhGbwv{%8 zYKMz6mM+<3=F(nvn8wks1sFG7WO#MSyeY*JoX;HaG0*}h0W3c|$cZ%@m>0Ei>zNmW zQ+t-ul9e9V^H{A{1v{yxw;d;zXp_l|Ho6=@^TpaA}H4s+1dM|-D z#|!AnWP0lw82n&b;~J0n{1%1v-(^iuOZTTSO_BF)L!r-^5i|qWu1QaqI4*z)pJQgh z`UREdt=m(0mHrNDP?BfzpXT~;vr9e$ZHiWc)^9okH=jS(#2TB2G6W2Z08W7>Fv;qC z^vLu9={w^jS$ff^=BUJ#13NVhrYJ%2yQzDDg2M!~s*pc?N_FeILnLpk)sWE0&#rv4 zot~)UTw6C>a-IFhDnaB#Z2G_+g{SkS1akQ1)d)Mgc= z*j?G5OTaw+w8jNbNL1p;-ljc0*`8-WtgyQhGv(b+It`NjJNZlgI-v(_>A#}vPM7lB z#is@(=#pthtZNyyGNo&2y2Add0U$POeYc>h)Bl%Z5!Fpzvr6*VfIJ1vZr+9($Gs@p zT5bgo9Q$IgEPZw{k>BB~6?Fz?6J(l6f>}`#e`3->v2w};g;yBZm#NxiNCy!LW@_7FYmMVqKHi+z|U$H zDWKVp+iQ`R!`6j^3**`AY?8-MNTsl)RQ^OUw7m`ibPLEvLlHWH5^ULxkO!0`fKdWO zN*}lwi1zHw{ZS{zv*eXyn`6jveUq(CU_^DLHiZUX?nujH=V3&k{$c)V4khvO^m#0% zz%>|rXkgpp_T%K&4~uVgQPRY?u|N$uhYFyQlxOetTZD57|#~6`s#f zdZU*HKeR5zo*1U0w7H(H5b}m1j2!JIhiY9NuUxh2y-NcFb`Rfyl#M`~&PoKvj|!?R zXOmbAq@^!oAlG~u3Xyoq+qm$%$a2$~AW1>0K^aHej<23=g8VMNDomWRR|4b{6feDQSb^joHLMBYrJji+XazfdZC(7A0CiHvg3Bxe)PRo~V8Jr{sAxv0 z4(CvHei7qyPrmDMRZf>_jcam@Hs?i~l=oDq1uWlWw4hc1YIURKriR}>Oe9A*+{-`y zLI8))tfW+`*GEfuKo{k0I(4;3E)Q!gP-^KFn4wkLOnC3Ht}n$Nh!TxeA=T};9=%$RP|ITijZ1)Us^bUJYX~xm=FDKs5l`L+GAu24ty`rlr{`fHUJ3pi5t4 zT}E=2av_NrGn3?K;+G7xV}i~+`NTMo`cV+0F`n;Ma%|^t*V)`9c{0z*FhkWDmdbpv z^V}^?(F^EFdb(!jx}ucYWrn1}u+5RSf3~=f*_YDSN{+GF7z)SkE0DS5hwNaK(OqH$ zVq!^2m0YRosCd>!&@Di7eZnCv8*5Ds>O?ziU$=gsthe+Z?$|Jt2H=NkE6NulSuoGn z^oNl3Yk+*ZjL$}6pOS18#z&j?%a{5KNkp(2&1=AOjFt`{Tp^4Aj9>FQiY?}n=z?40 zf~3~Hc|rTdb$WM%ihh=)Oo8r-zay5`2b|3)tNDt`LFH4_mxehAT>HxlW|77Y!F~G; z>WITwy;HnO#CjxDKwwyJZ6xc_5mEYzQ~8HTH7t_BrGAdY{p(pa)D6IdNNc`KFZ8Hq zD_~`_^8!lm$5(c`S>S!W8X3MzvO<^)t<3DV#1_!RmjGxLT;S|wev*~IqGPUOf~@*n z8=4Dl(rv-%1@2)jH$JjN&%qV$G+QSpJsm@&{%~sc)k!^2x27#B>s6~aChZv1mu`-14 z2xpEln4B>5`{|XJEXJ#4eG}afFh9~vRdKm`VH#i$9-Ep9K;i*S+-oELh3Lt*^hlZ? zPHzT_YpT{GBL>l{v_@Oog7yKRg^*nm7&%(8g)$&ihD&mIArSEp7WQ5K!+0)G^zMFB zYXM$0LeK!f2LN8)<7Sh}TA?De? zO?R9w-@xn*tuW(kC?1FI@9$88vvdVTXQNhkPh7%l!|MSk%~HQV1tTV_I4TAux&w}Z z0eevc($(Z7=W2`<_@w<~I*hoy2Vi3LO+=-uK5s0>so!5H4w`=8+!;OKUl`iogj ztf_oc=k_RiI+*vKAnmX7=2uxqfI3WxS418rTfHzZpKLTBx0(>1#U+WgN`hW9R&GV9o=X;U8zq8}hc%6@|%f65iw&_nF1HH|<8;A(?4V;_5fg z<5F_*n7p)NXQsFbv4?;9bIXj~vevyR((T45<%eCJQ~p$8e#1zN_ACmSom(>=__b(+ zE3j{TM$J1!oG7ahAVR42_GW#hwyM3=W?GSx6U(3M!qfQ|p8Yr5TAJu@wt~(NW}SZD zf06dd6j`~{2;6u@XGzqZknwC5Fb#o=tl~Z8bVXDLSAKm6Qm(ju!~Hv2Se5-l#8o@o zysc1Pds>lRf!@;^0c2{?NAdZuhGgh8LxrLyY-?n%=!30U5;|+HKb;v}?A>4Am>ZQ{ zjb>4!e>EC4MgPkr{AcRmHJTxu)frcpL|s{=CfSwb8zw!) z<2|8kpVgIjGOL>{8uMfghkk-_Jf(#CKPGqG^PeE6Yc%ct)#6}0gI`%r6FM9 z6t0>8#vjDSUhm0D$ilTG)sH!&>)r)vz{z1!V%c>iyM?vQx2V~K3}XkI}sQPHw_CXt+GryuS>bU!z^g2A^(h9 zxI|fDzGp5b@Q|yGu588r`E=r;G8cyWF2dCQr2kYN{T1~!wTNLzN-`+iL`s}L3mctD z1r7e&PlvEE{_EH3?%k;Jps$nWYyS&SK(D{AREsjBDw_Pv6A0cptJ6EUdix`X;QbZ* zR>PEgwolf_X`~~Rgz7{T72%s&F)Gf_lK7FCa3U#h^U&PwB@i#~5AoK0 zzZ3E^i6Kf%@vxSci{|^A;4sR(w~J5yMZQCF7v9+-c*CMUb0IqCVpe2*T#WylCvhPp zGQTPj0Jih1!t^KiD!94qXMRQGg1Ll1EO82oiuH{!8D+*>t8usarR44(nej7CBg$Ly zGVun2%29ESGr`Ibd%tt~P4Cz@Tz*DETGvbSwl`5R!5{-gDyj1zUiI>kXb`YE2pnZM zQ7Ws;2qLM}*5fKfx6JR@7(|sn5=!d1KiS=)BGEhdt%}a!c)LuZGhCW}|4c*~Wn%j^ z7?|@?E|(F7vxCsjG?hOa5vPX(;!_a~@L+z6A7U)O|IBDfD9yQD5i&5!pV==$`5tpvi{3Ol#QHwCm4oV2MqJ>vvW&!) zyQs{JZ%!#@eZKpVm$SUQ7Zq#u?h+O2{?0i1VLX2L{b$xr=KGAqX*ZiH&g-BWWl{x} zQd$2@@L5(nEk?z)KIrURt12T#MI?Xx{byoO#9X3N@AqW#XVTDqzKV*F!7UQ>bT^k( z7)n$8GruS~JeRq$nhYY|&)lPg*3AW2N%y%J)_mI){UhPw{ zT{$Q_JLKrnF=e0! z@>(s*nEpbWuzk*4W5L6*KU1oLofV+buS|pb`_FW%pn7LT0{3cn9G%FyJ}8b(;9jXD zj%d2PPdlXPl4ds01DEyY(IxShG`c}#=hd@6=C#wG4nNCwoIwy0Q@XDoLXf=3tJ9z2 z{Ji}!>pD;k)WSne3~Ngp_m51m{{%Q+YW_?dtAJ;Cy+=g}iZJi|{%?}XDyD7<1N6Pn zIHICt;!H+G-=kf5KMA}Lyj`3e_`d1 zGKs;FtcX!A%%;Ep%-l@%G1Dhhks_25hGsO@ZH=}{)kn%81Q-=XV5mz4-2D{$&N8+S!P6Q8ZQjk&bzg>mpGl(3O;~ zc@gpJpt=a{I#osttezbZO13k~Z;EHalGa4^&G`H~0Fs5ck^9cf9>4$022C_tpW7x0 zC92G#e`Ja#yzZ4Po`_q&|I8xooFca?N-Pyk|3ncjD|?eJQkZ@e(J~VqLa;LZw-hqs zzeX7Ww>qN~O^VOClk^ou>^+IOTD;^ZDQSw9{3P0YF$+(USrnc4{^JzaQLzx6Rh<_d z&2NjyStQ8sNh9K~d*pX5GvKId0gH~XRXANq>*o8@ah0$*$Ck&nc_;oGoN%P2G9%UM)AF@Z8!$? zC2eDd0d(_#DTprc~;)k=^>gznm#2>Q66(e$7B7?E!tFQF2YepiNY`H&hdXN zk$GJiDlNVyUZbYJDXwSDu_$ut4klH)-^%+^8H|qM&^y|v+WkqU|I}9OC>M&pFDG2vo zy0H40vON+gu3Q-kUWq#TA18BHVssn-W_Vlfg}e-f`O{u97A3HgHJ;o>L)Hb7xkDw}qIV!r8~KsSIz% zGomf*nId~C*xx1I3{`j&d1fkCXr4?I4E?k$-adWq7w1rXHxIF=5+^R3D-}L{FZS4I zbQ8E{F7bKci(CKq%tVExl9E@iT+IqGw`2uZu=RJI7s>N9&&peR<~f#F;=jOB5+oc{ z_p}LNDnDHy6t!Y5dHo(Gid!gS&kRAZ^Q1JlvII&$or-El+?=U|!i2AwVcFO-ckiv} zh*RrCX|`v|%rH9diOf{6$C;}pY|{#_7$w28yw!`6u4IPdhPZ9o)5`3O`>{Py@523H z&)n;`@)zpDVQ#`RUK%IS8M9W*>}1ZAcalSx+->&srm|v}&?Bec&+l8mr%NIl@07A3 z@1IRDwiO%D<}KTbjY@gV`66a^Y9m{rWqwLxHnXjmOWx$KOL-kF=j6WhKwY&oe_k`| z0?R^)!cNkEB;TIqpQS{XQx_6Tf&U0Bw{B&rv}}~O-R5+C5w_sOg_z}E7Ze1r8llnh8zzwN@52JC`yExR`!Z(Y3I+3S}}j|Y*Mu% zOXjB5*8g2AuB7*n#coA##yzaJtWfRt&^e5E#vDyoSRZ#DidQ^d+7Z|)YQ^}+%I~|< zbn<<~R~$3@jNLR2vr#ftB3=mXYY(e|dbGTUv_Lt-IsfO1>*PJGC9F`x_K?A5MX2M= zL3o7{=KP~kD|C(_t#J`SG`U1sc8B(frSzdA=bzxBH{U23spR(xrE2E^cquXbkd#@W zMeR{?WWw1c!qPj#14X@ymY05KNpN7_lqjLA^o-TwjdQoXe}#E4Yc=I_)gfzzBba|j zt+L))^(1Xwkt_I9D`aNZp<_h?w%ui^kjMM($qV5buP2vLE2Lzf`Mu(#Y6q7C{^mfw z;&s>VmRR!oS323K6%jRgw<2Hs{N0ta*6vk$PO!TUdMlhTcej?LCkTq>8YNZ1T=N?; z*z!&6ak${?ZP4zv@#%qwpr{oqsatyLiI$)!S@-*W1S{>yOI>rMW2XG|-;$W%Q=+-B z&ZY;Xf}%w9KP7FvB{?!ml!BLWj(IRxBS%TC9B0&GWLZK8T$M~l=9a_nGg}VP{f;IC zSz<65nP)II6$R9dl2J2Q~}B7TsCMDdZ{Zxm*> zvx6wbEbpZhD`|J@0}6q%JMuI(f5rZ%BzDTqs$1d#8I~2qVt4B)OX-?BQg?~Y)@>BH zVs~Wg5^b*>nYcg(tVL4iT#s8Rt7S7>Bz2Z_RT7EatXt_>etxgGwx?z7?)~C>jaili z1)b0+sihgv=|pe$6ElUy?Y6_6bQQQ>_29pNxR*b#;;?# z!bj{hK`F9?GGRw8&5Tb+3TUhF$SPUyZ0Lo*=V@!#PXn65RnmSRkPO#@FiQTGAD5c!yBS#&3Z&%WpzfHQh7h?@KKUd;9$C2r{;t)(Ll5gLjpS!;VB|s`|gj@14J+R$!U6s(#-tX&3!ON#H^zg&kgPJMF}ppwoZw za!t;XwWhL`VzKOM-9e1BE3!p;NbT8YXj_%pP<)!IeN@)8dv3jd4H`FD#xTqzLN+3@Tj4dsuCSS(=jTj|rg{Dwb=1Ql*_%4-s*IaS3shF;c zTTg3b)Tupdb&ok}4N)vh#EX^hHDf8W<5KOE?C~j?nk80AIE?LTot~UL{$@h|pnwjh zZ=aLd(E6Dgv!uihfBkpN5%p(RWWm&2B+gSjr&G8L0K583FVn!T$Yq7vKPw}`{w2>Y zjX(Dc*+Ht@Rb;dfohgCp;*BM$=S+p+ZrART!S4ryxZ8ebeTnMuhIE~p(r}G^D6q87 z;Z5m1d0is&W^%Lip2M5cd(4}0$tJ-=N%7i>k}?jb?eg;GW;Q%$`!gF`Gmx{nH3O9r z;UW+4EsI9A9Y`i*K~YO9;FL&e>4dlAR!zU7B&^u6?4)dB?%vgxc;xWfRpOOwOuJgE zA!nGfF{n&DZg;yd%g3%tZ!s9*-lHZL?^r2vOw;%U2j*^j97oZ72Cu_;g-ZQDu9-NDzY+MQ3AM~4*Gm2aV2yiY*lfsmp|j~sC+u#EmwcsIF*-00@Um?lEU)O zkrYscu;E8#1|s?4cJ{|hN=Gsc_hP%s;uye4wu#%c0@Jvnh+rO)Wuumy@1jLjAVSeP zI{YQ|p%xEW>x%qxir}KIsaV0SsiKS*wPoi@lEtbagOaxg5(OO@K>nXY<)G-UBMDT6 z-Mm~TIds!VTPglYm~^CHfDKWkuh^v$H<>;V86;@>&@0*&swxwK$aQ+jEK={B(@+2o z`&O-il8q=HT`de*CXl?CC3UJIX{k(XPwLSJI4d=P{o^a~LSe`)C*NhQy))3*#F9^R zgT$T|*Y0-;;aib!j;!W>-rFjvdreES<@zgC6d4+Lw{@6aW$VKW4Gvk zAOq+qUEs@zC^Tk`A$`=AOiR#M*Gpw5-!17S7nBT_!EXmz0agMQQ=goGrd6_R z<)Cpq)sS6LWH3)|p?a8p3)!o=Y$l)MN4s$sY_UaQmC8g_Ya*khWVOLtdz>TAeWAIvB;D4*rbC|1xrPbeS|~l4aBHDh zPVRLYd4T;{47#j(cTCy3tSN-2|J^8qV0~ZgDKjfdzhIhf8LX-= zS_2f{4a(Y=thW-tS_~^5)yup$iehn_^DMsmMr%y@b6+SGi;B`BQoFs;4H2mKjTRx2 z2bAmnRwBb!@wsnt0>b;g*%eoo2^|*Sjb=y=Y~??Em-Bri7TxtYETgh%@~KR6{yv>+ z8gF-wV29|p);;-cZ<(0tl|+z@$;edeazpSda8`AAKF7is&s zm~S*g6z;nq?UKe3K<7+i5!SbR)AoP3q-aKOH?qDG;kIVz@$Zt9yl?A;IgEbKDMae;U#HMNPkT z@8vz}uG34;U#<2TBkD`G*ic_+(aIhzwyS>tP48h{`4Z*YZWv)sS+$0$GU<2ylr`Hw zRMyW~MP-s(x@~#@4mHU^y6>{6x|LMc66i*4OMUp(^_SK38|%^`tS-7N7;kJ!heVy3 zgGI3XXnEly3yhL$oQwJS#=ubPG)ddsb* zrRsS{f&p1!RTgA#7D~D?OZ#kqor4eXQ zhrOITU6IuZXD*#{NT7Y|iY!f90q$S6Pu({f&CGRxMl;>P^l4I!NUbA3H;GNttQFw? zmB-F|X?D)Auq;hx4%5;>2UW$aff4DD0qtZ%XQ?ACRh(P4qvl;AybL`*H#t(@$xsNxdPvZC&Fx$&=F|gA_MI0qCOZqT+qOcS8Y= zyc~J}-TQRrMmk9Ar=qgSvb&TB^K>vPy7z0zYFv?Zx2U_Hk(?m?yOZQeeI|+&`Gv$puq~ZNQi=HhyT-tV?~DbAfzuFCWUe|RS>-F6hc-krfXr1b z?+%Kztk#$VnX4K`sWQ10&tWNTH5c{)jFeyzmH7G!Pw8I`ouSBFg*dwv&hmI*1bCbS z9zcpfs`QcK=9gSDRHpm!d4?=*Kp!e7YU_L_sw{{%wJ5L*MV6XhcKT68(PX<3T!nI0 z7rsIWIkO7}FyEQmYUF8rp>KT|kt2vfOBx_uYv&??SDhrkw zdC^v-S&r#8x7@39EK(=O0@=tFu}2>KBGPpDbyt_Ibn?Edl*y6j*eZ3Bx5amr{+Q2+ z13Zq}VG+_ua$quQ4VHV2D9d}KVjBU80aX^uWu!Q+MUKp9ml5_C>@+Y@CFMz#Vu&wz z0LOv+uJ~`SY%xsGdu&D`ukC!A9bm`RU1h->GjH9i6uimCR%PRwTr^bOe9k;))T*}= z+$2S;*8mb#DR}d8BYN_~&ANiu`jvnx4tJo6^36}Zt;(&6r|h@l+{&RujRZ^0!znU{ zO>>`|sqz^|fHmK71kgW?=vBfIFLJ!fiZX}Iv;Ldt<@Mk6<|6GfRnFl&I|;L&-kl@{ zdO9~3B$7|~Tsi2bMi;D1)+;g9S#j==YQ{7ZfO9yF?^GFBT z#(0i&D-`d}pa&1ACqbSp-oc^D)bQ}!8A9S#pkBWN3M;0bNVzv&2tin$#l2tk{`qR? z$=Df|UcD6$Yt?+Tq_X!t*8}KzTk52B=zSkro8tPOCw2k4s><|qEB!3$;FTY!@|caI zYt_}{$~)%Db2bh~HH6S!BWF%e*cKX5<<;8C36Z`>?3V}7yR|$C)}aSp?71~o<|d>| z0Pzs>IvB*V-q_QtjA;9aa$Q0a3@w1D$Qh-^%G^6u^C|^zbJnPO!N$AIuq4M5&^)zO z8Q(UpAyuX~A`u2K-glr6*!6Uj36bY|Mga?O@^-67f3F?s= z5sL$e7I(7ST0GnZbz*Z}dC;j#VM#9Tttycft|KP5-h=ZxIC6IA>2O{z)U8+F7j~n% z6^7}u{C`*k+xJ>G}T4>T!7rVvTt>Zc{We80^6 zTaUG`+^HJzR4=xwM%*ppTgUZ+%CLL3i|5+8b+t>;Bd+N$d5N8q(JlqwxX{_#ReAY+ zdeuwzYr9n8cz8e__ZWKRew~(hzkazNg&rZ$eL(9#s;dY9H`1wHyi!l`)QF34bE<3v zKe+S2)^3H(;9-1RpaA8!#Mio6SB;ojciPYzaSm=~s}WTzpXNU>Z}a6V8IbT}w%V-_ z8Fw1l+RdwbX0{Prm6jf8m7nb@h{4@G;tj;y5yarFTl5e=$3Pf^Tkr_`KRcS{f(~E9IqhnHCll#%k2`RAP;$sKwJ0r2t|i- zoiQoeQsDxi5ssi-9@C=i^rLw$x9bwl;cx*V2?{DvBdAu%>&R9Ws-Yl}8}S9mj`2W> z8dTD5)QF{3Fm*KIXO*-LwW@h8)uoD`Q_{fPs^+~k_oMJiC1q@@gs$jNl~`FNkBp6Q zS!F<}b`kX=M@0- z--Ol{QA*qraZpk_ZH?F`7|kNE*>v6ZbAjXcv*z@8L4nEyOEvyOMl% zJ#Ae)bNs1V7ti=6zjf$>b*Xhlo~U^(&*6&otsjU$GI^wHM0U0BQzJ^(xu9=E=JE}F8~5Am?fCaEM~u6F#y~*) z<9^kK_DZ|7wgIoz(~rV6*}BFCJ09fyjP?hl=Y1Ir|I|A5M8rU&Y+E>zhtc;GMmKLKuxWR`Qk=xj}aZz1D@Z>3}&8wQ&f{#6Bd%b%%TsUE$6AYZ z;u14JMAvgc*_Jen#^I_Fo~s?XK!mQw@v5yw%qL{XQhd8(9&SW-ZCKPAVY!Yiyb+np zmiR_2u6*ef@D>cmqdT^FFLAPOxjLb_I`^Obl6G}2#QJp;{cBNIe4K9( z16G_eq$~6L z_&!cQl6!r)AIUaSF9xJ`2Xwimi{y*)fU{IzP9QM9=Q@z;!V%NsB}AReeP1uP1zWUpF9W4K*uYXdF5S0Ww`=s+~AF;2T$H@3(2 z3RUJQB@*OvDRB;UMI8{K8WT5?0*vi35C!u(Bh)@gypDhrnG(0gj*ffmn7vB6*gomB z0h9gKSp(*g7bFgto<~vzVCW1;eWniITg~8@sw-~6o*7U*km|POZ&kNf_oBK)2F*R+ zDFcX-@<7s4=i#NMJ(GAa0aZh4iSVG+xNT}C^@$!kEu}~!FpsPukHBQt=)DkGH0eU} zfQebBqnQ$uG$6v2=G+iBcCyDieL%+930So)1&9?pEd|g$XWm=&4(`)ql60BVy-I$} zb;d7E$!63}yjaYm0THA%+Z}|DW}ogE6qYfdd#=N2LsE8PZ|H=AUFo3aL;wqWP)D2m z^h1bLbcc@4IJf&5x7!6O2hx{g{>u2X4@A`5)Fk>?jNfA-M6mZqbVQ;@1@s02)|W(1 z=Zxxn0mPFENWC0BoCMOwW3&@OmbhjCsh2dvI%$CIu$^p8>qs&5$HmQ0p9B&{f9!;j zU1wJ#fzv{N?DI#^^neNceY-SciMw=WplFpswKE%&So5BBr**nKiuK0rSKUplekAt% zBw4t-lRo8Xwma*SwG~3n($WLn1m(~1ukwbmf1pb6YR0hOrM#l*s}Z~0?UHTba=ZP7 zRF`L1qXog<8EQJXjiyixg7|~`;9r?W-ejbiM zCtWL7)h6OLnxs<@Q2IawpH#HPC~GzzjP4#(+lyrN7hwK)@!!o@1J&| zk|o@Rck=Yq$t$(E^X%xd%X>C4W>=oWI(Aaxr`?&H0AH1HNq5OebpaFlds3H()SQAd zJ;8xkaaVpxpnf#cae4h!>O!+L>}SdX*55$4UA*NOmsevmlz93}$NBb` zo9)@f9++LtV-Ob-y)Lq1ckhO-%Z@i)ci)Com&o8)Q%8}UpLxm~XwZ`jXeUgVc|sh- zpY<*3Acxj8z0sg&x&n;iNaCHkI&~jSW)y2k&;fhz%w230f{R}+Wp~Vr<57A>8>e*t z%Gl!%G+qraAauco=)@@e?F^{_K=7b1UNZ-)csf!hW{bV#wziC$*t$t3P1B-G`PmR$;iH?>z z8Yf(=-UA!*IhQ((L&ueBw8=>n{%D+j4@Au~260;FGV+1mld?*Q(2irlAQu=($O9tQ zdOdZ8D{f8B`;hUN;?0Lz@`~*DYvWL9!O8)hI@XfZWJZ?;(!C-(7Ln93M#nbfxg#A! z^E`K1JdeBH=sMfk7BsLSxAb@zBmis6W7Lg|J?aK}d^;2;2bevV$GEUh<;uZsOeCfU z(vI1%KRAa&J2W1WPPT0g?8J5`cUFfNQcY|gV-Tu6Z60Glhv5+spWQNIbjqqBS@H5@ zG|=*GdmGq=aZZmXIFuy?Nw(T7g~v)rb=UvZ)wk^2lJnNh8^}AHH;C?}rgkz35Cnz? zd4SAjT_I;^!b5(QQvDLmnskNLN?jq{K95OPSgnvjj4-?eGwrq)*v z{YXr0X#dgI8u3C0Hx+Bh41EEEKk_CsRsdrrx(6EMcSq3vf%vRfa+Q+B&TQ zZ!1qer?#Qfz~8c-LUCH7)GAJ^LJ2GVT8xq?a|TBIAvrI1fHhu=58K%D<*hcj zx~0CP{`BQA>Uk9)W0XAQo^LGsy7=l+QG^N_Q&j{-#n`|rT=8W_E$_$k*2*T~%2w8|L05LVa7 zM7Ok4p#@V8+ zSClC~g4Dg(+8;}vt@C5av!&H??Ud{k(qh!le&&ytu0n5&I@s!a?@wR)6(}mi=vVOW z79~AJ7TRvy+2j<|-^%J|oA=NbO(laIB%_waUFi+{Bq6W zTCVbcFsDaDQ88sdWymn+T8o=G>j~)`vQU>icuY3`f~+9?vOGWVOL^81hfaDgX~S7m zNVlpRq1;yoO%L7XtjfjKfTr5im%eAZ8(Dm7qzr5PT4$>4E5HR}iZt)eMbglE^16izXF?(EdL} zm-n(#686<8-;LB2Iz3C}4d<=XH?Fg9|M8sjMjt%VfH&~DF=`~-0E2wasRtdj1UfaJ zBQ1eW-_h#3@3$}UkeQ^(Q&uQ8c zyvx_Jv#*ceR;<1AG`Rdq)3e6qS4vC0(~jS%QFYqw%fr*N3>LqmN>>^D;3{@Sk6~wh z)=vKbr`?`?1M)Al`MX@X{7QL0`QTbpH|Uh^x~UcP-Scj6Y7RTCp02`H$k5fRj2&yEWq0H<&OdjTwSzMek;FTr{1pfrt{Uga(;(iq&;;hzT_cH3ZcZ7 zMav?0Mi-3MHLA5cZRkC@nlJi#^R4WQzR+n2a$3>5X~sUalNgDsNjb#VU7vlX_AUET zLhE(}?H>xE?u`}L9*Dls`R;SpTJ7Z7P8)i6jfA`Rr9|r9k`gJAb=t>#(-*qtOW)5< zevZNnUkcfqJKNNX-_k?Y=?U8Nj`z(nZj>;c*7u(Br&A*9L#qQH>uJeymR;@QytKG? z@k`2QU7YLCgFJm_oZg+C?+ibzaF@5QA5uJZl72`LseAS#|No{|L=MpI>D0xw;y2X3 zHSwFnI0*3@`ee4$U;6R(?aQc-?0Z>!uI7*1tI^uyw4%3^dEFT2!PmYU>(SAo^a5MYC1bsA{ zIIn5#)r$8_6P>!&o@dgzcAW>>!W*?X&U&j&H0^^}%C$NpUa0?Z>g}3UD`P;!HK@gF zN8>X3rMM~OHO0F)b#oO-<1DY*_&#=8${W3#-ANNg|4y2qUDutM81)@uf|9D=#!7&B z3hAS%*dJGP&)Yf~Da1L_L$fi~(yvMk<}9vi406Ww&}@=5E?yw5WEd7vZS*91praY0 zFJzW?byus?9Jsoa(w!2T@N^aHlUTgexi#uNElvc!IxrORuN z+g+M*TMB2Ff?cD)b*Y#m6YEzcN8i5OX_|(RY%a#FS?o_BArggk%anHH_tb=6!PyNbv#f~Be#@o@2E$Vn@R!!|JS8+wA0fXqy!o8^HPko^i4G6#|6$=3-F_ z&N6`eT{p^pDhd~w8@`{m@2AOdlWU`l=cP%7bt;m*qjcxnG4dDG+K}qz{kU;|_yGn+ zQGdA}EpVdwaaeE`xuNssP}?}bJ8#YT1Ywe!oD?0m$4D^V+z7gwSd z1#ATKe=ca0Mst@g7}_!m+--HUBXAs*d=_BW+hD39pgJi3bdY= zJEB#*R3rZwAxfF{L<^G|dOIqfsLT;Oz zFQa?0jixbCqd4Dc2vG-fLE9EZ27H@%AoVmL1ykq3f7FMW##EDJYXp&t+woAbcEFTOHZBqK=!rME~@10jna+C!q4 zJ2eRQTNFEip0}fa2yx;J4<5gea!_1H9kKnL3k_8kxDVS{W?e{F;6tt2aBv%^yl{#3 zq*!DLtTDONJOxM^m@A;fGl{RTL4Njo;en%5j5Nu2B`z28Y`|Z3z+2$nmHWNGqeQ?P zQo%|*qYC<++$@SRUg_C@BncA=IUrvY)ymm4lT;ux`Q;V_0OF;;PjWz+RqIhGrH`goLL_6lzoimxG#Wnp)M}|_TS+5_ zs@Tn0Fw7-Y)B_HjsRRv(D#s+!(_bZeKrkn?R;@6Wh`#A)mxhYbXjC0yICQ)lImjTibkUfZx#<&0gW3Tz28t7J#^eTd!I{ylN(P}Y>yi)5X<+6lkO{UfE16&=)yM>U zc=#2By>mS>$!_%>ui+Q1<25jk<}yE%&K00t=hmlv*27SkS&Z1%_~6ZH$h)grK{cXe zhHTTY`a-!|P6Ov9X6UTb++pT!UYevA_kc>jDN&OK+*#r!L$;?*8(s3~Mlnzt zBz8J+e&w>DuQE}=QQwcL%h}1!H9EZ10>p6@uwn5HQ^k z)JoGlFU;_f7JaENPYhm6BjOUiXQDTI(^HIyWBTquXDBx7LPP@Y+%2|t?dD-?f4@6A zb$D4NAz;qf*mtIDidsqMJYAhSymT5Foq^eODH)w%B{T1wPGjukr5V}y|D?0ch}8K3 z-RjG|y~G1J|z;vV1EXV;oXTk6hy6uckonDqB2$*v|YJHtm(Av3wm#uviZUUm) zNMd!2Oy7dObj1Oe8lB05ikC#@=+6#N8(3$r51p8%R=RhPN@(QGdP)Iv=e4@?O-2(L z)#rPPBTMY>Z<*qRl3gFg5AdD4#KF{82~bD}GzgO)1jNoH&1K5{rZN`MrO-(hglx5cP_qXk?0W>N|9Skm+i427wIMNKOY7 zjYPK>OPW_wB2hJiK!#~`ym?QKyXXvZIPU6s|ErbmA3Iy=o&pK2GYDkl3%S!daER+L zK>PC@-WkU8PWL~~c%WX%cm9hBn2eZMbpEiU7`g)vN{yYy<#99;-Cl|lE;_#G^lz>; zWuZ=ozoGN6JKbWEMs}xMrQb>dtKTa9lzvM`n3j7ixB|D|hE^aJ?^36HPpnSxz4a3d# zTiS$*uBE%w88F%rDCu=dpDk5gU7AdtONMi_+IRCz|A$uWY`vAb$zaYoI;|$6FUps# z_zHtPn(jES#DVBbi;7Mu13@y$V8D3W9a5$Y%*8nv7}B=pK&-9g)eOaMx?N;$F4=$% zf;86#M5`R}Py>G(=70Yzcmo_ZI?Ji?(mCCcd-1+eX#)Tg=;#mntZV0OFg5* zc>G7%Fh|&FE_Fp1kN#9L z(b17g{8H8rb4RHbI;z;+l!W_DjSe~jK{|~W=qZ+Vfgo`-RI$4)N%y*xF=#`+*c9?_KRphX=A@`^hmQUbUH&@s^CNm>J?>ztGoO1c1Awjr@BZ=_J01+X|s zXat#oHUOlfJ^8Cu>1ao2Y2sJahP1gm+nniWF-Ta%eAl$j{tOb>$`J4XktcVmEe1)2 z>OlQF=H(3_CYCovJZt`3=Ajq^M(_-C4)8D^akN3x%hVkKL<(hjMh6&Klc6&YAo4dK zbqocRC07|x3ENS}fn?4#2$D|oSrB(}q-;(UbtIkU8c$iBXZOEsbCwV{* z%uFi*tW0qo!2SS8uAGF(0yZXmA?G*)lgB{SJZp(`)Xg*A00SkIGXePn4rJx#w8EkB zX6~E8Vl+pHWg>AAB1+MmQF3iTa6jCzNy+7Q2g$b)G(25|7Zm$rt_{G8TPln7pa$- zZ0o@~GVG^HWWc(;4^b2{>D|00M?_70I}YOq&~c)^LEVW~qOHxy;4j##-+i*(`4w>DT|CW{XRO`+-oPZn~AGxRHf$>I>~ zh}_`}*LnaH+VCW|&H59Z7F5ZM)e7LU{)alE{zP_MD40Pk2X5}FZDfTRN|poaVnzTy z0LpK@Bc3Wu@&G8Tf){iE(UL;`Kmoo*nMDO+VQ z$WYrd4h!aR-KfQvHDm%De^mP`fc;j33D8)r2W=?ZmqNlo&T-~748T}-F56JzO=F@k z@ToD6stvMD1+dkI%9%RH2PGGa_6~~8i6C#YkH&s(3c=6RMaG<=P9)Tm2 zvG5L3$DqBT6OIDRV{vVULd2;UV?CQeoy|ao^HG;g#4=yK$_6r=kD>--I3G(>4l~mb zgA66>WfI>9xa|u>x4NlA9=?O3CrjJ#%@@G_0_OvC{3e%)eCb2n7e#M|xNl@-jV}?Yfq)YK(WFu;td(>cF_R@ z*Y4FZP9y!DpNWU~(Cd7oFf%>7A0U?6YwIH^)9pI8D0|bjqmW|DG%~_KeY;pOq*!{p z4_3hG#k0dyc4a~t5L|oeCI?C!cF_-HRem6V7=Bg9u+`F$I)M1VBprm3_4eZC;jVL; zS3H1dOS9oXEkr#p2V4!xqBKx*nV!ONV?Q04Ks|sRfMzly6Z>VV^#I~mDI&~p>$r^? z-HF18={Fl-e2-|DsFTPX@&P>Ck?H0KE9B7kvw+2pA*-ezXcVN2L8wukaM$FMDu9?) zN^BFdDxCxaz}F5t203Le`@upwjT(a)F3Pu^`dUaejWXwqxAbjB1jUp5w$xuv2&awe z%Nfp^H$Ck_`ib9BqMndd(D)J+k+0LUrUH<;}6_^)zM;1o+^~z@p5FD zVFh$KD9kv%&LR#2C3d_V6lNTImj}d*)SF($Wfao!OGY+B-1Q5x4`3&Njw8Ot=kyFl z=r=E!8SK+98P5zx?lNLUW93dO#taLe*Q;!XA&}PDj9_eMPO%V~<5xmn2+5uq!~%>DkcH2%nz*NW7sYqno96%UF1J(^p~Q|G zFWwp2e7BV4X82Ax(=I+hkcOQaGf>3jjt}tgBe$)k25DF!D1xV*S)>MP>Nt}~1rQyR zSE9s@8#M(pG`fg`P+Q=O={N@p?6@U+oDmuAOdl1%Gp%}E&4?9pR&5I4`5o&aJwTkD zHR+hCun9)(M<+P0OOAc5VU7`S_e617oS^ z=va3R^2kqa+STwsb*m#0QAYS4+Io!HIpq+$)iHqn^Q&>*X@zI%=WF4#;YN2G6z!=g zhuH0w){q(6UpMi*D0b#H>jM^Opjm%LEVmm4oEe&4w^d)e@iko-A$Ggz zI^j8us3AAq0|yJO5f9d;3nLP~yVb1|Qg}`IaBbBV=Od}>a2s(M%8HTXyhpJi>?D-H>gaWw~04Ui5;2!`$c~`(q0Kb}xl!sp}0M)kcJ7wGZ zrG+@6E+xe@Y+_F&7}u>|;pDfPzk|*-f5#v^!*+}A&=F^!Z_Vl0s={O_ZC&b;8EPhH zUfhAYJ}-bxOeM>7oNn5!W^l~!h+L??hO=0gXy{a(1;+xoiJ%AI+KvGG?r3NPU7DI1 zvZ!Z`v;gnB+aZhAAQuZQY+Wq0kzOyBlMkX9ZfV#?w9WmJi~tjW-L7B7x}^x3p`LXq zf@XvPdDeKneRWt=Ti@u=-6cIVh{OOxgEUAEAtBuz4ns(HgCHoONJuwGH;AN4g96f$ z(nv_%8RNajbH4Aqf86J}^Dxh>_1nL$wKp?+FJGw|5MJQgP%k6fW83d77`Qd+B`tIF z->C*3I7`VqtQ*4XWzC&>Y@5*$d?>ki%Z}Q#B4}CC#gDGi%_Lx0NEyBXMKz-pbLA7V zvHaPJghd%eTFc^hf;3WQl+YoRMP(JWuMQtC%k6_t*Y-Wn%{^dh+j|rc#hMZ-qG?)| zj7e!Mj-Il4!-EkrzE=JYcR*^9b{{C#zf!$o?h}zM{0^?tQ1_%KdVN?xmRGk&RJ=Ip z_#P?i1>U1`UL5qxt4yf#P>bz*WTQxDSK++a+-rbq7J$!+4PY5JN<4^rRuBGuif@SG zCFJ@7+&JQ$qW3~cZ9aLj2) z9?D+1V%Yv9X(bViIwL`D)zM5g-9xJyKakNHDzZ!i78gy>6VOlGk16De@=*1n%;-L` za17~nyiUG!sb+F1J_hNN&an%YMXSWlk%b4D6m+c7@(^jokPvA(l_n%56e<|a`Rtx- zncCZML6F-Br;y{D+vB zRTb>Ue)aVfy&io%Fev-MEK&%25f7GabSugU+bS)PJ!^S8NI=z62C(SssF`r|9UvUB zjnXLM&BLwi&7oHgX>QiWexM1SYWskJDml%76WZSLp|guWMr%aWTLBBpd_8bMtq5iH zLo7{xz#LApIlFWt-|QVzd#Bh1F0Nx-Ny16;)S7L1sJf4#?83_@Beoxd8*Isx`mMbMmuh$O-khc>7KW&(ySiX1+(ct@}y@u65f*M1sWZ}vPuiF`?PDPU_w*tOuxVk_C}klH&9 zA!L&1yKl1?VI!3Z`Wri~A<~}gj>cU;EVEdlo-J&HPdQB(k?>CLlMy8iH6=7u(Q%~!H8^FQ78-dpZPWBG1!IVlvy}-bu=4(r_ zXK!FOs=>4Ca5&P5t={?al)Zg5eO9v5K-@FZ;rt6*(Yut^M?&JLMG=L+m?7ZpBkAIa z5>Lw|Xu|4Jmrb~|np8u*u{U*^-Prn_?zo|ia3j)psQzNKes?6fLk{5KV&Wq9LRhLK z5QUfcVSO-boHMOl;?Y;(6RRvS(v?bL53e~g(q2ytivG~X0|BU}i!glGhieo7d#(Zr{KPF=8hp5xzq%B zd{-%=rP`>_NY-*l00vboRhOph3JL77w0*@_$fd>X+fIQ$^v7z?0{wV+HJ#d(Pq&J) z=+U?NU|%WtK9G$V%wwfQ4>>0{DH~IZ_&=jqh(zrm?GwK@U5Zhbzn~*DwvU=YNhRg- z^UaGepk?T2Va0tP%JypU`MWxY)&cL*-C*ig(L+jw@cx&C{MrUJ=Z9metoe%Sj{@{0 z4$jKXhwZaWm!7_dBuVJy0B8@0$&%B&(~Wk)_cte|cOJDr*?M`>b=|{qp`KRCs;TY! zGN6uK`zi8(31NkO`wUKV__Cu;nyum;fjSvq>4jVZxw#zM$@BfXjXlq@^0qFF{Z3V! zs{;5F;Co9shv?DHum{BsIlP}y`ABK;os*bYi8~L+wr@^UtwdPelQ^5NO3h<|KWEI8n;vSeaf;Ts2QzcI!~a_*nEPn2dfID`;~1xs2bVpE+fZ$={jU7GohBqRIBS% z*$xw8{nzbCkMlMM1jW^w>c_wOZqs9SH#g(=n313Q0-`W` zF2r;fMP)TF)lN;q*&$7fqg9MHu%m9lzep+@NI&NA4;L+fV$mK5aG`n>MSJtJR*Cd; zJHJDb3R2yfO~QP1&bgniY5My9g!N-9s?J)UCkrW3y{cfR-(*95xQe4sUeO7Mk4BKc7JgOye+|3`Fk>5dYnCXkS@ z3_|#?t+0 zFP6*OxRou)f;sCkd!f#yMf`Pc0{$%yVH)hTI9xHu*0F1Y#ca_Hovp&MN6bFNOT^;Q zI^IU4H*!t+-ID%ns!R{;r$>m$#izy1HWovX>XO@;LYR2{Hol&aJtp{eM*5f@ezk*= zh+V=&r|jqPqV2)JVB~{KSi7jNKRb>ETM}Vsz(e_~fE?RU^EH}-fb5~EPwVZRvmNXo zrGo8G^y?R7ci5GrSBo-!Bdi09Ec&#-4mVv{O7ie7tEs`f8Z;Aiv zEpH}|maW@{pY-r^jD3oWNcJLWRpzLK3fT(5`Dfn&9-n%2g&(wP?c_KZvX%E})>F1N z*o}&#zek@OiCiwKkXivJ9W_*|n20AzNl1+2Kb==IT?tJ`bh3Wz9-#tLA3n&6vRN-HNuCh!+aliV74ZMhB#CN?H-Min5Kt15N#u%?Jj zz$X!IYsN>L)Y+lgdcS$sr?o>+c*4#n-XpT)@D)*){4E9_nmhG?o1>W&NHfQ`g+6Iz z`M!V$_v|8Lpwl!Q@e_qRPx}cbmss8krwB|~(XWr!PxTgZog-O|w+hn|KbWynw;SGS zZfkWpT1iyX_Gu&>WVV^pH08_=00#tkXwy+f`W!J1w;Wf=^hqqJEFa1!J4xG2CT~lr zmao6dxi*CPExe+DfA6=>^g1_98@pls3DUOXRK`1wK#ZVMmBG*{$;*$~`{btrc8y%G zXz+;3HMv}!`$goOA(u}6fH;RqjLyD7Nr3Ltml5cbb+}my!zm`o1#G<*)W$eMZ0H!7 zMorRs?`NK%(RhZ<=1fjo$m-kh1-Z>HtqcHFvv5N|b|sIu$B(~!nnWkS#Cvk>;P86- zyqn$bF%?OQWH_VGR;JU+g=$g$wr%-`Z-g?`d!J-RGvB^fv+#~jw|Q$98uN)V%Bsyj zi(Y{t(<0lWBs_|2D(oFyAXR@^S!p?@R@wJ>`RO7)&OWvS2)y5;m9jTXMT<3&7v&Rp2@4#Oxog`!K;XN z-3&Wwfn=gSx1wT-AiOdkhaPR7NWcfhDn(GKKsKfIpDgW+i*o?Edw(3gk22glW#N>J37jS-&FHsVv_8Rq}?P`?#nLUvZ>b94P z`Z%v0O43vshShCJpS9ta0VeTn|*v0@>j^ntS++1A}F> zC?8uu9_!kuh2HYn+_p`)H%|Y71|+KLW1E1P*?n)HQ!fD}RPI4B8J>(?g%LoAn9(l( zAviK#?-(~L&d>>!YE*@`RGR6*BYFrYcD00EX!_mEcnHVf(|pqK+*astu6hb5TUb|1 zu7&Sc3ksMwgTVYUfRL(EE(%liP+2>+StDSxZhgdT-s;P|l;ykrCBg#-Zv6cGXNXNbM8(qQ~*?l&=6$ z;mzr|9xRIybD;=i>?eldy|tu^!(ynN^YHx>q=^}0Dhr)NN9_i zZMiyJZlFMDqY_VXTkx~OEbbs!fxISkq?p6a;2DhuO_F7$^jREEhOz81 z)EUN?t=ff4O0Px~-!t%tHGZJu|PpEyfRcmg7g(NcSQ!crrYPz!y=l1ttPLy_(XLq$wIpN6`klkqzz2J z(Zf|DhG*vRE40?9OjDYk*`hPwDNzrKY8i4$Qar_%^Dn$ElENC2Qbl8MR%;WJ8uG1n zs0$TU-I$;P>4i*Kt|UitYhllZO%^Z*%j=&zqp)NVE|eq)GceZg1KYV=Q3%Wnqe!Dk ziP@5bPi^9(gS8;3Z{--NS_3t@ddZLKPeMBl3p5WDf zP^UB?yWR1G9vV?mpT;stLl@AJC5z{=(niG$qiaw)=C#oc?P*yr0IrWnnn+60tnHun z#+cD`q<9>B4Rlqy+sM{)njLqC0l8Y9BMqo3ojV!y0qJeX1W`z|E{40ee8;jx)@Y@A zp`ik)$j-uBO1oq7J~kq;j#fX-ZO z`l1^dJW$oOG|?qrJQPa3&cmf>jN?*Kci-e6eC=KA>^Rx${i;Cl;$6>e?njGSIz{vW z9(`hgMcvBDQA5-qKRe4+cEOwO2gXggZia<}2MXvtIwB_Q-3ilCBZh}`?U~>EUIZ47 zX`12$AFM{VxEYK4NzU~rePMfwLxH@qRNSnD=XUn70}g*wZp_|_e{ZGRFzH@Cy0T18 z9DVRP+A%d=Frk4Y66Ch>8^x)|`UVOQfKOxS2eBzis$M%LHljhhH7T$G=+Ry`wuID1 zxS})Heq3jt3z;-K6G%!w=nci!F6iUWN|wF^8n1P=jhJV)8u8TXM~=Qz>Ip50+=$X& z^s{5I)!;%u+3=c9R0Vp$pxfIhI9<6F^+Ib`AMPjhZD4Ab<1hH3#C)>J=jn*Mr$V%d zWV`u^M*=v0cU^reH=IQK4ujUrizXR`Unb4m-7Z;eY|*m;@DVsk=r zX_fC$a6e;?2Ux_~)3oqD&GM6al}6Tse2Hy7dp;=Z%;`ttEF5q?(Hxu9_JYM}5&Njk zF_VWWbZf^*4Tm`+W^_mZ^|-Pl>Cs8ci^YyQniu279VisUJMx-7cVQGwIH=-|gxSxK z4!w|4{jxu^Ydrq`{3~X7CbZf3%>Jd08xSp>e&=@C`rzrw9N$AHj^oe$S7@8+9Wm28 zIU`<7pHs6mP2Vg{$Ed9V-8}72#f$2SSiZ26;f_cC17WjPAg$F-730)@)NQ=+W_TeqgTt)yke>s z`gWyczNvUQF!0(v=fiVlXW{b{Pl&=0r^a&lGv21kWHPn^;YuJL^0+B_9ixyP?SnHN zx{}hwmDk>c;p@m6Tx*GgY$>gHB)5+=$@w-e>#F0Ns9T-O3Vl(t$MRrNI#W zlDHe_M>nAH&MI;5cAmFdNY9zE&PWug)nZFUEx$R}x|x+PV=OAc(l>wVzmIq^75D0F}ZgynC=* z-db0sVv;Y8*{qO0VOr{%9hBDRcQpslu~9u%*BpBYZz~y+$U94sZ$;ggeS&Yc4kXEM zHU*SEJ9;lyPQ54`fTlR$mEe{#mx>cEX2p$efM375hd~ny6jd*q`2^Z9^Zh`SUY1r3 zW4tHfmM`d3U0>2sJOulTE}W1y zp22W~J?M9F#hDuDqDa7KFVeNyl*!H{qwn2<2pxNqpwUj80Hi0fqy>AKA0)M!#lA(m zWw~2kFLgcz{Mg`++C$@&OLqNOgi)^9>p|km2}8XZ^XEw4*Hy1XaS1m~Cb}$|50nFf zqM3T$>o0n^_JJ2(N62ZV+X_Ngk%sb=qMW0ljo@AF(6ncv2@J`rB@`4H8`7BX=jSw; z!N3Q$vUH&oeJ$rL(Mnj~0`Ls7)0$3@Y~C{mouhqKA?Gcdief0V9-9MzR2Ufo2<|hZ zBhgk;p|(hf1Y+9wP62`QO%t9q&bhke0rJ3+*A6*S-ODH4i_Km&_^V7xHNttT%#>l% zPAkwv12gL3UZhtwb8?M5YxZJ|vo$N<&0`_lE-S2zFK;Aj5__LmGbZW0bk;X*U<=6x zsj>!@X|0yOmgb#(c}bshc3ua0N=hPSbX_k;Sfk8BQg!Y=fj4&#GX&7f{|)fbIa5%W zr(F({Wof<#Q=H)RLwJTigihUap|Yv14=I@U!cF6i8m1nB7$cz#wODuLzI@_QJE+b8 zI)ZTv0DV^ViItTh)|pL2TE0Kp=U8TF)oZ3*Q|FYU?)S2*OSMo%QHc)6ifQI4t+2NRf`7B0+k;FB;@wS(T5g)s| z4T{4N?feo~Zu&@0O(*?O)#)mzGwKZUYX{GE=v70(yZB0uz($Wqm&ydE$SXa1#rN#C z-**7qh7&}%qGI^N^`Dk{8V=C$JBd3hJIfm+<58Y(E9A2;5PnBVL*>Ox*GE1K=MKfPn_RVa-rzF+)tw8h)VW2MT$r-qyrag5pP38 zo;09WNnUmk)Qndo=o;bVmzdP-hOVobhW1wx8!}bL2@)!>W2xkHSU(e9ppr?R<@KRg5gjQX{dL+Xc_AsM$1qN6IDpgP*8?Ig} z-u)qzxU9EQLI%!`SGB?0Hq>(HwP?HnqI5T~+JjBZkm7SDUDj#VAf+_@qK#V_-4chq zQX*-XrsC07w3v+n>(z}AV)4su<`r02U#oAtoStv889Ue7F{C$@ub)doM@OwrD4bxZV_wf7Q9J6R%Pd^P#dQyY?x3 zn4^^NRAUbyv9O0^Bxy8CR5MkcAVs*KNjo~{*N46sXp&Q)eG5$dt-wty6e8Z_;A{P~ zeR|kHc6V%*iCDp%L@51Kca|lz7ueVxOQ3bjSR6Mh?-Qr(BX1hvWZ9bj$4nNi>8F$@ zbc|vBq`b2f8(3zTWrn1WfIgGw@^mF?^74x0B~}DVVo&cZO0iQnIe6dfnQ}Lr=uJ7-gfz+7CMI2R3tmhY&1gSe1mNPsn@&!24fHQ#U6$&a zwfJ|!HLE$~#+YqGp6$0;=CD{f$72KmOuSw{Yyd0n1#S@w8BLTHgj37MK6LTpChg*m z*1c8fKByFs@mxB(Zrwj5?d#{J@Th_L_^bkeVc(E6xel5KX4SSsPh*~5rc?iG6+KGT zd4s!_xyPj9IwR!JcgohNF>2Qsj1998KV`RddI!x!-^&!VHgdf;GDM15h9DJgs^(;wvWP?MN0(Qdj}a53!3 zeh^`c7BQWho6$s=T)3O3j-e7(Eb&OtT=S|rSQBttlawXou0Cbd5g{1&Okm0;XHA>i zv$N|VX8}W}ra)|r29G=Cj!!iwX^@Y`@P_jgh`R0RZOdH1L}@2w6->oTfc>aI&|T?G z5drMR$N|OE&Da5DGsIg0txEeKE`hgAU>8{@X+jpmO$$j3qi10p8VCfaP>Zpzn&4@a zuMQ@7iy3+JX;I5ScL>Rc@hoz;Y@v##S z_yhL(P3Su%&{u|NCOp>4?uP@WeI3LYf>p^W#iZ& zZ#p&3-Tgbw5*T+j+>_}D4f)Q==^z<4@88R^~gABFbF%Sz!toZrp6Pfa6o>Q z2I!jad*6pROT=bkocRTz`5=4u(iES_#NV-{ofa`Ow9Od@cmkq%dP=LDE@=8s@AlwY zl=@FJ=lIh4Ddm_wd;QT7@C+b|o*DO^L-tfu>n?BNd%HX8l+DvgPr8Bz{8ZIMqHIWa z7@9^mGOVkHN5MnDB8@&^5$O0JmVj_`WGG?6F*o2DK@1@ZAAjt%97}AcE_NZx=z1u2 z6jHhf4l-Kf0tXZ6RVG$#y@<6^ufeJZzMXSq0;(3H$4oLhqovP7Ejw6?I zpGq;*rsU=#k$DC;pq?SHavRuHKX2Xh90mPbz$bJZpN=Mmk=eC7N%Y0jOJUM&7n-w! zduVQ!tmg++slJ7*CII>^6sULQEXkqg^n0I>Jf9sTKF)9X(#umjIx++wS1-z>m$7$c zL&IuEeesANC(KWhN4|di-S|a+1yfZ2Ht2Ub6c*A~#ANZ^d9XoVB? z(NW7{RK}MuciTQ=@=jGiM@(Tdxv06z-XS68KA{}-GE*TD;}QB$m*bJ#Uc7@T$i^6_kHZ;cI|xTKfR$(lO6DNDjAUUD zG8GU9p%qg-T_}^99D5+VWH?hakPbn%cMD*tmJL!2^ z0peoII+~eeJcYxQX%OV~id-n!EOHtTmsG+IM~Hemhz#gXdckgqUd`>eT3%iFM>y{1by_bmGVM!UmsBcCUw# zK7ZSVg8J;9bTX-2txUId`0hXn{7GJsSRLbeV!|0y=2`Ck8)P5y_6E`$mF3o>N_VyC zfsmuV`!%&Ap`6c)LfMVPVKUz*KTGDIRI;Ti!xO4_=;1y~$jZ2q^Uz zMxVo)U%`kBkwc-uzLfzs=q@>cX1Y=M2g{325$2$pNi1sU@sQ(6aU8Gb{e@H2rv)iY)*xiJ*8d6bGziIOpt=eS%cDUnKzF(4Y$Ej6P&Mytty$>4|^5ie)ZTdWHs8JH)9C z7R$F2CA#>07M30bzx#a#zh2o{R}X7ObuQJpdLdL1w>YgPYQ<`k^YaMFb&>z%7I0_8 zDHVWaxpMo_f&8d6KT=x()XyafzhY7|L%k#{vWJiy%{PHdC1>u)ImPmPzC|5;s5SXMD ze}Q1poLO1gKWexqL^t9iDzOgU0SWt@;?_qtKk;L4%j&A6v5T;4e}VVVy2pNEONFzQ zx{9Ehkw^^Wr)kNGgCfu8u*joNH-J^fd zY2Ne>{$or|#>L=dMwzftzcd0Zywzzl2(T1qF>;U6dvg?+!{=O_k)aSUkl(E(rAw45 zr*VKm%g~aBE<&a0+-G8r_BbtW9CyT|H-#wVc_KdB$P`3OMQGt{W|?vx&0|2oiRu+!r_SF4ttw@@A@=z);txrz*e4&!;0| z3IDPqtxSbruaI>B?V7JVjI5DQ2#YfbDo3AH)_sy5ZElgrokpFZMA{pnJI%hlQNqNV zo4_mBN=qc1N=w9XYX1gm*O}IzHOWl%)=;rXwolQhx>QBXM2tWxnqQ02PfR9{?0U)b z1&AAg$bhJX-Mh|-I-lwvTrk?zT{GIfRoB<`#oLE++xe!2+eFugqdC`0h?!At z-qpl^pC-15giEVe|A;NBUQ8rvX7>wQE|=VB&tOccX3t3_U?)>wTv1>XaQT`6$Aqo? zz;WcYP&+jOV#I>5e^*{1ZfNJ=N&@v^1`E z(RIDMHILu%#mfgBV41M9``EnuqzQOPycb14D7*SeQCgryTh@$P5$~?0_h5&k8TELV zW%%uJZZdh!U9r_o$m}Q7QJWL~g2%&YLL-T5D`Xm|mRiXeoeBvw?iNg9ql5#8T(XJu zZs@&d>JJ!344539_8#8#)grx=M-3x zkr5!+Ig-WL%f~Zh#0?^EzmTa@_DAQ|2ZQ3BNu;<14*|D0QQ*5GMiGq=5DpDsZU8ib zdSDyz?~j^|azq4mC9ocfOPYOap?(9=H8r=c#?{27?76a!%mpi@f0- zZw3?B54L!D{iX8etn{kuK@yi>o`qeuGPE14 z?u?q7y^iaXn}p+&o9VP2)0@K^q}y*!B(SYrtlVKxYjbDB$koCD8zcne1tJFG;y@mq zM{d?Y9(iw=qBhJN1|P~w13}!ph!>DYMh(cL?h17_cLMTQn*WAlOG^HS)jv3C$ST5V z%$==)>^dM35U&tKh~qB=eE*ez?@t2$|4P6Q;rpuufqy3ef%y0!YJ8@DB?12z5)nQS z4 zfJAtO|1cZ$ufc}c!%VeY&83WE{Exe8(=1{m*KoBC9T0kB(Yb$$m8CP$h zA;R$j{DNR0NKjb77+!F$E-*NzJJ1k>NGvUEI7}A;G(?mqg3jFC18V(qqU~V;`%$l2 zs@Omt>EAfAKoF4UK9C)VP|O&9MDBk*qW^!7@N)Bm`GiFNq|`!i`P~(M%a)Y<4bio? z_HuKD!r-mpAGYutBkKJBi_*gXPfCLYfgk~R2*AAX5D1DO)P}oU%i7)518QmQ{?h~q z)YVek8U{3kM^a7!;ne^1$e##`I(%Sw3=y@hg)khB2X%F`hQjQBvv9Qp!2|On`mUCI zKtwgb6T#JzABafoA44z@k)S_@f@zPvz0+WkO= zm*tOI{yE_T{wUL*6Mo>268t$40D}G_76e!PKZ4;0en>_b@$>KZI`Pjogh*|7AdiZ@ z6(U`K=zvI9SyvB4sw2pM(enMXy~vuwYuwcqQ5gs(zY9Y{_V0d!H%B=4U#|PJI;+GeG+5gM(UpD_V*BD-0az8_<0kyJ*A|(D~{TuD4&|fTm z%KpXnuPXc${#P}BD)Ljc-|8Tu1$UH&f&$R+N1Y&Q3gHMfS1Wk4xbJSQA^Q`cYW~R8 z172X-_Aa(g*1vm+t+lGTg|*YK!9T5ddHLY$ zw}2%tuONIbBm)109~T0{-vS66M4%B`{9OeP7`zE10<7_S#P=hC{~B0?SALy5z`KGy z%*pz<{C|-L_w}!S$oH!ZNRVDCc>G$NX=Kl|i z;BR03E`$GY`eo`*PCq7p<%Gzn|ClHXKS6`JLV@hk9x!-DxH|%6?LFZ_@0>J_B;`N2RN;13u`06u{`5%B`L{09aP*gs(c@JjkS zo(R0&{sx0<_)nM!y#D@%Cnx}~+rPs^;9>Y1Oh^Ep0)K~z{1YbpKi~zwkeF5fVZ)%isK9P;+}HYv|9mq;2nG4NnC4!s_Y@FC@fz0AGmix!AY@`F=E0 bMB2E+%%QL!NdpoP65$iVW?_-nP{8{?c*9WJ literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv new file mode 100644 index 0000000..11ddfd8 --- /dev/null +++ b/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv @@ -0,0 +1,18 @@ +StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +0.0;67.967;43.475;-0.0077341;-0.0077341;;.CONSTANTGRADIENT. +67.967;25.560;42.950;-0.0077341;-0.0933380;-300.0;.CIRCULARARC. +93.527;20.399;41.660;-0.0933380;-0.0933380;;.CONSTANTGRADIENT. +113.925;21.684;39.756;-0.0933380;-0.0206578;300.0;.CIRCULARARC. +135.609;68.626;38.522;-0.0206578;-0.0206578;;.CONSTANTGRADIENT. +204.235;56.932;37.104;-0.0206578;0.0078128;2000.0;.CIRCULARARC. +261.167;46.450;36.739;0.0078128;0.0078128;;.CONSTANTGRADIENT. +307.617;101.901;37.102;0.0078128;0.0486302;2500.0;.CIRCULARARC. +409.517;30.592;39.976;0.0486302;0.0486302;;.CONSTANTGRADIENT. +440.109;64.029;41.464;0.0486302;-0.0154579;-1000.0;.CIRCULARARC. +504.138;203.572;42.525;-0.0154579;-0.0154579;;.CONSTANTGRADIENT. +707.709;55.848;39.378;-0.0154579;-0.0714863;-1000.0;.CIRCULARARC. +763.558;76.625;36.952;-0.0714863;0.0053208;1000.0;.CIRCULARARC. +840.183;152.345;34.421;0.0053208;0.0053208;;.CONSTANTGRADIENT. +992.528;36.817;35.232;0.0053208;0.0237361;2000.0;.CIRCULARARC. +1029.345;52.563;35.766;0.0237361;-0.0288451;-1000.0;.CIRCULARARC. +1081.907;188.502;35.632;-0.0288451;-0.0288451;;.CONSTANTGRADIENT. diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md index 77aad9b..8bd2716 100644 --- a/E1a-ARSE/ALIN04/README.md +++ b/E1a-ARSE/ALIN04/README.md @@ -1,37 +1,22 @@ # Test Instruction -| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | -| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | -| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN04 | Alignment Infrastructure Curves | E1a | ALIN04 | Lars Wikström | FTIA | 1.0 | 07.01.2022 | ## Summary (Intent) -*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN01](../ALIN01) and adds a geometric definition. -With these instructions the infrastructure (e.g. Road) alignment exchange is established. -This includes basic alignment geometry featuring the common layout: - -- horizontal -- vertical - -The valid geometry segment types for horizontal are the following: - -- Arc -- Clothoid -- Linear -- *Check if other transition curves are being used* - -The valid geometry segment types for vertical: - -- Linear -- Circular Arc -- Parabolic Arc -- *Check if there are cases with transition curves (don't think that there are)* - -... - -We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). +| Info | | +| ---------------------------- | ------------------------------------- | +| Number of alignment(s) | 1 | +| Properties of segments | no | +| Horizontal layout | Straight Line, Circular Arc, Clothoid | +| Vertical layout | Straight Line, Circular Arc | +| Geometric representation | IfcCompositeCurve, IfcGradientCurve | +| IFC reference file available | Yes | The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. @@ -48,32 +33,28 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *IfcAlignment* -- *IfcAlignmentHorizontal* -- *IfcAlignmentVertical* -- *IfcAlignmentSegment* -- *IfcAlignmentHorizontalSegment* -- *IfcAlignmentVerticalSegment* -- *IfcAxis2PlacementLinear* -- *IfcAxis2Placement2D* -- *IfcAxis2Placement3D* -- *IfcCircle* -- *IfcClothoid* -- *IfcCompositeCurve* -- *IfcCurveSegment* -- *IfcLine* -- *IfcLinearPlacement* -- *IfcLocalPlacement* -- *IfcGeometricRepresentationContext* -- *IfcGeometricRepresentationSubContext* -- *IfcGradientCurve* -- *IfcMapConversion* -- *IfcPolyline* -- *IfcProject* -- *IfcProjectedCRS* -- *IfcProductDefinitionShape* -- *IfcSite* -- *IfcShapeRepresentation* +- Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment + +- Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - IfcCompositeCurve + - IfcGradientCurve + - IfcCurveSegment + - IfcLine + - IfcClothoid + - IfcCurve + @@ -81,8 +62,7 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Layout* -- *Alignment Geometry* +- *Alignment Decomposition* - *Alignment Geometry Gradient* - *Project Global Positioning* - *Spatial Containment* @@ -108,18 +88,41 @@ The following itemised restrictions and constraints shall be placed on IFC Entit :construction: under construction :construction:

Semantic Usages, Constraints & Logic - The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria -- IfcSomething - - *Constraint* +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | --------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_00 | Alignment layout structure is verified | See below for further specification | | +| SITE_00 | Alignment shall always be contained in a Site | na | | -
+ALIG_00: Alignment layout structure is verified + +> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` +> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` +> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` +> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` +> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` +> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` +> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` +> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` +> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` + +-
Model Geometry The Test case requires the following additional checks related to Model Geometry: -- *Constraint* + + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | + + +> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` +> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Geometric representations shall correspond to the semantic definitions.
@@ -132,8 +135,8 @@ For certification of capabilities the only source will be: - n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of ... -- CSV export of ... +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters --- @@ -163,13 +166,32 @@ Considering the aim of this test, other **optional** results, not subject to the -### Some Concept Group +### Road alignment + +
Click to expand + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | +| ALIG_01 | Alignments contained in file | 1 | | +| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | +| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve. | | | +| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcCompositeCurve. | | | +| ALIG_07 | The IfcAlignmentVertical shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve (same instance as referred to by IfcAlignment). | | | +| ALIG_06 | The IfcGradientCurve shall have the IfcCompositeCurve as BaseCurve | | | +| ALIG_07 | The IfcGradientCurve shall have Segments that exactly match the corresponding vertical segments in the IfcAlignmentVertical and in the same order | | | +| ALIG_08 | The IfcCompositeCurve shall have Segments that exactly match the corresponding horizontal segments in the IfcAlignmentHorizontal and in the same order | | | + +
+ +### Spatial containment
Click to expand -Criteria around the representation of 'Some Concept' +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|------------------------------------------|-------------| -| XXXX_01 | A Criteria to follow | its expected value or outcome | | +| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | +| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | +| IfcSite | | 1 | 1 | IfcAlignment | Road alignment |
From 7e2b70db0f04aa7a0942a7e3237e68f4e9dc28f7 Mon Sep 17 00:00:00 2001 From: larswik Date: Fri, 18 Feb 2022 12:00:28 +0100 Subject: [PATCH 10/37] Added ALIN05 and slightly corrected ALIN04 Readme --- E1a-ARSE/ALIN04/README.md | 2 +- .../Dataset/HorizontalAlignmentParameters.csv | 10 + E1a-ARSE/ALIN05/Dataset/README.md | 115 ++++-- E1a-ARSE/ALIN05/Dataset/T616AAC0.ifc | 379 ++++++++++++++++++ E1a-ARSE/ALIN05/Dataset/T616AAC0.xml | 215 ++++++++++ .../Dataset/VerticalAlignmentParameters.csv | 28 ++ E1a-ARSE/ALIN05/README.md | 156 +++---- 7 files changed, 807 insertions(+), 98 deletions(-) create mode 100644 E1a-ARSE/ALIN05/Dataset/HorizontalAlignmentParameters.csv create mode 100644 E1a-ARSE/ALIN05/Dataset/T616AAC0.ifc create mode 100644 E1a-ARSE/ALIN05/Dataset/T616AAC0.xml create mode 100644 E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md index 8bd2716..7d85aca 100644 --- a/E1a-ARSE/ALIN04/README.md +++ b/E1a-ARSE/ALIN04/README.md @@ -53,7 +53,7 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - IfcCurveSegment - IfcLine - IfcClothoid - - IfcCurve + - IfcCircle diff --git a/E1a-ARSE/ALIN05/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN05/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..c255850 --- /dev/null +++ b/E1a-ARSE/ALIN05/Dataset/HorizontalAlignmentParameters.csv @@ -0,0 +1,10 @@ +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;145685,855172;6591370,14247;3,81786017386422;0;0;47,36403;LINE +H2;IfcAlignmentHorizontalSegment;145648,91529;6591340,497969;3,81786015919453;0;0;84,45946;CLOTHOID +H3;IfcAlignmentHorizontalSegment;145587,393864;6591282,917242;4,04612898397448;185;185;137,211623;CIRCULARARC +H4;IfcAlignmentHorizontalSegment;145548,355486;6591154,637666;4,78781344986031;185;185;59,594595;CLOTHOID +H5;IfcAlignmentHorizontalSegment;145559,177136;6591096,103693;4,94887976098661;0;0;55,65383;CLOTHOID +H6;IfcAlignmentHorizontalSegment;145569,732915;6591041,507035;4,81233958697448;-203,799988;-203,799988;25,757113;CIRCULARARC +H7;IfcAlignmentHorizontalSegment;145570,678864;6591015,784448;4,68595602013852;-203,799988;-203,799988;125,614636;CLOTHOID +H8;IfcAlignmentHorizontalSegment;145541,922395;6590894,049604;4,37777593581732;0;0;118,881381;CLOTHOID +H9;IfcAlignmentHorizontalSegment;145505,510693;6590780,90873;4,44754181497448;851,999999;851,999999;2,84745;CIRCULARARC diff --git a/E1a-ARSE/ALIN05/Dataset/README.md b/E1a-ARSE/ALIN05/Dataset/README.md index d49f555..328e23c 100644 --- a/E1a-ARSE/ALIN05/Dataset/README.md +++ b/E1a-ARSE/ALIN05/Dataset/README.md @@ -1,45 +1,100 @@ ## Variations The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: -- Entity_01 - *decription of variation* -- Entity_02 - *decription of variation* +- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* +- IfcAlignmentVerticalSegment - *The test shall include linear and parabolic arc segments* +- Alignment Decomposition: + - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns + - The horizontal alignment shall also be decomposed with sequences of clothoid transition curves forming "S" curves + - The vertical alignment shall be decomposed with element sequences containing linear and parabolic arc segments including both clockwise and counter-clockwise turns + - The vertical alignment shall also be decomposed into parabolic arcs followed by parabolic arcs forming "S" curves + - The vertical alignment shall also be decomposed with element sequences where linear elements follows directly after each other -***=>What other elements occur for roads?*** +## Model Dataset +- - This test case utilises the following dataset: + - One alignment layout (no geometric representation is required) + - The alignment is composed of one horizontal alignment layout and one vertical alignment layout + - The horizontal layout has the following sequences of elements: + + - Line => Clothoid => Circular arc (cw) => Clothoid => Clothoid => Circular arc (ccw) => Clothoid => Clothoid => Circular arc (cw) + - The vertical layout has the following sequences of elements: + + - Line => Parabolic arc => Line + - Line => Parabolic arc => Parabolic arc => Line + - Line => Line => Line => ... + +The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : -## Model Dataset -This test case utilises the attached dataset documented by the following drawings and data schedule. - -"Synopsis": - -- IfcAlignment => IfcPolyline (Axis,Curve3D)? - - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) - - Line - - Clothoid (to left) - - Circular arc (left) - - Clothoid (to straight) - - Line - - Clothoid (to right) - - Circular arc (right) - - Clothoid (to straight) - - Line - - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) - - Line (up) - - Parabolic arc/Circular arc - - Line (down) - - Parabolic arc/Circular arc - - Line (up) - -*This is a later step tha involved the detailed documentation of the certification dataset (model)* +Alignment: + +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | +| A1 | IfcAlignment | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | +| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcCompositeCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | +| AV1 | IfcAlignmentVertical | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | + +Horizontal segments nested into AH1 in the following order: +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | +| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | ----------- | ---------- | ----------- | +| H1 | IfcAlignmentHorizontalSegment | 145685,8552 | 6591370,142 | 3,817860174 | 0 | 0 | 47,36403 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 145648,9153 | 6591340,498 | 3,817860159 | 0 | 185 | 84,45946 | CLOTHOID | +| H3 | IfcAlignmentHorizontalSegment | 145587,3939 | 6591282,917 | 4,046128984 | 185 | 185 | 137,211623 | CIRCULARARC | +| H4 | IfcAlignmentHorizontalSegment | 145548,3555 | 6591154,638 | 4,78781345 | 185 | 0 | 59,594595 | CLOTHOID | +| H5 | IfcAlignmentHorizontalSegment | 145559,1771 | 6591096,104 | 4,948879761 | 0 | -203,799988 | 55,65383 | CLOTHOID | +| H6 | IfcAlignmentHorizontalSegment | 145569,7329 | 6591041,507 | 4,812339587 | -203,799988 | -203,799988 | 25,757113 | CIRCULARARC | +| H7 | IfcAlignmentHorizontalSegment | 145570,6789 | 6591015,784 | 4,68595602 | -203,799988 | 0 | 125,614636 | CLOTHOID | +| H8 | IfcAlignmentHorizontalSegment | 145541,9224 | 6590894,05 | 4,377775936 | 0 | 851,999999 | 118,881381 | CLOTHOID | +| H9 | IfcAlignmentHorizontalSegment | 145505,5107 | 6590780,909 | 4,447541815 | 851,999999 | 851,999999 | 2,84745 | CIRCULARARC | + +Vertical segments nested into AV1 in the following order: + +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------------ | ---------------- | +| V1 | IfcAlignmentVerticalSegment | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | CONSTANTGRADIENT | +| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,009739982 | 1549,998375 | PARABOLICARC | +| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,023047408 | -5000,004241 | PARABOLICARC | +| V4 | IfcAlignmentVerticalSegment | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | CONSTANTGRADIENT | +| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,016859621 | -3000,015228 | PARABOLICARC | +| V6 | IfcAlignmentVerticalSegment | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | CONSTANTGRADIENT | +| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,012637385 | 3000,021522 | PARABOLICARC | +| V8 | IfcAlignmentVerticalSegment | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | CONSTANTGRADIENT | +| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,017293222 | 2999,990831 | PARABOLICARC | +| V10 | IfcAlignmentVerticalSegment | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | CONSTANTGRADIENT | +| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,023106068 | 2950,001197 | PARABOLICARC | +| V12 | IfcAlignmentVerticalSegment | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | CONSTANTGRADIENT | +| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,045000824 | -3000,000288 | PARABOLICARC | +| V14 | IfcAlignmentVerticalSegment | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | CONSTANTGRADIENT | +| V15 | IfcAlignmentVerticalSegment | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | CONSTANTGRADIENT | +| V16 | IfcAlignmentVerticalSegment | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | CONSTANTGRADIENT | +| V17 | IfcAlignmentVerticalSegment | 549,99946 | 10 | 27,818 | 0,026832 | 0,026832 | 0 | CONSTANTGRADIENT | +| V18 | IfcAlignmentVerticalSegment | 559,99946 | 10 | 28,08632 | 0,026325 | 0,026325 | 0 | CONSTANTGRADIENT | +| V19 | IfcAlignmentVerticalSegment | 569,99946 | 10 | 28,34957 | 0,02537 | 0,02537 | 0 | CONSTANTGRADIENT | +| V20 | IfcAlignmentVerticalSegment | 579,99946 | 10 | 28,60327 | 0,020813 | 0,020813 | 0 | CONSTANTGRADIENT | +| V21 | IfcAlignmentVerticalSegment | 589,99946 | 10 | 28,8114 | 0,020176 | 0,020176 | 0 | CONSTANTGRADIENT | +| V22 | IfcAlignmentVerticalSegment | 599,99946 | 10 | 29,01316 | 0,019498 | 0,019498 | 0 | CONSTANTGRADIENT | +| V23 | IfcAlignmentVerticalSegment | 609,99946 | 10 | 29,20814 | 0,018781 | 0,018781 | 0 | CONSTANTGRADIENT | +| V24 | IfcAlignmentVerticalSegment | 619,99946 | 10 | 29,39595 | 0,018022 | 0,018022 | 0 | CONSTANTGRADIENT | +| V25 | IfcAlignmentVerticalSegment | 629,99946 | 10 | 29,57617 | 0,017226 | 0,017226 | 0 | CONSTANTGRADIENT | +| V26 | IfcAlignmentVerticalSegment | 639,99946 | 10 | 29,74843 | 0,01639 | 0,01639 | 0 | CONSTANTGRADIENT | +| V27 | IfcAlignmentVerticalSegment | 649,99946 | 7,384658 | 29,91233 | 0,015674389 | 0,015674389 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) + The following Drawings and visualisations describe the test case dataset to be modelled and certified. +| Filename | Description | +| ---------------------------------- | -------------------------------------------- | +| Insert map here | Planar (map) view of the test case | +| Insert profile (long section) here | Long section (profile) view of the test case | + ## Supporting files -| Filename | Description | -|-----------------------------------|-------------------------------------------| -| *filename* | *short description* | \ No newline at end of file +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./T616AAC0.xml) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALIN05/Dataset/T616AAC0.ifc b/E1a-ARSE/ALIN05/Dataset/T616AAC0.ifc new file mode 100644 index 0000000..1f85899 --- /dev/null +++ b/E1a-ARSE/ALIN05/Dataset/T616AAC0.ifc @@ -0,0 +1,379 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4NotAssigned]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\Users\\lars\\Documents\\Projekt\\IFCInfra\\Tests\\T616AAC0.ifc', +/* time_stamp */ '2022-02-11T14:31:20', +/* author */ ('lars'), +/* organization */ ('Unknown'), +/* preprocessor_version */ 'ggIfcConverter v0.0.5.0 by Geometry Gym Pty Ltd built 2022-02-10T07:15:39', +/* originating_system */ 'ggIFCConverter v0.0.5.0 - Converter by Geometry Gym Pty Ltd', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4X3_RC4')); +ENDSEC; + +DATA; +#1= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2= IFCDIRECTION((1.0,0.0,0.0)); +#3= IFCDIRECTION((0.0,1.0,0.0)); +#4= IFCDIRECTION((0.0,0.0,1.0)); +#5= IFCAXIS2PLACEMENT3D(#1,$,$); +#6= IFCCARTESIANPOINT((0.0,0.0)); +#7= IFCAXIS2PLACEMENT2D(#6,$); +#8= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#9= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#10= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#11= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#12= IFCUNITASSIGNMENT((#8,#11)); +#13= IFCPROJECT('1Tv021Gck$7ughfYxwF4yI',$,'FSE62','Haggvik',$,$,$,(#62),#12); +#14= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#15= IFCAXIS2PLACEMENT3D(#14,$,$); +#16= IFCLOCALPLACEMENT($,#15); +#17= IFCSITE('3T1iwTWw_7C9gXxbplesA6',$,'FSE62',$,$,#16,$,$,$,$,$,$,$,$); +#18= IFCRELAGGREGATES('0r0HqCeSODTtdmcoweUKiT',$,$,$,#13,(#17)); +#19= IFCLOCALPLACEMENT(#16,#5); +#20= IFCALIGNMENT('1qKoYQmefwILLh4ZsI6LxI',$,'BH FSK06 T 616 - MCL0',$,$,#19,#349,$); +#21= IFCRELCONTAINEDINSPATIALSTRUCTURE('0nVagFNqT69QpkPBmysnEN',$,'Site','Site Container for Elements',(#20),#17); +#22= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#23= IFCAXIS2PLACEMENT3D(#22,#4,#2); +#25= IFCALIGNMENTHORIZONTAL('0eCZ0W41XqosthTwW3nHMK',$,$,$,$,#19,#119); +#26= IFCRELNESTS('3LMExpFLX4iQsPL7OaDfQh',$,$,$,#20,(#25,#147)); +#27= IFCCARTESIANPOINT((145685.855172,6591370.14247)); +#28= IFCALIGNMENTHORIZONTALSEGMENT($,$,#27,3.81786017386422,0.0,0.0,47.36403,$,.LINE.); +#29= IFCALIGNMENTSEGMENT('0fFLjTpDOX1QYJYWSPuaEh',$,$,$,$,#19,#68,#28); +#30= IFCRELNESTS('305zaPLUj2JfD1ZD3UQPAH',$,$,$,#25,(#29,#33,#36,#39,#42,#45,#48,#51,#54)); +#31= IFCCARTESIANPOINT((145648.91529,6591340.497969)); +#32= IFCALIGNMENTHORIZONTALSEGMENT($,$,#31,3.81786015919453,0.0,185.0,84.45946,$,.CLOTHOID.); +#33= IFCALIGNMENTSEGMENT('3l1vipy03BwwW_WnKuy0xn',$,$,$,$,#19,#74,#32); +#34= IFCCARTESIANPOINT((145587.393864,6591282.917242)); +#35= IFCALIGNMENTHORIZONTALSEGMENT($,$,#34,4.04612898397448,185.0,185.0,137.211623,$,.CIRCULARARC.); +#36= IFCALIGNMENTSEGMENT('1kDteeSkka4ZRXjPeCwS4$',$,$,$,$,#19,#80,#35); +#37= IFCCARTESIANPOINT((145548.355486,6591154.637666)); +#38= IFCALIGNMENTHORIZONTALSEGMENT($,$,#37,4.78781344986031,185.0,0.0,59.594595,$,.CLOTHOID.); +#39= IFCALIGNMENTSEGMENT('1dhuWBbsUf660FT84XQd$R',$,$,$,$,#19,#86,#38); +#40= IFCCARTESIANPOINT((145559.177136,6591096.103693)); +#41= IFCALIGNMENTHORIZONTALSEGMENT($,$,#40,4.94887976098661,0.0,-203.799988,55.65383,$,.CLOTHOID.); +#42= IFCALIGNMENTSEGMENT('0TjXmuzRqJQbl7$1zvHNM0',$,$,$,$,#19,#92,#41); +#43= IFCCARTESIANPOINT((145569.732915,6591041.507035)); +#44= IFCALIGNMENTHORIZONTALSEGMENT($,$,#43,4.81233958697448,-203.799988,-203.799988,25.757113,$,.CIRCULARARC.); +#45= IFCALIGNMENTSEGMENT('2LV6BwicdV_X3HMaqU2uph',$,$,$,$,#19,#98,#44); +#46= IFCCARTESIANPOINT((145570.678864,6591015.784448)); +#47= IFCALIGNMENTHORIZONTALSEGMENT($,$,#46,4.68595602013852,-203.799988,0.0,125.614636,$,.CLOTHOID.); +#48= IFCALIGNMENTSEGMENT('03KECuLeEdyOHhsPBo52s8',$,$,$,$,#19,#104,#47); +#49= IFCCARTESIANPOINT((145541.922395,6590894.049604)); +#50= IFCALIGNMENTHORIZONTALSEGMENT($,$,#49,4.37777593581732,0.0,851.999999,118.881381,$,.CLOTHOID.); +#51= IFCALIGNMENTSEGMENT('1TlIJ8w4HdkkZ$zAwmVOT5',$,$,$,$,#19,#110,#50); +#52= IFCCARTESIANPOINT((145505.510693,6590780.90873)); +#53= IFCALIGNMENTHORIZONTALSEGMENT($,$,#52,4.44754181497448,851.999999,851.999999,2.84745,$,.CIRCULARARC.); +#54= IFCALIGNMENTSEGMENT('1SwrZzgdyr8eBKAjrC6oJA',$,$,$,$,#19,#116,#53); +#55= IFCAXIS2PLACEMENT2D(#27,#56); +#56= IFCDIRECTION((-0.77991425,-0.62588638)); +#57= IFCCARTESIANPOINT((0.0,0.0)); +#58= IFCDIRECTION((1.0,0.0)); +#59= IFCVECTOR(#58,1.0); +#60= IFCLINE(#57,#59); +#61= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#55,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(47.3640298),#60); +#62= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.00001,#64,#65); +#63= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#64= IFCAXIS2PLACEMENT3D(#63,$,$); +#65= IFCDIRECTION((0.0,1.0)); +#66= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#62,$,.GRAPH_VIEW.,$); +#67= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#61)); +#68= IFCPRODUCTDEFINITIONSHAPE($,$,(#67)); +#69= IFCAXIS2PLACEMENT2D(#31,#70); +#70= IFCDIRECTION((-0.77991426,-0.62588636)); +#71= IFCCLOTHOID(#7,125.00000003); +#72= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#69,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(84.4594595),#71); +#73= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#72)); +#74= IFCPRODUCTDEFINITIONSHAPE($,$,(#73)); +#75= IFCAXIS2PLACEMENT2D(#34,#76); +#76= IFCDIRECTION((-0.61805015,-0.78613867)); +#77= IFCCIRCLE(#7,185.0); +#78= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#75,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(137.2116232),#77); +#79= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#78)); +#80= IFCPRODUCTDEFINITIONSHAPE($,$,(#79)); +#81= IFCAXIS2PLACEMENT2D(#37,#82); +#82= IFCDIRECTION((0.07535298,-0.99715692)); +#83= IFCCLOTHOID(#7,-105.000000004762); +#84= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#81,IFCPARAMETERVALUE(-59.5945946),IFCNONNEGATIVELENGTHMEASURE(59.5945946),#83); +#85= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#84)); +#86= IFCPRODUCTDEFINITIONSHAPE($,$,(#85)); +#87= IFCAXIS2PLACEMENT2D(#40,#88); +#88= IFCDIRECTION((0.23429253,-0.97216614)); +#89= IFCCLOTHOID(#7,-106.50000004843); +#90= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#87,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(55.6538305),#89); +#91= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#90)); +#92= IFCPRODUCTDEFINITIONSHAPE($,$,(#91)); +#93= IFCAXIS2PLACEMENT2D(#43,#94); +#94= IFCDIRECTION((0.09978427,-0.9950091)); +#95= IFCCIRCLE(#7,203.799988); +#96= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#93,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.126384271668585),#95); +#97= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#96)); +#98= IFCPRODUCTDEFINITIONSHAPE($,$,(#97)); +#99= IFCAXIS2PLACEMENT2D(#46,#100); +#100= IFCDIRECTION((-0.02642988,-0.99965067)); +#101= IFCCLOTHOID(#7,160.000816780929); +#102= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#99,IFCPARAMETERVALUE(-125.6146363),IFCNONNEGATIVELENGTHMEASURE(125.6146363),#101); +#103= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#102)); +#104= IFCPRODUCTDEFINITIONSHAPE($,$,(#103)); +#105= IFCAXIS2PLACEMENT2D(#49,#106); +#106= IFCDIRECTION((-0.3284037,-0.94453746)); +#107= IFCCLOTHOID(#7,318.256086779962); +#108= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#105,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(118.8813813),#107); +#109= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#108)); +#110= IFCPRODUCTDEFINITIONSHAPE($,$,(#109)); +#111= IFCAXIS2PLACEMENT2D(#52,#112); +#112= IFCDIRECTION((-0.26176177,-0.96513252)); +#113= IFCCIRCLE(#7,851.999999); +#114= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#111,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(2.8474498),#113); +#115= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#114)); +#116= IFCPRODUCTDEFINITIONSHAPE($,$,(#115)); +#117= IFCCOMPOSITECURVE((#61,#72,#78,#84,#90,#96,#102,#108,#114),.U.); +#118= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#117)); +#119= IFCPRODUCTDEFINITIONSHAPE($,$,(#118)); +#120= IFCALIGNMENTVERTICALSEGMENT($,$,85.0,1.41860494999992,15.82,0.00973998216308436,0.00973998216308436,$,.CONSTANTGRADIENT.); +#121= IFCALIGNMENTVERTICALSEGMENT($,$,86.4186049499999,20.6264881,15.8338171869095,0.00973998216308436,0.0230474077876794,1549.99837548427,.PARABOLICARC.); +#122= IFCALIGNMENTVERTICALSEGMENT($,$,107.04509375,30.9389625,16.1719615573674,0.0230474077876794,0.0168596205365767,-5000.00424133629,.PARABOLICARC.); +#123= IFCALIGNMENTVERTICALSEGMENT($,$,137.98405625,66.8933770000001,16.7893025837727,0.0168596205365767,0.0168596205365767,$,.CONSTANTGRADIENT.); +#124= IFCALIGNMENTVERTICALSEGMENT($,$,204.87743325,12.6667695,17.9170995364029,0.0168596205365767,0.0126373854679485,-3000.01522750735,.PARABOLICARC.); +#125= IFCALIGNMENTVERTICALSEGMENT($,$,217.54420275,4.4678965999999,18.1039154244026,0.0126373854679485,0.0126373854679485,$,.CONSTANTGRADIENT.); +#126= IFCALIGNMENTVERTICALSEGMENT($,$,222.01209935,13.9676113,18.1603779559677,0.0126373854679485,0.0172932224996773,3000.02152240574,.PARABOLICARC.); +#127= IFCALIGNMENTVERTICALSEGMENT($,$,235.97971065,29.55312205,18.369407505,0.0172932224996773,0.0172932224996773,$,.CONSTANTGRADIENT.); +#128= IFCALIGNMENTVERTICALSEGMENT($,$,265.5328327,17.4384826,18.8804762201707,0.0172932224996773,0.0231060677982796,2999.99083137358,.PARABOLICARC.); +#129= IFCALIGNMENTVERTICALSEGMENT($,$,282.9713153,12.9163156,19.2327273806274,0.0231060677982796,0.0231060677982796,$,.CONSTANTGRADIENT.); +#130= IFCALIGNMENTVERTICALSEGMENT($,$,295.8876309,64.5895582,19.5311726445849,0.0231060677982796,0.0450008244047686,2950.00119712944,.PARABOLICARC.); +#131= IFCALIGNMENTVERTICALSEGMENT($,$,360.4771891,0.0557456000001366,21.7306696834699,0.0450008244047686,0.0450008244047686,$,.CONSTANTGRADIENT.); +#132= IFCALIGNMENTVERTICALSEGMENT($,$,360.5329347,42.5278306,21.7331782814268,0.0450008244047686,0.0308248822338554,-3000.00028832373,.PARABOLICARC.); +#133= IFCALIGNMENTVERTICALSEGMENT($,$,403.0607653,126.9386947,23.3455296849532,0.0308248822338554,0.0308248822338554,$,.CONSTANTGRADIENT.); +#134= IFCALIGNMENTVERTICALSEGMENT($,$,529.99946,10.0,27.2584,0.0286679999999997,0.0286679999999997,$,.CONSTANTGRADIENT.); +#135= IFCALIGNMENTVERTICALSEGMENT($,$,539.99946,10.0,27.54508,0.0272920000000003,0.0272920000000003,$,.CONSTANTGRADIENT.); +#136= IFCALIGNMENTVERTICALSEGMENT($,$,549.99946,10.0,27.818,0.0268319999999999,0.0268319999999999,$,.CONSTANTGRADIENT.); +#137= IFCALIGNMENTVERTICALSEGMENT($,$,559.99946,10.0,28.08632,0.0263249999999999,0.0263249999999999,$,.CONSTANTGRADIENT.); +#138= IFCALIGNMENTVERTICALSEGMENT($,$,569.99946,10.0,28.34957,0.0253699999999998,0.0253699999999998,$,.CONSTANTGRADIENT.); +#139= IFCALIGNMENTVERTICALSEGMENT($,$,579.99946,10.0,28.60327,0.0208130000000001,0.0208130000000001,$,.CONSTANTGRADIENT.); +#140= IFCALIGNMENTVERTICALSEGMENT($,$,589.99946,10.0,28.8114,0.020176,0.020176,$,.CONSTANTGRADIENT.); +#141= IFCALIGNMENTVERTICALSEGMENT($,$,599.99946,10.0,29.01316,0.0194980000000001,0.0194980000000001,$,.CONSTANTGRADIENT.); +#142= IFCALIGNMENTVERTICALSEGMENT($,$,609.99946,10.0,29.20814,0.0187809999999999,0.0187809999999999,$,.CONSTANTGRADIENT.); +#143= IFCALIGNMENTVERTICALSEGMENT($,$,619.99946,10.0,29.39595,0.0180220000000002,0.0180220000000002,$,.CONSTANTGRADIENT.); +#144= IFCALIGNMENTVERTICALSEGMENT($,$,629.99946,10.0,29.57617,0.0172259999999998,0.0172259999999998,$,.CONSTANTGRADIENT.); +#145= IFCALIGNMENTVERTICALSEGMENT($,$,639.99946,10.0,29.74843,0.0163900000000002,0.0163900000000002,$,.CONSTANTGRADIENT.); +#146= IFCALIGNMENTVERTICALSEGMENT($,$,649.99946,7.38465799999994,29.91233,0.0156743887123817,0.0156743887123817,$,.CONSTANTGRADIENT.); +#147= IFCALIGNMENTVERTICAL('3yZID4z3LD1Q169TMHXNS9',$,'GCL0BH FSK06 T 616',$,$,#19,#347); +#148= IFCALIGNMENTSEGMENT('0Oz2vXYBnFQeKCpYLUInCA',$,$,$,$,#19,#181,#120); +#149= IFCRELNESTS('2B4aDb4$XDIA9eMNMVsOsk',$,$,$,#147,(#148,#150,#151,#152,#153,#154,#155,#156,#157,#158,#159,#160,#161,#162,#163,#164,#165,#166,#167,#168,#169,#170,#171,#172,#173,#174,#175)); +#150= IFCALIGNMENTSEGMENT('1FVHW310TC$8EwmI8ZOvzK',$,$,$,$,#19,#188,#121); +#151= IFCALIGNMENTSEGMENT('0vmaF4tqL2AxYtl1WwGjlg',$,$,$,$,#19,#195,#122); +#152= IFCALIGNMENTSEGMENT('2Y_b_GPi99ag_YmKfEAcE1',$,$,$,$,#19,#201,#123); +#153= IFCALIGNMENTSEGMENT('0cTpBx3CTDXf7Ga0_WuGUO',$,$,$,$,#19,#208,#124); +#154= IFCALIGNMENTSEGMENT('16PlGGFWT7ZhtAxP15DL9Z',$,$,$,$,#19,#214,#125); +#155= IFCALIGNMENTSEGMENT('3rhOV0RST8sg_$KPVceuMS',$,$,$,$,#19,#221,#126); +#156= IFCALIGNMENTSEGMENT('0EGpLYeWDEDwcg93ZEWbtC',$,$,$,$,#19,#227,#127); +#157= IFCALIGNMENTSEGMENT('3xk5NvLRr1Fxqy4DUiAvr7',$,$,$,$,#19,#234,#128); +#158= IFCALIGNMENTSEGMENT('1$4qk3FZ557ur2whBLMvpt',$,$,$,$,#19,#240,#129); +#159= IFCALIGNMENTSEGMENT('2nrrGm_dr6w8OwQNM$pjuJ',$,$,$,$,#19,#247,#130); +#160= IFCALIGNMENTSEGMENT('2qI4jYgTfA99unGS59jrcW',$,$,$,$,#19,#253,#131); +#161= IFCALIGNMENTSEGMENT('0fQzmPlJH0j9qUngDIS_gn',$,$,$,$,#19,#260,#132); +#162= IFCALIGNMENTSEGMENT('3Vf_IpZ1nEdQWbNIR9se5b',$,$,$,$,#19,#266,#133); +#163= IFCALIGNMENTSEGMENT('2RBYedQIzDaQy4fYsJd1KF',$,$,$,$,#19,#272,#134); +#164= IFCALIGNMENTSEGMENT('3idbhVgBDFBOsuRZzMmHc7',$,$,$,$,#19,#278,#135); +#165= IFCALIGNMENTSEGMENT('2xGprMiYj9LAbf1kLD8EN5',$,$,$,$,#19,#284,#136); +#166= IFCALIGNMENTSEGMENT('33cR$eeuLD$goDR6Cb7njT',$,$,$,$,#19,#290,#137); +#167= IFCALIGNMENTSEGMENT('3A_5iVdsr7Lg4rzwhQFNuu',$,$,$,$,#19,#296,#138); +#168= IFCALIGNMENTSEGMENT('2kWm0SYR94Jx4rvOW0Oq6g',$,$,$,$,#19,#302,#139); +#169= IFCALIGNMENTSEGMENT('2fXcw4EVj7Vw84m$cXpyyg',$,$,$,$,#19,#308,#140); +#170= IFCALIGNMENTSEGMENT('15opIWozD44AgdO2ccxWqO',$,$,$,$,#19,#314,#141); +#171= IFCALIGNMENTSEGMENT('0hKmt36IjFzQju$FM19J9T',$,$,$,$,#19,#320,#142); +#172= IFCALIGNMENTSEGMENT('2lBotrH$HAZQZnJSW2xESI',$,$,$,$,#19,#326,#143); +#173= IFCALIGNMENTSEGMENT('3v3_LX3fP0eB$G9ABpj8tP',$,$,$,$,#19,#332,#144); +#174= IFCALIGNMENTSEGMENT('0k3aRclTX3mBfN5kQbH_8z',$,$,$,$,#19,#338,#145); +#175= IFCALIGNMENTSEGMENT('1_Zh_6n0PD2ud7HcMKKXcP',$,$,$,$,#19,#344,#146); +#176= IFCCARTESIANPOINT((85.0,15.82)); +#177= IFCDIRECTION((0.99995257,0.00973952)); +#178= IFCAXIS2PLACEMENT2D(#176,#177); +#179= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#178,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(1.41867223798112),#60); +#180= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#179)); +#181= IFCPRODUCTDEFINITIONSHAPE($,$,(#180)); +#182= IFCCARTESIANPOINT((86.418605,15.833817)); +#183= IFCDIRECTION((0.99995257,0.00973952)); +#184= IFCAXIS2PLACEMENT2D(#182,#183); +#185= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,3.22580983E-04),$); +#186= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#184,IFCPARAMETERVALUE(15.0969565300265),IFCPARAMETERVALUE(20.6264881),#185); +#187= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#186)); +#188= IFCPRODUCTDEFINITIONSHAPE($,$,(#187)); +#189= IFCCARTESIANPOINT((107.045094,16.171962)); +#190= IFCDIRECTION((0.99973451,0.02304129)); +#191= IFCAXIS2PLACEMENT2D(#189,#190); +#192= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,-9.99999152E-05),$); +#193= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#191,IFCPARAMETERVALUE(-115.237136690204),IFCPARAMETERVALUE(30.9389625),#192); +#194= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#193)); +#195= IFCPRODUCTDEFINITIONSHAPE($,$,(#194)); +#196= IFCCARTESIANPOINT((137.984056,16.789303)); +#197= IFCDIRECTION((0.99985791,0.01685722)); +#198= IFCAXIS2PLACEMENT2D(#196,#197); +#199= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#198,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(66.9028834388362),#60); +#200= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#199)); +#201= IFCPRODUCTDEFINITIONSHAPE($,$,(#200)); +#202= IFCCARTESIANPOINT((204.877433,17.9171)); +#203= IFCDIRECTION((0.99985791,0.01685722)); +#204= IFCAXIS2PLACEMENT2D(#202,#203); +#205= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,-1.66665821E-04),$); +#206= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#204,IFCPARAMETERVALUE(-50.5791183397258),IFCPARAMETERVALUE(12.6667695),#205); +#207= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#206)); +#208= IFCPRODUCTDEFINITIONSHAPE($,$,(#207)); +#209= IFCCARTESIANPOINT((217.544203,18.103915)); +#210= IFCDIRECTION((0.99992016,0.01263638)); +#211= IFCAXIS2PLACEMENT2D(#209,#210); +#212= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#211,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(4.46825335514465),#60); +#213= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#212)); +#214= IFCPRODUCTDEFINITIONSHAPE($,$,(#213)); +#215= IFCCARTESIANPOINT((222.012099,18.160378)); +#216= IFCDIRECTION((0.99992016,0.01263638)); +#217= IFCAXIS2PLACEMENT2D(#215,#216); +#218= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,1.66665471E-04),$); +#219= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#217,IFCPARAMETERVALUE(37.9124283907832),IFCPARAMETERVALUE(13.9676113),#218); +#220= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#219)); +#221= IFCPRODUCTDEFINITIONSHAPE($,$,(#220)); +#222= IFCCARTESIANPOINT((235.979711,18.369408)); +#223= IFCDIRECTION((0.99985051,0.01729064)); +#224= IFCAXIS2PLACEMENT2D(#222,#223); +#225= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#224,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(29.5575407321688),#60); +#226= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#225)); +#227= IFCPRODUCTDEFINITIONSHAPE($,$,(#226)); +#228= IFCCARTESIANPOINT((265.532833,18.880476)); +#229= IFCDIRECTION((0.99985051,0.01729064)); +#230= IFCAXIS2PLACEMENT2D(#228,#229); +#231= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,1.66667176E-04),$); +#232= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#230,IFCPARAMETERVALUE(51.8795089439353),IFCPARAMETERVALUE(17.4384826),#231); +#233= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#232)); +#234= IFCPRODUCTDEFINITIONSHAPE($,$,(#233)); +#235= IFCCARTESIANPOINT((282.971315,19.232727)); +#236= IFCDIRECTION((0.99973316,0.0230999)); +#237= IFCAXIS2PLACEMENT2D(#235,#236); +#238= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#237,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(12.9197630881677),#60); +#239= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#238)); +#240= IFCPRODUCTDEFINITIONSHAPE($,$,(#239)); +#241= IFCCARTESIANPOINT((295.887631,19.531173)); +#242= IFCDIRECTION((0.99973316,0.0230999)); +#243= IFCAXIS2PLACEMENT2D(#241,#242); +#244= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,1.69491457E-04),$); +#245= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#243,IFCPARAMETERVALUE(68.162927665879),IFCPARAMETERVALUE(64.5895582),#244); +#246= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#245)); +#247= IFCPRODUCTDEFINITIONSHAPE($,$,(#246)); +#248= IFCCARTESIANPOINT((360.477189,21.73067)); +#249= IFCDIRECTION((0.998989,0.04495533)); +#250= IFCAXIS2PLACEMENT2D(#248,#249); +#251= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#250,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(0.0558020159410466),#60); +#252= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#251)); +#253= IFCPRODUCTDEFINITIONSHAPE($,$,(#252)); +#254= IFCCARTESIANPOINT((360.532935,21.733178)); +#255= IFCDIRECTION((0.998989,0.04495533)); +#256= IFCAXIS2PLACEMENT2D(#254,#255); +#257= IFCPOLYNOMIALCURVE(#7,(0.0,1.0),(0.0,0.0,-1.66666651E-04),$); +#258= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#256,IFCPARAMETERVALUE(-135.002486189111),IFCPARAMETERVALUE(42.5278306),#257); +#259= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#258)); +#260= IFCPRODUCTDEFINITIONSHAPE($,$,(#259)); +#261= IFCCARTESIANPOINT((403.060765,23.34553)); +#262= IFCDIRECTION((0.99952525,0.03081025)); +#263= IFCAXIS2PLACEMENT2D(#261,#262); +#264= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#263,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(126.998987264632),#60); +#265= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#264)); +#266= IFCPRODUCTDEFINITIONSHAPE($,$,(#265)); +#267= IFCCARTESIANPOINT((529.99946,27.2584)); +#268= IFCDIRECTION((0.99958933,0.02865623)); +#269= IFCAXIS2PLACEMENT2D(#267,#268); +#270= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#269,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0041084271613),#60); +#271= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#270)); +#272= IFCPRODUCTDEFINITIONSHAPE($,$,(#271)); +#273= IFCCARTESIANPOINT((539.99946,27.54508)); +#274= IFCDIRECTION((0.99962778,0.02728184)); +#275= IFCAXIS2PLACEMENT2D(#273,#274); +#276= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#275,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0037235730702),#60); +#277= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#276)); +#278= IFCPRODUCTDEFINITIONSHAPE($,$,(#277)); +#279= IFCCARTESIANPOINT((549.99946,27.818)); +#280= IFCDIRECTION((0.99964022,0.02682235)); +#281= IFCAXIS2PLACEMENT2D(#279,#280); +#282= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#281,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0035991334319),#60); +#283= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#282)); +#284= IFCPRODUCTDEFINITIONSHAPE($,$,(#283)); +#285= IFCCARTESIANPOINT((559.99946,28.08632)); +#286= IFCDIRECTION((0.99965368,0.02631588)); +#287= IFCAXIS2PLACEMENT2D(#285,#286); +#288= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#287,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0034644280119),#60); +#289= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#288)); +#290= IFCPRODUCTDEFINITIONSHAPE($,$,(#289)); +#291= IFCCARTESIANPOINT((569.99946,28.34957)); +#292= IFCDIRECTION((0.99967834,0.02536184)); +#293= IFCAXIS2PLACEMENT2D(#291,#292); +#294= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#293,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.003217666831),#60); +#295= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#294)); +#296= IFCPRODUCTDEFINITIONSHAPE($,$,(#295)); +#297= IFCCARTESIANPOINT((579.99946,28.60327)); +#298= IFCDIRECTION((0.99978348,0.02080849)); +#299= IFCAXIS2PLACEMENT2D(#297,#298); +#300= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#299,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0021656703386),#60); +#301= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#300)); +#302= IFCPRODUCTDEFINITIONSHAPE($,$,(#301)); +#303= IFCCARTESIANPOINT((589.99946,28.8114)); +#304= IFCDIRECTION((0.99979653,0.02017189)); +#305= IFCAXIS2PLACEMENT2D(#303,#304); +#306= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#305,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0020351477887),#60); +#307= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#306)); +#308= IFCPRODUCTDEFINITIONSHAPE($,$,(#307)); +#309= IFCCARTESIANPOINT((599.99946,29.01316)); +#310= IFCDIRECTION((0.99980997,0.01949429)); +#311= IFCAXIS2PLACEMENT2D(#309,#310); +#312= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#311,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0019006793909),#60); +#313= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#312)); +#314= IFCPRODUCTDEFINITIONSHAPE($,$,(#313)); +#315= IFCCARTESIANPOINT((609.99946,29.20814)); +#316= IFCDIRECTION((0.99982368,0.01877769)); +#317= IFCAXIS2PLACEMENT2D(#315,#316); +#318= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#317,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0017634743129),#60); +#319= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#318)); +#320= IFCPRODUCTDEFINITIONSHAPE($,$,(#319)); +#321= IFCCARTESIANPOINT((619.99946,29.39595)); +#322= IFCDIRECTION((0.99983764,0.01801907)); +#323= IFCAXIS2PLACEMENT2D(#321,#322); +#324= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#323,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0016238305787),#60); +#325= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#324)); +#326= IFCPRODUCTDEFINITIONSHAPE($,$,(#325)); +#327= IFCCARTESIANPOINT((629.99946,29.57617)); +#328= IFCDIRECTION((0.99985167,0.01722344)); +#329= IFCAXIS2PLACEMENT2D(#327,#328); +#330= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#329,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0014835653317),#60); +#331= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#330)); +#332= IFCPRODUCTDEFINITIONSHAPE($,$,(#331)); +#333= IFCCARTESIANPOINT((639.99946,29.74843)); +#334= IFCDIRECTION((0.99986571,0.0163878)); +#335= IFCAXIS2PLACEMENT2D(#333,#334); +#336= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#335,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.0013430703081),#60); +#337= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#336)); +#338= IFCPRODUCTDEFINITIONSHAPE($,$,(#337)); +#339= IFCCARTESIANPOINT((649.99946,29.91233)); +#340= IFCDIRECTION((0.99987718,0.01567246)); +#341= IFCAXIS2PLACEMENT2D(#339,#340); +#342= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#341,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(7.38556509953458),#60); +#343= IFCSHAPEREPRESENTATION(#66,'Axis','Curve2D',(#342)); +#344= IFCPRODUCTDEFINITIONSHAPE($,$,(#343)); +#345= IFCGRADIENTCURVE((#179,#186,#193,#199,#206,#212,#219,#225,#232,#238,#245,#251,#258,#264,#270,#276,#282,#288,#294,#300,#306,#312,#318,#324,#330,#336,#342),.U.,#117,$); +#346= IFCSHAPEREPRESENTATION(#66,'Axis','Curve3D',(#345)); +#347= IFCPRODUCTDEFINITIONSHAPE($,$,(#346)); +#348= IFCSHAPEREPRESENTATION(#66,'Axis','Curve3D',(#345)); +#349= IFCPRODUCTDEFINITIONSHAPE($,$,(#348)); +#350= IFCREFERENT('1rOA0_Hlj4wvgaMcjms$Y1',$,$,$,$,#358,$,.STATION.,$); +#351= IFCRELNESTS('1sGo_$YJD4me8QWpepB0x9',$,$,$,#20,(#350)); +#352= IFCRELPOSITIONS('0LAIHHfBH9phTNLqeDurRB',$,$,$,#20,(#350)); +#353= IFCPROPERTYSET('3sJJbJ_GHEtxzf4$LdFusm',$,'Pset_Stationing',$,(#355)); +#354= IFCRELDEFINESBYPROPERTIES('1wMkSiEC95JeqBq8a1gtPS',$,$,$,(#350),#353); +#355= IFCPROPERTYSINGLEVALUE('Station',$,IFCLENGTHMEASURE(1000.0),$); +#356= IFCPOINTBYDISTANCEEXPRESSION(IFCNONNEGATIVELENGTHMEASURE(0.0),$,$,$,#117); +#357= IFCAXIS2PLACEMENTLINEAR(#356,$,$); +#358= IFCLINEARPLACEMENT(#16,#357,$); +#359= IFCPROPERTYSINGLEVALUE('state',$,IFCIDENTIFIER('proposed'),$); +#360= IFCPROPERTYSET('0gT_0DEtH21ADdZKVgGwbx',$,'landXML_Alignment',$,(#359)); +#361= IFCRELDEFINESBYPROPERTIES('0zFoF1ac9F3BXzX37veXrP',$,$,$,(#20),#360); +ENDSEC; + +END-ISO-10303-21; diff --git a/E1a-ARSE/ALIN05/Dataset/T616AAC0.xml b/E1a-ARSE/ALIN05/Dataset/T616AAC0.xml new file mode 100644 index 0000000..3aacb2f --- /dev/null +++ b/E1a-ARSE/ALIN05/Dataset/T616AAC0.xml @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + 6591370.142470 145685.855172 0.000000 + + + 6591340.497969 145648.915290 0.000000 + + + + + + + + 6591340.497969 145648.915290 0.000000 + + + 6591305.159950 145604.880739 0.000000 + + + 6591282.917242 145587.393864 0.000000 + + + + + + + + 6591282.917242 145587.393864 0.000000 + +
+ 6591168.577963 145732.829517 0.000000 +
+ + 6591154.637666 145548.355486 0.000000 + + + + +
+ + + 6591154.637666 145548.355486 0.000000 + + + 6591134.780206 145549.856071 0.000000 + + + 6591096.103693 145559.177136 0.000000 + + + + + + + + 6591096.103693 145559.177136 0.000000 + + + 6591059.998499 145567.878506 0.000000 + + + 6591041.507035 145569.732915 0.000000 + + + + + + + + 6591041.507035 145569.732915 0.000000 + +
+ 6591021.171001 145366.950073 0.000000 +
+ + 6591015.784448 145570.678864 0.000000 + + + + +
+ + + 6591015.784448 145570.678864 0.000000 + + + 6590973.545180 145569.562095 0.000000 + + + 6590894.049604 145541.922395 0.000000 + + + + + + + + 6590894.049604 145541.922395 0.000000 + + + 6590819.171864 145515.888354 0.000000 + + + 6590780.908730 145505.510693 0.000000 + + + + + + + + 6590780.908730 145505.510693 0.000000 + +
+ 6590557.887706 146327.803598 0.000000 +
+ + 6590778.159323 145504.769933 0.000000 + + + + +
+
+ + + + 1085.000000 15.820000 + + + 1096.731849 15.934268 + + + 1122.514575 16.528493 + + + 1211.210818 18.023878 + + + 1228.995905 18.248635 + + + 1274.252074 19.031260 + + + 1328.182410 20.277378 + + + 1381.796850 22.690072 + + + 1529.999460 27.258400 + + + 1539.999460 27.545080 + + + 1549.999460 27.818000 + + + 1559.999460 28.086320 + + + 1569.999460 28.349570 + + + 1579.999460 28.603270 + + + 1589.999460 28.811400 + + + 1599.999460 29.013160 + + + 1609.999460 29.208140 + + + 1619.999460 29.395950 + + + 1629.999460 29.576170 + + + 1639.999460 29.748430 + + + 1649.999460 29.912330 + + + 1657.384118 30.028080 + + + + + + + +
+
+
diff --git a/E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv new file mode 100644 index 0000000..e241289 --- /dev/null +++ b/E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv @@ -0,0 +1,28 @@ +Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +V1;IfcAlignmentVerticalSegment;85;1,41860494999992;15,82;0,00973998216308436;0,00973998216308436;0;CONSTANTGRADIENT +V2;IfcAlignmentVerticalSegment;86,4186049499999;20,6264881;15,8338171869095;0,00973998216308436;0,00973998216308436;1549,99837548427;PARABOLICARC +V3;IfcAlignmentVerticalSegment;107,04509375;30,9389625;16,1719615573674;0,0230474077876794;0,0230474077876794;-5000,00424133629;PARABOLICARC +V4;IfcAlignmentVerticalSegment;137,98405625;66,8933770000001;16,7893025837727;0,0168596205365767;0,0168596205365767;0;CONSTANTGRADIENT +V5;IfcAlignmentVerticalSegment;204,87743325;12,6667695;17,9170995364029;0,0168596205365767;0,0168596205365767;-3000,01522750735;PARABOLICARC +V6;IfcAlignmentVerticalSegment;217,54420275;4,4678965999999;18,1039154244026;0,0126373854679485;0,0126373854679485;0;CONSTANTGRADIENT +V7;IfcAlignmentVerticalSegment;222,01209935;13,9676113;18,1603779559677;0,0126373854679485;0,0126373854679485;3000,02152240574;PARABOLICARC +V8;IfcAlignmentVerticalSegment;235,97971065;29,55312205;18,369407505;0,0172932224996773;0,0172932224996773;0;CONSTANTGRADIENT +V9;IfcAlignmentVerticalSegment;265,5328327;17,4384826;18,8804762201707;0,0172932224996773;0,0172932224996773;2999,99083137358;PARABOLICARC +V10;IfcAlignmentVerticalSegment;282,9713153;12,9163156;19,2327273806274;0,0231060677982796;0,0231060677982796;0;CONSTANTGRADIENT +V11;IfcAlignmentVerticalSegment;295,8876309;64,5895582;19,5311726445849;0,0231060677982796;0,0231060677982796;2950,00119712944;PARABOLICARC +V12;IfcAlignmentVerticalSegment;360,4771891;0,0557456000001366;21,7306696834699;0,0450008244047686;0,0450008244047686;0;CONSTANTGRADIENT +V13;IfcAlignmentVerticalSegment;360,5329347;42,5278306;21,7331782814268;0,0450008244047686;0,0450008244047686;-3000,00028832373;PARABOLICARC +V14;IfcAlignmentVerticalSegment;403,0607653;126,9386947;23,3455296849532;0,0308248822338554;0,0308248822338554;0;CONSTANTGRADIENT +V15;IfcAlignmentVerticalSegment;529,99946;10;27,2584;0,0286679999999997;0,0286679999999997;0;CONSTANTGRADIENT +V16;IfcAlignmentVerticalSegment;539,99946;10;27,54508;0,0272920000000003;0,0272920000000003;0;CONSTANTGRADIENT +V17;IfcAlignmentVerticalSegment;549,99946;10;27,818;0,0268319999999999;0,0268319999999999;0;CONSTANTGRADIENT +V18;IfcAlignmentVerticalSegment;559,99946;10;28,08632;0,0263249999999999;0,0263249999999999;0;CONSTANTGRADIENT +V19;IfcAlignmentVerticalSegment;569,99946;10;28,34957;0,0253699999999998;0,0253699999999998;0;CONSTANTGRADIENT +V20;IfcAlignmentVerticalSegment;579,99946;10;28,60327;0,0208130000000001;0,0208130000000001;0;CONSTANTGRADIENT +V21;IfcAlignmentVerticalSegment;589,99946;10;28,8114;0,020176;0,020176;0;CONSTANTGRADIENT +V22;IfcAlignmentVerticalSegment;599,99946;10;29,01316;0,0194980000000001;0,0194980000000001;0;CONSTANTGRADIENT +V23;IfcAlignmentVerticalSegment;609,99946;10;29,20814;0,0187809999999999;0,0187809999999999;0;CONSTANTGRADIENT +V24;IfcAlignmentVerticalSegment;619,99946;10;29,39595;0,0180220000000002;0,0180220000000002;0;CONSTANTGRADIENT +V25;IfcAlignmentVerticalSegment;629,99946;10;29,57617;0,0172259999999998;0,0172259999999998;0;CONSTANTGRADIENT +V26;IfcAlignmentVerticalSegment;639,99946;10;29,74843;0,0163900000000002;0,0163900000000002;0;CONSTANTGRADIENT +V27;IfcAlignmentVerticalSegment;649,99946;7,38465799999994;29,91233;0,0156743887123817;0,0156743887123817;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN05/README.md b/E1a-ARSE/ALIN05/README.md index 77aad9b..4e1ae75 100644 --- a/E1a-ARSE/ALIN05/README.md +++ b/E1a-ARSE/ALIN05/README.md @@ -1,37 +1,22 @@ # Test Instruction -| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | -| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | -| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN05 | Alignment Infrastructure Curves | E1a | ALIN05 | Lars Wikström | TRV | 1.0 | 07.01.2022 | ## Summary (Intent) -*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN02](../ALIN02) and adds a geometric definition. -With these instructions the infrastructure (e.g. Road) alignment exchange is established. -This includes basic alignment geometry featuring the common layout: - -- horizontal -- vertical - -The valid geometry segment types for horizontal are the following: - -- Arc -- Clothoid -- Linear -- *Check if other transition curves are being used* - -The valid geometry segment types for vertical: - -- Linear -- Circular Arc -- Parabolic Arc -- *Check if there are cases with transition curves (don't think that there are)* - -... - -We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). +| Info | | +| ---------------------------- | ------------------------------------- | +| Number of alignment(s) | 1 | +| Properties of segments | no | +| Horizontal layout | Straight Line, Circular Arc, Clothoid | +| Vertical layout | Straight Line, Parabolic Arc | +| Geometric representation | IfcCompositeCurve, IfcGradientCurve | +| IFC reference file available | Yes | The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. @@ -48,32 +33,28 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *IfcAlignment* -- *IfcAlignmentHorizontal* -- *IfcAlignmentVertical* -- *IfcAlignmentSegment* -- *IfcAlignmentHorizontalSegment* -- *IfcAlignmentVerticalSegment* -- *IfcAxis2PlacementLinear* -- *IfcAxis2Placement2D* -- *IfcAxis2Placement3D* -- *IfcCircle* -- *IfcClothoid* -- *IfcCompositeCurve* -- *IfcCurveSegment* -- *IfcLine* -- *IfcLinearPlacement* -- *IfcLocalPlacement* -- *IfcGeometricRepresentationContext* -- *IfcGeometricRepresentationSubContext* -- *IfcGradientCurve* -- *IfcMapConversion* -- *IfcPolyline* -- *IfcProject* -- *IfcProjectedCRS* -- *IfcProductDefinitionShape* -- *IfcSite* -- *IfcShapeRepresentation* +- Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment + +- Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - IfcCompositeCurve + - IfcGradientCurve + - IfcCurveSegment + - IfcLine + - IfcClothoid + - IfcPolynomialCurve + @@ -81,8 +62,7 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Layout* -- *Alignment Geometry* +- *Alignment Decomposition* - *Alignment Geometry Gradient* - *Project Global Positioning* - *Spatial Containment* @@ -108,18 +88,41 @@ The following itemised restrictions and constraints shall be placed on IFC Entit :construction: under construction :construction:
Semantic Usages, Constraints & Logic - The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria -- IfcSomething - - *Constraint* +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | --------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_00 | Alignment layout structure is verified | See below for further specification | | +| SITE_00 | Alignment shall always be contained in a Site | na | | -
+ALIG_00: Alignment layout structure is verified + +> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` +> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` +> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` +> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` +> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` +> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` +> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` +> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` +> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` + +-
Model Geometry The Test case requires the following additional checks related to Model Geometry: -- *Constraint* + + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | + + +> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` +> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Geometric representations shall correspond to the semantic definitions.
@@ -132,8 +135,8 @@ For certification of capabilities the only source will be: - n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of ... -- CSV export of ... +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters --- @@ -163,13 +166,32 @@ Considering the aim of this test, other **optional** results, not subject to the -### Some Concept Group +### Road alignment + +
Click to expand + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | +| ALIG_01 | Alignments contained in file | 1 | | +| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | +| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve. | | | +| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcCompositeCurve. | | | +| ALIG_07 | The IfcAlignmentVertical shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve (same instance as referred to by IfcAlignment). | | | +| ALIG_06 | The IfcGradientCurve shall have the IfcCompositeCurve as BaseCurve | | | +| ALIG_07 | The IfcGradientCurve shall have Segments that exactly match the corresponding vertical segments in the IfcAlignmentVertical and in the same order | | | +| ALIG_08 | The IfcCompositeCurve shall have Segments that exactly match the corresponding horizontal segments in the IfcAlignmentHorizontal and in the same order | | | + +
+ +### Spatial containment
Click to expand -Criteria around the representation of 'Some Concept' +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|------------------------------------------|-------------| -| XXXX_01 | A Criteria to follow | its expected value or outcome | | +| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | +| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | +| IfcSite | | 1 | 1 | IfcAlignment | Road alignment |
From beb0e53249b22460a379fcb24ae84c117e3f497c Mon Sep 17 00:00:00 2001 From: larswik Date: Fri, 18 Feb 2022 13:26:23 +0100 Subject: [PATCH 11/37] Updated ALIN02 and ALIN05 --- E1a-ARSE/ALIN02/Dataset/Horizontal.PNG | Bin 0 -> 14388 bytes E1a-ARSE/ALIN02/Dataset/README.md | 8 ++++---- E1a-ARSE/ALIN02/Dataset/T616AAC0_profile.pdf | Bin 0 -> 141682 bytes E1a-ARSE/ALIN05/Dataset/Horizontal.PNG | Bin 0 -> 14388 bytes E1a-ARSE/ALIN05/Dataset/README.md | 4 ++-- E1a-ARSE/ALIN05/Dataset/T616AAC0_profile.pdf | Bin 0 -> 141682 bytes 6 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 E1a-ARSE/ALIN02/Dataset/Horizontal.PNG create mode 100644 E1a-ARSE/ALIN02/Dataset/T616AAC0_profile.pdf create mode 100644 E1a-ARSE/ALIN05/Dataset/Horizontal.PNG create mode 100644 E1a-ARSE/ALIN05/Dataset/T616AAC0_profile.pdf diff --git a/E1a-ARSE/ALIN02/Dataset/Horizontal.PNG b/E1a-ARSE/ALIN02/Dataset/Horizontal.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9dad2a5bfe5ba54eebcfbadd56aa2c5ae9d9af34 GIT binary patch literal 14388 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 literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN02/Dataset/README.md b/E1a-ARSE/ALIN02/Dataset/README.md index 8b27108..21a8072 100644 --- a/E1a-ARSE/ALIN02/Dataset/README.md +++ b/E1a-ARSE/ALIN02/Dataset/README.md @@ -84,10 +84,10 @@ Vertical segments nested into AV1 in the following order: The following Drawings and visualisations describe the test case dataset to be modelled and certified. -| Filename | Description | -| -------------------------------------------- | -------------------------------------------- | -| [Testi_ml_map](./Testi_ml_map.pdf) | Planar (map) view of the test case | -| [Testi_ml_profiles](./Testi_ml_profiles.pdf) | Long section (profile) view of the test case | +| Filename | Description | +| ---------------------------------- | -------------------------------------------- | +| [Horizontal](./Horizontal.PNG) | Planar view of the horizontal alignment | +| [Vertical](./T616AAC0_profile.pdf) | Long section (profile) view of the alignment | ## Supporting files diff --git a/E1a-ARSE/ALIN02/Dataset/T616AAC0_profile.pdf b/E1a-ARSE/ALIN02/Dataset/T616AAC0_profile.pdf new file mode 100644 index 0000000000000000000000000000000000000000..670710a252f07897f7ef1b6415a9eefc8471f10d GIT binary patch literal 141682 zcmX_mb9|*g&~LG|ZEm@>ZEel1ZQHheYP;R7ZM!}7*2bxA_wMh#_rA{`d6G%KnMr0c zlTQ*#C2>gx7Dg_3cy>}|QU_yecp7O_GkaGnS1($4GkeqjC>;O4M&w`7?0?DJ|BuYi z56>iNW$S9@Ov)r_YvgJsZf4?OY6j0FXJ&8VYDvn<#l_C`|4S^SJZx;t%RjG{%Zx`q zFiyU}qop#exC@+-+Dtgd8*#bDUMo8bL(mhoAIy#lKNExge2=Td+t_3PWZe!uF^Se% zTL;m*VgGx)(dT99WM`W1{Ys`xAZOR-PSRwSMpd@T+g>FYq&s9ztA&=V$z69Ld=y8fw3+taZaX&%W15Y4&{^5hI-mC1 zW^ev8xbQvzEX}HlA&gR%I7>gXbByB@;hIi((=SXwaqgqBTZk98x9~~QMYQn5j$Y8M zjmv;IKm5Yi>OK4!+lAbX>ZD}>br-n;0#ByC_M77%EH{p@?Z_FtXBsR?;st3i`BjQo zhH*p-j%}Uzn38F~IV)T+DLi_(T|ZrEL!N+}EtoNCAQxzP4+lM>J?MP+aLw(VLA`0& zFr&wUz-_>`jWko+9};_@mHP%sGw{X%TT&SJ$z!2u55o z*ZY0u1vjBITwK>WaI%!z2-==tE+CGgPriZV^v07--=dWpEqsAHW107bbtQ0@;QE~q zu`?MIbTbz@>zvw z@0rI(&Gv)S0MR$1+?gKJ(UMw7P9jlarnV2-(%7TQ$xy27R)qEaG48X`H~{-}AV z%OS0%nTq>B>KhJIVdz&jG7K~9iCU+g8PQB6{S+RWUI>zd0w5I01pk=CiG?%R0p%z7 z%Z^k4_ykiS>MaWe7!*wmX&~9KT$-@*9-=nm@G+Bw7xYBIHxMaqq%(6$5g|kfdbtq| zqGSLMqQn<7jntQ8N_infIAxD;r!)5}ow7f&NJSqimSh2<2<5~NB^G`}vXn)oFxKE( zwu&I;2^zIxLO3);AsA3OGrTqPfi7;;=UoON(osQdf5p(Y5n@iv=biE=(M8Xl($aus z%D$o89%gLBow7opb_#|O{e(2L;0>HyI2=uRpEzPW7>Jq~i;D6SdclzOwY)JA&k;Oa z7gkkyI@Br(z#KEa%1i_z%m{L3)Qxl|o=7kf1d40HG%D$TYs3f$i!nle#p&Zuc>wmJ z9-2IpXJkJkunQBt5*UHM;)n@MP-%uX;C%#yV_OQhf5R@)g^y8Y6nmkz45La(7iOD~ z)p~Z;On!z{?^8k4f}2!oDSU@rE5ri*xDS9O0`}sk758E=inK#BO0;8(ZADBL2;6{I zg{0DS79fE<3LpoUi{HT*BNmUh!EBW6LnqO%`mun$a35EL=FiCCx^QR8`cUcATVa)% zUC?4%VK$i?1EMt{NKrxq4~|e1)pc+nB)KivY~`(Q8bw`rH8MGYc5?O+l^CPDoivJl z42}#FM0HqV_F-pAThPnJT}1XjyC6OK;yfP}+TcKXj%?vqp>{M^;TJSlL03gxI3T`j zft8?7J(}&HO-GwOlxx3~t3H$+&XlKqBAP3y7Z^{lOVJlGDw5D#nx}$y0se3QQnZbj z+fg||#BH$`*ooF%>VF^~~c>M9VM{=JK-slc}OuKL?y~ei^p6DRiYtp2_SA!4>Zy(%A7!8Qp>O#QGo^u%QtO=2H5E+mh)*3<%#Y z_+q-&x&OlQkGM7QBmhZMeL?psc74ld_JZFMdGX+mzg6W9x@CJd*^_wA8E4wr9ID-6 z?~3?jyB3^aQvQVh1SctahZhum;Q(0d&O{lAG69^P5yB~yK5vC)PinqwTwkq16ojUJ zFNEOUZkH@ru;dCZ7cBh#%6EG;P%bx!ZHTgZEKx9sB$LkF>T~5yt)7j%MK9Z4;Qg4X zSkO_b5f@rKQEOpi*w!dF2qsf24=|lQAt_QYh;k+Z{DZ{%|5*@{JGoat+=jJLQpx=k zktweg`%0Y+yZuqNU2A@eUk0i*W367;HsSpcC|lU(IKKDDR0v2vxff#1{bXD?2{7gT zNTAL2Cwg@-OFq5FkSouBHkdyNI9@*a;O#aj{~C3F{SxB!i>+A@dP#77{Z_U>{fUt4 zA5^pO70&DTW8q{WLm|KB>>g0DV8NX0U-++`!pS{PMeduMcdx?L^2t}Gg3x2{p9O<= zgQb%|e4J1p+h|zwPs%IZadKWBkR_}=6<}4ION4Vgdes(!O`vF(HeBkHx(7y)3MFF{ zD2w^f>0i#%8E2$g)av@1%?~mgQ_Gx9qNFIYL92x(8V?e+7&lMyptqkYq;xaJZ8PAQKR#fjj9yx1LIgcqy>i&Nk(?7N zV$mF&zd^-TTLtf7m})W8uik2(E&=ghkg;M^9W0}bl1CUWqXY?yr7c=FYE`${i*BCO ztyUX0YTHI~%4!p6znZSYWYZ_-*7AR>oO?(gO{IXR??+C_x!b17H`vPa%qE&Ou3m6v z4>A^Bx~>v&>Ta!{b9PK9n*IGZoU;N-O4{4FI$*Av@DK+7q``{|C7PayB5_%L2+}&a6D0p zS!+3=<(PB(hJE_NKIf|LBVy|)l;?qDQ+v+u*w^V*Ok>(6R!#5ciG_qI|8&E zD?p=Bg^30}mH6)@o76PA> zLE5$hh~2oF>Re#e9UBV-B6_HottRbGOamvt_$PpUjvhaXdt5kkXH>Dxp|P}lLG{A_ zf_N6)gtD;mv5e$knNB^8%zxT5Gc`3c^X$@!W*bZefTsR|i&o@j{%#MM%K%tyy3mfb5G&2>uC4`Ha-O-*0OG*Tpw;6)h?*06K#N$W;!HdSPHQ_#V|;i2b8ySk!+xqpoi%ry-TmYsq& z!DBP^@9IoZx`i?S|Hc2pWV0=@(*(vhRwGv~W;?TgYu(W872=}ac9;S_V87nEfG51S zrok@ z26gohmxA{d8~+Urx|hpc{-^Oa#cKbI33?D+ z0>P_Z@4|-WA`~Nz-nC`EH+&nbZp}anB$8HXX$VX@b~=jti!1^ibb2}jF_L6cYFV?9 zQNHcTo?xje9{uFY1OWWMHDxc;48u>%`=#EvACyO*P|p3IzYz;ZB;YKma?U7s{OM$= z2}12FHWFj*qEA)c=E-KfRJ9}$m7x4*bhNMk*}8cgFcc`q`xS3G8p7tn$~O6*(Q^8F zGIRS{a%X7qchTb`qQLOOBadDe{*Ik^HI>znq-{bjCkJZe5&n;#K^XDsKP$bv;&$f; zW}iJE%k$s|Xa7;xsKh!_^O^ixSX?=y44&|34pxay1rO=pJnG?<&Q4T?xjat*5dIrQ zjh8XOeg-7xZtUW-I?P-LsSe%Xev@{`MX4z z%x_5I8h4W#0Vuli_##r66{5_9B7Z>Bb;3}6eM=TMbb93#-CjxsBp~tV*(*w#r*ZL( zre_~nAoy%Rr==m`^P5_})a_z@{}EyhJFu9PMblT|qPi+~450m>anw7tWWkbs`Qv!k zEAS@dTdNt&7o<%E{8xYfq)~z=Gv#dg5EPls!oKkY*b@*9k|@2($3iXoV|n4+ADLpbz^ ziF3Qh&%3>Zqio*9=(+20c&;P99bCQZWH9l81?C07Qc-hWWH4lZmW4#;!s~!QqR6%FZ-o*8Z&NFMv zR}U~y?pyvGqztl`9e<&mY|)<&%uQ`=CNOu$x|qo({1sR;P+8XG zGc>@q&0TdfRH0}7eU-U8_}DI>EqmqC;hL~%bl+4m%|a5R;HP~SXy9RB=3B~aF1W?-LXlLAYy?>2|vqC*ys$&6Uvf1zs>8&z4i*sAy*mt6_-{kF~VD`5e zTpGz6DjTK*_ZVODQ!TT#BUw(YQc>JHM*6&5iF2ET<+S$rX%lw|tiO}!RVsh^)~h+1 zzik9`c#m`2yo62zrD##AGIm+|8*VH?clSOd;$P4_d2KsJuCA%wK4P%JYizI;U)P}q zLPI^`d=?c(Tw-&?;uR@1kdvwzn#7V;8sgadIPnFqJ8cN|GX!Ph9TooC8L>mN*Vt*1 zPp~q!C_A%~FcPl1m2)!!Wv*o6S**?2@-}_|FWIDKXzUR!`CQIpzgcWp{J7aDV`~`p zE8C4l%@sVP>W5x;T94D=vX^q=3(AI*mHdJd4M~hRx;yS=7v{llm1t|;b%(NFcU%wq z#~YJIT)IGIEDW!WW2XhK^`h-!q?(}Bq%F7a0@GeS$H9eVS+`4taa#ZWU3uf1rI@R3 z&^qUa`)&(P>-W%}B#dGa=}KP6!a=Mu!tdAu1)3R_MCD zyCA7&T_|znE+-@x+*t{ckv$E8qs^!tU?&PoChXSLE8AB*4Ziebp7SJ zmV%qUirUTT&K7ag(Pq-v*XU#96O95xy#|cFkJ5XJT?u81oL)v> zibDg$w*$pOEHSHhK4bTgsqpKggvUWQ`$2+{6+_-*C!>8Tt)Kj{?;js}5^d|vy*BQ< zfCENW?Ug7!7Q29DFvM=dfaRYX@@v~zgPWlrdRII4{F`x3Nh~Yi?3Z3j4xh37QOgOU z0<@ypLfJGdQt8^y(#!J$y>87|pQSxgD_(WiIC`mJOtz9&p96#1V?i}=VQ(FpV_Q=Z zzRQ!pU>ZsKY&KQ5zqb%`C;NH$q0sW8PWDs>4Y$`+M#ya%cs8evrmoF-oQ`T*@)+i- zyB|{&gZ_MkRWeu8n&V||>VKvGIX7d!-4ByJ&1amkA7DEo$w-WYTxZlULb?p&ZP|u9 z1DP8S-YTvdv^F`)aq{3CMmc%Hh*=vFD;rY0%GHG}>V$g@5Vv88QQR~5y|10Cx`iMp z)(E9Mp>+8_j_M$^5!_yoN0drj+5r-E9Q|mgw^?&J6R_hE4 ziduAPph^Lv(k*6wa~2_?tBfJ-^2XlApe7gL$1IjW2X?pZ%? zb!n7(eNW|9U1!0Q=?n-}^Zcu`8ru9|()?8-+WdLDJg1v?ztD|Xz^EJ0{g|x%{uy70 zg8&(vYaLd);EJk*c}TtUG?whw7a> z_QB*;kKaVq%cjso?V0*->LdfM(oQ?|e}|Z22eQuIx))^5;g_d}BmdL2{sRj54%>&N z`_@kkdJ}sqGZ9nt)8=n4^zpi-sdnsT)tedyGsd7US;@xaxM?pOlm3)T>$HU~FWho_ z;<(1E7%yCt?Jg!u#!bLN`Euhz#F$*hC?k6U&{R3Tq}X<@DAI16#+X2o>_W3~#(Zj9 zsK@fXjljCzc2DZQB8lkY%KBd@)`DBB`Vw55_s+A7Fk)NMOn}>-zX6rxOg85P817DT zotHryi;cHoZ{T-0Xm$dZyRDo^>#oAn-6rd+jGPu&I~;6J{M$=PTi(Kx*ZO+GI(tF) z_TJt`(ieg&0``yZew`)^&2Km(*zt5$Rn>fT&ucB6uexWif1B58KGJ|SrJ2ohHVi#y zIttqoicDq89WnZ6jNaA5^~2}drn+=Q4s3^4sypu;^$1NL;Qi*qa|=66fB1yfH~onT zWR5UjIA2j@@AIivXVn{vZ?5{{^6&-CpK-mT{r8|0c}_Zng+S|`3Q1qgtHt@wCUr2Q z4O`cBjt|!FXXkR4%M_afiwKjGzyJE)6KXBAcU+MOY_@k0wk~SBZw|DX2?YCXG+eGA zSu*bj_lZLidJ8*AUs!{^FdyutQ47JgtKfl-Fi3VEsXG!{sXoPL7P=idZ@6Bp#!x>4 z-v$$tp1*6u3xPU6Xc%$QZ9@6V-qoc(Az++5I(z(la!@xSczwUsL{JYvv=O@Znd_2V zkvsG|uY6-lQa=vmGep4y)AIaOUjcYx4$OwJoVYBu_HQy{GY(z9v4Bum26f2tJaL{f zsGPVqk}MTB0-YWy^uxiKVHm^c!e;sr+5<=MHX`di(9$!~j}-{}f4xc~wqqbuUMk*$ z`Kd4?WbL5(QXNK`?aj;`q}vJf_a z7#qd<^2|WOF_A_#J~RLq(S*<#MA>N_l47J@ADbD|Ilw4X zd;ZPNkQ5kHFhFk`kva>mVf0}i(zyeE9PTIF>-`MwD{h{6G(J-r7v+MnfF4s%!MIX*CJ~~w*mHKj6f2E@$CqXHJF}say()D`+*&r9i|h&v)D8Hx#j@iy`N9{9;FwR zj?pX9s4N`9j1j=28Q#Cb`n>?%r7CES8N94dE+fIO9(B?mF3q0faTwaRQ(hBbvunN* zU+v9wKA^u5$I*$h9`%X5d&SHTJ~McB?emN%uM}pA%CzKziKlqD=Ky{}Y9o!)o~A2h zKhV+!;Fm+*yRy24_ae|)qBn)59Pk>r8z2dL5^vRHj7Mie|6(-zxlrO$!ZoEaVljM` z@I_vaC#$H#4f&2L5fhZ=K?O83vmfBp3OCb7wn4Sf+2L&?Ubm#P9b^q4ne--k|3*B# z?Q)I&j;!-sI~!BY2^%0L&G9*6q*b15Wy+Zu0_w(Gzr}A_B_8tk$$d|IPt6(GUWP!U z4>q7dg%1m4mg6?SrItf0gU5kG2y-`Tb}V(wc8sXgc@}@xeHL|%60Fy(LN(d@_RbNV z9-V#j)O3*6rPBD9T#vy`)?tEld4dhZ%U+?FSw+=3Zt{n9iq($I?@tQp4|kK3H||~Z zhV%`jd=s57tUR@FK0x#ub`;^xFg78_pA?2DRtZ5K-|#phV~f4?fMyZ| z2IQE54YsVS-eZ*YKVBEpB%{|6B>^1r z$`yvcs-)?+2ZoqHvIom`IXsb7BB;Sk#x-U#dE321>Diz=kU4$bePV3JRF5!latdpF z2P*8IyWCjB>i70l%XIYh@O&ai?XENog!-9dWcAd~%Zs`oR+%p#>`|SW1(Py< zm)gaI?F?!vPR2A$wwvM@kBQHUHssGdy8LD2x;5U_s7%NZIY1Ban)RY^KFYf>i9oDH z)%QMWV1O)t#bzkcKm-uqrq)47ZAPwu1y!MnJO>L-V+Z2R#;+~AV#fEw@%u$0f{*)k z_%BLVsWF9lwT%&s;1wU$k22?XvNYCfI-`Y;zKgPH_Li2YY$p#K1GHZ*x9;X;WA7Aw z#q|eS$OhW$`T2Fp;kCHcphU&b(UN`+m}bf)dyh%HF+QapDY*1rnHxfHA1fD2*(H^q z9zP_bk|8k0Y^T!&y#K;pL@>c1iE2D3Hk3Lulcu*QN$wU&*(9in2TmQ1d&N&N(|TOw zuKncUney{Km8K_PAVLl?8lq13rq5&;GIMDP)DSg@4;0h|GzTuklTW5>2CJe(v$t?r zbg+q9E3}LSN@NYC-hFOsKzr~+1*|lH3Vom9UE|2|iewiM; zDZRNGsTE~#ReZmkQ2-2^j+d9$>k$wCXfisft~>5~Fem4iAePMT3#HS` z9R87UKzzI7Z!D1#AK&go_DkBhB=_g2V@sYXpIllJQs0l?-$Cq)+QREKPbCC4vZpaJ z{0hd%-!(-=*Q*O7sQr(k8lbH{Dv*NmW53KGFN)DB3d)VO-W^rx6`cU>WwL~4M9W9# z%#*7!_VKpKw*D5il@U!tge^#Ttj~(*{WZ3dsjd?A1XM?SD4oRHm)jRtk16s_meX z=>a>{Onmx#1#w+mcce!d?>Dw3sT}V|$eS#`THB64Mkk9N9R^+%N56Fp+P(i=B}r*V zHC=&(I9s+|kESwfyKg{G_OaAk8x7o%4^{HMG}D9L$Uz<^FH>6_qUBFcBKS-|j4UXp z26V@DE=~H7+Xf#O@5npD!*Kr0d*e=$Sczez5W>e%yOyAxt#_Hvn|H-qjF)7(0Pmi} ze1|n((;Yg<1QbjJ7)E>=#2no`Kkg$ZXIv^I`Coazx=j}U0_M;vS4`RV{0bNfnnhj3 znQkl@&>quy*eFWd{%U3IdbFbc2L2UIA;*jt<-bQ1E|@4aM#zw*XDAu_W#|wz0M;gz znjmAdGnLH+czp%_3@_7?jh;#(+#F2_FAJE0g5adI-d)q7%d>2M=qM{Z@^V(!U1o8a z#(#lg(uqq&WVSb(d!6Q}_`~D%*f{jw}Mv zc>9fIf5VEh7-dBS(|c@Ab4&%6q65ip{##@i?97}ce``OMW#~n4x1kd_l5QxB)aMIl=eu^plKZ|gxwUNrmFYeE9_iZYKB%BAB5N3u+6}CF@v+M+m!X>RY&%Z9_FKBg z|8`^X&-yn+Pfyfo)PL5G+0?n!_rV+e+G5nX>-!Z%Tb>P9t5n;kxaP zVr7G@qy%)Io;T*p2V|D_u>tfx^E*BG?{@&X_CoxtY70o1v+0qzETP$5HrhiK#msRF zs~}-XCj{Ct{8r(u8j_fo))Y`e7Gg&mzq(80JY6-lFp@kw-M+rn z=BhZ^pCIIS`YP5PVegRT@!=Lj&?4QKQ~6``Y776XsgQQ-ZJj9JH8ILEM^IclpZo2w zrX1z6<7k)U`(xQ&MplH4D}lI)IzbL*q$%tA+;Q$Tw?YwssBG$x*w`PDY88MqtcKJK z*32WEzaUSVrgoGxrZ)Eqcuv>yh_;()k~I);-tX)N-S~Kq8H@p*b`bppA2%gdJb09X z_s?u?FRh1>KX(n8u3xwiN%EAN`YBM>5_f4<&KnXn=tmjyHPNxhZ#yQ9@jAR}&mzy- zWa(WQoZ)K5MYhdzHWH#ohcNbNmC+5JqWAiywxm;kBge%%2E>O;$*?qhUutbKfNKP= zF#O=lkHtO5TN9mNg)u(LLeTzMe{K`Rzh{H?!x_2-7Sa}qVUKxq7TYP(M+qUtypTpM zTKi{ID7nUUD;Qpq0Aab;SnFO;^+ps7GT%Z@$18hQT?vFm?rBLGMOJq-S>}j6=d-ld z=J3q6``gUna<%5&RvtCBj4~FTZuwry;wz1 zLU!BZd4w_X=1`cA_tjR2*TR=F1IMnf1vK?L?-DmIbQIDh!!%580$)P=RN&S!p>bs( zzS1!|C7>unnNqf4m{IGz!I&!(vvacwwNV27vK50&_}u)CoK)-n2CtKXVII+}GdKoy zRn4ORVS>rT-UU&kw+J=^8E4=Aru=}XZXdf3{iPrDNzT-&k&T)GC680v=2`%aqk#2_ z*j73qxNda14)sF!l#OcvD`msBxlSfw$~X5$Rr1AGuj*B2XpM{Gh``&p$X z5Iessm|~ypv{=sC-PZ)Umx=iss8%ifwg|XQ$JA5E>-K+2eqqz@R43fP3JCcrJ26Ax zV?X&TfEpzK-J1GujXud&jIZZ(F`c$QD*eB!922GZ4B+}`-yb~y+#?9?s#dp;37`Xre)%Uwx9G{xI4TkgkjZ}|>uh9W9uY~8#kkI~V zqdb)W@d~H-+t3f8N6iT=je(Dd*a!C{ij52-6fa)&tWN!gwx^EEkZyd%c?Hg-%>x>i z1gezM9YvQ;(1!py3%4LleLvt*zylDDAd5zND#%t5=|uU1}QvGnzR{un)wKY z?iOGax13QJ9`f)443;-vy`NGQ;Y6>27EeiL2EH<7U(cv1~I+v zuu`9ruK@>WQSM`5FeYM<{^-Aa+cCWqq;iQ;fQ;3w`84P>f7b(H*0C^<8*^5`#@tY) z#Na($aUhdw@}a_e__beN0kJ;@{NR1oPE~;QXdXZKnEZVWQ!yub{5t76d!xk!;0FW&P6A|zAt?1*#eoh&?%RoCY(W+1nD3TQ9q zC!F$aSuS#ri?7$9>3B=Qdps~=ZKa|Jp_6<#Zrs2gx?=o@BBoD=N*jfqb+%Kr93N5} zr`N0sjLPu-X$Jh!L+(osE5+Ov;X2e%XFD{&E8#duO-i^NV}7xKS1eddQo1gL6o*Hy;F%zD(n1A% zLt4vFejQ{9lrWUV+wfgX#)sJ#w*tWe_@D9Z1I#7l#8r}4S+zBn@d582B&Z8Pl?E%A zD``RjZxR{;&9C=&2>B$mvHltNdB>WY^5%K`5?LhL@5kM#>9r&Q67P5A`@J!}esf+! zA=NE-Eb8OTE%fT>j7Prw6T*IZ$)c90Qe#xDRMW+P%{2te0!H>~43rNZ@h&IP|$^`LJBp(>G|7#)&ZCp$sKw=6HAzA`OsAY3|Zg~H$p5k1&I$;e!Y)i^xY{X%gs)^EM^UQMZ# zQ0O68X(m{7W0!ia&?V1!dCxyR!?%b+F6wt}!fe9U!`{MRj)6aRvV;Sxbmv6BsJn1Cbh8cS7~v_*{iUhuML6 zt7VLl^$ATI7u}^YycnvhWv*1_F}m@iZjWrnU3Qz6V>f>O2fwIQrN}8+?XV*po&TUFgS}MUgOL@*O_f51Z5}agQ=Nki#*2mvXJWus%c@-Rrny@WBT*}n zN0zQip(afffC!LNyRP5bd*Qim1<`Lb!X2+|6wE!RWPPdUf~~8XZV{jihwb72aLyFXFcLIs-K`b+xCrALZZwEX_kVEHTY{{(k-*;V`GP5)|s0#E-`R?9WlJWrSdWdJZ3T?B%) zkz;#q+uO)DHEG8>Ja>o}ML>MPrGaIR89fnjc)D#G8o%wB^BQwNwl|>R4iemX(S(c7}TBL8u;S{B#FE0a=FieoSF=w zQ@VZM5DXp!>62}0ay`7Dmg1(zQ4BX5>QfwsMVnisSVN7t34C;GBouVg7OWaIeYJXW zcx$=nCbe)2IKt0u(maC}6624-$IIob zgd3ap*v8}Z8XebgZ5ql9f5S}#6ACWB>ErzK4|IMD<_q|$ai}O1N(AlT z!STA4AGjj)3NfQ&8y9uGUfyh`!61Owrx6IwvJD~3#|$64_efINMyUF`;Btw*w_5wZ420&cx>)n zbLaOD?*d(}vEGHZu*4lLR>)r3t$kfmGU=Xev@};1GUBR*K-v)Z8t>ChM&(+s7jnz? zj%H+}*8esnOHJdH?KEqZNDkwb#sn6O^|BXQGw*6HEup9>i6yN0mVv2>60m_geR4xX z)UddRphDHrG@T-x;kf@jTRM5Wd{XWDv6Ss3c7J%)?^*6ivqi>7>~&B%Q(+g|!5&IE zA^u@-nzo_fF=A3PD$ub0>lp6>OBPG?>m~S?<3e)?n5Y<4V?0OYY}_Q= zUCd^Y*;2jzTig4G;2caq)d)10hyR9SFo5!;hCB_>>i?|M(VIA;{!|a z?DxwRfwPN3RX>Lzp%-F2;k2lQnai)$&(~s#?3UVKZHdmtyE9Fm zVr%mig7ftYpNr9pTkIR&yIjYJU#wBscb-nkFU#|MR2bUKRR4@anVvL+11yvt{eWIX z7%9Kd*p z$UZh|*3U2_9HXCtl62IcCVS;~_;C25FrWQ>?Xn~Ya?<5&s#FM0Bu>NPA6@a)kqL{lT8|NT@=a=x~&y`$jbT9 z7Bdl&A9%B3;O}{{or2BH!lzc9-lHU41S?4d4(nDLO|*+Nl$xKYp@nkVNpd+y<7YQJ zY$ORN5#=8*O8lf%sO2N02F>OV?hQ}pL0d$gnL*sf{-dW2g6{gIF5!)vv@+3)9g#n^ zLVphZ`Ps(J1;~AS?{nLwM|}Ex8gIxuw$xE?Fj3M|B++NOKCv& z75?Pc{ZP4O04n@Q+=GAJ3P%W&b_D%HZRgxg2wQ)&cQ%)~0gj(6(gfPEDf?5%#bDFpKe2CmnBW z8XZ`>DE{Ft#TmgUgUE#$dWEvZZFNMFO`^+cHJGU5bG6=Lxw}+d{jjXh_aNFNmO47^ zZ*j`qA2qoZn;zhQpSjN@kPz2Pm~EZoO58I4!LrOc$s40Y$hInO+~`|HNVOaoCl{qf zlWucM%IE_-M1R381Y5j%`ktiuTMF|uYCVJi)p~>dxN_Izz8kNDTrhm;k*psQ?_|{< zlgK|yedr`O7>gQO`^mObHaV9uLbk6ty82hkG|oc<$8a8al2GCXm#?@@Tp{vS?W(<3SYzM zxf)XDQKZ|U&T!|{JnWn0o9kcY&I_sY^7F&Ip$$zn4e>LTXvw9Erlb-I=bkK-z@ zFmiiUce-F%+99huIM$HOf*yf1qys*dbS0Xmf46EzwWPD<;oo+dCBevt!l8bEaQ{%r z@Dc*#`;ckggfn3pb?p0cEen0fqB|ysU2zncxYzDhFk>esKa3cCGDf8A#sUi4k5^7K zp@<|-$Q1GS5;pI|`_i>;fw?y!Dq2^IlT4Z2>TQ>2+mz^Qx$rLH6=nN*2YplA1AJtB z<~UFq!kB%jNX98C5rfRUgbEZ*sbDd+r#DQ}BQxbUcQC;`SR_*AKXR#@UbNiPCE{M9 zHsrn-(q5pnIy6uXX4P$&r85HrI>(bcx*>oRC0sOO`mbY&9e2~Y^C#*0MJUMNeleUc zow1)|FX7v%2XM}W776gXRJ$DP!wRx7r2&Rwy=EQjgbM+558LSzkZCRqirQFb^k>_) z%IntaS7>;xJd7S)CpqWmPLFMeonn`hn^#_Gb=xs`kiDR%=iW~<A;TH%Wbl-@5jdT2tBN=ns!J(6>8=Q8%nAB28Ql<w6uWG;e^16>FNGTah7TH6m|v7eI=nd3^NO{>QH71A$5^iXyh}0@T1y0w_ey!wKmhp@5KS(ms~+e z*vI~Ce+N}IYXebgWhXticIlB~TzeV9DpI~BG++FiERGy0)M zMgYUzLI8Zff=ec~>e8!L^rQhH&A7nEp%auoeH*vKZ8wYwq7kwjurDj&Y~@z29oa z{8R4UVg-gZAdRdiy*cD?hBNf2p=l9#Rqk}pe~07*kMtQt@6T|DV)2>zw-$Gz3iq~^ zVBo_0g#^ALHI*Z1by6EbbzQy1&Aqwx+enLBQ>z=hdrM1o6>O|l4?lCG+eyRpVo)YS zr4H{>3%f?_iKU$`amLch+?+dJIHO);SN(V9WDt96sR>6JLIu{ZRQfDzS=qS`-dWt^ zb4y!$t+^E^s{*_6-Y)wBH?snanJKN+wbgmTjK$TJ)!--%&IHRd*rwggcwyD`tkhhh zYKBTW^Ok>)ofovT)0!C^bOq>{i_r$NwFw{_@t3P?M<5oPtKq6F&*7`IHiO%ZY15jj z&kU9+~+5mE{(&qw$}bOB%23OTM`q| zH+2_Rd&#R(Gu)U>)**(|?ew^rE!=WUt(XUylC7yTUcn>U6QNsb)#KiA4(Y!*)J_+1 zwbtn3A6sh4)BRkh^#iXSzVDhg;=tdC);O`%5+P_V#;RT0a9^DO*~Lxy5fmy{@^V`J zv0GnqZK*v$WN)n+{;|M4sh!sPWLF6Pcgk)SoUS0LyL~ZCDyA@oy8w!@e_v=nO;8Ad z*QpmhOW9qxu}yV@T9A^s|02;-(-)UG7)<*l^|?}H+g3BY{hQ&BLt&Sbp^bH|G0ij! zK0qAq)`YRzPA1E_T{#$Vi23zWmAcAYilNQH$e`G&zf!}n3psXfY)`?Y^rVlUabce^ zjKecL9NMs?P|ih*xbop_?i#*gfbC=>)(fw8Zen6CQiqz(h3&8@c(@yLaLsW1tDuK{ zIh9_DVUv)*=n7>XANs!K(v$<`xLPn6glg!;Wa0)Vj6q!8-*n{=ZkRvhJJGUAzS6v@G|(e#-Y z{43L(oa!&}XNxF91MIHMO>4@Rp$f6-B1>!BD!tmB$z)P1 z$DPxjoubB+mhKa7xtdlE>iV3wTSL9BK}oGKY_{{155cZZ)aYWs=XmCi- z;O-8gakt>^8r;+PkZ|o2IL# zri*of>yf4?u2{KqP~mNsiwo3otmp%xRCQAN-g57FkwTGnTiS0`Zd^j`QcbdInHk;w zarR%y2b0x;VzKiPnRMR2dWTk)u>({AyeV`)p#B~x=Ub4o=#(e?Hvc74uaKX+n=NHJ z+MyDgHXruaKEKNHXXBZ)`CA`dY`v)2oS4fmG|h;1@BF^GqnS~U8s<4JQ97?5_?ox1 zvI>&xEH?A|i=FJ60Y#H>>{#1K`n(MRn`Mu>du>@oS}%$)Zw-{OZ~DJm4Qx`rKF=#s*0H3 z!l*8t1uRpSRT%<;=OU~90!U%VQkHK?s*e3sDNYD(`YEFROPouCRqYo}as@>uU3U`Q z@K2GMA&ZA6O$gB%rcA(aioBQvAgLw-RU5}Bz=DgIa5ezPCm`49JKqWvYa`^0Tj^Gh zlstqqAUc(XuNRVa5VE`j{rES|yyasJ!K@vcG(>3xlDHs(L>Eh9*+UN6Yz>-pASfhV z22H_=P(;HAD8)&gWl8P!(o=MPO@LNPRkAhLQ=HNJeC;nW*I7{1g|-KgQ06Zo6G%M@ zL!knZkgh7A&j(dtF{m&z2zN~^HW!y)6py+m6jMelCPPX&8VZaH0m|?GK}el^bm|Nu z*?xeQ7Kc!xLMXD}0|c`Gf~WP$_8^qRvzI;q5QX)BMg9+@|DTYGxn7xMd9DQ?t8yW6 zF-g>OgMe6UoKl(IV%NQ1zsV!k8%5QjP+hbsFoR1*TU!{KE08icbPge#6$>Int@ ze?sQG$9s6(kSy815DAV0iTMsB z?PCt=R1T^F0`+4J>QoIX9Jb<>KV_ajrJ}L;P-s?INS63w+)pGv6a>C_3n9tz-!1KK zu~>>%U{rZvREmZmPEJ@zj`%Ey^PLqZ$btqW1W?Y`FX{KoB_a&5V1b{*0-){m$VZ3d z;y{E1cwv=I0hA3p<>QcqSaCuu;ITem>6eIt#=(RH`QYcwu*w+qs0Jm#4)Nmtw@7Gi zNl0$VzmNzkya)o8;v)cU4uHn0C%)SwuiPU)>qne~B&2{KqyQ13%m@E}Cvg;amdKLh z0D3uLwqEk(Owr^?O6(gv1;sM?61%;8 zVZ)Pg|gJD^H|eYU&px0)v;L%c6(KR7P3vw zmJN?6QHEPURDB0FN;=Fz|I*xTT|kzeo`Y`JM6mxlFVX*3K%*SUP8%RG{kK!I9Oz0H zAhE_})~OQqC)P;|JIo^KI#~=Lp@Q3Jk#r9&`m>U4a*pPl7e2EF5eLgM>E0%2TmuH7 z;PkyWpyC*o#t*^M$YwuAcTLVs{NK^aZMmJ;tz!D zwQtk*#yPcfG;42j_Qra@<^ZvClE zVG!_KYSRBq4n12!=SL*OARY<3Om-Tj2pus7`Y(aM-^Nz2}0!JS8P_+#8kxD zQ|y4YbP$#JQ5P;Bpbme>s3ef<4?auWGOJ1}`uyW*j{gRt!&RbS<`$wVc6?uHo^vv{ zSx%Fs1&uocu+`JjPc`wro2wq)>d$Z!^p_(q*GU1l1z|Tz{mg4b9Px7^N_YHO^Ya}4 z`~LZ@wwjnq8q&Za2@go;CvLNij=;HAb7!mI=*2DN-&}A6EWb8TWZTJ0P&WlhQ3({> zt1ALW21CR+7TUV(t}Z{VQB0#4lXa7}-tRbnQ427|D%TR+!jQ?7_ zB~wwiB?v)Z6~ghQ5_P-FBHz1@^UT?X$Bbwo5P0GyUpx>v*KZ!jUWrHvAwsaznu|Fr zah2mwF6P~{tUd%IJ3U!ewgYOE4nji*b(59DshvmNx^?dB4*l;KdI)n+hCR-#`E`yz zJCeiN4&2eG`=mhTg59jFbH%WVXofj5_~O2e#tmHr~3Gs&@}j{*A4ZE^bi?3Ju+hlULG|?v5(^#R+)-O z^H^PdmQDv19+Lv)h6b|g$Gsjk{f$gJGUfRrot0wc?g*Nh+DJGD&PlF{vyZnq{(4B4 zG=!P@NJZ3lH-}dn%-i6P#*g zAOW24M!hc7e|`!#|QNChwVPs zIS6_s9hkMdLZ=PvkGM$I0IdoT$)SBC=V%4g@t&nyb@?`pRjbI@vMN_qcmI!Bpmm|r zby2AYpVrkffs)7ZsM{%Rrjr^%fhSe>4-7$wHKyZ6CiyesHK?ECjpYiYGo74w`9lj!2n^2l-zbEVhS>iioIBf(e<9AaN5aOs zr`k^t`!8sQZku*{zlad!Ss!r^<@2iI0`4*JxwK(rqkB9`I-%lw*H7mZ3h7 z?C)F+C*~em88{-)VrVd~Gw%+Pb{*&iu2!I)6GL3agmbn?nyv{6ZZD4jZKs2rj(Cl7 z))*Q0_mP~=K#FUYWr3|~^C%`n>y{+IYOo-uJ66U*z5U7m!ON*0TB3v2-o8(L$MuL z2X4}%oPeK%evB8Fsi}42pua4bkgrlxl|m1rK&=jfmZ)l)`cXa!MIR^?5jQ>*S{4Pn z{TimIa^?74H0V?>7)E&7(i!PX@5^hpS0VpqpTp|-ypDjAZ~m-v|BXD{u`mt=8jl7NMpxG zh>M@_GcHQM#9N3{03R9~NtA2E9QG4Pqz3lfwb>~sI2v|4Gut_aPuW@+YhNZjPIfvp zN;etqT2qKiijc`in_{$S7U_`1d+;GR4Y04tUvPaxysc)^4UBw^lbr=|)8QPe?u6!s z(%h<`w+>MxqQW z^o=yv+{wN}_xm^EQ6dMzd%WO6yNbR}0`EKti8GeL9~Dtj$iNhM)9I0{7JJyJ-7#0qR6?SyCoVEC)b-2ObRO zB?wn;I#g>+lGgpHOASeMoLT4rT;PF*e7cYd5W?^&1k~`$DE!u!Pg|hb$ia(VLWy6- zznSXoH5A1ioyH;EBJU!` z(&!gG(@%!)KjolKk~LHm!mg;V{KBJlBja|JP+E*twG(HWabY!tlcu~-roEs-SFKfz z(QpppG1o|X9!XdxQBQCN$#ZU8T-#i zryBUOMvFR-i#h^28Ib`+gKVvvFh8<04ki7*JaY26Z3@bv9}S(hff( zd;0efm=@7~I)Nha1g2F%n&Ao)n97W~p!|idEu2iN5(Wjb#L|aPN$L?uCP-y2T{@4T zI9*!OpH3&)!dAb{B*C8ViH*k>MYMpxz&Oeb`o>LwUnXf0ty%WKURS!q*(6_V>+o0X z0?b@*0{3`wCQ*j3AW%hg&uhMFef1%^|`5~tXQbOfrn!=uI`{l>lw8dJvSx})T{gEbwIF)=YHn&I}c>FYJ; zfjXOI-o7H)xB_qJg6g><=>&lRsQfFE;0D1H`+28KzmKiSKPKF=QR`5h))8WN(Z^a771Pce9 zA6dOoy^(&spmQOXjr5X)=<;(CUW+jWgTNN(T>D}2q-ZgRB`AwddYSii9!oG?O;~hG zL|`jPU96>Kwtft(M7dWdf$1wlHy0bE#+if>nNElS zw1}}eP|4bb7x?!4SZatfl22zeC%vCww~CD2ZiG8COr*L!+OQ zDKHrmRTgCL0&aahxO@Y+kgKXz=l7guZ%)F>kLUr)LHl_T?DzE(z;#-*AaQz29+w!90`PK?)1Y~pso!uv z>`-z9GZsh+Vl~hca3+Ix(PM$SA4${%|2m?VYLrO4&@zEI0 z7IlLl9uWS|~_S79-PD7A zmX1+22^YKbQ+P%M9cL4Lk*_RWv}}?nkjIy`O<6w;2QdR^{#4q{#frzqJ#(WREV9FC zNr}&P^P#>-XI5nnz;8v!L(6`UyPHt8f+M6Z&;LqN{Lp z6chS0JRz&$s-&t`Sp$vSQ%8LfGB;Rml$xjNwP^&T=fdTrv}|*R2bpH<#(gf%CZA`H zMj~X;(9^RfLF&@+U9Nd^ndnXRl2~4pnh2WlmgPYop?vg=0;UI9y$n^vjKU943<529un+#d-W!wK#Vax%AbuIzy`P*d|Q0vO2S>@TME3 zuu>^$D(|Kj5pSjSYl1*4IHQvOb_aT|=E-zOC%6Xz;Y=nDInEM*QIRZmW-*>J7L!Ub z{DcxB4SZU;QvW_R=ccN8ae{<$WwC3E z9YAG8GMS9zc0m)mwHQw2O#+q0tfmgUQ$|D&aVk|3JuStffj3twhF|`dRxFGC=UdSrN!4IF|ItS{Cl(p z-`#krx5Q1)&lkKCqzf<9+xKX9pjZ+6@FzZ~PuctNF<`^6e8Kp7?ufKsiva2tSz=EJ zRE7^|^XdEXArQkve8GKt?giU^Oc8SWzugJUIdkB*mDFvr#5@qGwn4Ov{dfxBVF5mL z&_cvO4U7K+4G_cfe8Jv&?gi(5Ov!R0C4h)kCZ$wZ&?l}N?6G1R*F_=#fLLOU_i?3 zfvW5frrb{~a(o>$@8%`X#krqG6DF?z$_cg9<#v`w75q+AaDQSC%Qf{qC+K;3<$eA; z$cg&?mIap8?tkXL=F^^?r93DDx-kuS>v7iQ-Ra|@gbtbv&r|a=()HEx`U3A{$e&Fs zj!IL=TStRcRcUFmj@JaAm(pi?^BL*a<*S()>(QoBwxTD|(>f31R|^u>ICPW0-WyD( zYr_SKYpKlB3yw^4@vJimcDYZtz?;J6Y3X3;vL9HTx7)xj=J`JQnM(3Z{y>Arbx^iNmWQdnREE#gm?_yVX{%8sG9K6+g>BaQCLo6;CBd)hj%H>ELgQ^zP3)oY)W&DpE!{HI&E} zSCU;#Ig%(zZfWF+)VuENy|=tlt2foi(DdAA`Rg>atxWr%uA=^K*#P%Xy-(jd+5|#; zEZ2;;+tK#z5W2rw7VqH1udE*c)?Yi%3fny=-|7#%+Wc>hJ)1xm1|z4Xuutm`9m?#gOS1dQJjvj;1`ki!;Y%5@pyb2ADj126F<`qpSgMAM=w_&eC8ge!rL<{ zXdI*QtjQtvgM~p~>@l(*;N9pCF7L+Q!mDMC!Q!a5_1up1V^cS)>6|U6w%52^hYw+@ zvP!|8c~zW*Z~mIs3V*AQ_?m$hY0hrMWwFUHqCRF^vB4BECsr4%%uX6RqMo>BH+cAP zR1#F^@=Bp$bIQHnbD0o z2H5b$u92?4@h}3p&G+-p7pQ^fQ5|($yDkp7J5Eju5T=J}DrbA;5>D3#RR;uwluRL~E=}=a{R77=HteHOr6a=W4etD1n{4N^oo8R4`uqmfN z95ga}`G|&oo=LK@&3jF*r&>zy=ck!j=xsvDhMhIcMYBdhkpfW-sP7Y7KTq5rw<=(U2PGv zfsb5`0K=nt&W!BSQ4JT#rfFZzgoYXKYI_E9?JPo{RdPe!`FyOovY4$AYkc;(3@kQZ zEu*)sS_+MfEN?Z#x{(PU?w7`E<0jLY0Z)(p<|i2S%&3!;W|y9ud_fziv^Qph+lDv@ z)W0XEgiFTZwuLif#4Z+cugp?%_v1hNOeB(16oxv%s_BSUd(aTauZG~ESc0m_T{|mJQ^rD zmx-LQFd_(zm8teZmv^txvz1>-xFE3f5GU9t7~{5Wn`z7`l^E}%rDw0tP=7VsUA%Ry zF5h#~z|$_m^LFW{Xt`(iX+kz;@$FyxoAHy^V657_8aLf_)^qZktKhvtjG<(bV>!Gu zO-Kw+E&Hms^3D-&q32%MK-M9PH17MBmC8LXs)g;EmhSUazk9;ZhcCM8cgwkSvd0%f zDdle-gO9hmN1yt7Op-WKFe*9P&mzWRUbSY- z*^((vN1pgytDkb6<{F+s}f z419!{u#o9Q;gH3*hji}TR0g)5<;vg3Nxj6L;CO29+v>bqRZzEUGCa?AL9DF<)t4n! z^w`~I=Tf~JDy1A_*47)}FWf@|9qKfU)k3&B3I*wLIjw<~4r2})75Ni8{o1Pwrmo9d ztUWspqT?YVPsK2I;)v~_Ykv+ahr&mKw!`^V))DE`3zUu?H(N6vAIApTSvYw&HA;hr zTH?$G%q8li*b`-17L1l#y%})MVR4@ZPeh9c8iY)&B?&zTukX6ksEOBKT8Vf4NPg5f z)i&a&*48fJbo7z3z3Am{^(!04UNk!|J~f5==CzFQwy{k$zOJgy#h=lN!u+_^ zVZYx3Qrm1F-L}?y9V@p8{mGIETbbszuMYIgevuzR);%*b88hF0s2_lMDgv_N#R0nv z#%RB7_YD}X=LxQ2m-E5hj&#BOFkA-R7Pmvq-y7q7cE{ibO`$r!r>z4~#@RkEII{|U zf#bDW?wY{acT)1tm;K?=&*;HqQdnuJSnET5w0`6>uRPjyi88rVjw=M$+2!B_)S-+w_IO-HLnpfdYj2GJpK- z!AO(;N~07Oxn|rPwr+M6Mh(TvD55I8VBFT1#j`}DJF!~nTt1_SJi6j7w_)4aOH{tU zF+@wcRC*<9)HNEfY_KzAtyTEiBm*9C3qP#wL@ZFd!+(w;QIwzJ=~&PA}&e>yN^Ah(`U93%U1*A)}-VmIO^gL_rR zaK^8qUT?Emdnr4UITEYogPHGW+~LqO!`vm4!9w+ZtNt_`5;9gbR`=}g7$3X*I%a~n zEsex+uE}>axH5iZc3sK!S9(SmS888{FhBZ@AJZB38sD0#8WA8&_ELNk za&=_ZGsnBbr1~ayS4nUBei-@7xI#?%WiSjfgTR@JzVlCl)+RaV{&f*rFeDyu>HM>` zW{>QIBt#^{oHRUJbzl~6m%FHR16j|Hp%qZOT&N7U>OOTw&*hotBY$BAW31DCD@zU& zWnUWin|P(qRC({B=%_uZrCJ$iM#c-B8kRBM#|3;G%%h73R(n4Y>ZTAIgL&9spW6_8 z=CT{m@0zP$-Bh_Y4EQ?FM+Ka7)9Q^9Y5zk}pXF?Dx=~2kkFO9ib~Sj%{Zc1Z*s@>w zC*|=-ittY4a)5y1+{32DI%~0@A#d|IQ=_<@j%&uZe1T{=v&XfAW^!Nx6MicLg^UOU1vXqAJ5tBbWx|8fFbqi?^^3U-s(-6@cR!F z1r>(1kkzOt33Mm527KnENjt~lE{vzrb;_K@=vei14e0Ubd^msiTX{D5 zPAWwMy?eV)L+`cO`U^v0^TIx2=>v7i>vYSPW}Y^R-@JLg8_CalkE!>8ILpbiEG_vR zHep6aGl}(T9m!`JbIl}^=KV|9kHtVaSDg7FK&8ULmo&qC@VSGYsc+Sd_P8+X?pUuD zp0e`a9&h7*`RtDtt;!bp?qbp7u9W?Vy6id{(;j+&p;gQ`%`9DbvKge^4%s`l7NTQM zREdjxUT0{32v(lOC2Vq*eVgHBkEHpT-MVOTI`ikpOc!_C{3D+BdBV)A%W`xzMDsTe zj4YFmgNMBHgXsm_FYgHQ@6aW_5VIX%M;&AWtWj(_TWa5GbxmF7>gIATNh98|ir%of zggMdWnwo!Lp*c@U6#6_MP3H1LjZgGt5Te)Gvg4nwc}C4mCA6)853g6$t(?-W8=ft^ zA0&cqtY&QcW;uX=9jf;GD!chvFPk~xR!4>MG{f2G_Ay%FGJgB7=-RS^Ca?8E_<-el z1_L|6N^|B&sZC0tQwF6iA+MLyd1v`Tmd?5^U|0MpdWernWIXb!Fhr1E?2gC2iHCF1 zcni^U)ml&}ud;`~pxD{ROJ||InudHz@1Sc#O5^i>!RMK0dKFRgq2KHMy)o4u2W+lW z(~Lzuf1fpig9lTxGPjOrx!el&D~`V@;Xc`Vx3y`wj2b@M(&^yay4j~6UXSk7-duEF z_9YQNA>Fc>!WC9Kgh)GQbD3$%p6scPx6y20@s{PC%ebU6A1SpCC32O;if4523BA)k z$P0OsHrOnSYr=Sw5qZ2B+gUv=f09bGc}>101N%uPk=iS?RW%m#2ATCnBCvbIx{Xxy zc+Qxigl0j+nu&j&rp?P{XRAiqhDhjg_a)WjRh+fMNh9v^c8OanBip^jM@8f?*{5M_ z8$O>RdYani^p?tG`JjHDyKP*ia>%A;VuRLWqpLu7E7SwS%e&!f=Qrmr`~4sO_`4c| z{Fj#-?SY<-eA5c6drDo`F z@cZ}JN*9Jl=~Zy&xF=DHBnRx7cR{NHs5&3rbcRumevLP_^%%u90Wn_3BmOcauncKZ z{B}Mkh?4ugd$ImjY8YMX-lbPQ`4lxv>06=KqN?h3kJ)RQi8`y~mTBg3PbN&*klFpV zMuOn6=}NM*pO6xXWXfMjYvUivd?`zOx5%hP5D%^2?v7a)S@~>)zni@bDrfKqF|SIO z_HJb+%~4lp2k2VkT3~D%VJfp3zvbbbd(u*(&A!_lMp?lJ*9=mqWs5^Mem9V8`iyL=xbknk7s4cy0 z#nUN0IrA#M3$&5JJ@53v^#Kf5O*J`sE1q3cyF$g@^UZFLvNMYG6c0RQIwDJ@VBozN zq-iwHoTW@Hq^RBB>BcFuO*$%WGaj3?oY$oi;MwN}YV>$FnD{Ub$eDZ-&vJkIYjusm zPmxkW@#k)tzcFsz?6}pV&|UB-HzP>|1Ak=O%#(4F`n>1MF|i72$FN=N#fj{r2ks$! z{>aEYhb%z7g_rG6OQEO&J%!rx?HPD*o%ZYLs2Kizo&0gYmZ(S&8{Ngr2^5Ois^fVEIcJTW?w(aJG3{yl$4}HT-VTy`c+!+q z$zfZl{LzjYR1)8o zzN(Q{Dz70rBND6`s0aAuPjd>&tQW;_ukT+iFNv*Ua^aW2YORsfl*zsNQ^-1EL^<+V z+9IPL$~G+R$^a{7xqqA6z5}*(V6!@%^+pW`O-+YxZAmWB+Av#>n_TtjxaaI~t4H+Bgw02uTQk09sMT z&kVxGj)ow%zKzpI$dTv=(TDBX|CtNQQ*w87GPahmF|qx}lXEaKb}+XwCHgQ~Q~b=J zXl!Z@YQdf8!&(irujFiJXJu>+@?9eWe3+qqlvcJClMt5Cw`rkb}5z#X-f(+L{)@-JZL~Q>N`TpJ3 zjfm|(#Xm$r{%yugL?4cBpl&__vijB_d$#|%0uoO8R_2C+Hl|j_pe8}iZN}EBMC|{` z_>Y;}|K8odc_=v>IQ=tv`!A&rBGZ4HzkTpOGpG@9{uANjBhvoNAYudZj{8`t|21oR z@sIWSFPV@05A!%%6&rI9(U^!4@c-`Mqwaq{uS}r94+p#dt3@3PCo9MQ=0bPcCKX90 zl|bG&p&Ne;Ju!a|k^bd&P8k7h)S!srCht&1$d%a$UfO!^Jhrr@Y!F4wp4rhg@?vn5 z>LH?afc_*GNnwgqOn597Z|urun?aidDa#&VAowZAZK}(NFK?%Ov=% zKvx={7jMbDpaj7AJYN5?eZS?$Hr&=No_yDPl)J9>UFv=}e<$|&{eGhsU^${&d_eco z>Qn9e^Ip<-={O^JE@QK;taX8Z&vW(C;P$ES%#*>sn&dp`+?%mAW&LH4Tj%7+#QsS< z@cwi8{gbJC^{>nLk+G9E#)jLp%`C9v_rD%>uMli&&jz%HRs@)AYg0zM9-2Dql}n#G zq+j3fUeA4>?-+c2pZTjRrsnwHs^7h9@!lI=&fnim;9mHXJJjh`?%&Td9QQ(HzF@R3 zEBegdO}xCyY%op|zP;RKXM5>s2<&6#oAgGn_aePe@OP-(ld?8SK3oyd_9yx@Us6X> z`@GQZ@w+`^q>y(fvVpe?dHN6C{f=VrLUqF>%)LEwX#4#rrd{Ddzu-&k+tp#ux9S%0 z0`=ZMV4O-HDK)gr6fTDYYm%m1b@KSvHlQ#2o->;Y7J)C+IS1^`vPA^GA z1_TEAwVqRwNIzBetqqjthHhG%xVGXvVN~@KfOgeDyOym_@}OT9zPXGTy|mt9t}Hzu zj+8_lo)l`o{XQ!k3*2I4uy${G$frxlrF%`*DzZ70O@B-==B(*{3vB!2@;JAudGois zgNHUmdAM?J1J%n}hVNyt!6e1j$GP#Xs^%~3-GU|5adNp2urhCT34YhrD#RGDLwI?$ zU1<{5@orX<#%}uzy1gJC!gvPSA3B4lQ?Z`xWq9I;6W@nEXWBa?O+q2NB>Z}Q7yrbu zi~XuNwbP4%Z}A_GRq?;@-*)CUnd^Hpqx>B=Lv1s*UN+GZtfjZE>g=yHJ2x#hV0-8M zdgeM&!pgxy%W=gfmxZ(tIJ6Kj!^$_a?VQH3m_K#&Gu$!(Md*j>nyo*`XRgMG5$)i!b!s=A} zzE5AcU4lhiqk~6GwQ3w56QUNJE22W-D%OSdsFCMwwS5~MqFLXpw8Yn&{EXYDuZ}O0 zVzRA&++4zY*Z?ewp$g{p0a_K)P$wM>deW${7(;I*Hh#PSKfU(WfixWaKf0s34X={W zv~eZ**m$WbkcZ4DR>!Ixl!2^Y7dv{UMu-m@cUNOiRJ(pY^S-93@h_iU&vNPx>20K# z0$#)HpRR)trae8u4h7*!=HT_Rr(iK&?hrllS7v(D4JNf!$3{l(&9_s0FaO;0Yo3H- zYex|!tmIo`#1WwNgT5gR#a}1rXU4pEITP{Qo&KTf2e1MkJB&awh)b0$6fA@m3iGH(sDflU!yw_2?6d*c@EAg2hOeZt6W?V;w=OkA zZAA}UnF?y{0^`V|lf<;KUD&$ysCtwsYKUPKI~JzIN(YLEu}}6mIeoZv4;#5FuwUcB z)dhqPg}_cpd$jXSQJ1IIJWH3ONTx>VJ1vC+vKm~lQkC7euBPJ=RxlNCX1@I0mu|RV z5tj1QbWEVrh{D@w54-Zlr!Sw}2H$nD%b#It9BZwhr@DvAGnGnVFgqXBnh-3-wk8-A zcy>_NyHua#Ly6q4ZLNs*o<;}Ug73Bq+`OnWOu_P^i4tPsk%u{C5D!~ph)tyMMZZ9u z&eSV6+Gb})N=^5;?grdl%G1|l)4!n4heDn9w{ktOiRv#QQ~8SExR!HBPNx>IMz|g% z*XIog?iH9kun9k!KQc+4-1k}U$4gd4utMX|C-@q{dudac4yxN*Hvj$Z`{^Vn9%?in z>x_PLQ-vPT;Yy4-?1viwh#6-R)e3BSgdE*&kD4+@K&)m0rW%_rY=3LZlO z(kXv!A{6bS=tY{8#~hkrmiIEF>Md?+UVW+PiGTGx!|2Zrd^I$>4z=5A z+H?~#(C_=9$G-+CO3~6VAE5DLBe$tmZvjJYUVGm6SPv+k+AP@ZmcV#|$&h@Kvu*AF zWhEfy{u3fJWH*3lajpSz9uTCDV(7Zeg+)0&RpO8YMfSDG9=rxdO|<)k0(`HCgwS^h zT?o??r*^Hj7fRpPzH|$UfYinRu?)BrxKDe;IvafR)(05@*J}Ox?$(_O=;rWw zQmvi!tTJ}CR}t2q3Q@Yzn*}@TnK-VZGw|a0vl>h>v^5Bd*t)^V^?d~WQi2;-dv!Oa zu2EXBHXu)BGMb?sCrojWBXy%<@gPXB&D0(K;Eu{b)fmsv>f6xdaaw^xVRn1(xwu7@ z?Q~guPUR=qAX@W;XLBlBqFd}!+WUq9Xurn_gmWEC>em|vut2Ry*uh~QWJ>n4pr;}v zK|8Qba)TbBZOhW?)&j6$ei+~N_RwJfoC7Jx2Tjxqc}`KSWLK_x9_X!qc6}$(YGg?J z#(|o*z0G?Hg(EFAGZQk2fu-_w@4iUG^b0&81?kC_#mvfO{jM3nmwYCL{A&Nilp%j8 zuoq1l|J`GzM=(;KMH;1{KcRO{crS-l;;2 zPTRrU0%2kYD}Jj{M5Q;jKR}fFFwB_aUreSsE=pF*r0~;jf{E_4o2ec71pg<~&j^Af z{fpO7%_B?tTsVszi-HqO2M>{El_r0{55DOPlZ!LN62++-HVW@~_bghGK8ugCe~pIk zmM3Z+0o#ryn$-55ATis)wXuRLuw3e~@n)4Pj)|P>25OGc4!@PF(N`9bA}m zP)S{jzL|3D`O_KqEgPt?3E48VdYsj<5F=WaJ&QUx$LZ)182VTRfjaar?y2h$R5eTp z2WNOiT4He>ynvfD7G=Y&vz%NU|M2gVV~ILJF)&x-u!=RfK*(j*oEx6lua*M|wVzYHbvwwtRU`p+(OW#T+>HKySx zG}HvWJ*Z*tu6hFuS1hVK#=I4i9eU*x8DV$C_zpW6v>1dS|6l?M@q&FnDq%^iux>Il z5kHkYWN!2lezHiYQEezZ!f8je>EH7uQ8^+G*i{W%G6xovR8q}Gs7Go|Yjq|g z3?~fq1qHC8A&`SLR)WI5<8gfwQvdweLvzNfX9}sn@!}PlVQT_ey-~Z14~*#O42(v( z!RwR&1Q^=V!m|7Mr$Xh)11yPXY6M&^Fgm%r2xDX_i24?{2?e(RUD7z8qN3o=k$JFe zcOLX?mrE3+089a&NJ+)*f~$=~H#j#dNMvEwbEutJd%;!r}7(j+As8QG~* zS@$SNV^H@f3^B;ax@rL8sbc6#$#5FegVWe#E09sP-~d#CQ6mZlDybeVY~MmZclgh# z`#h(aWOWpJKB$dwe^DE8Kq-}2nS0j7GU6M|Km?WwKXhy2 z-jhdWC%;dSCd0v+Ry4Yv$|RnLjK7sv=?~VJzG55qY|^Gj0@_*m%BOGaXRD?vyZeER9W-L3c7E1Sh~C zrr^|H=*|&K+tlNO7>0+zVvS+B@=4@W>@r1+sV5TSdXPqzC4s#^Atmda4^EYv6`!8f z5YSvn+d&K3$@vBm0Rw||nH4w@($55z;a60e+oV)BP!V*y$T5;x z2?~2+sZ%U^m&hWII|71yTB8-ICkW!ov;%F?4gy8|)!U{2iRLuBMB)i|)UOu1V z$Ho01rTwO^BHVX2FP-Y^VgG_Ai}SK03}hFqD;WMr7!QbEN55MZ;_y~8sp^e9HYMluN!A5sfYz%FA1 zV8c`1kz2DsLbY_Rj@T-S+o&6?KrxS``6*tj_cv6T6Ew*{N;`^m^RzE%3?e@XH41!j z&;*}usklSA`DR;<+a|?3fvPP|%*kGBPGCN?k$KN5twy@gb?oKezLVKZk9-&pSjW}N z=>SJi62ynOO2-kChA$2>ABXw7&Ki^2Pt?63Wan3*Ft8E;Uc}xM_+XV6F`_p*Vs`Kw zYR&(FjGoe{*z!r1gfoyhiY0qV+c0iPw!mns1F8Z*&FK=C$I+-)QGXZ4eHkNi=5hoI4h6e_rEOd~<^Ph&EQSUf}?NZ#zFxIoSJOC-(4u5J1`eK_`AiT|?Z52{%8zGq z3;UCqMqwHSz{r?gM5c1H%)o||(09ZZ!UiS_3T}!SK!)pY(~2~B`92mHk5J|+$@Vr) zc}^FR`vd%|M%KDM-1;6{Rhd3#bx0TM6`Uc zqaOCX$qY#t0&^Nj5Zfc_Uu=YugX8b~V5gg9@OUD&!UC%`i1*?>1miGF)^_x2P$zS! z{BR`+RpL%^_VVS>CGw(3;E3d5g^-y)Nh)B-<938ZmkOuUAU-{yYg}bBq>m0dj)uaqo!38bPZJm#2c@26EQ+}Rd(t%d7Tm1!m z7G@m`+c}w0e;gy0dBy!gd`y54AQrHU@{1P3d03j%B(;_@3-kqfwg7HOsVZeoLe1YU zIJY$LfDqI(#LnSN4pc!h)88b!JAXTqchFL)1U+7QzvM0^!s4mU%`ipi~?}$ z!48~2=SYi2HI;*P9|=dLN{ zh;$Ulgo0Y4uEQBJ!BPt!^flF=<0DUZ9gnyaV3-;v{qA|?W|y~a&b?-5Gtv137rG55 zEK$Vu3*r@S{9rr{IsGYTS{p6nm{ z#$?IV9!)d{7b>+q@3LzuisHD8mY-;`_lTllzn+gag2YpWmt=RAAn;fUYriNYk{z6G zgJbDCaSSR${+#ckK%F_?v`7pU^GP^cyDuN8 ziAX8>Bf5q=Q;pny@=$@s&b_iFj^+3ex-0kxeDiE^hy>!BikqOOOXeUoWkkO*yvC&D zVub4-dsE|IZ@&zA85nktWIU8xZw|(>C`Bk{W7~U!Q@3HNzB`4M`l`hr77F;|ZW=m5 ziTR)+E2!EO&a2K3XZD8-;nI?&tjb-qsm3P#KLE!-IKOY=jTd^;K1sX*nF$99 ze6NsmxrrZpYLCHKes9lbrQmz}A#thl-qu2!5VP)k(A}Q59>nx|2Ytyzs_$IRx#u}| z)H`_Zz~%CKwCHkg5@C4{eaVU|j|MN$VDlL9+Rw(OuHtpA6sx7teK;LUG^P-& zY)Hce`jn<$MkQNc7DN{8_&UoREpLH=u4E9HNedMYpg1VWcN|Ko5M@CsqF66$%w?!E z$^4~*&*F+(sCX18KaB_#Oeqp53v~#^gl(ovQFzGmoglxsvnIg`IoF`ztS0Bes*Nn% z;-Qbyq=3~AC}$7XEM{^eil(TyVidBF?$TmfF`y{UBOgCmQ3q?FKtu|ZYb(%lFY+$v z??mMiL{a)Ml7*{SrF)y8OpKZ0EEnV6W?1QuRRzTgbR@GnEvuwp*(w@|rNSLZ`&fYw z=ISODQhgy#jOElkdH+qh!>V1*LO_X5&^CC7X{r1WqB3z1M5D%}Jf_h@LgqsW)34MCYj zj^Cpo5;oi@_T%R`0}cWAPTPiar;$9yIoRNFIR@uogU3eNIpEgV9*a{0GBYL~=x&zi zI+O{qp>`O9Vu`Iooi!U}hk}m6WXaGS+Y8)hhRcyXbQUtW47!>^&v6-cay&^~tH-cB zvUD>#J_mV4<^UZ^23S?lwh+{UENS%yP9&&gJbaHu+q3?@uon#lvN(w1yC-(Jn%dr9 zTaG@FyeqtCg9@VF!&V7Oi2AO{u@}othQx=+&O6iw@W{J^<@O2sAJmy1Yqf!d(r3q8 z39zgldk-wD$COAAS9+nD=3_BDZX_F?hersF4}lk7EAM!~&IS|kde1&&=D`O!@c{`% zNQw`(AXh}T_6nzu2~N19WU_;Ujph~3{pBcF7992qho6E2mZ2>}y?=v?`2J)^1b)Za z4$Y6b%;@($+hK%-F!gVQ%&@9h|7S)$#t4sys$c_*yywDdK%pI1L6*#y=&%YmqX&k#q?fuB&Ifp_tRslK(f!yccgJz-Qx$}0$`>=Dk ziwvnydw7roKK~wNEH1$3zMb)Ija>lZsNvnJw1tz}>4^8B`v#sLf%Al10H$2vsLM-C z0-}!gi2fSObR_3b_E!W_z2Sao*Rr%9hG35zH;D}D~%K!xp&bK??(@Dg&ct8{e0o)f#VT8G0v_Oc5I%05BAzzAvU$W2kqOMOGPN<1J;x6EbB=kx4tgd(+WXOd&wI-b`t#2t`{TVEP1Bx7o$oz3^3RVun%|zKQkQWz z+B3kuFfe81g`d$W_R=A!0>g3|b#xQ~bO=AS3L#3{|s_ zvl1aRk5u9N4cBXr=|#``4Q%f?BHsK4 z`Y4Yf@xV@;k1#I+U*vgbc*OhFu|D}kG|Jm~pEB&@5Z}~;{KrxBJ9$_S+28j_afM9B zDtb(xdip&wEykW*+IA`Dt#$gYz96(^=&F3T6txPNo5I&cF>4VmzR55Vr zFhTenv7hcn)U&X$y$8=v;a5iH-%!@@{5WMhQ39+ZOf>rfak3D39pJK9Z|D#E8V_9O z0=H95Fpt>CH=GE@z=aRnl6;(f%eLh_=IEprv6cZwJL9C|80yXS75(nXc7htbUp7c5>E$PwYRgM+}FS0<8kYeuVn87 zi}Ty_Xix+%l1?d37lPsW{PcTpx@L2Ih*trl)^OUNd9In#w*H5WN6+E^5MW&dBi|?p z@}FT53h}`8&-3~mBCLNtdww2PD$L|mhM2Dj_b1+idC#`Ak>BbQ+a;_Y>X~N_sA+uu zJ!nw0C7JdO;3NWN-E!0;zsG_52G4o@Kux#z;CX>%?7`U&SaPX3^}~LkwDO4e8|{P# zufy@&AwwVwHXY5? z{Xi&ahgc99P?!4r^Vt6=9LXbkOU`3pk#2hrS|kJNZl8XhAvu3!9&&k}q4tjk&!u9gG8%teya80h(SY9% zr~XIuTS37b4XjhozK5&CXGV-GHhuN@ZVUW{a5cC&yDo&9~zw1$=%UNV%?n69 zh)viZ&&4X1_lP71kF20R;CYe!)9Aqua=Z@5My*}?rD;CN9z>sx^G_iSCH6Wpx$T!+ zNc_Bt$r_ZN)CwCPwq8ImI0hPDZ)beitKgtL0&S9Fh~vE*PCP*Dab0)Fe1Z1pP3GMB z{m5v5H?6-&2oz&D&QEJW;%=N{Pr`HNJZ?zz7bBj%z~p31=D0YVW2ZSL$NsZR zY_HI7ZFnEFQC7nz-ZrKq`zr;051h}L?Rqvmo}Ra3G>Ky?k56`t_caZt?{k^_v6#u; zAF+;*(-`@1r?!p|4-%oHyx0$TvbnG0-HC`To;~Kv^XoW~qmljT z=GV}F#NzlpAmJz;87FV|rRN3a3$O5|bt{+5D2mrdSvh=ZkPnlH_3gx=Q|3!rZjy-;eBO>Ke<-`pgB!lFRrW z~MPm5|wu%0~6mrzh5u}k!J#z%W3&;CObFO2rUJm}|nEZXm< zM0WP=jCcPbWlXbWQA5h%IDg8sAD?>R$#QOgiIX4WnJiD3Ug86fk3-k_KtbeGBJzF2 zqofM!hUa}kst4{P+kN|bo+{24t~8M2xmPeL$MDBQ%4S3J;tl!WEKP1&gY2z$XQeQNIew9?{dO^s#r3%WFYKAO&IRM5g~!d2 zdUFsv=;NkfX-d#d7gLVofdcaz1^4rT`Imz0KZv7>4adbb0;eYzi}?X8f-e^M6wn0~ zccA_xSnh9U*P8B>|_v!azzo1midtlPPAa5VIx?8Cc>=XM11&`u={{84fIp7PiU0psdo`mDZ!F~qBQxz+S z20n(m`Xk4CrG0SaLN}LjHu?qi1A*f^HH71Muu#b!R^I==o$+oLYQX$RcG_$7ybnI& zJ-Rguo7vmRyp%1!xq}~APBGioI zjGd{9JbhrXNX-Z88Us6vm30Mg=luRLP7Cm=ATqDzP=AsZi(2BC&u^HwR7=KuNb>J$ zsRzz~Ha=DOC(Qdcob6%Y_N!uFK>1*`9;jo2e9c;M+;9-IqCW(65SA-pp0l329;r_V z99OZ110|Qj5TihxF|cw3R_337I4q+%C;W#`C4q8AvAq5m){e41nrw98DkFE@rjKWuoHA1=p>#7l-UDN2?f z>VZ@hQ|Z>AX0h$Dsps;g(04d560EFSe!wi{T)DY&KK32y<8v9U@+Nz3c`d)ZO1Kab zjvJUa|Hm*RG>CdBMqj&8B>P;_v1XX2X0OB;&*Pah_wk2Ib+b{A)S#RY%9AZWTte?L z^&iM!9J;`Bp@HSbv?&sdmbE=aI$bEO!qsyRawjQ`ta9W&g)p(gAV%_lh2e6jxh>Y{KQaYCG zv#pLUsaSCO+g|AZGFEu+U|YRg-p5}3zywIH+@VXxoWkw48|sj$jv#G~BkIB$B2sjfwq@_CvQm)}}+LWW2H1n^VHS zwcQki@hbE~wrpRIcon`et*lqC!g{x#vgeTK7X!VY!5nI5!pUG9TB456^R+e?34LI-?75V z7(FbRH6FL>MDO8=iS0u4ypy*`Hbf5MwkABzF0@p-@hT44hRF1gZH3SeTm2)i0?UnQ z+xK?6w2$-(FhkmH(I zQ)C@dX33KR-?{)tfVCgUsD=Zn$He7uZA;~*g(G<))vd!5&J!$dqvG`0Z)`t|1Hv4J z2A_XNro3DPEkg1nFtOt3zvrJw1IIchpx?ehs+VmQ2FP|UvwGadwp8B3ILUTn`uGf- zWD1r)o_*u?DkRIWt{g}`CftZqJE{L$#g)n79hdsr(`G z%APo$WnDc`V3Al5XGapOzjP3j_oLLYKc*jO6|t@C3VFJTg#p%E*mlYv4s?O#jUjzo z{NNmR5dIL3oG5tXgcAjR@cuyiE^Zvz`?&sr`+8KQGa9htDQ2T)me=F@o zv;66o=lHetVsT=XrWKWi+Ye*<`>yspB+%1t%&$^;qnrB4@of$Am^_-mv2WFLk82fH z0oazQLg9kMvI9F(J}y0%*eLpR;P$`Wc=+!v>4QfXAERJ>K9F)t5Qp#?D7OS0zwd12 z#i(BWKwG-RrRD6oa^O*WjKqtsZ7CE)#U}`r`f3mKJ`z~lN)+<)L{4M1fvcw<@I&k6J-Z*hWn~nBBQFW`dLmzJgxR*dqwI~kJ z^zv0epO~1{wDHJJ|j6d_~%PqPJdnl#wc_<&NP~ARobs*0NDYZBp=|!7DgsQAYF2NoR zRPBwP7RZRz^CPEJ!~p8!7DnoxXR?vi@G)}LnFv|nk(EaY6;1HR#Y5KK70#nPa<-8N z)qdubOY86tGM6{BE_rs5bA)h60eM^o<*Bz&nI^NO?aUjHZOpu2S>F#EKd;=mz$OtF zugquPS}2ge{J^A^ZDsUnPn}uuBz>l0NStm#!`6OaOA#t;(jYzhJfZ2!iv`2#BdV9Q z(f5YAdbYx8`vS+4rnx|N3%t@X-l$=$PyC^Ev~9(+Z@>?)Ro=fZunubx3mj^X z20qBx8He|$jg7-|=Rs~XBAl1AK{F)|IgzW5c#`+;TKX0cU2r_wQ3)o>j`? z4`&T%r&(mtf{}24K64L`jR&oW-pC1UHVc%T$Yo<`iNiD00@ti`oF@Jg^`Z`I z21Bl9Gr;hkl@H*yd}?~&!cERWjs1p?vmfznjKH;##Tlv%A7_lVeIwp~j31Ze{m1xm zP~*NSX~sBl1@BLT&*7=>4IkqHk9~*SROj*h^ulLdii6+T4xOWUcJvqL7`0#=+@H@J z^ike_^si66>NO$H=wEUAI}2t+gbi|C9j?}pOVx0=Kc6uk@Qf2aIMQLwoWQj-T!53; zTS5BK{yk^D_d8wGVqQG13Q11IDeEmqY_unyWf3@m*hNfcU~}&x9smvuYD4mjf3xad>z*^F9ZIbOA6Vt;Rqo{& zS7JToi&`j*$0s`-UaXtENJIJ83qH<7GhXI`_V$FbwGF5B)QfeHU(Oq}pInnyo(ak| zVVcLr_GR*fYoZ2VyL7L(Wk%o8gwYgd} zZm)3a#|URw;9>p^?<@+qFjqL#w2Zv91D9dKX*@vTd|0|Kc;_hs)=Ip>Y1~FQgulQc z{8u>i3vC(N5=8SWa?({O9@|ae&~B8d4rLW49NLZSGb|AooX$Rhh*)Iq7fkpS4t5~I zS!P&cO5hdShjv||RBRt2D?&BcK7fNgfddIb6}v;g#W?4)*s2)k0*7%<6dIVc38#4q zn|v@)S9rp9 zUHD~pPG@U4P6QP=w!f!BArWg(2^@Fre2{O$DW|#Nqo%wC4Y|M}*37BAQR*Qk0>`g84hkLxlYaFaYL z(wVevHSeL_$gU>j4I(Ffr(m$%$bPnn7qlB0sU+qX#{@-9{TQLfJ^GCtV@{ZM7g?m$ zaA-Gb#Dt>VcA(D~4*_b!MGk&KRPut4e#hEB4Ilj;(ay8BD@BX#Ns~OGq&G&W-S4nH z$(}$h{hyf0kz&C1BxfR_09cO_{Jaq*xI_=eeG1f|i5x#q!Y}2(cB^PCaBSk^NYm**TWUNgYc@vn$_+&maN2rY!St%xJ zJx4CQ(`q{Na|=zjoY222+`kEuRb!!bDrczS3TY%+?7Mk$l{4^}k!!Vyn#FJ+PA<64 zR+{gvwlI%R=4~Jl)NnGUxkAmx$PxNn(ck85$b$Qh#IYiX4mF(k=VBm`n>cB{U>qTF z;k|JKZVxdM;;wXK=bv!{$TlBZ#;GE)sPfJYh6kG=rPqu=!ZdTlA>o z&l^$47LDYZlz2v6;*Tr=a_Qi}9Z?H5v3{+formO?!mdP%>2u9ctmT^6D2SS?iPdf; z;`egnikhphuNMgAf2W<%8AOq>PUYGv}g}YQdg2XQ|158{{EC0<{z?99-PPq$+$=1= z2KetRZ?-%O-@3@F+gGhTYWcay7rT0os~3^)VdXa$@fzt?>nv?|d6TmCs3f0s>p@Gu z;2-+**D|Wg;)WUX-@gC-Z{Pmq@AKfZw+9&gB{bHEDl2+-dO5e(my$m-59N>kt=X z2!t+9SWbs87Q6sloSBWoi(zv`7q=}JxvqRMz}Vd;KyEtpH{jxO_SfX)=*Pk39F~@s zW4M|xw>ERO7hDdwxSX@I<>i>Q4VNc4R}C-6^Mm1X)M(@71zcI2H;%K9#Kdu|mWInc z$lvjD6yCw*5zcGH+Kuda53wf&u(N~3-+awr5)Lko8VTnLo~6ncW7vx>_I#EpUJNi^>0vl=F~fMVIJ}rIW*GTP3&lA2Vu0~tJZ1zg z#?#sP;$-+NQn)xlxR5U{feRYK#RX#7V7lP+ShQUrxaEtz)p`(MyqL96;$oCY@x{4l zJt*`iba7$z5?)+T)WjFNr1fAyWinsPx&(1C$`$xxu0bm<&R*%kQj^w$0OKOzjMjqy zixnkkJqR#f%%@0*i}9>hzPMVg2P@W@;$_01mKN3tgBpCe+(Vr)yqs}yIhLKl%Q52* zE-z8*NW{fT+oCgrV#lSHadEkaf>?Mtp0xm%N2rpGm!sMXE-z3{5ie(4kl@BM#SWJP zE-rUj>r})gBX5~v$IH>yPicFnz`e+6w!VKX?!*hoXaFW zg8?2?$7o9QpbPVH26LKTUIhz(J1@$N-PzZCEL2U}zW-zTx@yyudQb(iTM6WD1+dOT zMNVh}aq5TBF9GgJ_8?Ew4SH3>=rsgJ{TwE9ATW9v$L3(RO<;1s43TL9Gi0ZE03AcK z=+2=8!Wk->@Xy6v$7}69HS}1;i-c2N`N4nq8p3Q`f`=DKhN_L zNaja^!6;x%(|dLajs$yRxBT`CU2!!vdr6)(us1T$THGD}tVX!%I6veHXqzRN(*)8( zK__&gcfJAgV4zP9Fc|uly@A~C)Ql1gS%cPfY}W2Z)D(ujKlu*BxhP9uRH0z(EcGnr575rJhlW5LXrQ%rPqGnUhgrRjdU zdAHNM2ve?kk7V*gnK7?;sE>LIL?X7@VZG+j2b=d9`zf4!1gWi5Pf>L#aQrIP9To>_ zYgk37PxR}o(kHXqqrIZ$3PT?gcK34K)ub=<@@eK`-vzc4-1uOj+4g`j#w*t?G(U*u zJ}w0}z&OlL0<-Oc0-7>`V3kxbYOAPE(-+|?O7AJG2KA1eoVfSuSlcP&R+hM4_=wsl zN`V)y#s$OeHct2XdE@@~4)@9d&Kk!}egQs0f?+Z&x12^YBl~whAt+$h{=CkAEUlO(UePkUl56e=(~O=);YnO0}vwWKg(bUBR>%^awzHj!1DyGOkOiJIpCGf5+`i8wE3YWSbt| zyqnRsJv26i*GIfxbu*UJj0NRy_io_#a)#jb&3=sLVeI7$sox&u)v8Zoa;>&` zpIzyb)*~m4XW876uhU2fqIIQlh}Lx;oCv}w?#&=ZJ6)&kdtmmg%qTJQwEdP-J#Km-GzSdI09#jM?dX#R?mz-2k=K=Bi7pv!BK(%s1G@7#;_4 z%>7bUu`;ckbQ`cGG!6vj%8XfMg{_LcD&u}mS=r5Go5V^?97;|zwn3#o!@nG|5*u^f ze#frFl+^#yh~7+DY=-#|RDwh*H4klwW)w_|tY{A0ycdJW4-7fN zU}#pwnVcg@bQ=+wqG@N!jJfH4`t*#`I}4X!#TggN|GazK*u25=AHs~0>)_0c8K&aM zotQC)OIn>a27m=KW6-8`^4tK+X~x3zF3{(I*=fmzF|?n0yqk{n)0osLN@EDqD9V|a zy~}L1GakA=_=RRGXl5(uLAg40+zDo;3ZiJhP0JN(4l)?HG`_I93Bl@@BKHWYa9FHr=@EI@=($E zl9NWPJSJVM^Pk_4uDPIqd!=i*ZoxM8F+H0qU87Yq%_M{bmE{=-K?GH0Lz$?^Tds3= zeWdG5F+~I^`1qLiECdDIuRSY90VxivM9G7;h^d0Khs0+Zd!ex$e)5Sn#Am>`XyP-% z%yd7U{Cu1c-CVN?(*$Y9iqGhvLaNRBnO!DTeKvC`w}fV7wZrU&8*Ng_WqT%zP8zGk z76ENBfVhKM2kU%KC-zSS;!dmoTT%|h1SnfN$u1CxJ3>{HMPQk?bkc4b&2AFtwT)UR z3b)4Xwl>0Xsh4UG>Svx>1M>$9=J(p0Il z;XA<4Q{jeoB5luee4Wa8Q!-+w_B&~-;w>G?ey4d}rB9l^{4wdC3ks+bGkM;0N&k3u zg~6i&uV@7mo|2t-B3NpAdxj|@vWzcQFojX6Oc2qdAj)C(P=ca?3+U_4yWT7+GUvGn!a4VYrqliOe?^O?7!yBBgTCB*&(dRS>)# z70gZnvEj)tLgLuXok?I6s!KO5o@@i6rsRy8ZbHhv)JSQVhdh90{_`6|yiW>M73Sdl3t$)g_EXPM-aCsGe>dK$c&T5dfdgit1RuT^Vi~TT7XWA%sfIG_{thLRgx%CFViVl;e|$n`r7~MZn12Qf%doR3TL~rBcJH6iNxh?kMfGPURe! zN380j!fd{8RB4!ZOq=l^1m`UNla}s(x*;`A{VAi`zWsrcU3*ni`}Xa3uIrVLEuca>FWjR;6VQd)dQ{BZq=b=QDcr2; zW-Lzz8x{r#uhP1(fz6AGR#;LCR^IK7jX=w%)j&KZcTj^At8UFfvv5`{?~ll9*xo4p zdqm_bok0GFF>k6C^01Kns`Yud@VmC(-5-9R>nZ>ir(K7T8In%$TNg*vRmn2k&zQC-<@pnx^4d zmI2b<0{#4TBEV|e+tFe%GoJf!+M6%qpI;{eoIcHo0DiK$N2I+4_o_|9LuqdazH8ds zURviKG0uUsj-M8_(=V9zrjj-9k@kk*dfHoE$8S) z+M9unBVX;Aw6|vnoCj*Izns9)QruuI_KLgpbT$O1y#+fGBR=z1PhFuO*y=qgve=*Y zrh*~t1@mlWoQVIgr@h6bfJ)Jld(z&bQ@~#(?M>BcD$DJ!llG>@F`St|8Eq#}&2WoJ z0fU*Iej~%JYX0j7rM;<{PVbQR_KQW}A??lA7gajjqI^|Q*)Q)Phxa?pvt;t51;=UK22NT zkbg9RH%5W6aa$)ZxeB$JkjNl7dtIlkLl6{^s07IaP{I~QBkI(QHOa7& zM~n8|%o}$A*(RvrPDms}-_~~n^I*MuH?TLCfJm_y&SGU6Y9|b#Tj1sqqJkTNd%{Fkce#y;%xq(nS2Xi` zYg^%W-?r(U`?lb$67qE%8uwG+p)aW_-j#CsLn?Kbnf?B%)P2>+?@_5+ z)P*tTx{Ed>OJ9|`bs5w9NS0Fg(LAP7emBX|=GOa|x-e*lOP%Kt%=fB!t5xT#K> zm(RPL=5@&uI?Zd6CH1(oKeJMIo;;i1r&2dy^Y-y!$l z7TEp_)<3OM_o|xrLnTXj`RB4pD)~yXl**6VmQ?#)N|SEke4n2;?tia2sd2FHFC|cm zx$Yl~zMxKoqA#@8oFG`Dfcv8_uzHo-n5dO&jPi<#zD3LI{D2Xtb?)04r;)bo4i^8e zT*PsJU$iXNopE=0{RxNr1O9MXy5%PQexI!@-R3$);3h9SFBiAG$(bBdd08!!L&xTT zH;l`<0`%Sr#sbq;O>)XLK?wL-W@_2HL&@j6rgMa#SE&2=2tl3wAgzSZT}sXUqRiQe zePnpvvjf^Jr8p;bo^I$b2@FO7^Bf)75h0)*&|?t-5@o7qWveM-MPuHLVX)4`4n0(Y ze&&U4fNnepV+j;>z_5XOV17&rNTCQGAwa$r?TZjhMgi4QxI}8HQHRZhKb2=AMo!6I z+BzTf^g#CXGv)6z#oylYckdW>(2V)ria*W3KNfaaog#r5D?Z-H#+{ z9%?fp_T!~DGl9&`w4X~Ipfj3mlWS5jv zPY{HqFBV1zCmm6~Ar`DFp3Ao*X2|dbiBWhXq;XWiI$}f-LkWzG_JI z`;LErAgk1oWA{}<>h#Vvq;O~DCm#2-rPBJUA$7GB?-yht_*Fyd_o*SZcW3l#)R1Dc z{7dYNHu=_1QbWoW1yr?HxI!OQLn=E3{Hh_f01zGTnuNqS3>TZV#vZ_Zp4B+nkw)R?hbrYxi{Je4hpZC|0`V6Gnx?BOlCrP#0 z#NPt%PJO&bVw1E#SC0DsOd1B_&v55Ja)rl8H9BVHKvIqL27caG??`=ANwxJ9o=sBC zY4=o_HrgC+l4|Qrn}Loa5=_+_%x5!ivTB5FuxhJ%17Ou=viLbxZPkC=5RdKE7FcDY z*4yu4R;>p1?Ow&IJ>=VMitXQnRGYWn7~!(>JeQ;zfk>(mh@={UNU9MlrW7(elvG7n|PK~Tio@RlWLm;+Flik(NvH-ST$9cK1;!G zv1&BzR4sy197cN01bz-yjj)(z%qf3sroY`})vUrb*l9*T;3;YRh^85W8A-Emb$<`D z*%-q1F>Q}~UN6)U?T=^9ipkS!3ruMF>N>BcU8jw&6|QZ6^5ZJ62G~KoT2{EbSzopP zs7`Iw+smsREy#VBm5{Tss{P?(ttI{%*;p!nq^xgh^@m5PBCpWEhh$>`Hm|n2SYMN= zXwz7m?plTxb^Q7yUc#wstXu)39vwP9re z#4FdLRXY-|*0Zrx&i6gCv3SjVNj8>WI`KuP8f{H;WmS1)dF)S@jpYrMl=&);efqu2 zV|(jfRg(3$E|0xlhUK)Cc=ciBv2kaW=0MnS*;r4O$3~6FS9$F3`wLZkM0soxA(;oE z#shrt&ghpYkKJr>N5AS+oW9CqoBM<#U*)l{EUYRV;ctKE^4QKy;8%I@kF6<5HkQG=v#~ao#(BiOIvdN|JQAJWBu?k) zi>#~Lc*c|dwfo;|PO7`KYa`YCt27K-8c=mD|1b^c-nIPE%YS-^CP{z z^$4@Zt(0l?6}-%x`J<%>!PaJ0Sq5BHU70cBtpLl@R!J+*0hAd%7q~URh=il>(8?G> zJc`-{_&;htz~b~Bn;7lm;$-KA2RBPcG~tP+P|=3ger152ScB*C?lpz*UN!JMzuz%F zrFn1aQmd>TRa_JP>Q|DozgrGPueyFK~3kb?P0VUU4X63C@nit&tlZ} zVtyK7!V2UxW2Ebflhp%@1iTzsF5T*pQVXo(oZG6&yZ}pK#%j98A`cP3LYT2+W-L$d zmw0#p=BDq3123pu5|0gPzrIw_1v!BKq%s~*k07g0& z6IQV@*#r97;n?U+E-*L#HcnoUuuXL`Vp=|t=3i>0(niz?R^nB`^+qJ>cMDD&a1fz zu>8;Q9dI2qcY>Y^?u41h9*0X>oi+x51v6uN$taC@O4IutmcsO*F_{fA>HrmM&lh~* z24YJHg~sSfA=JEV+!8{ml#d$InZpUs?^M=POg4ESHN}K%iwYt+RHqq@pfgj;%MkF) zJe;=5QlmO5PumH-XzC3m6Y(;b`9WKh0{5i-2&yLLO@)3+9km0v#jMAMeFcIQ?ir`u z#tB?<7xsbyo?fOM2ZG$i)V3LV6F}}w0D=GO?X6)+2tJAi=4mf-f=!hoB1u}E5^T*I zpbJxH&`64!Mm1_`)+ltZVcNW)kfOjn*X3`DRk~3k$ruKS9w-`Zn`T<$hK&A!%zus5 z(0DyRE$ORTxBWGev>nDXmB+!&+?xgTtk$j8acJX9cM1EoZtKz2%`6~Vt^K?b$gKl; z0FP+h!0$uddYu<$5T2vf%}irVm#EVKmRdJAufd>CinF1RSGswz2Yr%S0tao^G1YEV zNy=6U9BtF4*VELnyK4bx5!?ry=9LKUy-7Ykj1mA}M=pIRbz{ae9!~P{?)*|OITY`x zB%d%l?M9Q}zfY3SFLUIQ_vzeJ)_xti^w5U)>&T_6KKf&hTvC&K@Jh81?0S-qGH8#h zf3P7$`8slGbK~>QNj^S~Q}qAX@(261rnqc>9l7-V>&PW@ZDG|UAFFXw+)D3y7A2&ynp=(FIMZ0&CH*5wXo_mKbhncf&%^;M=s6S*O5yPF&XcD zy$YmOO1~oJZWtlYD|1!6BLCM+Pb^BmhV@5Xv-S4kG9kS zQ7}u`b*&~X_-2|ULRdA&p0vz*5Ol2?3N2_xkF%(?*05l%8%x{DYFYZav7B?Ubh2b` zmI(QZ+Cl&>0AUXj*EL?8FMB4gKUb7^zm~L2t-vgT(FjbV$#^8_<~5s!oQx9JssC=# zDq)`CYKY`UA&9l=5IX{`YVOPGKm&}fOOxL#1|)TwSNvWx?)Px&k@v4Ud+$aNbpNI< zOxx_cHg)U!H?;Zd`?vj-8-h{5&2#cdHsp)~V$g#KaJA58(O4}r?g?Q7z-FomWP@dL zV+Czbo6$5`bwTB)iKNoLc|W~Ro6*l+nPOvuddQ{~uy@H}Bnib!L-G%3q7dA_8GR<5 zLSGv07GrE|JZCOcBTcnK8MH&XG%1rt>}uzOX$OgE$B+R{ZNiNC>0R_p=`?+>X0`N; zbU(eHj-{{pi%n`**Bn6YGLtWMvX(3dA{-Wwz(xg{yNX9+E6fBlS>wvV-}WR+*M z+#1%KGAjYxtW+k*N^(oa{!PktIbA;&Fc?>L`d-NEg#6D{4Dw0M)E^*Sp7&8v*++?d zSHj$MKaoG%rx`@Bw2Gm6r31pu^tU26m@vpICd{W9Gt+lCY-hseJX?qPxNdT-^u6gU zQPR|)I@vYrOP?dVW?`(Rpgl+rN&WV`9zUC-lV$HSE{qga{)W@j6b(P4oB94xATIkHDPWbczB8>x8o*FkuX<;W&@ z(C0h|?|fT-?(6eSK7N`8&8H4J4N^6_Mj>IK2eGpV#Lf!y<{Y{e^GRmL^90g3%u$&O zn{i*ubSVPMOlrw=sdW%@sOA;+q%FlKt#&Jdm_wzWy^Ot6d?ioRE*#sF9UBwdoR|~a zwrx))HYT=h+qP}n&e{L>J?HMb_%8ZayH;1NUe&w1tLj;+>X9Lew@Yl(oPZFE>l6b5 z{^(kJS0E_o)TyJy+=5BU70Dv{jBufg@g+HyRKOUd+&W)JMAS%GP^Rk>$z?t;K&56#GS0t@7GrrF2qq;`%up zKkW6gj#qPQwVTJ%Ckrv`Ojc(J(0`m=h{zC!R%~m3Jwh-M8Kc1}bBeb@1&<=~TS$%; z%XR_`a=+w1ec^vf8grN9hx0Youw;|hZ?W`N&EjSZ#T%!h9}RmP24CjS)OwG7URNc zy!#C^mVN9|f70OD%|SiQ>)O#UmUi(=cWpvdjZYV+DQQLg>~_u)zv^*MyXEiNYVsCH zrz!iqbpv4;Z_svC;CYf6`}2T-u6pCn^=a0A;W5^|RKOS$}**k0GqSEz&(@_(Rme=~%XNws0dQZ}#eNH?B!J>N)eEf`y|* zS(X6mn1U<@ougmf`41Caj;unpqUx?J7>V6%^V_!6O&1MKpiQ|ea}NVJO=ar=*j#p# z1o|8xr04ej$B#lo`=EejQ>fluYWmH`IjkDo$Wv++RR9M8RNl{U3Z)!_@_y=6xp%w>*>(}2=n)y!(09pWg9Dszh)D31Z-deP zbmxx9Q)w9MU1R8NaGpv5^#0`dzYk)%mjD7b@Ik~{j@w@PfW8`rE{Qch711H3y@-m( zBgEU_vU>TUIbf>j^7{8hXjWrHxN&I^GkmgxxJ%vz!yFr!p?)r`Glu%==-vXB)0|W% zPm5LZ6!1nhQ)<=o&NU4v4FUVQ+KW*9`%FEEsV%GIGU0JxGILv$UzBr)Oa6`Q{ydx%y7zTInq%aJcwHtUkN|F;q6U*AJ|6|n16^?7O{@oHg{%X!(zT&W z87MeeY!I6b#bw&S=pM|z*>fZcnPu>jnH~MYbs(pkK#r6`g4Bk3qm*~+*s7$~w76Q> z`U|It30@5z%KA?lt95b-Fo`4vI)X2D`{Jt$6rV$~`P1)?LC^CM3)^YnL7EgadSvPG ztcN+Mv!~ZxR~pSYj7)I842iSIvpo^f(oH8K-%CSWrY+9FNb`(j6)+2tSu13>!1ZIN zezBC5&+_o){hN;@XEAa*YY5%y^y7XUA3sHGe;j0nNfspU;r}sSqjq>JNDF>M{9#Kg zyvSR@kh}}7{@0_^12Z{bsdW3V$qco`cP=eBw%jFxc9a5VsEN7>dPBUXcpX9#8i*fc zvS7O{;W$VV`!CRO`%M_+79$a)&s^I6jx`_OWWgV1o$%v5g>Zg|$p%aNeqzZ6i*LL= z%qUNT%o`>9Z~vJQ0CmPwhj0&M#R+KA-!rRRw067h|C#`^>Ft<_^A;fOkVNqTn4dr6 zf9prtpP#q1;1>D<%-gA;uXfY|nqW7|QNO5XTp|CHfpx<*U|UoulRPd$t|{-{T<4)8 zEk)}*rw>eWhD(_T*zIE=%Ps?-NrNbRMi&vit~|GNrXMSL7PIZ0sCicRNW?s>_sSzxvt6ne0bt4*B!jJ>*M%ch3OF6(BgT9&Vx zn7%rRVr^k;m*b#LC|sqB^9??;j)jjiwG#}q?K)O9VJ46C$!AU#3Ljx4cJPxAo=7>L zT6hu2 zUz;Rn(gPc`yH*bzp~jcncJwFmSQR;R0yzmbMwHQ!Tzc@!mjNBe4F}sxGLClOkUmNw z6iLuiv5|;WR^6=FTXw0ha`zpeGep;#jPK>BgpRVw36}qKEQ(ulk}(N~?{a8*Blf6p{Xc%R z(6zj!ECs8!5;mO$-kp+LR7t0Z1lJ6cxzLz`Lse2b32@;+XHAXNPfbapH0%P|#0kyr z?umK5=@W6d=|otvVhVUQ9ty~eX}WgEwb!f#XEfS-FGV-w$yif`-j!)Yp?uklN7D%x z+<6z+{rz&RmpEVNR(KZnh{?P?EwRDo$Z$gJI39_hy9{Y_$igOhdBZSJon(!3XooK} zQ`$D{^y#ttu~g4KJqp?)Y$t=E2G-t~o5@@mwL#BopaZ1qxX@wQ#ZM=y-8SC;{P9A5 zk>&k}qSAd$Qb|68wRG@j$sc%QcX_JIg2lLg`7A29lRz+L4rFK;Lw9@rIC~bf77e`> z84OUtYjpWTuCb3}<}MCGfJga71kOjQT&W03x-I`RS}$*Pu;XMABwBgx4A^K?1^$Z1 zoa~c`eUV6A(`+meT`){p#80|v-z<9#czlz}qe!@)bR*9FkbU99wpS#V=4w#+p>-il z7>2U2>c{J;m#u-WCLk&NXg;X}Ks5A*eV#V#phYMwheIzOjP>ZNM5RPnKG z`^|4!a%L^PX0Hw+h&L6Ic|3U%r|u7#IKfR)KP96euR}XMa^~uu=h*H|B@(5i?%k^J z9tvq=YTV9es<_e%Grvr0vhM zt;n_vLc)tR2D!A(*=>!if^gAmD&ZO`IjQ;|HvxBKWBf`H@Vp*)B-|KfT_w#cQ3=RF zrq3!&_r5*~DNz^sZzN!syw-t3Y~>1LpJ1doaOEm6?2uxe65IJm&y(fkW{*~gDY zekl9>U>LNFj*q-Y72o91{2K^{9pW8^{D7kdmxo*$xX`Q}ZuMiYEvE;Ar7vy1HBHzSTp;?~+0-KuedL}nPlgd&O9iz1=v4bC_DxS0#iH+vtO zby}tFDO0m%OdwF6DJE1RPG}mnBGA?+`}3h7>5Io=^}QIk6uLdk%JG9AG?j0?1>89# z!)fo1qD0W3@k@Th`jluo_j8^PjfriCsn|E8!O|8tu_*1xi&R*8bAsBX?TYgar6UjU z`_~&|5jOnT_7&e7V=6Xy^@uEs=J@RPO(J`l&~+txeKGaKwB7fw>6PE>{~rV$EdM`= z9GKV{S^kGXNd3S0&-Tr?5^?j3#bJzVPe%1Z;>-#eM zY5V)@vHN@bS7pHW@-oF+_4jx8_paCL^slIQ^Zm=|7cd@%9xMn>-D)nqV=&pco~Qgy zU8k-W$c6yKeXzBWscm=A{l^Hg7uR+V@Le^qqOU36eRRb1>pt5jWcKYpo9Beq&e*gN z{YTR4n-nX~pGfcA-@9V{MJ}|j7XsU$DVy;6zO7k^Wl^A!Unf`*!e{-=JaCEwD`9$gR$jrNYT+`d-eBVCPm#EQ(a)sH=7i|3m?IYFIWlDh` zr-4c^^%%4+E7*akzWjjx>hEW>>4T!^*{ZT&S@VnB2b=nL*7dKCx+chKN^i~QLDwI( z%e*TAgcMmHei`or!By9v3C8}9)l@fq4-0cmh?#MBRfrkH&K)O+HbF>$g9de%z_qEp z2Oh|ifUzQhg;DKb&CcQ*i!U(6k^ceWXv(sacBvyDb_h`VnEs}6 zvVs(7T39}WdWr_R47}rNxbMGPdbVvg+1Rp%yyoj^AoH`#HIJ{v)}+X}K8PY77=i=j z)DZzp5fXKA@E7fuXiN^SHMg^qO7%d-3BCSxy}*QQKW98^Hfm~N#-99o)W{pD-{|hu zgY;QKb_h!L0rjB};5gBNxG?{qk@)90^yr~kI1LZZVAfwMhOft6|C#Yo_+R7r6d{ji z?PSg#58xt`3F79-!LULz2w?jd;>ALr=gT3;xQb*Opc9E@zY5epf+fx#-*GmHWMlBZ z5djM!;ZYUM76->{!PfA<;c>b9h&*tW6?2tT7?HoBJ6Vvw;faF+{}AT4hYaz;+2Z5l zF4DJ)gd{<+>>twyNheM_&ER=*pnJH`v&9IKCJ(2({P(lRAn(DV*;w&Md2-rIL~jFp zBYASz@mHbzxcEF=97cG){FYXh6wjaUpUb+OzQ}gpjeO)U_OH8_&kGS917Ca8?VF#Ag)p=bcAHmo`dd~~`d>hoX0Is?CvaBO$)_FL_({7X@7+7I z@{d8w+tW0kybX}RFp{s$tG)bj?U+)&{6&Yclu;1wS(mTIeTb(UClK%O=yw;6y5vxOqFr;@8nA{H1NNAVbT`f7jmq4&B(#|FJXR<=xiSl)(uKQ}0gj*SKkY zyH^X9GKsoFAzz&dfAZ;|GV{8yg&85P_Vf+E=}q7ZD#gUI$#GRK1b|e>aEukCvVc}M z#exBDl;1u`6sT%}t53|xKCu2CM7hmKlz;gw6rSSEq_X5QwF>+|#!m=I4u36ePjI{@6Z(G0iM<=M6Vp*C4GPkMs>xW#D z76F-Q-Z)ENdWgQ^!DwtCzKMzq@sNBi%m5QRSL)TwgCrsLeE<`MB68AL zk7353rBZ5~uU7n+Gs#bL(ckvZUHm>V-d-A!n>R^O2-9RxR{bBdCVv;QEYYH6SSOy& z$il7Gu|Vp5a_==J_{ST;LmtD{1y@j`HSn)Ayy^90ik#{VCi(t={U#+hC?`k1BF5%C z;Pf|6;ooEYXO}I(e1K~ZP8Jk-em?;okC0)>7icWMv0xhCtF-rzEH{}PPl%ba6fzcp zbaR|Oo;WgcF%AKX|3aUDnHKy5MIX*G6&kB2KQ$z5sm}ALmvQBcoddHIW*j8^oLG03 zL;i2Y0=9JCqvl+lYrEmpJ{3^x{qoB=&I@_aW%$(+r?{hT&vWNfF>si=DyS3|Y9Df2 zO$LQ4y)sAtY_!K4IWqQVRSjJ)ti3$K)W|Oufc;`A*uqr>)70~Mqox>Jk67M=mQ=Y3 zE%dQItf?_v33Q@w#3^YL1*MkJH%&9m<6dP}a)(Ibq1X^Fox*cibDa96q=a5m+4*HVQoUk@yhFrZmY`TCGTl$sQdc7W|bf0$Q$WrMuN#rTjx(t5*c0p{>QXDzfLe~z5sS-Va1UQXf8<7?GC;cVvEwt4v=+s9_OYZkw|7u z&t%9*u69b!c1kj(&e-3NLIjKOpOy^q!9;moM4avZ89D_biuaRoFvvQ+Q-=}NXWhcof*;eCs+n*L$1Vqhbh#v|kL~9ca z1U!F)f;dm)KZNo8E1q=H0QWq6S){2Hw1h`@C#gQ^k0OdS{nd%7U(A2?((DD`^JH@_ zU9Y5&%~2qe$yaua%5%qAG?=Fhgdqo1j`jV)6DU$354n7Ms?Fcb@vu`$-#Pjs_!jr( z&XjzWCO>>ml-lN_YOZ+uJ@)M%BRO{L#h>8#+!@R5_RgyNi;Cmo_gIAFE1!?P)X}@6 zXlfYgu9*}2a^eR z0_*#qlC8&sMf_9@CTGAp5tmmLnrXt*^|YL%ey3Aq7A+mxHqYza<&4pmub+PeGu$nt z_e@2@lcKzaVYO_dq8FGf#MpLQxY3{APIN;;+QK&;$b zDjP(7#%HSd+gw%b(I-O~rKjO%s<`?gUsSB^M*2vYspLjTp#pdzIowpq4@8?Hs6(fh zTvZpZ3K}z2ESJ3-3cOA$(uOE92_V!RdXp|yTc^s}qiWB`A*0d84VxE1GgZ!9<}y{F zR}HnyRK%sXgl%fYYbzX^RdVacOh=-p$^z-0BwFj6230pzmoxwymoJ;k8ilkqDwrz0 z7(DYDh3zFh7(DA5F0sIJ&V5I~c3>_dyQ-37tOS`|5NKUkna(+|2TnKe z{%FEmpX80Xs+!Q%02^yTO1-E705bwMGrt`ld{Yz>UkR?hnYdj9z+Ilfa`DJr?ul8A zH|?kRVb%RzkJI%16JPnfMd#S*@J(xZzmx@axq2^R7s-!GhxhU57f{^ znbpqem>*DTJj=C}M7RQ|nk#kG74#^rX?8ih{%0HBJ(EPpxQ?Z~1Vj87(Q?-{=O<#&GjmQ(_#upfgH9shNMM$p(TYI5dlvs+q$K&v>W z?GLkGF!@H3x}QIXvzdEQ=ZYHhGlDjc$B?n+S%7wS=TCk)A8xlM ze09+HU4JIv7)!tUVnJf1q9?w7VU&lJ@cRO92Q7R^%UzJHbN-*NYo|jq+`VjvLukHJ zt@gYA4NhQd)V_?z5k<@w?fR!Sqwjrv`x^4)WE|aY%0xQ{a9i)JkRA!tzSibtfd%(< zUJb_ibYArodCrQ*OB%1lc+Q5$1sXoPOU0Z4&F9`#+TTv?G~Ks@+x100Wr-3nj2US9 z6%}<78Zy+Cd&-Rp=@#{cn;s#SFivz-nRA)7n0ut18h=?e+W|MR?+z4?sINL#9-T*1Jr*MJyTn=`F7uf4b&_OAZXEHZDQu) zgrb)1=fLn5F$raIe6wD$qU_6pi+^zrWwP%ColycOfuP{E9{Nz?SRNo+(G=&s#HV~P z(OvigOu~xump$G1h6}*KE>^Rc$!#0?0AO9Cn!QVxYZa<76{_*FXetG2ugES{7Z>sb zF91N0Ru?lUFblPxq+pT8gOJg z^VzNf|AWVe;{B#k;{#Uqt$WeUQIzKe*N39t`4!Ta+lL}%0V%61fu*P+NSlb?hoadW znlI|p>Q$Eda_5xCg2vWQ@^kp=A#1i`*U$QZ%^V_^zwLkZrV-com&oy&8>D;}p3k_6qF)GIiPJm1E*_RV=DoSwoRCcigN2EF?=y>t{Z=7!%k|L*uB z>b7=h_Vq=k*$(=0FJ@}MMajzzb_wB?U)N2+Zxa@jTj!#vaZPAWUB739fwa|~s@>D_ z!GcN>w}QY{720@5!To{Jjp*J5ta+6LZKWyPvC;X=!B(H!ebN5)e$iOS-t@mC!|&Ej zyM1Q%Z4u=cC+8Tiz-_4Pk{Z{n=}hrwd(Ac|sUOkWc4rul@IPws*X$&19~Jy1Y$bmn z$rj*+wq;y)A_RL$C??MC0g=Qq^HbSC4(W15m zZT6{77TG4F1-ThQOIrq`1rya3W1yOhX0%PD<#Z?(Co-1WnJ9f}&W9KWXqyx$bSns$ zF!TRRg>SB23^5XZ%pqSM62F*v_O+eER4iWgQ3_}PxT)E7mkdE_ebK9h0}#h{;ocPd z$2GOVD7t=D4T3;X2+W$Sm-=qdpKc^o?*8T?4)y7ej{g#4YiAAL6_;mUz)w&j4)bPf=pl}(Zc4@d}?$@CqH$6o_m`~#S|}+r0L)%xT*Nj zOc|NHl`Cv$B-q)>_BLor%g!7Rq#I)GNbaS-NbeMFzGxJ6AA4INX(A0#x0wEqOLl9j#1Jyh6g!=ixphwBX*PjXb2VrlQ)ktr%XM}ngUhz&?dSUHwC*hf ze(fECykaKOEKwA(2SSel5YgE)?WonXl?U~B4imIfchE)xo$7UY4ldZj``$n!7rTmxH8?*Xt{^JWGS+O7rdY;vNTn0PY0a1Z}AQW zew^w8#cED_3T1{Vxalf`#XqKj=jspn)m1(w$lRcPVu*g!{u0}^D&ima0C~!n<$ccB zE7qOPR~gJ2y7rLel~VEMzFjB}-@K#MlT*RVY@fR-Ept!fZ>#=h*~(gK4($JL*7Mz} zqvDNSbyY|3D=ZW)+!-O9bu8iC4Htcdy2+Jjw8tZkn(GW)awiEu!G6IPJHU*Hthb=l z@|Q?zwjv3>(0t>3r3Ae|VKW+r-lFWxZ6TS-o;!<|nSmR0kBXcng+O9XVJm=$K%#FI zJc}|AI)1_^V%QBN6gnR3zk~CRO}sEc7c^5#z=J3(V2>z`7?lQx@<{Rbk=b;9gCkHT z`^{?B6gs1(zVX!#Z&!!U7&$~4U7jc$N&q!9k`2~!+ zDdQitOXO~Tt|1vm!7gufs$D3SH|83cB8M6hbBhpsD2>*FpbeiEiW`*0VnElRMF}B^ z5MA!UaEKGdRQ?Nu7@Dz+HOg)jDeG=t59QqhNTdrKKxyfhdD=$MPE)~EDeE4VJq}Nv z&jO_kmK!%)^F7kgH4@1qsOya38F<2J(`__CaI2Tg8!Z&fyvmX0QLyewjT(_G#jgi| zL$~c(o?Bz2(P`Sc5zp{M%xGDE9$EGi&V2rwk-WPFYY;WcI;>>6x{YO|UQvusYFU!s zHOo%oal!S?LU%we4zyFn0xtYfGGSW5?VNQQ< z+kN~ZM)P!HF72_CmNMynuDj(HTP_<}MRQ)4>kR+7aURI3_WB&oD~R0sx<3uwtVn^n zoT>V?h}yp6TUmn;;mK{d4eV8}F}V#f@q$tg*K&2fY4B@}aI+VBU{exH_t)Aq+P{8A zuUM9S{~>iH)>9ns)7uTj2Q!-8^u0a}{roL%?Vemr`g9tasb7QWbmkIE+O+m}^U>?s zaydKg;A*DID0~1x?w%xig<6pZzgABCBHipkjnlCC!F#dpu_Ot)@sM9zF8EU}+znIX zjqxkpazX9Zzj(Y1*llwh-}etL|9q=XeK_{ou*%qNtsBEpC&TxM(4K#}l+V?NDjbkz z=a)JtSetBprVFE@eUf*f>giAiS;12ZyHSx5)9_yLoHxwMsoAj=pILe=aGh7ID&rt; z^eAO+SVK@z@K>@<$rRASYD(}-dAqL6?Tqcbk9Z?7zDByHwAMMv2LX@T#W{HeG*bP; zfdA=PwD#pbcp{bvP({%78+vS%$BP*lC;u@=ph?lv)|s&IE1OUYexk57s6t{PqSHh) zu)dnl@EV}=%wNlKKV)TS7j0GRI_m{G6bFT!0s>%mW(>*U>=PI(L+RWGG3abAn?((w5x^2eEw8*(gx2baIc%) zF&Af)ifthmW%t~+)y1p>u5Y3J!Cr5#N^_hj7Kz!>{NyrH*=j4K7+~zw3zkhUjz?c`ptU)?;@lz)GB0!AU;JZOy|VkXwT&b?|RwB%|F&Bo;uOuA(Badr?8@ z!CVm&iSI12Hq?}C=sGkfzDQIm(LC98fB(yf#~0c7+cKnpIK@tes$x2ZvsBn-*?ml7 z+}bo<-B4nNpZ|ufllefMi>p$NknnY%hJgL4j%`fP>GFVexV(y&OQvxO^ON@mTT;Fv zwgwN-D@&IihiRkE&U55VGbNm`6Ma8(^C52`)^}=`zXq|~^L9TIiJkp&C!Bal1M9)5LPx`;US1GTClp}R(&U}?hYU3r+rYQ@yMsTwkF&r>vL~<`b<@t z^WWlsOKgyM{tzoJXpGA)Y~R|x!dSZbr1^Ll8fG9~QEYIQhd+-VN{4Q)ah*?yez1+U zGC;&T;U3&Acs<&7{7|$T>z(;kJ+EzRk5*CaaZl3w#$MhtYTYRz|9B%4$htoi1YuM? z=DC}5m`;mFd*Mk00}-k5BkGY=6~pg5&_%GdDlZ@;4Ax-vaKK`phCRie(RrGBz>ATedPgNLE^nEDfp>ItQyP}3v;XsU-ArFS=xNX2vj8onQ>59jp^557|3wRbVXtf z5pE=_o!cms27hUUinbUe0wosx#2Mc@V`KC6jh2#(|7s%994Fy6R*M_H1`c?3Dz`)% zdA1x8CHVB4)V~L<`ZyIExSNCecK8P`}h z8O5_@Iv5sSqqCZo}Kf6CN#hsXWp`6&Fu+MwHoN8FkJcqbtACYwLFOj__gl3cvR z97<7ZBDiQ8bcFWPb9PCaNsA<8Nrd|e;@@$dBSLyW36!C$8exCYgx{@olh1ICq|W+B zVQJN*fCHXdG18UPVNVgNnADs=0U09RZt`!p$Z#S4k{ktgt*Eg)r0;UhzmsY1-Y7Zy zT*wAI1XVwmCia-DbJ_=z4EA0%(2PiS8MniD9V+***h{@123pvtnd}nlb82@ibHsue9v+p~EZ$s@bW-YNrgq+atmxPY||tRj@>NkHrJ~sj3RRT2y?z z1fETPVv_Jck2(eaxi(_*3Z=;*N)~^)O=6-*;IMN@lwxPh3-K^Z-?*QIv>W@t_Qvp2 zi4N8woUoUSgA&)kP8IuR>4m}nL%h5ceE4ymOKV3@Y_sL^r?f0~KrknM9K}f2^dR71 z3`$PGoimx+%WmXRqL2{z;$ zysLG=&iK5(?jlb(RrwvmxmOEs?5+zA4LuVfrj~BqAsH*M^X;W%&iWdHvi>2i+k6mB z`i7Kdh}G}}2*-Dl0Oz*Oozx0XXQAUIC9x$E2_W8Fr8x@ zt4bFFWFI0EE6Qc*b}Lq&V&qj(WA+h6ZY`1$^E^|1xJiB0T>i{dGn7v`3arBU zFQI`Fv}L!Eqccn~bCla>VoWS8f_Wqn9+_gV<{aTvLX77-n-#Ij6ZX4BVL3L{eXi`C z&#Ipf_&EpxGk;?&dc_>VqeuvG2Nl`Fr>vE6)$?KIOb1<)+viZ6qk8~@+x%L>q%DIp z9zdT*C9%_ydIEtVU1$J@(@T_NB&Bk-nl&QD6hnB^-(S6Mwe}3-ZZ-hw=;YPxE}2z~ zjpZNI(Rx;!YU=C_e!+J0q<_M%_t#moUk^V|*Bi#1OoGFCklYX&f-h019o?RQGM4ws zac4Jpz_HK-ylEp{H>v1P&wuhv_9O{aLqGVE1LbE+8QnxnLhU}$t$HVg28G6l!GpuE zJUcgq25&VCH3tdVrf+QG(?ouwsq1ca*{KLW6pj>&6KmQQqli zf5L~~*)KV-Zy#)^VE~t{d^#nZG(D!NSUa1G0A2vu{{_SBqGXC*_y+X2rj{R%7!Qw4 z48ezg(yTEZIYg}0l7Le8^1OTB7UJ+CBkkb5R&n~`=e!TWDw6W$S=b(>`8{Lo#V(!s&Cj1IgrI zVH!{o&?er7I^W&#?8k_A6J17H_c8Q_|AlA_SV}b196HFI+y^^lr1(32CjtOs?@N2AO2h0jgFCJcc5EAd(c2k zgO9lvB}3RzL5NK$D*8H<{S!!215_e53DvbEnT!I!K02v?BO5=#3Mwf9h@2crNV>$- zzwmmHF0K!E^53xYm|>au*KlJs{krpH3+HF36N|-;Hyxja;}Kah)M98uG9K@E=0v5` z_~S_8@77lnaFh`rus~=G+mXgSa+hVgJ=vjoDeF#Kt@^x0XT~k}byq3JHLuad=^=k7 zE?TIf%c@Wi-ZEC!$Dz_ZH@~g>qsP5@QDuG2MyT`ZZ)w{$zvyiC-(_IT1$=_Xs@D5I zTX&P}44L1iokuY=g_A*ES`=R|x>{u;7AO#w`|2PRd1bK;0~3)}rHC(z#O4KuU~Ap& z1F&l;za{NRPL!|s?N#A^{|p>5Zu*T@Vf;$>oyV$>tS`U(5H5@2!Cr7WK3Og+g8mT6 zd#?I1;AyxQ|Dw&5>e?GvjVUL?7SiaIIuy>lz8|9gF z-VeKdh>lHE!Y-VIurMvSp@$u|Hj=l@pM)b*VOCnWJhH#gRP@GS$~Au=VIUriYS|pk zq{Ce*xe+&LjP~MT-ka2Lq+y0WM%Z65zSrW*#&$FvZLd4PFONx+f^s~wJZ$gv=}*%=)U#dh^+ON-fq2`jV`1}f(51kTMjh%VYH80an|5!@GosZp z&qM31O6oC-<{wIpaM}1}2tRXOfyQHu-+PBHa}x?Rszd!7ToJnpu=#iViUKq(SCdIg zYH{kGcxi48SVsJ^Zw7;_VV@1`MJ^m!t#pQ>Nv&%Cf53R)_s3MLRyz6~!^54Qi-Ef5 ze9&I;!iLC{A8N~jlQbbCz|Sk~Rh@r-H~EZO0mn)-ZB79s_YaelAh=+#fmA~N0MATQ zzbAN)GGUx>G3zuG7Nfk_YK#A$F<>A@w68d-5-5Je08tXegyLx6HJ4oFo3lN^ z78yRP=Ck_hw~tCbwA6=9HOqe?WV!_U=iB+GVs}zcB56rOWp6@4oyiHu#DRAiX#ZhN z?hbu{80(1W4ksLz=rl$7t5vv8a5Ugnd^RG^iLgJ3c0Kt*Mi?&?>>pG*vF#O7iZ8vxpmwu+%#H^k4|3r+LaMiCF7`Xkt zu*Ad0J?U&{jWafY!?ob687E7e;yr*JvOSZp_|s^SCyD@Z2uY}kBm!@^#cimX(AaH2 zfy5v%X{7@-RT^f{%B$&}h#NaErR&2srX95<&T<$O{F^S{z9WAXY+I`WLHEUU48rk+PBGP1Sgd zFR?+9lB&^A)ekH}uxa?}MC>m(KuY@8<~dd30mchVFj_JA+)XuqH=k;5LB$MEL#@ub z4;=YZYPlMviE2rnP}t_9u5_;PN4F7&(7;gKAE}lv1Z$j&Y$s zAqM4Sa}rDih1?qL*WK}fB1Q|kwn-s$n_sDOcvqaA_>GuZ@d&PCl-5YQz zd}BiO_|*~<6q%5pEk%p|S}i{@lQ7*#c?(yEK#@P19D0PaZ18S4%}eIEU-Bg0VFP<% zYeE=ssE(X(99n?2@J<5vWJV!j!T6DWq7a~JHmo$+IulKlrYz0KiL>`{ zdVb2ZG5-h~*0rzeLirr-BsG21#Hq|GW5+aUrxM-WuToZU9W*0rkj%J@b3h}5g?q4V z#-?)fGOjojn^x*7xY)%VGyauKaQ}kac4hP?l{0*$mQnCC>RZ40%AG=@-hBPS#wXuXo$)EXYxLBbKm$V<Y2 zJZf)|LoLDt!6yFJtYfp^Q!zLBAo-*-1Tw#oD6y*@%7X^|TJDsjDXn|QV>2|Fx9@YJ znX%)o&F;YPLLV&sC((`_3UUZf(*%|tKl+M@=3NjW?g$7%P+bi@#dqHbML)^I-y(*r zNmek$5q|JUCFsLBrL06S)?ykMGV~1)VLcO_v4RQ<^`~@7Vx365+W8E38I*|%hfTbX zq!dptWy?JF8?ZP3D49ub9-RKff0BbAUaU5k+LMLIR-f0rkBTFD{=+U+-Q0UEJ(_}3 zNM-FWp!q5`I|W| zOw|M;=*LdaG(Lx+i>X~c9D9@{pPe$Sgl(F<(iow@MhP{*Hm1dFENY=idstFk`QQwW z^QOEN4P&>b`3$vDm-lxQp8$#;r(8NkVEiXeCdgnL$>y?JG*!Z}qg2ysX`&`XjBZr1 zn(#leEDI=@y}b==lrOr zUcE&ci+msRYUoU#pNNm;{~Pd9 z_8A=|SH)4@XXe<+Y&ziv3uq<8?HjQ&4Zbf|K1oaFU=vAB{=(ls|57& zP3LHceR{}a4FB`-j<_FGs04tMyKBadRssfPhhIZZUFnjQEyA>Vk=WNY6>5Si8$(Ta zR`4qUF0kGTGiit%%9qyLJV&{WdAQq6=Z*ymE6bVzJER}__mzM-)SFXv*UN%f^C#j;XfCcdfu^!IM;5?s;6^*z>zDV#Wg%7dpAYAfUt zwP-X8fxI-oei=xdMWqDeR%v3Mp}18r_cQvz=ju}U4pzBMrM=-Hu%SeyYL^%x4XTvC z8&xSUvX;Vu07E5U!%)Y%S-dh1yV|FU>JbEpIa<9kO)(Ne&)w>OfMS;2wMOIe9BC8S(?6gK9q*xk-o z0xVQ)@;=*FG>KP2l9s|zt1O=U)H8e!m*8NRnpE}a+|;Z@F9R=2SVo^ulf>r%K^ zao$px(8}zxa{5+~#n3^g9-(Pc-4TkjtL!nM-qs8dLRz&0 zW>9ca#2ZvE&>VX{0t?h2Cx@Zt z4NUPzI>^lmK!Ac{Bd(ir^UAG3HPj8r4l0DOxkVo?5Gh_iCu*SY&yYqT_8W?efi|%c zKzfZ2!{5@FcZ_dP*a%jinXgGh!f;B(dFMmDoM0--vv%tbVgyZ`n;+m8ump#M@6rw# z62`}Ty1E2Mxn^ryx${Hx3|ZpAxswcUdqva1`@|>qw9v9SCFE|!-rJ(mU6XTa<=7Jc zgB~)36*qtp1l$fDi}9vu1`Pb#9Y37VsxnpwJrAHSZ3T(*>p+X92h_#je`Eu|^}EoP47l^{hyWTZJf z?{s&SfV?Qb!p1%){W_trFc)&lc%sMU-M*`?rEmxI9P3IH;pXaXq0~nXnoo@T1`Sj^ zkF0PlGIO4}2VqSb*Mb8%+se>wrS47}U^3s_X_Koyc*&hjv;4iWrOCwMfN<-Te|r@r zx*jj+USh5lXNqGa6Y2RYNy1*d-$5{4d)dCjfqL*-4oOex^j+-p0bPB z0Yx9TJEnE8ARE}~?#T;q;;$0A(Mj;oW6xI-&P7Lf2uFQX<&$A3P}o?=RPq5>*C^J} z7{#3V_AQGa7@KRxkhsAHihjNly+!@$S^GulFyK_gFCv77JF!9 zJ|Mk$rVd}=6*E4Grg3;I!1QuTjcJjUyV8xT%4h8zqjp!c&^~m)W>8n8pVhsAtJFAZ zNAe=`{PFYaew57Tf$!Tpz{>dKc+Eb_qinOht(4E0tA zhb28=AuHr$*Z0@hj56tCNA!uXC*h9;-ha>uZ~0zcpK(0GqR$=K5)r(Ap%WxH!WsPN z4IJ*0uJmR|MYpV{{7z9w8fTArg^wV4Ac@Z9oFxf*Ie8RPrrAe zjP26?OYp+d$nXgMh=Ni64tSnw=pACQb-uI_^fYO1u0-Pc-BP6nB~yc0I)8Z4-r2VD z9Afl_Q0z`>l_?tv#LG=;?xw#P8g0ilT)Rh`wF6T373VN2_b@7dmf`SniVz;;wOU=L zzW6}JU%V1-8`VgaOQ_|Ee)&lla|E3|^r=5SC39_gxtvH@6RTV!hQs(&&yci`BNT78 z2bEKq(EWub@Y&&Vrl5$!;3YJQ%Sbowx`mG7D~LvA5ay!nkXTGr83ohfm%R3)WrbklCU%AUX-+tn<1DmXWTu7Wu=RV` zE+z=6`0jr!*s0n392G%`z7miXDzTm@-&BYSkb+!>yLVIEl4$1dARUmKWt0@&sSa8GgAICoY*F- z?;Y8GiO-nlKLHCnnN3=6e|AHf_GRyKxbWCgVvlV>c(}6Cj%_tXUVS+6{M(Su&Kt!4 z%|FdHHgO{Py0&FV_o93;aQ#(+{gqbcmF%-*g1bKpPK4wb_cjd0KOyd^+t;22X|?&# zFX4gKxNMGHnZvPJkaRt=z6mYB{SY01(n}u=R(;(_Wd=iV3(&#cziZ(}^8MhrhTNEk zX85h*a7ZQ)!<~0);zxuYR+PfaI-TTA2IhPSOB-5HKWob~#ygOFN1D#rwb7*DfTFaB5 zzA|p}+94L-$6(D4|^&FOJTz z;ewddDR(8Rmn)O<3L=Ba+X7aC%se=L9W9O1@aH}OSpYwm$72_NC7P~>?Gw5+`WJ~e z7&~t$)ydyjF3Z$cbK}%I_Uz1G9L=zlE{y}j^e&die=w?7$-6)Lpba;g?HYCTg;ykj zvbZ(+jheePs*@o7r&gI&9rZVrrAjCp`ya&$bl~*Gk!kof)hk1JQrEFJRCy8_xwCo> z{Op3#W2;CGyv<@+&r@qa34>!Qjky zz@#&Z()liUkykUvmvGSyJa^QUJalFc;7PccLJLYW>KY@fUX9MJ##vwVFN4k%^Isou zpFXG4hhj9wPKU~`^`1I82{X2+}rmd1w(CpFY5k+QQS|E4UB>vb=9R&aM* zGN_ChP>_|!YdCeyoK8Fmv{fZB96seVhZ|*%%X=%`Pz;WaluQ@-Y4w&em(}~eNk|Jf1G}UFkqMJ{(l6zv;O}LbZ28^ z|9=I#`^^HU`>_4NKTIfbL242mWJQrcViw;m3>jJI2h}Hg|8{O`zmiF>pj5WiD;Ma`|fj=!1nrK_a=@BQ2haL-v(Jp4ctMgPqJAF zh{o&Rp{aj0>4IrC2gxBdyo6cPfp`;utkrr4bqx!Qp)@S(+ll4)0O0Wiwon?Hz?|_w zxHH~^9E`QC8?x+JoI*$3>h+JH&f$XL`pF6GjG(!S$4~~&AkVqN4z*c*uQ`QziU>lr zvFgH}CI)g|f@Ggquzi)kA991qy8!=biE9x-5OiJIPjU630)Yk3c-#}zK*(Nx-ki`^ ztHcr`Z*iCJ@9&qm-n4)aiK=c~0C*Ctco-s9@L-7{JQsxk z_#k&TI<~r3iTTE#V-prS$PW0e)(?E%ysfGX^*@Cg9(@Ny2D=7&-^=Sar=zi+Zt{GP z!72J^`|nGno*_SmV#<_nt+bEZ6+xQoAGg~{2y9WWIf-~b6a{8V)o(-hsmo*nK)TME z%xpn)T4lT5cb+|0pEOq2P6gGcH+Ng26Jgw4VK-s}F?8m#dq5m)OAd0i&2I7A z6;u>!*L5Jmpn?NEUEyD%fro&yW*UO0NA{14gXa;hEgFc;XRJA*CX!8f?kpdRKLU&Y zwdDf0-S96=Cl+m}#m!_V%RRdZ&R>`f^UsLbeg6@lr;p4(3iLON3o>}&W5YGF!RFlw z!%%93nIh)=0gm2TAo31q{pK6)VRz=5mcH)rwxg61zg6M2C#!WA$@|-{rP;T_?4}Vm zhq4U2hGf#Jz4Izs+-JMPRXw>>fm36)~u#;;JV10sOvE>4h+#=MvruR>x;zdaQa~qwha<& zo;va5Lun72;|Fv3$i#{Rc!~tgBM+?fE|Z7>$MqfrpgsC2VO((q2&*<0P*-#ZCF)b- z2-9plgl+Aw(3UygvX5UN%^O9ca3KAuS|$2%zLo)x6F)M*k1<~AUllLIYw%6*=X0w zr}5$(Lk}L@Hw~(-bnuUT3_(iO1J~2%A>IE$9FiXGKOQSX+r{{{Y$H(nb54yaq>6@> zq`E^u#?7F3y5Tlc6Vy00Y$wT+TpjNZx-5K}A>sA7J)zAU1#8$A2@2AH6V1AQdfzP<8~-sB?SQ@l5QjVuhxb#jIk{8Vy@4lC2E>+De_mVuU^d|-mKj`>Z(6bl zQz%jZ3R|hUaLo(~G7Jf*j{CIl${3E@1535i>T!@HGN_FxOrh@zGz<_PHR6J5Ndlu@ zToM_^<`*ELUcASgLA~jJz9y4J;L0U|2(k7Ypi62Monv4%h$E2Zbl>0LU`Bm&L&6IE zQcZLenn7kvW4oWqf~z1iiqXC{3{zE(X0uL*q%2N^)g;~O`^8rIXpW*RC5-$dg$$s? z`vnWH6fBi^3zmeA(88{7(oZI)RkULr-5?I%bmT1y3I+7|XLFu7U>u$(rCQoxpG`9q z_^*v~X0(oRiSF(UoFCdB-aoZK77__T6hG9JSbz;0dW>)>@=wo51 zA%UUuZy4&I(nvzIS||Po#f!p4p(^7Fv1Z?_q|`ovCRC@vIN^i}$bg<7`HQ1OeCMgq zK3EE~%2=*6Ms+LzTVBxlhR345@YoX1tQF+?l|!5fHyXRe;I{R1Qa1{w99W;2t;7#Y z=#`>#{h(1cUP)+aDrjvfFt>r4XOw;|F-2cJSDVAgFX*VU7-F>uX^_B9I{iMmQP;}? z2H-nnWn&hKp(yK_(u4%tlUY_$n~EA-w+QfAN6C}ag%u%=^K4W&zay6``?5t+&GVa5 zMF&jzB@7p%F@>^`tG$658@u!VxEz|sK%kt+kq^yRpnhA#{4}q&!Xc0Sq|2b3R?k1Sn&p`iq~PQHt=Hn?4_E%7&ne8XAI5VL>F@vRdWV# zp3)s?ty;rp{Be)^3b_ZBb3V;jv2drIj1XJm7>ZsmnKM^$rZuFRs*1JRS9Qs!{p)9c zTDjv)r_JLBL*Y!{vjdsvxZiiSW>-sZyC{~{Urzj=`Jk^(MHIZ>y#9B49VD9fSc$)U z398AFbd*W9&Rvqa^W=Osw?U4kL?hwb+>oNA@esfn=3zCk-RO6;?X`{b7leTu)QE~(yxb#$vhI%J92FVkx zRvfsT#j@oF%E$Z&7L~G3wP$K7@Hk9CKgJ-ZAZt>2 zk^!$)6|)PtIa1WNG*48IUQGyc%4DEAc6&q&A-;Ll*NL({6pvTtoI$Q{0bD(rgekM3 z{?5CDIsB0(pWz5vN^aK=69g%ZO-Mt~f^f?7ngYKe@SI6Y2P2)y=uacGX zZ$sa3z|9}kYBMWM(JY-k0(PPjjKbW%r`x4a?7Y+J1b;h!aPO?=WZ&hx1IoYjoUZl9%5$>0K{~J3$Rfw{TEmqi(P<%5O8>b(mtTg7D zf&XS2Brt}_;25_a!r{20KjvzMW9y>|p}9)g{OzBbLJZcr)I(k}VYHaKP-z zkBEKmP@h=1g77y}_%%PXf5u{?IR8C}=y(l*Uz9q06-H!idsY*8QJ={FYz&S}{!=I% zTWlT@%=AOTGDA;oq%XFHIk%s`b;6U>8)}m;poN4i4PS4enh7bH1n_H4&7%-8kT>G#BU5gh~T~M8{=6qsEH5qjUkO z8kcOPZfl0ypry0u>NVEjHd8T$Mc`CZ$!BBdMO3^ukDJ{k_ao_A;8pQfQqCGiwW*?b zsXW$FQ=SaJHJ-2|xpQU-RujqGrhXlmmw1-jnj$X6;=0`bOC2grbSG?QOfxe697JCs z1ocGh$<)`qf)6(kSkR7H)vUVV;&c@=h74yJv^MJ`hX1d66sWt^z=BsZa!(gg2g$Co~%q+ufQ z&Zsx^9Psu|xc2GVoVOr+@_$QK-}?HQFI?<5znCO4XrXJPxxA-62nk$@WB*R1ld2IS zAt__J&^rH`G>$!B$9*k8isL%*u;1iA(Ol}dre%__Sn8((eTm?*20del=3-Vik(+Wt zQ$GYSNnC5vuPl7$e9i7KN!TUV#&KD5T@Q=T-MG&WFr-+-!69;{)2L*_ng~`+vU!$cT+kIHg$D26RR6ue2B?` zy9ZAgpHe6&mtXBLEOmJX=;y#qLFT|^@9+nxor0Y}WcRp$ZthLe`t!KapV_(SrWN`A z&XYzu#0(I6zH&Iz{p+}os0>rWjkP5By=JS(jis770JGj+e4r%NColgH?5(i3UZPLI~pWaVJkSg?@hZqf{^vY>&YWqTxo5sdsIRvxh4=NN$(O@{_ZR2iTj; zZ(>+y4{Qvqx@^7puA&E5&l~xw=ZlZ6980M1;4K2ZPiMUw`C8^WV#BU@vo)K`fvwDu z818LGkFp90SmvqujN#+|E)3uLI~OID{v`7f3zSZ!#nJo)y4t<)Of0jdf?@3_evO)8 zV~Ei|M|(LD;Lnmqm#Q~r6U}H5jB3qR3^hkqnMJg)=l}WJ zQhS^m|6?JYJy^yxVld=a{+Rx~Sp>8)PGLQRzJ!FXAtfxiNVLSL@{kB4y-4wZ617P6 z(+B)`mNt^JuoEOWYs>YY6Q(g?3|oQ z)S#SdL|_AYGPn53m1Vo=boNGf}-7waWynt8#B&f;e*lbBkyXgO(JXn%VETgozw6G zf1)kd#momMdW!!0kMgd$nV@?&^df|OGign{avKO+I#3>SXCVF+g~TlSNsTa zJmlM*+oShk@N~Q-xJ9-yFFnm?8jGPF%ozb_MVU0Lg<=M%4S1StK(Q&n8Am>^fLQqI zkt>+R6fznPFQ&KTGc;y!%mNy(CEUkk-%ax-^6ww}S3?Xgq-Ye|7D{#ua88G{Zes^} z9GO{;%!ibi%papx67Tc{^Sprt^R&dc(_pCQno%c!-%&>5TKYjHWSWO;=HnhQZ}bi< zNa{)@Gwl7au9-?GvO%6kF^WPyQOBvP1~jTa8GFVWa>2MpD6m;(pK1q=;ey4E;R4Bz z;5rhX)juKYA}X$z+%TAm*c?~zf#?=5pljBA-^qZ@%%VyiJ%p>N#=!mM{+rA9q$sJ} zj-c&F_Swz;Sc-w(hIBHiU_E8o#1XIYT35DuAE-f3Q$?&q!yfeLUfi{9t#kLi zHiPZ{SX4F588bU z^#Xp-4k>iC{r;_mGS(s$uF?)o@r|3E{u@_*58l@1g80m^gjT8GZEoY_EWo6;fx~ux zt;$Q*%AE=Mtbo4*NUS2($7zf$p?0ZX1V;mKJkBL$zOPWr3 zlYB!aMoIXXfB<7hsEE7cuL)K(sPYANk5b# zfXGv5ZaDP8jW$Y>Gj^C^Yf}WZ4pjoiFemX0hL}yw-y9*8u=wfiay=w>vbhBhw99^X zz8oO{_7zY!jK^rm4!HcJflNf~2g;lrxHik5LDZm(Rk>KMh|KiF5%G86%VATzaVs7? z`bgET4*E=9pP=gRtCvAwVmA%>-g|HB_EL8F8#V? z4bpr%j(^w>eZ$byHSf+~;L2QTPH?M*#vCB3mGrSkxm$?FMuRNa;k^RS-NW|4SUj+{ z4(z*g)o$oVSCW|(0N1VN<*}wk`8j6^wyOU8IA%r9$ZQTX;!NN-j_ebi(5@E{r z?{L^<4S!$Zsq>^oYz(~`cjC37-UbXttEE55YE>&9s6)K!4GTWQpthXBVXnzw2M?D z1pA3Wk1S%EgmgVY;YrtB10ivPn?40y-V*cbj7Nfl?KPe6Ace{+WMH7qm%Np(86|C%0Cp@-qLu6$w&~`o&(h zJ&TcD&3`AEM3ar&?iR(Rvb^mQXd*fMJR&;9%C|5`=Mxly`-_nwD9pFqx*_UtbVB0& zL#@5-5nC=r4mY=*eB~zk3Q#jiPsv3$y;=UGg~kZZv{+S|E=il~N*Buy_p_uu|MH1(b8#rsu+c1@Y z6Niot>J^+$zrmsB_GSzZ4TK3sM?ZEQ3>($z&SzxGb5x#?o3AOg>dqJdTxf`No#1+> z=I};_Ms$^?T^W-?Z7Sg;fdQnuKO{Iam zsG&%;+VP`LZMf3}Y2UKNWYg;Eidx+SuxR5GGA71{(x&E<{N~TogOqYaS<&6T1J#2{ z4HnhZqtS7=hyO3zc{H!^#p&;5fJ(<9xp!XG*4?T{!pka(#kFoVDq^$3n>FKGbshQ|__H(`5}3{4++kMxkF~ zu_v^mqgyVr5z1@l)BP}6Zxz%L-nfqivvZyWCh{kRYo<$Wtp~HK;dZVCvy&hg_S-8b z7||MSp@Z>$qs7?Jgi8_)Wyf4a4(DqV#+%yDP0vxXn_Q=97E40*R|sw0lHVy?Y6TgQ zeA}?L1!gj+5=XsvC^tJ~%Sr@xR+%a{S({-n8P>@E+F~mi&{35-4Xxi|yQ47)3BjO2 zm(`)op0Y#h??;DM>S4q$9#qU;`*cC_G?JW?W5&7=HK=esk6~Fb1R5q z#j>b4bp>dtcPuB-1*=JGE`_%=qaG2!L|e%7JpkF&P#qSoNEPtV+58tUg^QHL+UBg;SFNnh(OaIa#l0k+PO`b+Q6o5{oO?-NMh%moua$GAamNE zxBUa+!o~AwTm_ICQp4T=sp^r8xBVeh1Syz7U8w@mIpf%uHVz6<#24NqThR(UQ~zxJ zTf?!1xBVDOVrMPkNF8&q$J9VofzWI`41}TIrm7nzJI#TfyD`jNr$KMn{cno%=FE&_ zhWu&LH2g|z5?a#4Dv;y<>Nhy~3Vyn>2LvK0U>kbJ{%LNTXoC^P+_97`yAI}n1zMUX zm@M?6WH9xS!R85MJw0V@aEqFymFDvcD+AoBRmaErzwA#9$JaE zu%`;oRS0E+U;h))&r`&yhMlH!_Kuv@?7-MGr(*iC$dnN&!e%<30h#_m5FbFhK22pF z+yHls+j|J+D0W;?ZttDR%Yv?~%OUssd%xB|@uN(DR);h8WW0k%QutrM94uvy0t=O8Psd)+= z&P8%$lG+8mEr9VhQXChcMgFxzHNXP`0GhPFG(_LgjCC6_l(yFx^d) ztp=uoVGvZm_Pw6sxn)~y+PEnUWU$v$cO+^F?Ww^{s0nv;KU2+#mEzN3avLI0;JRFX z@Mb-QSiA`uePP-Pri7T_wJ+!);WVvnArmSZuE{cLDGW5FYZfJ6K~2&8eY={}XM+LU zJX2Nrd<@O?kmPRYNlXy%=v&%g{nGl3E0By;wOBvrAudaOaO`OmTj3yKJqM!S?DHG3 zqA@b7mwN!#CUOU0r5Kl~=$6f#rBi&%!=Rdq7+ZR$tff^7-Bk-qt1oI+)*x}Jhk7Zc!5OYr0-m=uZACGtz8?wN?LBRI|ERlUA8td#hxw;i?@5AJ5exkjG%m6KUHJms{_#rC^Ds zoOC;RlGs6Gi-v8UEDTfQu*4?{=3~gY*}V;J@ur^+oI!CkOGS4Zz)koF)d-Dm%(tJKuu|K&w=HUP4DISlu|_&E=kO#&Rgd2w3XMmO1> zbKJp^r`*8JNi3$ybxc021}XDcmJ-`2f`pf{I7u2)xLh~w;=O8wyr9I!Ls{P&45atvcFJGa1S}*)6C`^vWn1TWS8#x z*@yO2bT)Cl-sF$ZR4_b|q>PAd?6FWAkyHIUE^AI{jL zh2lqQ1b9;HA)ylgg|RgTZg4Zd;b8C1dEIO?TY+-4xn4CqU3LYN@Q!!*`hWaf9zoeLxe2}ryEAgn^KaX@xR^0#!2$-Z4 zNRBE5=PlVX!S#@hKs@A@=v9t9Q1!RWe6o9QB8QNQpPdEbebelW_tt#G#FStH%jv63 zseKQ{^t7X{&@^MLn6g;OmXexPKfY{5gf$Vy!z|}`@1piWWV1*R6|f1^0gV+dxHi=z z%}2kNZ_I`zz+(kzO40BK#EpbTUc?83Wk)((%8}tda_Chh>26Z+gKG6tRaXm_DKVj> z@L_6tIU`E*Q)7Rm+rWl}@&JbZ6)2hFKw>aeu;volA%Nn^2p&X-BlfEKjArkJ{jDMH zDW?U^Ai2?1>H?LwvTog zulx0CrN%(?afbxsq1LlC2d==q8H>W=lvBfUaZ*>AMhfh2R`-e7K=~3L^rhT;y}s@n zLyckHlfK+r%9_|uc6svGvwOqLbEP-eN64jZ*Py7H7^piS^1)ZFhjr4mRbzRQpi2KH zCl``?^UGg&=X?7fsaxwkep~WPDr9Z>3}%cGw;21vy6{^O`DW+y6Z`x+1($jTsSgoM ze$#c;DauYekl!3Xglmoqtad7(cz>bBwRK5rGA>#O) zB<#XgL~$d_kbDR%hi=(%dBZAwex2LyY4*%^-f~Ua;<818*JSVX($qf0(c8xqf|APNR z_{i@z{QDV3_$*|`Um$%X>k2&}oxlP!;PK}VSH|9^F~J7uOFY;BhnZY9#R~ib5<7

Xa-8qQ;h)H+!Cpdc?bN98@W0V)iw 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 literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN05/Dataset/Horizontal.PNG b/E1a-ARSE/ALIN05/Dataset/Horizontal.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9dad2a5bfe5ba54eebcfbadd56aa2c5ae9d9af34 GIT binary patch literal 14388 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 literal 0 HcmV?d00001 diff --git a/E1a-ARSE/ALIN05/Dataset/README.md b/E1a-ARSE/ALIN05/Dataset/README.md index 328e23c..6d9a6b5 100644 --- a/E1a-ARSE/ALIN05/Dataset/README.md +++ b/E1a-ARSE/ALIN05/Dataset/README.md @@ -87,8 +87,8 @@ The following Drawings and visualisations describe the test case dataset to be m | Filename | Description | | ---------------------------------- | -------------------------------------------- | -| Insert map here | Planar (map) view of the test case | -| Insert profile (long section) here | Long section (profile) view of the test case | +| [Horizontal](./Horizontal.PNG) | Planar view of the horizontal alignment | +| [Vertical](./T616AAC0_profile.pdf) | Long section (profile) view of the alignment | ## Supporting files diff --git a/E1a-ARSE/ALIN05/Dataset/T616AAC0_profile.pdf b/E1a-ARSE/ALIN05/Dataset/T616AAC0_profile.pdf new file mode 100644 index 0000000000000000000000000000000000000000..670710a252f07897f7ef1b6415a9eefc8471f10d GIT binary patch literal 141682 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

Xa-8qQ;h)H+!Cpdc?bN98@W0V)iw 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 literal 0 HcmV?d00001 From 6b71faca450f1c0cbd590bb302d468197fb0a00b Mon Sep 17 00:00:00 2001 From: larswik Date: Fri, 18 Feb 2022 13:59:35 +0100 Subject: [PATCH 12/37] First draft ALIN06 --- .../Dataset/AlignmentHorizontalParameters.csv | 8 + .../Dataset/AlignmentVerticalParameters.csv | 12 + E1a-ARSE/ALIN06/Dataset/README.md | 90 ++++--- E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.XML | 70 ++++++ E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.ifc | 220 ++++++++++++++++++ E1a-ARSE/ALIN06/README.md | 156 +++++++------ 6 files changed, 459 insertions(+), 97 deletions(-) create mode 100644 E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv create mode 100644 E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv create mode 100644 E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.XML create mode 100644 E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.ifc diff --git a/E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv b/E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv new file mode 100644 index 0000000..24c39d8 --- /dev/null +++ b/E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv @@ -0,0 +1,8 @@ +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;24525276,867419;6876935,549267;0,00172462248684613;0;0;229,405681;LINE +H2;IfcAlignmentHorizontalSegment;24525506,272759;6876935,944905;0,00172462964706543;-110;-110;15,594208;CIRCULARARC +H3;IfcAlignmentHorizontalSegment;24525521,816666;6876934,8682;6,14314439461041;0;0;91,725737;LINE +H4;IfcAlignmentHorizontalSegment;24525612,644434;6876922,064789;6,14314439896281;-110;-110;120,80482;CIRCULARARC +H5;IfcAlignmentHorizontalSegment;24525701,264387;6876849,049537;5,04491873079937;0;0;25,538554;LINE +H6;IfcAlignmentHorizontalSegment;24525709,601071;6876824,909996;5,04491876114541;110;110;49,633636;CIRCULARARC +H7;IfcAlignmentHorizontalSegment;24525735,66497;6876783,164849;5,49613363003069;0;0;83,739856;LINE diff --git a/E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv b/E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv new file mode 100644 index 0000000..752814a --- /dev/null +++ b/E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv @@ -0,0 +1,12 @@ +Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +V1;IfcAlignmentVerticalSegment;135,557;10,8424694551669;125,687614;0,0341613100938614;0,0341613100938614;0;CONSTANTGRADIENT +V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0341613100938614;-1300;CIRCULARARC +V3;IfcAlignmentVerticalSegment;164,511752065819;40,8330580844944;126,550404440385;0,0202129972966548;0,0202129972966548;0;CONSTANTGRADIENT +V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;0,0202129972966548;-1300;CIRCULARARC +V5;IfcAlignmentVerticalSegment;244,378491480952;50,1760735190479;127,578604224343;-0,00981751240776929;-0,00981751240776929;0;CONSTANTGRADIENT +V6;IfcAlignmentVerticalSegment;294,554565;11,522986;127,086;0;0;0;CONSTANTGRADIENT +V7;IfcAlignmentVerticalSegment;306,077551;192,512689171019;127,086;-0,00352981070589252;-0,00352981070589252;0;CONSTANTGRADIENT +V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,00352981070589252;-5000;CIRCULARARC +V9;IfcAlignmentVerticalSegment;513,865529814159;78,3592658459091;126,329213578221;-0,0065849894096037;-0,0065849894096037;0;CONSTANTGRADIENT +V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;-0,0065849894096037;1300;CIRCULARARC +V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md index d49f555..1d53404 100644 --- a/E1a-ARSE/ALIN06/Dataset/README.md +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -1,45 +1,75 @@ ## Variations The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: -- Entity_01 - *decription of variation* -- Entity_02 - *decription of variation* +- IfcAlignmentHorizontalSegment - *The test shall include linear and circular arc segments* +- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* +- Alignment Decomposition: + - The horizontal alignment shall be decomposed with element sequences containing lines and both clockwise and counter-clockwise turns + - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns -***=>What other elements occur for roads?*** +## Model Dataset +- - This test case utilises the following dataset: + - One alignment layout including geometric representation + - The alignment is composed of one horizontal alignment layout and one vertical alignment layout + - The horizontal layout contains lines and circular arcs + + - The vertical layout contains lines and circular arcs + + +The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : -## Model Dataset -This test case utilises the attached dataset documented by the following drawings and data schedule. - -"Synopsis": - -- IfcAlignment => IfcPolyline (Axis,Curve3D)? - - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) - - Line - - Clothoid (to left) - - Circular arc (left) - - Clothoid (to straight) - - Line - - Clothoid (to right) - - Circular arc (right) - - Clothoid (to straight) - - Line - - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) - - Line (up) - - Parabolic arc/Circular arc - - Line (down) - - Parabolic arc/Circular arc - - Line (up) - -*This is a later step tha involved the detailed documentation of the certification dataset (model)* +Alignment: + +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | +| A1 | IfcAlignment | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | +| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcCompositeCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | +| AV1 | IfcAlignmentVertical | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | + +Horizontal segments nested into AH1 in the following order: +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | +| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | +| H1 | IfcAlignmentHorizontalSegment | 24525276,87 | 6876935,549 | 0,001724622 | 0 | 0 | 229,405681 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 24525506,27 | 6876935,945 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | +| H3 | IfcAlignmentHorizontalSegment | 24525521,82 | 6876934,868 | 6,143144395 | 0 | 0 | 91,725737 | LINE | +| H4 | IfcAlignmentHorizontalSegment | 24525612,64 | 6876922,065 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | +| H5 | IfcAlignmentHorizontalSegment | 24525701,26 | 6876849,05 | 5,044918731 | 0 | 0 | 25,538554 | LINE | +| H6 | IfcAlignmentHorizontalSegment | 24525709,6 | 6876824,91 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | +| H7 | IfcAlignmentHorizontalSegment | 24525735,66 | 6876783,165 | 5,49613363 | 0 | 0 | 83,739856 | LINE | + +Vertical segments nested into AV1 in the following order: + +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | +| V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | +| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,03416131 | -1300 | CIRCULARARC | +| V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | +| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | 0,020212997 | -1300 | CIRCULARARC | +| V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | +| V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | +| V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | +| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,003529811 | -5000 | CIRCULARARC | +| V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | +| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | -0,006584989 | 1300 | CIRCULARARC | +| V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) + The following Drawings and visualisations describe the test case dataset to be modelled and certified. +| Filename | Description | +| ------------------- | -------------------------------------------- | +| Insert map here | Planar view of the horizontal alignment | +| Insert profile here | Long section (profile) view of the alignment | + ## Supporting files -| Filename | Description | -|-----------------------------------|-------------------------------------------| -| *filename* | *short description* | \ No newline at end of file +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./TOI-M14334-0000A.xml) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.XML b/E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.XML new file mode 100644 index 0000000..f63a694 --- /dev/null +++ b/E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.XML @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 6876935.549267 24525276.867419 0.000000 + 6876935.944905 24525506.272759 0.000000 + + + 6876935.944905 24525506.272759 + 6876934.868200 24525521.816666 +

6876825.945068 24525506.462467
+ + + 6876934.868200 24525521.816666 0.000000 + 6876922.064789 24525612.644434 0.000000 + + + 6876922.064789 24525612.644434 + 6876849.049537 24525701.264387 +
6876813.141658 24525597.290235
+
+ + 6876849.049537 24525701.264387 0.000000 + 6876824.909996 24525709.601071 0.000000 + + + 6876824.909996 24525709.601071 + 6876783.164849 24525735.664970 +
6876860.817875 24525813.575223
+
+ + 6876783.164849 24525735.664970 0.000000 + 6876723.854000 24525794.780000 0.000000 + + + + + 135.557000 125.687614 + 155.453895 126.367318 + 224.860128 127.770226 + 294.554565 127.086000 + 306.077551 127.086000 + 506.227944 126.379507 + 597.429913 125.778943 + 616.442493 125.806000 + + + + + diff --git a/E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.ifc b/E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.ifc new file mode 100644 index 0000000..ce4b25c --- /dev/null +++ b/E1a-ARSE/ALIN06/Dataset/TOI-M14334-0000A.ifc @@ -0,0 +1,220 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4NotAssigned]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\Users\\lars\\Documents\\Projekt\\IFCInfra\\MVD-Infra-Test-Instructions\\E1a-ARSE\\ALIN06\\Dataset\\TOI-M14334-0000A.ifc', +/* time_stamp */ '2022-02-18T13:46:24', +/* author */ ('lars'), +/* organization */ ('Unknown'), +/* preprocessor_version */ 'ggIfcConverter v0.0.5.0 by Geometry Gym Pty Ltd built 2022-02-10T07:15:39', +/* originating_system */ 'ggIFCConverter v0.0.5.0 - Converter by Geometry Gym Pty Ltd', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4X3_RC4')); +ENDSEC; + +DATA; +#1= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2= IFCDIRECTION((1.0,0.0,0.0)); +#3= IFCDIRECTION((0.0,1.0,0.0)); +#4= IFCDIRECTION((0.0,0.0,1.0)); +#5= IFCAXIS2PLACEMENT3D(#1,$,$); +#6= IFCCARTESIANPOINT((0.0,0.0)); +#7= IFCAXIS2PLACEMENT2D(#6,$); +#8= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#9= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#10= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#11= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#12= IFCUNITASSIGNMENT((#8,#11)); +#13= IFCPROJECT('1OEWBMD50yGJCMfbHiMaxa',$,'Toivolan_tasoristeyssuunnitelma','Toivolan_tasoristeyssuunnitelma',$,$,$,(#56),#12); +#14= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#15= IFCAXIS2PLACEMENT3D(#14,$,$); +#16= IFCLOCALPLACEMENT($,#15); +#17= IFCSITE('0fC4Q0ghjshYWRNlyJlyL6',$,'Toivolan_tasoristeyssuunnitelma',$,$,#16,$,$,$,$,$,$,$,$); +#18= IFCRELAGGREGATES('3nli4xTQXW59Tz5QkTJN3h',$,$,$,#13,(#17)); +#19= IFCLOCALPLACEMENT(#16,#5); +#20= IFCALIGNMENT('1MZ$_ugNawDiLW6OHixSD9',$,'Sammalniementie_u',$,$,#19,#197,$); +#21= IFCRELCONTAINEDINSPATIALSTRUCTURE('2d7LGjg5j8deye8rBGu_pT',$,'Site','Site Container for Elements',(#20),#17); +#22= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#23= IFCAXIS2PLACEMENT3D(#22,#4,#2); +#25= IFCALIGNMENTHORIZONTAL('1ck1ztc5NTxKcmM$6H$rwZ',$,$,$,$,#19,#98); +#26= IFCRELNESTS('2Qr6YhEtzBeeELe82FHdbs',$,$,$,#20,(#25,#110)); +#27= IFCCARTESIANPOINT((24525276.867419,6876935.549267)); +#28= IFCALIGNMENTHORIZONTALSEGMENT($,$,#27,0.00172462248684613,0.0,0.0,229.405681,$,.LINE.); +#29= IFCALIGNMENTSEGMENT('3hZ8l87U1Q8BI_$y_2nj$z',$,$,$,$,#19,#62,#28); +#30= IFCRELNESTS('3i$XYZYN91owg1IkJG3pGm',$,$,$,#25,(#29,#33,#36,#39,#42,#45,#48)); +#31= IFCCARTESIANPOINT((24525506.272759,6876935.944905)); +#32= IFCALIGNMENTHORIZONTALSEGMENT($,$,#31,0.00172462964706543,-110.0,-110.0,15.594208,$,.CIRCULARARC.); +#33= IFCALIGNMENTSEGMENT('3tOKSRAS5$p_$XokyCfvbo',$,$,$,$,#19,#68,#32); +#34= IFCCARTESIANPOINT((24525521.816666,6876934.8682)); +#35= IFCALIGNMENTHORIZONTALSEGMENT($,$,#34,6.14314439461041,0.0,0.0,91.725737,$,.LINE.); +#36= IFCALIGNMENTSEGMENT('3MWD2DeWHQ8QevjrZg99YR',$,$,$,$,#19,#73,#35); +#37= IFCCARTESIANPOINT((24525612.644434,6876922.064789)); +#38= IFCALIGNMENTHORIZONTALSEGMENT($,$,#37,6.14314439896281,-110.0,-110.0,120.80482,$,.CIRCULARARC.); +#39= IFCALIGNMENTSEGMENT('260dLIlSB8SrmmNwWvQa3d',$,$,$,$,#19,#79,#38); +#40= IFCCARTESIANPOINT((24525701.264387,6876849.049537)); +#41= IFCALIGNMENTHORIZONTALSEGMENT($,$,#40,5.04491873079937,0.0,0.0,25.538554,$,.LINE.); +#42= IFCALIGNMENTSEGMENT('09$rVBiaRE6xbncNrNsbYP',$,$,$,$,#19,#84,#41); +#43= IFCCARTESIANPOINT((24525709.601071,6876824.909996)); +#44= IFCALIGNMENTHORIZONTALSEGMENT($,$,#43,5.04491876114541,110.0,110.0,49.633636,$,.CIRCULARARC.); +#45= IFCALIGNMENTSEGMENT('0gRR1YO7HbZ_XxQmRDcf3R',$,$,$,$,#19,#90,#44); +#46= IFCCARTESIANPOINT((24525735.66497,6876783.164849)); +#47= IFCALIGNMENTHORIZONTALSEGMENT($,$,#46,5.49613363003069,0.0,0.0,83.739856,$,.LINE.); +#48= IFCALIGNMENTSEGMENT('3VXcUYLknohuCoYzWkCCrX',$,$,$,$,#19,#95,#47); +#49= IFCAXIS2PLACEMENT2D(#27,#50); +#50= IFCDIRECTION((0.99999851,0.00172462)); +#51= IFCCARTESIANPOINT((0.0,0.0)); +#52= IFCDIRECTION((1.0,0.0)); +#53= IFCVECTOR(#52,1.0); +#54= IFCLINE(#51,#53); +#55= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#49,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(229.405681),#54); +#56= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.00001,#58,#59); +#57= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#58= IFCAXIS2PLACEMENT3D(#57,$,$); +#59= IFCDIRECTION((0.0,1.0)); +#60= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#56,$,.GRAPH_VIEW.,$); +#61= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#55)); +#62= IFCPRODUCTDEFINITIONSHAPE($,$,(#61)); +#63= IFCAXIS2PLACEMENT2D(#31,#64); +#64= IFCDIRECTION((0.99999851,0.00172463)); +#65= IFCCIRCLE(#7,110.0); +#66= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#63,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.141765527272727),#65); +#67= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#66)); +#68= IFCPRODUCTDEFINITIONSHAPE($,$,(#67)); +#69= IFCAXIS2PLACEMENT2D(#34,#70); +#70= IFCDIRECTION((0.99021029,-0.13958363)); +#71= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#69,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(91.725737),#54); +#72= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#71)); +#73= IFCPRODUCTDEFINITIONSHAPE($,$,(#72)); +#74= IFCAXIS2PLACEMENT2D(#37,#75); +#75= IFCDIRECTION((0.99021029,-0.13958362)); +#76= IFCCIRCLE(#7,110.0); +#77= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#74,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-1.09822563636364),#76); +#78= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#77)); +#79= IFCPRODUCTDEFINITIONSHAPE($,$,(#78)); +#80= IFCAXIS2PLACEMENT2D(#40,#81); +#81= IFCDIRECTION((0.32643524,-0.94521957)); +#82= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#80,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(25.538554),#54); +#83= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#82)); +#84= IFCPRODUCTDEFINITIONSHAPE($,$,(#83)); +#85= IFCAXIS2PLACEMENT2D(#43,#86); +#86= IFCDIRECTION((0.32643527,-0.94521956)); +#87= IFCCIRCLE(#7,110.0); +#88= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#85,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(49.633636),#87); +#89= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#88)); +#90= IFCPRODUCTDEFINITIONSHAPE($,$,(#89)); +#91= IFCAXIS2PLACEMENT2D(#46,#92); +#92= IFCDIRECTION((0.7059366,-0.70827502)); +#93= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#91,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(83.739856),#54); +#94= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#93)); +#95= IFCPRODUCTDEFINITIONSHAPE($,$,(#94)); +#96= IFCCOMPOSITECURVE((#55,#66,#71,#77,#82,#88,#93),.U.); +#97= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#96)); +#98= IFCPRODUCTDEFINITIONSHAPE($,$,(#97)); +#99= IFCALIGNMENTVERTICALSEGMENT($,$,135.557,10.8424694551669,125.687614,0.0341613100938614,0.0341613100938614,$,.CONSTANTGRADIENT.); +#100= IFCALIGNMENTVERTICALSEGMENT($,$,146.399469455167,18.112282610652,126.05800696124,0.0341613100938614,0.0202129972966548,-1300.0,.CIRCULARARC.); +#101= IFCALIGNMENTVERTICALSEGMENT($,$,164.511752065819,40.8330580844944,126.550404440385,0.0202129972966548,0.0202129972966548,$,.CONSTANTGRADIENT.); +#102= IFCALIGNMENTVERTICALSEGMENT($,$,205.344810150313,39.033681330639,127.37576293306,0.0202129972966548,-0.00981751240776929,-1300.0,.CIRCULARARC.); +#103= IFCALIGNMENTVERTICALSEGMENT($,$,244.378491480952,50.1760735190479,127.578604224343,-0.00981751240776929,-0.00981751240776929,$,.CONSTANTGRADIENT.); +#104= IFCALIGNMENTVERTICALSEGMENT($,$,294.554565,11.522986,127.086,0.0,0.0,$,.CONSTANTGRADIENT.); +#105= IFCALIGNMENTVERTICALSEGMENT($,$,306.077551,192.512689171019,127.086,-0.00352981070589252,-0.00352981070589252,$,.CONSTANTGRADIENT.); +#106= IFCALIGNMENTVERTICALSEGMENT($,$,498.590240171019,15.2752896431409,126.406466648677,-0.00352981070589252,-0.0065849894096037,-5000.0,.CIRCULARARC.); +#107= IFCALIGNMENTVERTICALSEGMENT($,$,513.865529814159,78.3592658459091,126.329213578221,-0.0065849894096037,-0.0065849894096037,$,.CONSTANTGRADIENT.); +#108= IFCALIGNMENTVERTICALSEGMENT($,$,592.224795660069,10.4103422623946,125.813218642574,-0.0065849894096037,0.00142311038270447,1300.0,.CIRCULARARC.); +#109= IFCALIGNMENTVERTICALSEGMENT($,$,602.635137922463,13.8073550775368,125.786350609637,0.00142311038228749,0.00142311038228749,$,.CONSTANTGRADIENT.); +#110= IFCALIGNMENTVERTICAL('0ddJLdQIDCxQPle3A8jrLs',$,'Sammalniementie_u',$,$,#19,#195); +#111= IFCALIGNMENTSEGMENT('2gA7djODHC_xXIgPPzoY82',$,$,$,$,#19,#128,#99); +#112= IFCRELNESTS('1DZ_kkZob34vJO5FhOR8v0',$,$,$,#110,(#111,#113,#114,#115,#116,#117,#118,#119,#120,#121,#122)); +#113= IFCALIGNMENTSEGMENT('3VN7AVMVzA_hvweeeU0O3k',$,$,$,$,#19,#135,#100); +#114= IFCALIGNMENTSEGMENT('0Kp4hED2zAPfMpvgzW7ch1',$,$,$,$,#19,#141,#101); +#115= IFCALIGNMENTSEGMENT('2FkuepSxf5hwJ23i51BHsZ',$,$,$,$,#19,#148,#102); +#116= IFCALIGNMENTSEGMENT('1XPAkBHBLF$9aeTcrcNcTy',$,$,$,$,#19,#154,#103); +#117= IFCALIGNMENTSEGMENT('0R2$FQBtr3AOpdTIkDMGs6',$,$,$,$,#19,#160,#104); +#118= IFCALIGNMENTSEGMENT('2C21qLVkvBj8P$f2FUURr0',$,$,$,$,#19,#166,#105); +#119= IFCALIGNMENTSEGMENT('0kI5Vw8vH0I9llwt5OikKa',$,$,$,$,#19,#173,#106); +#120= IFCALIGNMENTSEGMENT('04SGZEGwnFsPtmf3BfW1fT',$,$,$,$,#19,#179,#107); +#121= IFCALIGNMENTSEGMENT('0$CKSTZez7cgM3mmkSQwii',$,$,$,$,#19,#186,#108); +#122= IFCALIGNMENTSEGMENT('3tHQKCgSX4DQDDVRkZ3PN3',$,$,$,$,#19,#192,#109); +#123= IFCCARTESIANPOINT((135.557,125.687614)); +#124= IFCDIRECTION((0.99941701,0.03414139)); +#125= IFCAXIS2PLACEMENT2D(#123,#124); +#126= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#125,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.8487941648814),#54); +#127= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#126)); +#128= IFCPRODUCTDEFINITIONSHAPE($,$,(#127)); +#129= IFCCARTESIANPOINT((146.399469,126.058007)); +#130= IFCDIRECTION((0.99941701,0.03414139)); +#131= IFCAXIS2PLACEMENT2D(#129,#130); +#132= IFCCIRCLE(#7,1300.0); +#133= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#131,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0139377855017958),#132); +#134= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#133)); +#135= IFCPRODUCTDEFINITIONSHAPE($,$,(#134)); +#136= IFCCARTESIANPOINT((164.511752,126.550404)); +#137= IFCDIRECTION((0.99979578,0.02020887)); +#138= IFCAXIS2PLACEMENT2D(#136,#137); +#139= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#138,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(40.8413987171488),#54); +#140= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#139)); +#141= IFCPRODUCTDEFINITIONSHAPE($,$,(#140)); +#142= IFCCARTESIANPOINT((205.34481,127.375763)); +#143= IFCDIRECTION((0.99979578,0.02020887)); +#144= IFCAXIS2PLACEMENT2D(#142,#143); +#145= IFCCIRCLE(#7,1300.0); +#146= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#144,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0300274422055508),#145); +#147= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#146)); +#148= IFCPRODUCTDEFINITIONSHAPE($,$,(#147)); +#149= IFCCARTESIANPOINT((244.378491,127.578604)); +#150= IFCDIRECTION((0.99995181,-0.00981704)); +#151= IFCAXIS2PLACEMENT2D(#149,#150); +#152= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#151,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(50.1784915348274),#54); +#153= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#152)); +#154= IFCPRODUCTDEFINITIONSHAPE($,$,(#153)); +#155= IFCCARTESIANPOINT((294.554565,127.086)); +#156= IFCDIRECTION((1.0,0.0)); +#157= IFCAXIS2PLACEMENT2D(#155,#156); +#158= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#157,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(11.522986),#54); +#159= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#158)); +#160= IFCPRODUCTDEFINITIONSHAPE($,$,(#159)); +#161= IFCCARTESIANPOINT((306.077551,127.086)); +#162= IFCDIRECTION((0.99999377,-0.00352979)); +#163= IFCAXIS2PLACEMENT2D(#161,#162); +#164= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#163,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(192.513888479332),#54); +#165= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#164)); +#166= IFCPRODUCTDEFINITIONSHAPE($,$,(#165)); +#167= IFCCARTESIANPOINT((498.59024,126.406467)); +#168= IFCDIRECTION((0.99999377,-0.00352979)); +#169= IFCAXIS2PLACEMENT2D(#167,#168); +#170= IFCCIRCLE(#7,5000.0); +#171= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#169,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.00305509818642019),#170); +#172= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#171)); +#173= IFCPRODUCTDEFINITIONSHAPE($,$,(#172)); +#174= IFCCARTESIANPOINT((513.86553,126.329214)); +#175= IFCDIRECTION((0.99997832,-0.00658485)); +#176= IFCAXIS2PLACEMENT2D(#174,#175); +#177= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#176,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(78.3609647380861),#54); +#178= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#177)); +#179= IFCPRODUCTDEFINITIONSHAPE($,$,(#178)); +#180= IFCCARTESIANPOINT((592.224796,125.813219)); +#181= IFCDIRECTION((0.99997832,-0.00658485)); +#182= IFCAXIS2PLACEMENT2D(#180,#181); +#183= IFCCIRCLE(#7,1300.0); +#184= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#182,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.00800800365444606),#183); +#185= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#184)); +#186= IFCPRODUCTDEFINITIONSHAPE($,$,(#185)); +#187= IFCCARTESIANPOINT((602.635138,125.786351)); +#188= IFCDIRECTION((0.99999899,0.00142311)); +#189= IFCAXIS2PLACEMENT2D(#187,#188); +#190= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#189,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(13.8073690591555),#54); +#191= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#190)); +#192= IFCPRODUCTDEFINITIONSHAPE($,$,(#191)); +#193= IFCGRADIENTCURVE((#126,#133,#139,#146,#152,#158,#164,#171,#177,#184,#190),.U.,#96,$); +#194= IFCSHAPEREPRESENTATION(#60,'Axis','Curve3D',(#193)); +#195= IFCPRODUCTDEFINITIONSHAPE($,$,(#194)); +#196= IFCSHAPEREPRESENTATION(#60,'Axis','Curve3D',(#193)); +#197= IFCPRODUCTDEFINITIONSHAPE($,$,(#196)); +#198= IFCPROPERTYSINGLEVALUE('state',$,IFCIDENTIFIER('proposed'),$); +#199= IFCPROPERTYSET('1lf3$ojeXENeMMmuDejpya',$,'landXML_Alignment',$,(#198)); +#200= IFCRELDEFINESBYPROPERTIES('3$NwrSvbH6df0$Z67Fhrb9',$,$,$,(#20),#199); +#201= IFCPROJECTEDCRS('EPSG:3878',$,$,$,$,$,$); +#202= IFCMAPCONVERSION(#56,#201,0.0,0.0,0.0,$,$,$,$,$); +ENDSEC; + +END-ISO-10303-21; diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 77aad9b..ef569a8 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -1,37 +1,22 @@ # Test Instruction -| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | -| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | -| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN06 | Alignment Infrastructure Curves | E1a | ALIN06 | Lars Wikström | FTIA | 1.0 | 07.01.2022 | ## Summary (Intent) -*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN02](../ALIN02) and adds a geometric definition. -With these instructions the infrastructure (e.g. Road) alignment exchange is established. -This includes basic alignment geometry featuring the common layout: - -- horizontal -- vertical - -The valid geometry segment types for horizontal are the following: - -- Arc -- Clothoid -- Linear -- *Check if other transition curves are being used* - -The valid geometry segment types for vertical: - -- Linear -- Circular Arc -- Parabolic Arc -- *Check if there are cases with transition curves (don't think that there are)* - -... - -We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). +| Info | | +| ---------------------------- | ------------------------------------- | +| Number of alignment(s) | 1 | +| Properties of segments | no | +| Horizontal layout | Straight Line, Circular Arc, Clothoid | +| Vertical layout | Straight Line, Circular Arc | +| Geometric representation | IfcCompositeCurve, IfcGradientCurve | +| IFC reference file available | Yes | The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. @@ -48,32 +33,28 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *IfcAlignment* -- *IfcAlignmentHorizontal* -- *IfcAlignmentVertical* -- *IfcAlignmentSegment* -- *IfcAlignmentHorizontalSegment* -- *IfcAlignmentVerticalSegment* -- *IfcAxis2PlacementLinear* -- *IfcAxis2Placement2D* -- *IfcAxis2Placement3D* -- *IfcCircle* -- *IfcClothoid* -- *IfcCompositeCurve* -- *IfcCurveSegment* -- *IfcLine* -- *IfcLinearPlacement* -- *IfcLocalPlacement* -- *IfcGeometricRepresentationContext* -- *IfcGeometricRepresentationSubContext* -- *IfcGradientCurve* -- *IfcMapConversion* -- *IfcPolyline* -- *IfcProject* -- *IfcProjectedCRS* -- *IfcProductDefinitionShape* -- *IfcSite* -- *IfcShapeRepresentation* +- Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment + +- Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - IfcCompositeCurve + - IfcGradientCurve + - IfcCurveSegment + - IfcLine + - IfcClothoid + - IfcCircle + @@ -81,8 +62,7 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Layout* -- *Alignment Geometry* +- *Alignment Decomposition* - *Alignment Geometry Gradient* - *Project Global Positioning* - *Spatial Containment* @@ -108,18 +88,41 @@ The following itemised restrictions and constraints shall be placed on IFC Entit :construction: under construction :construction:
Semantic Usages, Constraints & Logic - The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria -- IfcSomething - - *Constraint* +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | --------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_00 | Alignment layout structure is verified | See below for further specification | | +| SITE_00 | Alignment shall always be contained in a Site | na | | -
+ALIG_00: Alignment layout structure is verified + +> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` +> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` +> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` +> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` +> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` +> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` +> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` +> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` +> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` + +-
Model Geometry The Test case requires the following additional checks related to Model Geometry: -- *Constraint* + + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | + + +> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` +> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Geometric representations shall correspond to the semantic definitions.
@@ -132,8 +135,8 @@ For certification of capabilities the only source will be: - n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of ... -- CSV export of ... +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters --- @@ -163,13 +166,32 @@ Considering the aim of this test, other **optional** results, not subject to the -### Some Concept Group +### Road alignment + +
Click to expand + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | +| ALIG_01 | Alignments contained in file | 1 | | +| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | +| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve. | | | +| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcCompositeCurve. | | | +| ALIG_07 | The IfcAlignmentVertical shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve (same instance as referred to by IfcAlignment). | | | +| ALIG_06 | The IfcGradientCurve shall have the IfcCompositeCurve as BaseCurve | | | +| ALIG_07 | The IfcGradientCurve shall have Segments that exactly match the corresponding vertical segments in the IfcAlignmentVertical and in the same order | | | +| ALIG_08 | The IfcCompositeCurve shall have Segments that exactly match the corresponding horizontal segments in the IfcAlignmentHorizontal and in the same order | | | + +
+ +### Spatial containment
Click to expand -Criteria around the representation of 'Some Concept' +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|------------------------------------------|-------------| -| XXXX_01 | A Criteria to follow | its expected value or outcome | | +| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | +| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | +| IfcSite | | 1 | 1 | IfcAlignment | Road alignment |
From 217b8404a39375afcee8902036011a290e0b47fc Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 22 Feb 2022 09:31:41 +0100 Subject: [PATCH 13/37] Included parameters for project global positioning --- .../ALIN01/Dataset/AlignmentParameters.xlsx | Bin 13723 -> 0 bytes .../Dataset/HorizontalAlignmentParameters.csv | 32 ++++---- E1a-ARSE/ALIN01/Dataset/README.md | 72 +++++++++--------- .../Dataset/VerticalAlignmentParameters.csv | 36 ++++----- E1a-ARSE/ALIN01/README.md | 64 +++++++++++----- 5 files changed, 116 insertions(+), 88 deletions(-) delete mode 100644 E1a-ARSE/ALIN01/Dataset/AlignmentParameters.xlsx diff --git a/E1a-ARSE/ALIN01/Dataset/AlignmentParameters.xlsx b/E1a-ARSE/ALIN01/Dataset/AlignmentParameters.xlsx deleted file mode 100644 index babcb95a06d7ec55e3b498de77221648fef4e84c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13723 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 diff --git a/E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv index 577e25c..aaa4a23 100644 --- a/E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN01/Dataset/HorizontalAlignmentParameters.csv @@ -1,16 +1,16 @@ -StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type -24474600.283;6654918.750;0.7121999;;;193.423;.LINE. -24474746.690;6655045.152;0.7121999;0.0;200.0;63.845;.CLOTHOID. -24474792.678;6655089.336;0.8718124;200.0;200.0;34.421;.CIRCULARARC. -24474812.455;6655117.455;1.0439153;200.0;0.0;63.845;.CLOTHOID. -24474838.485;6655175.674;1.2035278;;;21.347;.LINE. -24474846.150;6655195.597;1.2035278;0.0;-200.0;63.845;.CLOTHOID. -24474872.181;6655253.815;1.0439153;-200.0;-200.0;85.355;.CIRCULARARC. -24474929.317;6655316.355;0.6171368;-200.0;0.0;63.845;.CLOTHOID. -24474984.952;6655347.527;0.4575243;;;192.323;.LINE. -24475157.495;6655432.482;0.4575243;200.0;200.0;82.814;.CIRCULARARC. -24475222.220;6655483.191;0.8715950;-200.0;-200.0;100.119;.CIRCULARARC. -24475302.782;6655540.862;0.3710006;;;58.660;.LINE. -24475357.451;6655562.129;0.3710006;-200.0;-200.0;115.441;.CIRCULARARC. -24475470.910;6655571.499;6.0769809;200.0;200.0;102.335;.CIRCULARARC. -24475572.007;6655576.521;0.3054710;;;28.790;.LINE. +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;0,28371400013566;18,7504709996283;0,712199895871347;0;0;193,4232;LINE +H2;IfcAlignmentHorizontalSegment;146,690777998418;145,152630999684;0,712199906334298;0;200;63,845;CLOTHOID +H3;IfcAlignmentHorizontalSegment;192,677965000272;189,335668999702;0,871812399176709;200;200;34,420584;CIRCULARARC +H4;IfcAlignmentHorizontalSegment;212,454617001116;217,455753999762;1,04391527787276;200;0;63,845;CLOTHOID +H5;IfcAlignmentHorizontalSegment;238,485470999032;275,673937000334;1,20352784295313;0;0;21,346852;LINE +H6;IfcAlignmentHorizontalSegment;246,150430001318;295,597202000208;1,20352781983867;0;-200;63,845;CLOTHOID +H7;IfcAlignmentHorizontalSegment;272,181283999234;353,815386000089;1,04391531991188;-200;-200;85,355704;CIRCULARARC +H8;IfcAlignmentHorizontalSegment;329,316711999476;416,355174000375;0,617136818616182;-200;0;63,845;CLOTHOID +H9;IfcAlignmentHorizontalSegment;384,951684001833;447,527471999638;0,457524298045646;0;0;192,323738;LINE +H10;IfcAlignmentHorizontalSegment;557,494701001793;532,482327000238;0,457524292762515;200;200;82,814142;CIRCULARARC +H11;IfcAlignmentHorizontalSegment;622,220316998661;583,19077100046;0,871595018418373;-200;-200;100,11889;CIRCULARARC +H12;IfcAlignmentHorizontalSegment;702,781991001219;640,86246099975;0,37100055838095;0;0;58,659577;LINE +H13;IfcAlignmentHorizontalSegment;757,450667001307;662,129378999583;0,371000555025985;-200;-200;115,440984;CIRCULARARC +H14;IfcAlignmentHorizontalSegment;870,909519001842;671,499387999997;6,07698093924176;200;200;102,335082;CIRCULARARC +H15;IfcAlignmentHorizontalSegment;972,007240001112;676,521331000142;0,305471032863846;0;0;28,790227;LINE diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 8674b38..8077b6c 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -39,45 +39,45 @@ Alignment: Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type | -| ---- | ----------------------------- | ------------ | ----------- | -------------- | ----------- | --------- | ------- | ------------- | -| H1 | IfcAlignmentHorizontalSegment | 24474600.283 | 6654918.750 | 0.7121999 | | | 193.423 | .LINE. | -| H2 | IfcAlignmentHorizontalSegment | 24474746.690 | 6655045.152 | 0.7121999 | 0.0 | 200.0 | 63.845 | .CLOTHOID. | -| H3 | IfcAlignmentHorizontalSegment | 24474792.678 | 6655089.336 | 0.8718124 | 200.0 | 200.0 | 34.421 | .CIRCULARARC. | -| H4 | IfcAlignmentHorizontalSegment | 24474812.455 | 6655117.455 | 1.0439153 | 200.0 | 0.0 | 63.845 | .CLOTHOID. | -| H5 | IfcAlignmentHorizontalSegment | 24474838.485 | 6655175.674 | 1.2035278 | | | 21.347 | .LINE. | -| H6 | IfcAlignmentHorizontalSegment | 24474846.150 | 6655195.597 | 1.2035278 | 0.0 | -200.0 | 63.845 | .CLOTHOID. | -| H7 | IfcAlignmentHorizontalSegment | 24474872.181 | 6655253.815 | 1.0439153 | -200.0 | -200.0 | 85.355 | .CIRCULARARC. | -| H8 | IfcAlignmentHorizontalSegment | 24474929.317 | 6655316.355 | 0.6171368 | -200.0 | 0.0 | 63.845 | .CLOTHOID. | -| H9 | IfcAlignmentHorizontalSegment | 24474984.952 | 6655347.527 | 0.4575243 | | | 192.323 | .LINE. | -| H10 | IfcAlignmentHorizontalSegment | 24475157.495 | 6655432.482 | 0.4575243 | 200.0 | 200.0 | 82.814 | .CIRCULARARC. | -| H11 | IfcAlignmentHorizontalSegment | 24475222.220 | 6655483.191 | 0.8715950 | -200.0 | -200.0 | 100.119 | .CIRCULARARC. | -| H12 | IfcAlignmentHorizontalSegment | 24475302.782 | 6655540.862 | 0.3710006 | | | 58.660 | .LINE. | -| H13 | IfcAlignmentHorizontalSegment | 24475357.451 | 6655562.129 | 0.3710006 | -200.0 | -200.0 | 115.441 | .CIRCULARARC. | -| H14 | IfcAlignmentHorizontalSegment | 24475470.910 | 6655571.499 | 6.0769809 | 200.0 | 200.0 | 102.335 | .CIRCULARARC. | -| H15 | IfcAlignmentHorizontalSegment | 24475572.007 | 6655576.521 | 0.3054710 | | | 28.790 | .LINE. | +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | +| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | +| H1 | IfcAlignmentHorizontalSegment | 0,283714 | 18,750471 | 0,712199896 | 0 | 0 | 193,4232 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 146,690778 | 145,152631 | 0,712199906 | 0 | 200 | 63,845 | CLOTHOID | +| H3 | IfcAlignmentHorizontalSegment | 192,677965 | 189,335669 | 0,871812399 | 200 | 200 | 34,420584 | CIRCULARARC | +| H4 | IfcAlignmentHorizontalSegment | 212,454617 | 217,455754 | 1,043915278 | 200 | 0 | 63,845 | CLOTHOID | +| H5 | IfcAlignmentHorizontalSegment | 238,485471 | 275,673937 | 1,203527843 | 0 | 0 | 21,346852 | LINE | +| H6 | IfcAlignmentHorizontalSegment | 246,15043 | 295,597202 | 1,20352782 | 0 | -200 | 63,845 | CLOTHOID | +| H7 | IfcAlignmentHorizontalSegment | 272,181284 | 353,815386 | 1,04391532 | -200 | -200 | 85,355704 | CIRCULARARC | +| H8 | IfcAlignmentHorizontalSegment | 329,316712 | 416,355174 | 0,617136819 | -200 | 0 | 63,845 | CLOTHOID | +| H9 | IfcAlignmentHorizontalSegment | 384,951684 | 447,527472 | 0,457524298 | 0 | 0 | 192,323738 | LINE | +| H10 | IfcAlignmentHorizontalSegment | 557,494701 | 532,482327 | 0,457524293 | 200 | 200 | 82,814142 | CIRCULARARC | +| H11 | IfcAlignmentHorizontalSegment | 622,220317 | 583,190771 | 0,871595018 | -200 | -200 | 100,11889 | CIRCULARARC | +| H12 | IfcAlignmentHorizontalSegment | 702,781991 | 640,862461 | 0,371000558 | 0 | 0 | 58,659577 | LINE | +| H13 | IfcAlignmentHorizontalSegment | 757,450667 | 662,129379 | 0,371000555 | -200 | -200 | 115,440984 | CIRCULARARC | +| H14 | IfcAlignmentHorizontalSegment | 870,909519 | 671,499388 | 6,076980939 | 200 | 200 | 102,335082 | CIRCULARARC | +| H15 | IfcAlignmentHorizontalSegment | 972,00724 | 676,521331 | 0,305471033 | 0 | 0 | 28,790227 | LINE | Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------- | ------------------ | -| V1 | IfcAlignmentVerticalSegment | 0.0 | 67.967 | 43.475 | -0.0077341 | -0.0077341 | | .CONSTANTGRADIENT. | -| V2 | IfcAlignmentVerticalSegment | 67.967 | 25.560 | 42.950 | -0.0077341 | -0.0933380 | -300.0 | .CIRCULARARC. | -| V3 | IfcAlignmentVerticalSegment | 93.527 | 20.399 | 41.660 | -0.0933380 | -0.0933380 | | .CONSTANTGRADIENT. | -| V4 | IfcAlignmentVerticalSegment | 113.925 | 21.684 | 39.756 | -0.0933380 | -0.0206578 | 300.0 | .CIRCULARARC. | -| V5 | IfcAlignmentVerticalSegment | 135.609 | 68.626 | 38.522 | -0.0206578 | -0.0206578 | | .CONSTANTGRADIENT. | -| V6 | IfcAlignmentVerticalSegment | 204.235 | 56.932 | 37.104 | -0.0206578 | 0.0078128 | 2000.0 | .CIRCULARARC. | -| V7 | IfcAlignmentVerticalSegment | 261.167 | 46.450 | 36.739 | 0.0078128 | 0.0078128 | | .CONSTANTGRADIENT. | -| V8 | IfcAlignmentVerticalSegment | 307.617 | 101.901 | 37.102 | 0.0078128 | 0.0486302 | 2500.0 | .CIRCULARARC. | -| V9 | IfcAlignmentVerticalSegment | 409.517 | 30.592 | 39.976 | 0.0486302 | 0.0486302 | | .CONSTANTGRADIENT. | -| V10 | IfcAlignmentVerticalSegment | 440.109 | 64.029 | 41.464 | 0.0486302 | -0.0154579 | -1000.0 | .CIRCULARARC. | -| V11 | IfcAlignmentVerticalSegment | 504.138 | 203.572 | 42.525 | -0.0154579 | -0.0154579 | | .CONSTANTGRADIENT. | -| V12 | IfcAlignmentVerticalSegment | 707.709 | 55.848 | 39.378 | -0.0154579 | -0.0714863 | -1000.0 | .CIRCULARARC. | -| V13 | IfcAlignmentVerticalSegment | 763.558 | 76.625 | 36.952 | -0.0714863 | 0.0053208 | 1000.0 | .CIRCULARARC. | -| V14 | IfcAlignmentVerticalSegment | 840.183 | 152.345 | 34.421 | 0.0053208 | 0.0053208 | | .CONSTANTGRADIENT. | -| V15 | IfcAlignmentVerticalSegment | 992.528 | 36.817 | 35.232 | 0.0053208 | 0.0237361 | 2000.0 | .CIRCULARARC. | -| V16 | IfcAlignmentVerticalSegment | 1029.345 | 52.563 | 35.766 | 0.0237361 | -0.0288451 | -1000.0 | .CIRCULARARC. | -| V17 | IfcAlignmentVerticalSegment | 1081.907 | 188.502 | 35.632 | -0.0288451 | -0.0288451 | | .CONSTANTGRADIENT. | +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | +| V1 | IfcAlignmentVerticalSegment | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | CONSTANTGRADIENT | +| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,007734105 | -300 | CIRCULARARC | +| V3 | IfcAlignmentVerticalSegment | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | CONSTANTGRADIENT | +| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,093338018 | 300 | CIRCULARARC | +| V5 | IfcAlignmentVerticalSegment | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | CONSTANTGRADIENT | +| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | -0,020657799 | 2000 | CIRCULARARC | +| V7 | IfcAlignmentVerticalSegment | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | CONSTANTGRADIENT | +| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,007812811 | 2500 | CIRCULARARC | +| V9 | IfcAlignmentVerticalSegment | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | CONSTANTGRADIENT | +| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | 0,048630199 | -1000 | CIRCULARARC | +| V11 | IfcAlignmentVerticalSegment | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | CONSTANTGRADIENT | +| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,01545787 | -1000 | CIRCULARARC | +| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | -0,071486276 | 1000 | CIRCULARARC | +| V14 | IfcAlignmentVerticalSegment | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | CONSTANTGRADIENT | +| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,005320833 | 2000 | CIRCULARARC | +| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | 0,023736122 | -1000 | CIRCULARARC | +| V17 | IfcAlignmentVerticalSegment | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) diff --git a/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv index 11ddfd8..8e9d0b2 100644 --- a/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv @@ -1,18 +1,18 @@ -StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type -0.0;67.967;43.475;-0.0077341;-0.0077341;;.CONSTANTGRADIENT. -67.967;25.560;42.950;-0.0077341;-0.0933380;-300.0;.CIRCULARARC. -93.527;20.399;41.660;-0.0933380;-0.0933380;;.CONSTANTGRADIENT. -113.925;21.684;39.756;-0.0933380;-0.0206578;300.0;.CIRCULARARC. -135.609;68.626;38.522;-0.0206578;-0.0206578;;.CONSTANTGRADIENT. -204.235;56.932;37.104;-0.0206578;0.0078128;2000.0;.CIRCULARARC. -261.167;46.450;36.739;0.0078128;0.0078128;;.CONSTANTGRADIENT. -307.617;101.901;37.102;0.0078128;0.0486302;2500.0;.CIRCULARARC. -409.517;30.592;39.976;0.0486302;0.0486302;;.CONSTANTGRADIENT. -440.109;64.029;41.464;0.0486302;-0.0154579;-1000.0;.CIRCULARARC. -504.138;203.572;42.525;-0.0154579;-0.0154579;;.CONSTANTGRADIENT. -707.709;55.848;39.378;-0.0154579;-0.0714863;-1000.0;.CIRCULARARC. -763.558;76.625;36.952;-0.0714863;0.0053208;1000.0;.CIRCULARARC. -840.183;152.345;34.421;0.0053208;0.0053208;;.CONSTANTGRADIENT. -992.528;36.817;35.232;0.0053208;0.0237361;2000.0;.CIRCULARARC. -1029.345;52.563;35.766;0.0237361;-0.0288451;-1000.0;.CIRCULARARC. -1081.907;188.502;35.632;-0.0288451;-0.0288451;;.CONSTANTGRADIENT. +Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +V1;IfcAlignmentVerticalSegment;0;67,9666275938242;43,475329;-0,00773410503537014;-0,00773410503537014;0;CONSTANTGRADIENT +V2;IfcAlignmentVerticalSegment;67,9666275938242;25,56006049186;42,9496679632888;-0,00773410503537014;-0,00773410503537014;-300;CIRCULARARC +V3;IfcAlignmentVerticalSegment;93,5266880856841;20,3985317664884;41,6603192684821;-0,0933380176556316;-0,0933380176556316;0;CONSTANTGRADIENT +V4;IfcAlignmentVerticalSegment;113,925219852173;21,6842049028376;39,7563607503138;-0,0933380176556316;-0,0933380176556316;300;CIRCULARARC +V5;IfcAlignmentVerticalSegment;135,60942475501;68,6257430776865;38,5220312181138;-0,0206577987550277;-0,0206577987550277;0;CONSTANTGRADIENT +V6;IfcAlignmentVerticalSegment;204,235167832697;56,9319301335483;37,1043744281956;-0,0206577987550277;-0,0206577987550277;2000;CIRCULARARC +V7;IfcAlignmentVerticalSegment;261,167097966245;46,449675607139;36,7388035371268;0,00781281114018211;0,00781281114018211;0;CONSTANTGRADIENT +V8;IfcAlignmentVerticalSegment;307,616773573384;101,90056287711;37,101706080191;0,00781281114018211;0,00781281114018211;2500;CIRCULARARC +V9;IfcAlignmentVerticalSegment;409,517336450494;30,5916549869268;39,9762969622553;0,0486301987513986;0,0486301987513986;0;CONSTANTGRADIENT +V10;IfcAlignmentVerticalSegment;440,108991437421;64,0288214133387;41,4639752243932;0,0486301987513986;0,0486301987513986;-1000;CIRCULARARC +V11;IfcAlignmentVerticalSegment;504,13781285076;203,571683667725;42,5248787225931;-0,0154578700237117;-0,0154578700237117;0;CONSTANTGRADIENT +V12;IfcAlignmentVerticalSegment;707,709496518485;55,8482922569574;39,3780940959472;-0,0154578700237117;-0,0154578700237117;-1000;CIRCULARARC +V13;IfcAlignmentVerticalSegment;763,557781493212;76,6250733893689;36,9521538451958;-0,0714862764285531;-0,0714862764285531;1000;CIRCULARARC +V14;IfcAlignmentVerticalSegment;840,182854882581;152,344654262115;34,4209169381877;0,00532083289209283;0,00532083289209283;0;CONSTANTGRADIENT +V15;IfcAlignmentVerticalSegment;992,527509144696;36,8173619984802;35,2315173854975;0,00532083289209283;0,00532083289209283;2000;CIRCULARARC +V16;IfcAlignmentVerticalSegment;1029,34487722718;52,5625639402238;35,7663724122683;0,0237361222562795;0,0237361222562795;-1000;CIRCULARARC +V17;IfcAlignmentVerticalSegment;1081,90744116741;188,501540832592;35,6321941963812;-0,0288451180418207;-0,0288451180418207;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 99f5de2..9bb5ef9 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -33,21 +33,24 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment - -- Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* +- Inherited from imported tests + - Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment + +- For this test instruction + - Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + @@ -56,9 +59,17 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Decomposition* -- *Project Global Positioning* -- *Spatial Containment* +- Inherited from imported tests: + - *Project Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Project Global Positioning* +- For this test instruction + - *Alignment Decomposition* + @@ -168,4 +179,21 @@ Considering the aim of this test, other **optional** results, not subject to the | --------------- | -------------------- | ------- | ------- | ------------ | -------------- | | IfcSite | | 1 | 1 | IfcAlignment | Road alignment | +### Project global positioning + +
Click to expand +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. + +| Element | Attribute | Value | Comment | +| ---------------- | ---------------- | --------- | ------- | +| IfcMapConversion | Eastings | 24474600 | | +| IfcMapConversion | Northings | 6655000 | | +| IfcMapConversion | OrthogonalHeight | 0 | | +| IfcMapConversion | XAxisAbscissa | 1 | | +| IfcMapConversion | XAxisOrdinate | 0 | | +| IfcMapConversion | Scale | 1 | | +| IfcProjectedCRS | Name | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | VerticalDatum | EPSG:3900 | | +
From b598dc5b2fc2df87b3d75e47c7dd9683c6be27f5 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 22 Feb 2022 10:06:34 +0100 Subject: [PATCH 14/37] Introduced global positioning parameters --- .../ALIN04/Dataset/AlignmentParameters.xlsx | Bin 13723 -> 0 bytes .../Dataset/HorizontalAlignmentParameters.csv | 32 +++---- E1a-ARSE/ALIN04/Dataset/README.md | 82 +++++++++--------- .../Dataset/VerticalAlignmentParameters.csv | 36 ++++---- E1a-ARSE/ALIN04/README.md | 80 +++++++++++------ 5 files changed, 129 insertions(+), 101 deletions(-) delete mode 100644 E1a-ARSE/ALIN04/Dataset/AlignmentParameters.xlsx diff --git a/E1a-ARSE/ALIN04/Dataset/AlignmentParameters.xlsx b/E1a-ARSE/ALIN04/Dataset/AlignmentParameters.xlsx deleted file mode 100644 index babcb95a06d7ec55e3b498de77221648fef4e84c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13723 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 diff --git a/E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv index 577e25c..aaa4a23 100644 --- a/E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN04/Dataset/HorizontalAlignmentParameters.csv @@ -1,16 +1,16 @@ -StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type -24474600.283;6654918.750;0.7121999;;;193.423;.LINE. -24474746.690;6655045.152;0.7121999;0.0;200.0;63.845;.CLOTHOID. -24474792.678;6655089.336;0.8718124;200.0;200.0;34.421;.CIRCULARARC. -24474812.455;6655117.455;1.0439153;200.0;0.0;63.845;.CLOTHOID. -24474838.485;6655175.674;1.2035278;;;21.347;.LINE. -24474846.150;6655195.597;1.2035278;0.0;-200.0;63.845;.CLOTHOID. -24474872.181;6655253.815;1.0439153;-200.0;-200.0;85.355;.CIRCULARARC. -24474929.317;6655316.355;0.6171368;-200.0;0.0;63.845;.CLOTHOID. -24474984.952;6655347.527;0.4575243;;;192.323;.LINE. -24475157.495;6655432.482;0.4575243;200.0;200.0;82.814;.CIRCULARARC. -24475222.220;6655483.191;0.8715950;-200.0;-200.0;100.119;.CIRCULARARC. -24475302.782;6655540.862;0.3710006;;;58.660;.LINE. -24475357.451;6655562.129;0.3710006;-200.0;-200.0;115.441;.CIRCULARARC. -24475470.910;6655571.499;6.0769809;200.0;200.0;102.335;.CIRCULARARC. -24475572.007;6655576.521;0.3054710;;;28.790;.LINE. +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;0,28371400013566;18,7504709996283;0,712199895871347;0;0;193,4232;LINE +H2;IfcAlignmentHorizontalSegment;146,690777998418;145,152630999684;0,712199906334298;0;200;63,845;CLOTHOID +H3;IfcAlignmentHorizontalSegment;192,677965000272;189,335668999702;0,871812399176709;200;200;34,420584;CIRCULARARC +H4;IfcAlignmentHorizontalSegment;212,454617001116;217,455753999762;1,04391527787276;200;0;63,845;CLOTHOID +H5;IfcAlignmentHorizontalSegment;238,485470999032;275,673937000334;1,20352784295313;0;0;21,346852;LINE +H6;IfcAlignmentHorizontalSegment;246,150430001318;295,597202000208;1,20352781983867;0;-200;63,845;CLOTHOID +H7;IfcAlignmentHorizontalSegment;272,181283999234;353,815386000089;1,04391531991188;-200;-200;85,355704;CIRCULARARC +H8;IfcAlignmentHorizontalSegment;329,316711999476;416,355174000375;0,617136818616182;-200;0;63,845;CLOTHOID +H9;IfcAlignmentHorizontalSegment;384,951684001833;447,527471999638;0,457524298045646;0;0;192,323738;LINE +H10;IfcAlignmentHorizontalSegment;557,494701001793;532,482327000238;0,457524292762515;200;200;82,814142;CIRCULARARC +H11;IfcAlignmentHorizontalSegment;622,220316998661;583,19077100046;0,871595018418373;-200;-200;100,11889;CIRCULARARC +H12;IfcAlignmentHorizontalSegment;702,781991001219;640,86246099975;0,37100055838095;0;0;58,659577;LINE +H13;IfcAlignmentHorizontalSegment;757,450667001307;662,129378999583;0,371000555025985;-200;-200;115,440984;CIRCULARARC +H14;IfcAlignmentHorizontalSegment;870,909519001842;671,499387999997;6,07698093924176;200;200;102,335082;CIRCULARARC +H15;IfcAlignmentHorizontalSegment;972,007240001112;676,521331000142;0,305471032863846;0;0;28,790227;LINE diff --git a/E1a-ARSE/ALIN04/Dataset/README.md b/E1a-ARSE/ALIN04/Dataset/README.md index e8f9537..b62b879 100644 --- a/E1a-ARSE/ALIN04/Dataset/README.md +++ b/E1a-ARSE/ALIN04/Dataset/README.md @@ -39,45 +39,45 @@ Alignment: Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type | -| ---- | ----------------------------- | ------------ | ----------- | -------------- | ----------- | --------- | ------- | ------------- | -| H1 | IfcAlignmentHorizontalSegment | 24474600.283 | 6654918.750 | 0.7121999 | | | 193.423 | .LINE. | -| H2 | IfcAlignmentHorizontalSegment | 24474746.690 | 6655045.152 | 0.7121999 | 0.0 | 200.0 | 63.845 | .CLOTHOID. | -| H3 | IfcAlignmentHorizontalSegment | 24474792.678 | 6655089.336 | 0.8718124 | 200.0 | 200.0 | 34.421 | .CIRCULARARC. | -| H4 | IfcAlignmentHorizontalSegment | 24474812.455 | 6655117.455 | 1.0439153 | 200.0 | 0.0 | 63.845 | .CLOTHOID. | -| H5 | IfcAlignmentHorizontalSegment | 24474838.485 | 6655175.674 | 1.2035278 | | | 21.347 | .LINE. | -| H6 | IfcAlignmentHorizontalSegment | 24474846.150 | 6655195.597 | 1.2035278 | 0.0 | -200.0 | 63.845 | .CLOTHOID. | -| H7 | IfcAlignmentHorizontalSegment | 24474872.181 | 6655253.815 | 1.0439153 | -200.0 | -200.0 | 85.355 | .CIRCULARARC. | -| H8 | IfcAlignmentHorizontalSegment | 24474929.317 | 6655316.355 | 0.6171368 | -200.0 | 0.0 | 63.845 | .CLOTHOID. | -| H9 | IfcAlignmentHorizontalSegment | 24474984.952 | 6655347.527 | 0.4575243 | | | 192.323 | .LINE. | -| H10 | IfcAlignmentHorizontalSegment | 24475157.495 | 6655432.482 | 0.4575243 | 200.0 | 200.0 | 82.814 | .CIRCULARARC. | -| H11 | IfcAlignmentHorizontalSegment | 24475222.220 | 6655483.191 | 0.8715950 | -200.0 | -200.0 | 100.119 | .CIRCULARARC. | -| H12 | IfcAlignmentHorizontalSegment | 24475302.782 | 6655540.862 | 0.3710006 | | | 58.660 | .LINE. | -| H13 | IfcAlignmentHorizontalSegment | 24475357.451 | 6655562.129 | 0.3710006 | -200.0 | -200.0 | 115.441 | .CIRCULARARC. | -| H14 | IfcAlignmentHorizontalSegment | 24475470.910 | 6655571.499 | 6.0769809 | 200.0 | 200.0 | 102.335 | .CIRCULARARC. | -| H15 | IfcAlignmentHorizontalSegment | 24475572.007 | 6655576.521 | 0.3054710 | | | 28.790 | .LINE. | +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | +| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | +| H1 | IfcAlignmentHorizontalSegment | 0,283714 | 18,750471 | 0,712199896 | 0 | 0 | 193,4232 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 146,690778 | 145,152631 | 0,712199906 | 0 | 200 | 63,845 | CLOTHOID | +| H3 | IfcAlignmentHorizontalSegment | 192,677965 | 189,335669 | 0,871812399 | 200 | 200 | 34,420584 | CIRCULARARC | +| H4 | IfcAlignmentHorizontalSegment | 212,454617 | 217,455754 | 1,043915278 | 200 | 0 | 63,845 | CLOTHOID | +| H5 | IfcAlignmentHorizontalSegment | 238,485471 | 275,673937 | 1,203527843 | 0 | 0 | 21,346852 | LINE | +| H6 | IfcAlignmentHorizontalSegment | 246,15043 | 295,597202 | 1,20352782 | 0 | -200 | 63,845 | CLOTHOID | +| H7 | IfcAlignmentHorizontalSegment | 272,181284 | 353,815386 | 1,04391532 | -200 | -200 | 85,355704 | CIRCULARARC | +| H8 | IfcAlignmentHorizontalSegment | 329,316712 | 416,355174 | 0,617136819 | -200 | 0 | 63,845 | CLOTHOID | +| H9 | IfcAlignmentHorizontalSegment | 384,951684 | 447,527472 | 0,457524298 | 0 | 0 | 192,323738 | LINE | +| H10 | IfcAlignmentHorizontalSegment | 557,494701 | 532,482327 | 0,457524293 | 200 | 200 | 82,814142 | CIRCULARARC | +| H11 | IfcAlignmentHorizontalSegment | 622,220317 | 583,190771 | 0,871595018 | -200 | -200 | 100,11889 | CIRCULARARC | +| H12 | IfcAlignmentHorizontalSegment | 702,781991 | 640,862461 | 0,371000558 | 0 | 0 | 58,659577 | LINE | +| H13 | IfcAlignmentHorizontalSegment | 757,450667 | 662,129379 | 0,371000555 | -200 | -200 | 115,440984 | CIRCULARARC | +| H14 | IfcAlignmentHorizontalSegment | 870,909519 | 671,499388 | 6,076980939 | 200 | 200 | 102,335082 | CIRCULARARC | +| H15 | IfcAlignmentHorizontalSegment | 972,00724 | 676,521331 | 0,305471033 | 0 | 0 | 28,790227 | LINE | Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------- | ------------------ | -| V1 | IfcAlignmentVerticalSegment | 0.0 | 67.967 | 43.475 | -0.0077341 | -0.0077341 | | .CONSTANTGRADIENT. | -| V2 | IfcAlignmentVerticalSegment | 67.967 | 25.560 | 42.950 | -0.0077341 | -0.0933380 | -300.0 | .CIRCULARARC. | -| V3 | IfcAlignmentVerticalSegment | 93.527 | 20.399 | 41.660 | -0.0933380 | -0.0933380 | | .CONSTANTGRADIENT. | -| V4 | IfcAlignmentVerticalSegment | 113.925 | 21.684 | 39.756 | -0.0933380 | -0.0206578 | 300.0 | .CIRCULARARC. | -| V5 | IfcAlignmentVerticalSegment | 135.609 | 68.626 | 38.522 | -0.0206578 | -0.0206578 | | .CONSTANTGRADIENT. | -| V6 | IfcAlignmentVerticalSegment | 204.235 | 56.932 | 37.104 | -0.0206578 | 0.0078128 | 2000.0 | .CIRCULARARC. | -| V7 | IfcAlignmentVerticalSegment | 261.167 | 46.450 | 36.739 | 0.0078128 | 0.0078128 | | .CONSTANTGRADIENT. | -| V8 | IfcAlignmentVerticalSegment | 307.617 | 101.901 | 37.102 | 0.0078128 | 0.0486302 | 2500.0 | .CIRCULARARC. | -| V9 | IfcAlignmentVerticalSegment | 409.517 | 30.592 | 39.976 | 0.0486302 | 0.0486302 | | .CONSTANTGRADIENT. | -| V10 | IfcAlignmentVerticalSegment | 440.109 | 64.029 | 41.464 | 0.0486302 | -0.0154579 | -1000.0 | .CIRCULARARC. | -| V11 | IfcAlignmentVerticalSegment | 504.138 | 203.572 | 42.525 | -0.0154579 | -0.0154579 | | .CONSTANTGRADIENT. | -| V12 | IfcAlignmentVerticalSegment | 707.709 | 55.848 | 39.378 | -0.0154579 | -0.0714863 | -1000.0 | .CIRCULARARC. | -| V13 | IfcAlignmentVerticalSegment | 763.558 | 76.625 | 36.952 | -0.0714863 | 0.0053208 | 1000.0 | .CIRCULARARC. | -| V14 | IfcAlignmentVerticalSegment | 840.183 | 152.345 | 34.421 | 0.0053208 | 0.0053208 | | .CONSTANTGRADIENT. | -| V15 | IfcAlignmentVerticalSegment | 992.528 | 36.817 | 35.232 | 0.0053208 | 0.0237361 | 2000.0 | .CIRCULARARC. | -| V16 | IfcAlignmentVerticalSegment | 1029.345 | 52.563 | 35.766 | 0.0237361 | -0.0288451 | -1000.0 | .CIRCULARARC. | -| V17 | IfcAlignmentVerticalSegment | 1081.907 | 188.502 | 35.632 | -0.0288451 | -0.0288451 | | .CONSTANTGRADIENT. | +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | +| V1 | IfcAlignmentVerticalSegment | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | CONSTANTGRADIENT | +| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,007734105 | -300 | CIRCULARARC | +| V3 | IfcAlignmentVerticalSegment | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | CONSTANTGRADIENT | +| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,093338018 | 300 | CIRCULARARC | +| V5 | IfcAlignmentVerticalSegment | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | CONSTANTGRADIENT | +| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | -0,020657799 | 2000 | CIRCULARARC | +| V7 | IfcAlignmentVerticalSegment | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | CONSTANTGRADIENT | +| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,007812811 | 2500 | CIRCULARARC | +| V9 | IfcAlignmentVerticalSegment | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | CONSTANTGRADIENT | +| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | 0,048630199 | -1000 | CIRCULARARC | +| V11 | IfcAlignmentVerticalSegment | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | CONSTANTGRADIENT | +| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,01545787 | -1000 | CIRCULARARC | +| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | -0,071486276 | 1000 | CIRCULARARC | +| V14 | IfcAlignmentVerticalSegment | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | CONSTANTGRADIENT | +| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,005320833 | 2000 | CIRCULARARC | +| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | 0,023736122 | -1000 | CIRCULARARC | +| V17 | IfcAlignmentVerticalSegment | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) @@ -91,8 +91,8 @@ The following Drawings and visualisations describe the test case dataset to be m ## Supporting files -| Filename | Description | -| ------------------------------------------------------------ | -------------------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [AlignmentParameters](./AlignmentParameters.xlsx) | Parameters for horizontal and vertical segments as excel | \ No newline at end of file +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv index 11ddfd8..8e9d0b2 100644 --- a/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv @@ -1,18 +1,18 @@ -StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type -0.0;67.967;43.475;-0.0077341;-0.0077341;;.CONSTANTGRADIENT. -67.967;25.560;42.950;-0.0077341;-0.0933380;-300.0;.CIRCULARARC. -93.527;20.399;41.660;-0.0933380;-0.0933380;;.CONSTANTGRADIENT. -113.925;21.684;39.756;-0.0933380;-0.0206578;300.0;.CIRCULARARC. -135.609;68.626;38.522;-0.0206578;-0.0206578;;.CONSTANTGRADIENT. -204.235;56.932;37.104;-0.0206578;0.0078128;2000.0;.CIRCULARARC. -261.167;46.450;36.739;0.0078128;0.0078128;;.CONSTANTGRADIENT. -307.617;101.901;37.102;0.0078128;0.0486302;2500.0;.CIRCULARARC. -409.517;30.592;39.976;0.0486302;0.0486302;;.CONSTANTGRADIENT. -440.109;64.029;41.464;0.0486302;-0.0154579;-1000.0;.CIRCULARARC. -504.138;203.572;42.525;-0.0154579;-0.0154579;;.CONSTANTGRADIENT. -707.709;55.848;39.378;-0.0154579;-0.0714863;-1000.0;.CIRCULARARC. -763.558;76.625;36.952;-0.0714863;0.0053208;1000.0;.CIRCULARARC. -840.183;152.345;34.421;0.0053208;0.0053208;;.CONSTANTGRADIENT. -992.528;36.817;35.232;0.0053208;0.0237361;2000.0;.CIRCULARARC. -1029.345;52.563;35.766;0.0237361;-0.0288451;-1000.0;.CIRCULARARC. -1081.907;188.502;35.632;-0.0288451;-0.0288451;;.CONSTANTGRADIENT. +Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +V1;IfcAlignmentVerticalSegment;0;67,9666275938242;43,475329;-0,00773410503537014;-0,00773410503537014;0;CONSTANTGRADIENT +V2;IfcAlignmentVerticalSegment;67,9666275938242;25,56006049186;42,9496679632888;-0,00773410503537014;-0,00773410503537014;-300;CIRCULARARC +V3;IfcAlignmentVerticalSegment;93,5266880856841;20,3985317664884;41,6603192684821;-0,0933380176556316;-0,0933380176556316;0;CONSTANTGRADIENT +V4;IfcAlignmentVerticalSegment;113,925219852173;21,6842049028376;39,7563607503138;-0,0933380176556316;-0,0933380176556316;300;CIRCULARARC +V5;IfcAlignmentVerticalSegment;135,60942475501;68,6257430776865;38,5220312181138;-0,0206577987550277;-0,0206577987550277;0;CONSTANTGRADIENT +V6;IfcAlignmentVerticalSegment;204,235167832697;56,9319301335483;37,1043744281956;-0,0206577987550277;-0,0206577987550277;2000;CIRCULARARC +V7;IfcAlignmentVerticalSegment;261,167097966245;46,449675607139;36,7388035371268;0,00781281114018211;0,00781281114018211;0;CONSTANTGRADIENT +V8;IfcAlignmentVerticalSegment;307,616773573384;101,90056287711;37,101706080191;0,00781281114018211;0,00781281114018211;2500;CIRCULARARC +V9;IfcAlignmentVerticalSegment;409,517336450494;30,5916549869268;39,9762969622553;0,0486301987513986;0,0486301987513986;0;CONSTANTGRADIENT +V10;IfcAlignmentVerticalSegment;440,108991437421;64,0288214133387;41,4639752243932;0,0486301987513986;0,0486301987513986;-1000;CIRCULARARC +V11;IfcAlignmentVerticalSegment;504,13781285076;203,571683667725;42,5248787225931;-0,0154578700237117;-0,0154578700237117;0;CONSTANTGRADIENT +V12;IfcAlignmentVerticalSegment;707,709496518485;55,8482922569574;39,3780940959472;-0,0154578700237117;-0,0154578700237117;-1000;CIRCULARARC +V13;IfcAlignmentVerticalSegment;763,557781493212;76,6250733893689;36,9521538451958;-0,0714862764285531;-0,0714862764285531;1000;CIRCULARARC +V14;IfcAlignmentVerticalSegment;840,182854882581;152,344654262115;34,4209169381877;0,00532083289209283;0,00532083289209283;0;CONSTANTGRADIENT +V15;IfcAlignmentVerticalSegment;992,527509144696;36,8173619984802;35,2315173854975;0,00532083289209283;0,00532083289209283;2000;CIRCULARARC +V16;IfcAlignmentVerticalSegment;1029,34487722718;52,5625639402238;35,7663724122683;0,0237361222562795;0,0237361222562795;-1000;CIRCULARARC +V17;IfcAlignmentVerticalSegment;1081,90744116741;188,501540832592;35,6321941963812;-0,0288451180418207;-0,0288451180418207;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md index 7d85aca..324da11 100644 --- a/E1a-ARSE/ALIN04/README.md +++ b/E1a-ARSE/ALIN04/README.md @@ -33,28 +33,28 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment - -- Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* - - IfcCompositeCurve - - IfcGradientCurve - - IfcCurveSegment - - IfcLine - - IfcClothoid - - IfcCircle - +- Inherited from imported tests + - Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment +- For this test instruction + - Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - *IfcCompositeCurve* + - *IfcGradientCurve* + - *IfcCurveSegment* + - *IfcLine* + - *IfcClothoid* + - *IfcCircle* @@ -62,10 +62,20 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Decomposition* -- *Alignment Geometry Gradient* -- *Project Global Positioning* -- *Spatial Containment* +- Inherited from imported tests: + - *Project Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Project Global Positioning* +- For this test instruction + - *Alignment Decomposition* + - *Alignment Geometry Gradient* + - *Project Global Positioning* + - *Spatial containment* + @@ -194,4 +204,22 @@ Considering the aim of this test, other **optional** results, not subject to the | --------------- | -------------------- | ------- | ------- | ------------ | -------------- | | IfcSite | | 1 | 1 | IfcAlignment | Road alignment | +### Project global positioning + +
Click to expand +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. + + +| Element | Attribute | Value | Comment | +| ---------------- | ---------------- | --------- | ------- | +| IfcMapConversion | Eastings | 24474600 | | +| IfcMapConversion | Northings | 6655000 | | +| IfcMapConversion | OrthogonalHeight | 0 | | +| IfcMapConversion | XAxisAbscissa | 1 | | +| IfcMapConversion | XAxisOrdinate | 0 | | +| IfcMapConversion | Scale | 1 | | +| IfcProjectedCRS | Name | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | VerticalDatum | EPSG:3900 | | +
From e7f947af5fe041422bdbd31c4cfc605f671d098d Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 22 Feb 2022 14:04:08 +0100 Subject: [PATCH 15/37] Updated ALIN03 Used datasets from ALIN06 --- .../Dataset/AlignmentHorizontalParameters.csv | 8 + .../Dataset/AlignmentVerticalParameters.csv | 12 + E1a-ARSE/ALIN03/Dataset/README.md | 90 ++++--- E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.XML | 70 ++++++ E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.ifc | 220 ++++++++++++++++++ E1a-ARSE/ALIN03/README.md | 160 +++++++------ E1a-ARSE/ALIN06/README.md | 20 +- 7 files changed, 472 insertions(+), 108 deletions(-) create mode 100644 E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv create mode 100644 E1a-ARSE/ALIN03/Dataset/AlignmentVerticalParameters.csv create mode 100644 E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.XML create mode 100644 E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.ifc diff --git a/E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv b/E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv new file mode 100644 index 0000000..24c39d8 --- /dev/null +++ b/E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv @@ -0,0 +1,8 @@ +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;24525276,867419;6876935,549267;0,00172462248684613;0;0;229,405681;LINE +H2;IfcAlignmentHorizontalSegment;24525506,272759;6876935,944905;0,00172462964706543;-110;-110;15,594208;CIRCULARARC +H3;IfcAlignmentHorizontalSegment;24525521,816666;6876934,8682;6,14314439461041;0;0;91,725737;LINE +H4;IfcAlignmentHorizontalSegment;24525612,644434;6876922,064789;6,14314439896281;-110;-110;120,80482;CIRCULARARC +H5;IfcAlignmentHorizontalSegment;24525701,264387;6876849,049537;5,04491873079937;0;0;25,538554;LINE +H6;IfcAlignmentHorizontalSegment;24525709,601071;6876824,909996;5,04491876114541;110;110;49,633636;CIRCULARARC +H7;IfcAlignmentHorizontalSegment;24525735,66497;6876783,164849;5,49613363003069;0;0;83,739856;LINE diff --git a/E1a-ARSE/ALIN03/Dataset/AlignmentVerticalParameters.csv b/E1a-ARSE/ALIN03/Dataset/AlignmentVerticalParameters.csv new file mode 100644 index 0000000..752814a --- /dev/null +++ b/E1a-ARSE/ALIN03/Dataset/AlignmentVerticalParameters.csv @@ -0,0 +1,12 @@ +Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +V1;IfcAlignmentVerticalSegment;135,557;10,8424694551669;125,687614;0,0341613100938614;0,0341613100938614;0;CONSTANTGRADIENT +V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0341613100938614;-1300;CIRCULARARC +V3;IfcAlignmentVerticalSegment;164,511752065819;40,8330580844944;126,550404440385;0,0202129972966548;0,0202129972966548;0;CONSTANTGRADIENT +V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;0,0202129972966548;-1300;CIRCULARARC +V5;IfcAlignmentVerticalSegment;244,378491480952;50,1760735190479;127,578604224343;-0,00981751240776929;-0,00981751240776929;0;CONSTANTGRADIENT +V6;IfcAlignmentVerticalSegment;294,554565;11,522986;127,086;0;0;0;CONSTANTGRADIENT +V7;IfcAlignmentVerticalSegment;306,077551;192,512689171019;127,086;-0,00352981070589252;-0,00352981070589252;0;CONSTANTGRADIENT +V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,00352981070589252;-5000;CIRCULARARC +V9;IfcAlignmentVerticalSegment;513,865529814159;78,3592658459091;126,329213578221;-0,0065849894096037;-0,0065849894096037;0;CONSTANTGRADIENT +V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;-0,0065849894096037;1300;CIRCULARARC +V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN03/Dataset/README.md b/E1a-ARSE/ALIN03/Dataset/README.md index d49f555..86fd052 100644 --- a/E1a-ARSE/ALIN03/Dataset/README.md +++ b/E1a-ARSE/ALIN03/Dataset/README.md @@ -1,45 +1,75 @@ ## Variations The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: -- Entity_01 - *decription of variation* -- Entity_02 - *decription of variation* +- IfcAlignmentHorizontalSegment - *The test shall include linear and circular arc segments* +- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* +- Alignment Decomposition: + - The horizontal alignment shall be decomposed with element sequences containing lines and both clockwise and counter-clockwise turns + - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns -***=>What other elements occur for roads?*** +## Model Dataset +- - This test case utilises the following dataset: + - One alignment layout including geometric representation + - The alignment is composed of one horizontal alignment layout and one vertical alignment layout + - The horizontal layout contains lines and circular arcs + + - The vertical layout contains lines and circular arcs + + +The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : -## Model Dataset -This test case utilises the attached dataset documented by the following drawings and data schedule. - -"Synopsis": - -- IfcAlignment => IfcPolyline (Axis,Curve3D)? - - IfcAlignmentHorizontal => IfcCompositeCurve (Axis,Curve2D) - - Line - - Clothoid (to left) - - Circular arc (left) - - Clothoid (to straight) - - Line - - Clothoid (to right) - - Circular arc (right) - - Clothoid (to straight) - - Line - - IfcAlignmentVertical => IfcGradientCurve (Axis,Curve3D) - - Line (up) - - Parabolic arc/Circular arc - - Line (down) - - Parabolic arc/Circular arc - - Line (up) - -*This is a later step tha involved the detailed documentation of the certification dataset (model)* +Alignment: + +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | +| A1 | IfcAlignment | IfcLocalPlacement | IfcPolyline
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | +| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | | +| AV1 | IfcAlignmentVertical | IfcLocalPlacement | | + +Horizontal segments nested into AH1 in the following order: +| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | +| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | +| H1 | IfcAlignmentHorizontalSegment | 24525276,87 | 6876935,549 | 0,001724622 | 0 | 0 | 229,405681 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 24525506,27 | 6876935,945 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | +| H3 | IfcAlignmentHorizontalSegment | 24525521,82 | 6876934,868 | 6,143144395 | 0 | 0 | 91,725737 | LINE | +| H4 | IfcAlignmentHorizontalSegment | 24525612,64 | 6876922,065 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | +| H5 | IfcAlignmentHorizontalSegment | 24525701,26 | 6876849,05 | 5,044918731 | 0 | 0 | 25,538554 | LINE | +| H6 | IfcAlignmentHorizontalSegment | 24525709,6 | 6876824,91 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | +| H7 | IfcAlignmentHorizontalSegment | 24525735,66 | 6876783,165 | 5,49613363 | 0 | 0 | 83,739856 | LINE | + +Vertical segments nested into AV1 in the following order: + +| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | +| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | +| V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | +| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,03416131 | -1300 | CIRCULARARC | +| V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | +| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | 0,020212997 | -1300 | CIRCULARARC | +| V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | +| V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | +| V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | +| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,003529811 | -5000 | CIRCULARARC | +| V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | +| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | -0,006584989 | 1300 | CIRCULARARC | +| V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) + The following Drawings and visualisations describe the test case dataset to be modelled and certified. +| Filename | Description | +| ------------------- | -------------------------------------------- | +| Insert map here | Planar view of the horizontal alignment | +| Insert profile here | Long section (profile) view of the alignment | + ## Supporting files -| Filename | Description | -|-----------------------------------|-------------------------------------------| -| *filename* | *short description* | \ No newline at end of file +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./TOI-M14334-0000A.xml) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.XML b/E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.XML new file mode 100644 index 0000000..f63a694 --- /dev/null +++ b/E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.XML @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 6876935.549267 24525276.867419 0.000000 + 6876935.944905 24525506.272759 0.000000 + + + 6876935.944905 24525506.272759 + 6876934.868200 24525521.816666 +
6876825.945068 24525506.462467
+
+ + 6876934.868200 24525521.816666 0.000000 + 6876922.064789 24525612.644434 0.000000 + + + 6876922.064789 24525612.644434 + 6876849.049537 24525701.264387 +
6876813.141658 24525597.290235
+
+ + 6876849.049537 24525701.264387 0.000000 + 6876824.909996 24525709.601071 0.000000 + + + 6876824.909996 24525709.601071 + 6876783.164849 24525735.664970 +
6876860.817875 24525813.575223
+
+ + 6876783.164849 24525735.664970 0.000000 + 6876723.854000 24525794.780000 0.000000 + +
+ + + 135.557000 125.687614 + 155.453895 126.367318 + 224.860128 127.770226 + 294.554565 127.086000 + 306.077551 127.086000 + 506.227944 126.379507 + 597.429913 125.778943 + 616.442493 125.806000 + + +
+
+
diff --git a/E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.ifc b/E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.ifc new file mode 100644 index 0000000..ce4b25c --- /dev/null +++ b/E1a-ARSE/ALIN03/Dataset/TOI-M14334-0000A.ifc @@ -0,0 +1,220 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('ViewDefinition [Ifc4NotAssigned]'),'2;1'); +FILE_NAME( +/* name */ 'C:\\Users\\lars\\Documents\\Projekt\\IFCInfra\\MVD-Infra-Test-Instructions\\E1a-ARSE\\ALIN06\\Dataset\\TOI-M14334-0000A.ifc', +/* time_stamp */ '2022-02-18T13:46:24', +/* author */ ('lars'), +/* organization */ ('Unknown'), +/* preprocessor_version */ 'ggIfcConverter v0.0.5.0 by Geometry Gym Pty Ltd built 2022-02-10T07:15:39', +/* originating_system */ 'ggIFCConverter v0.0.5.0 - Converter by Geometry Gym Pty Ltd', +/* authorization */ 'None'); + +FILE_SCHEMA (('IFC4X3_RC4')); +ENDSEC; + +DATA; +#1= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#2= IFCDIRECTION((1.0,0.0,0.0)); +#3= IFCDIRECTION((0.0,1.0,0.0)); +#4= IFCDIRECTION((0.0,0.0,1.0)); +#5= IFCAXIS2PLACEMENT3D(#1,$,$); +#6= IFCCARTESIANPOINT((0.0,0.0)); +#7= IFCAXIS2PLACEMENT2D(#6,$); +#8= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#9= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#10= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#11= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#12= IFCUNITASSIGNMENT((#8,#11)); +#13= IFCPROJECT('1OEWBMD50yGJCMfbHiMaxa',$,'Toivolan_tasoristeyssuunnitelma','Toivolan_tasoristeyssuunnitelma',$,$,$,(#56),#12); +#14= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#15= IFCAXIS2PLACEMENT3D(#14,$,$); +#16= IFCLOCALPLACEMENT($,#15); +#17= IFCSITE('0fC4Q0ghjshYWRNlyJlyL6',$,'Toivolan_tasoristeyssuunnitelma',$,$,#16,$,$,$,$,$,$,$,$); +#18= IFCRELAGGREGATES('3nli4xTQXW59Tz5QkTJN3h',$,$,$,#13,(#17)); +#19= IFCLOCALPLACEMENT(#16,#5); +#20= IFCALIGNMENT('1MZ$_ugNawDiLW6OHixSD9',$,'Sammalniementie_u',$,$,#19,#197,$); +#21= IFCRELCONTAINEDINSPATIALSTRUCTURE('2d7LGjg5j8deye8rBGu_pT',$,'Site','Site Container for Elements',(#20),#17); +#22= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#23= IFCAXIS2PLACEMENT3D(#22,#4,#2); +#25= IFCALIGNMENTHORIZONTAL('1ck1ztc5NTxKcmM$6H$rwZ',$,$,$,$,#19,#98); +#26= IFCRELNESTS('2Qr6YhEtzBeeELe82FHdbs',$,$,$,#20,(#25,#110)); +#27= IFCCARTESIANPOINT((24525276.867419,6876935.549267)); +#28= IFCALIGNMENTHORIZONTALSEGMENT($,$,#27,0.00172462248684613,0.0,0.0,229.405681,$,.LINE.); +#29= IFCALIGNMENTSEGMENT('3hZ8l87U1Q8BI_$y_2nj$z',$,$,$,$,#19,#62,#28); +#30= IFCRELNESTS('3i$XYZYN91owg1IkJG3pGm',$,$,$,#25,(#29,#33,#36,#39,#42,#45,#48)); +#31= IFCCARTESIANPOINT((24525506.272759,6876935.944905)); +#32= IFCALIGNMENTHORIZONTALSEGMENT($,$,#31,0.00172462964706543,-110.0,-110.0,15.594208,$,.CIRCULARARC.); +#33= IFCALIGNMENTSEGMENT('3tOKSRAS5$p_$XokyCfvbo',$,$,$,$,#19,#68,#32); +#34= IFCCARTESIANPOINT((24525521.816666,6876934.8682)); +#35= IFCALIGNMENTHORIZONTALSEGMENT($,$,#34,6.14314439461041,0.0,0.0,91.725737,$,.LINE.); +#36= IFCALIGNMENTSEGMENT('3MWD2DeWHQ8QevjrZg99YR',$,$,$,$,#19,#73,#35); +#37= IFCCARTESIANPOINT((24525612.644434,6876922.064789)); +#38= IFCALIGNMENTHORIZONTALSEGMENT($,$,#37,6.14314439896281,-110.0,-110.0,120.80482,$,.CIRCULARARC.); +#39= IFCALIGNMENTSEGMENT('260dLIlSB8SrmmNwWvQa3d',$,$,$,$,#19,#79,#38); +#40= IFCCARTESIANPOINT((24525701.264387,6876849.049537)); +#41= IFCALIGNMENTHORIZONTALSEGMENT($,$,#40,5.04491873079937,0.0,0.0,25.538554,$,.LINE.); +#42= IFCALIGNMENTSEGMENT('09$rVBiaRE6xbncNrNsbYP',$,$,$,$,#19,#84,#41); +#43= IFCCARTESIANPOINT((24525709.601071,6876824.909996)); +#44= IFCALIGNMENTHORIZONTALSEGMENT($,$,#43,5.04491876114541,110.0,110.0,49.633636,$,.CIRCULARARC.); +#45= IFCALIGNMENTSEGMENT('0gRR1YO7HbZ_XxQmRDcf3R',$,$,$,$,#19,#90,#44); +#46= IFCCARTESIANPOINT((24525735.66497,6876783.164849)); +#47= IFCALIGNMENTHORIZONTALSEGMENT($,$,#46,5.49613363003069,0.0,0.0,83.739856,$,.LINE.); +#48= IFCALIGNMENTSEGMENT('3VXcUYLknohuCoYzWkCCrX',$,$,$,$,#19,#95,#47); +#49= IFCAXIS2PLACEMENT2D(#27,#50); +#50= IFCDIRECTION((0.99999851,0.00172462)); +#51= IFCCARTESIANPOINT((0.0,0.0)); +#52= IFCDIRECTION((1.0,0.0)); +#53= IFCVECTOR(#52,1.0); +#54= IFCLINE(#51,#53); +#55= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#49,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(229.405681),#54); +#56= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.00001,#58,#59); +#57= IFCCARTESIANPOINT((0.0,0.0,0.0)); +#58= IFCAXIS2PLACEMENT3D(#57,$,$); +#59= IFCDIRECTION((0.0,1.0)); +#60= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#56,$,.GRAPH_VIEW.,$); +#61= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#55)); +#62= IFCPRODUCTDEFINITIONSHAPE($,$,(#61)); +#63= IFCAXIS2PLACEMENT2D(#31,#64); +#64= IFCDIRECTION((0.99999851,0.00172463)); +#65= IFCCIRCLE(#7,110.0); +#66= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#63,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.141765527272727),#65); +#67= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#66)); +#68= IFCPRODUCTDEFINITIONSHAPE($,$,(#67)); +#69= IFCAXIS2PLACEMENT2D(#34,#70); +#70= IFCDIRECTION((0.99021029,-0.13958363)); +#71= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#69,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(91.725737),#54); +#72= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#71)); +#73= IFCPRODUCTDEFINITIONSHAPE($,$,(#72)); +#74= IFCAXIS2PLACEMENT2D(#37,#75); +#75= IFCDIRECTION((0.99021029,-0.13958362)); +#76= IFCCIRCLE(#7,110.0); +#77= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#74,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-1.09822563636364),#76); +#78= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#77)); +#79= IFCPRODUCTDEFINITIONSHAPE($,$,(#78)); +#80= IFCAXIS2PLACEMENT2D(#40,#81); +#81= IFCDIRECTION((0.32643524,-0.94521957)); +#82= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#80,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(25.538554),#54); +#83= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#82)); +#84= IFCPRODUCTDEFINITIONSHAPE($,$,(#83)); +#85= IFCAXIS2PLACEMENT2D(#43,#86); +#86= IFCDIRECTION((0.32643527,-0.94521956)); +#87= IFCCIRCLE(#7,110.0); +#88= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#85,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(49.633636),#87); +#89= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#88)); +#90= IFCPRODUCTDEFINITIONSHAPE($,$,(#89)); +#91= IFCAXIS2PLACEMENT2D(#46,#92); +#92= IFCDIRECTION((0.7059366,-0.70827502)); +#93= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#91,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(83.739856),#54); +#94= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#93)); +#95= IFCPRODUCTDEFINITIONSHAPE($,$,(#94)); +#96= IFCCOMPOSITECURVE((#55,#66,#71,#77,#82,#88,#93),.U.); +#97= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#96)); +#98= IFCPRODUCTDEFINITIONSHAPE($,$,(#97)); +#99= IFCALIGNMENTVERTICALSEGMENT($,$,135.557,10.8424694551669,125.687614,0.0341613100938614,0.0341613100938614,$,.CONSTANTGRADIENT.); +#100= IFCALIGNMENTVERTICALSEGMENT($,$,146.399469455167,18.112282610652,126.05800696124,0.0341613100938614,0.0202129972966548,-1300.0,.CIRCULARARC.); +#101= IFCALIGNMENTVERTICALSEGMENT($,$,164.511752065819,40.8330580844944,126.550404440385,0.0202129972966548,0.0202129972966548,$,.CONSTANTGRADIENT.); +#102= IFCALIGNMENTVERTICALSEGMENT($,$,205.344810150313,39.033681330639,127.37576293306,0.0202129972966548,-0.00981751240776929,-1300.0,.CIRCULARARC.); +#103= IFCALIGNMENTVERTICALSEGMENT($,$,244.378491480952,50.1760735190479,127.578604224343,-0.00981751240776929,-0.00981751240776929,$,.CONSTANTGRADIENT.); +#104= IFCALIGNMENTVERTICALSEGMENT($,$,294.554565,11.522986,127.086,0.0,0.0,$,.CONSTANTGRADIENT.); +#105= IFCALIGNMENTVERTICALSEGMENT($,$,306.077551,192.512689171019,127.086,-0.00352981070589252,-0.00352981070589252,$,.CONSTANTGRADIENT.); +#106= IFCALIGNMENTVERTICALSEGMENT($,$,498.590240171019,15.2752896431409,126.406466648677,-0.00352981070589252,-0.0065849894096037,-5000.0,.CIRCULARARC.); +#107= IFCALIGNMENTVERTICALSEGMENT($,$,513.865529814159,78.3592658459091,126.329213578221,-0.0065849894096037,-0.0065849894096037,$,.CONSTANTGRADIENT.); +#108= IFCALIGNMENTVERTICALSEGMENT($,$,592.224795660069,10.4103422623946,125.813218642574,-0.0065849894096037,0.00142311038270447,1300.0,.CIRCULARARC.); +#109= IFCALIGNMENTVERTICALSEGMENT($,$,602.635137922463,13.8073550775368,125.786350609637,0.00142311038228749,0.00142311038228749,$,.CONSTANTGRADIENT.); +#110= IFCALIGNMENTVERTICAL('0ddJLdQIDCxQPle3A8jrLs',$,'Sammalniementie_u',$,$,#19,#195); +#111= IFCALIGNMENTSEGMENT('2gA7djODHC_xXIgPPzoY82',$,$,$,$,#19,#128,#99); +#112= IFCRELNESTS('1DZ_kkZob34vJO5FhOR8v0',$,$,$,#110,(#111,#113,#114,#115,#116,#117,#118,#119,#120,#121,#122)); +#113= IFCALIGNMENTSEGMENT('3VN7AVMVzA_hvweeeU0O3k',$,$,$,$,#19,#135,#100); +#114= IFCALIGNMENTSEGMENT('0Kp4hED2zAPfMpvgzW7ch1',$,$,$,$,#19,#141,#101); +#115= IFCALIGNMENTSEGMENT('2FkuepSxf5hwJ23i51BHsZ',$,$,$,$,#19,#148,#102); +#116= IFCALIGNMENTSEGMENT('1XPAkBHBLF$9aeTcrcNcTy',$,$,$,$,#19,#154,#103); +#117= IFCALIGNMENTSEGMENT('0R2$FQBtr3AOpdTIkDMGs6',$,$,$,$,#19,#160,#104); +#118= IFCALIGNMENTSEGMENT('2C21qLVkvBj8P$f2FUURr0',$,$,$,$,#19,#166,#105); +#119= IFCALIGNMENTSEGMENT('0kI5Vw8vH0I9llwt5OikKa',$,$,$,$,#19,#173,#106); +#120= IFCALIGNMENTSEGMENT('04SGZEGwnFsPtmf3BfW1fT',$,$,$,$,#19,#179,#107); +#121= IFCALIGNMENTSEGMENT('0$CKSTZez7cgM3mmkSQwii',$,$,$,$,#19,#186,#108); +#122= IFCALIGNMENTSEGMENT('3tHQKCgSX4DQDDVRkZ3PN3',$,$,$,$,#19,#192,#109); +#123= IFCCARTESIANPOINT((135.557,125.687614)); +#124= IFCDIRECTION((0.99941701,0.03414139)); +#125= IFCAXIS2PLACEMENT2D(#123,#124); +#126= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#125,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(10.8487941648814),#54); +#127= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#126)); +#128= IFCPRODUCTDEFINITIONSHAPE($,$,(#127)); +#129= IFCCARTESIANPOINT((146.399469,126.058007)); +#130= IFCDIRECTION((0.99941701,0.03414139)); +#131= IFCAXIS2PLACEMENT2D(#129,#130); +#132= IFCCIRCLE(#7,1300.0); +#133= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#131,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0139377855017958),#132); +#134= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#133)); +#135= IFCPRODUCTDEFINITIONSHAPE($,$,(#134)); +#136= IFCCARTESIANPOINT((164.511752,126.550404)); +#137= IFCDIRECTION((0.99979578,0.02020887)); +#138= IFCAXIS2PLACEMENT2D(#136,#137); +#139= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#138,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(40.8413987171488),#54); +#140= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#139)); +#141= IFCPRODUCTDEFINITIONSHAPE($,$,(#140)); +#142= IFCCARTESIANPOINT((205.34481,127.375763)); +#143= IFCDIRECTION((0.99979578,0.02020887)); +#144= IFCAXIS2PLACEMENT2D(#142,#143); +#145= IFCCIRCLE(#7,1300.0); +#146= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#144,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.0300274422055508),#145); +#147= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#146)); +#148= IFCPRODUCTDEFINITIONSHAPE($,$,(#147)); +#149= IFCCARTESIANPOINT((244.378491,127.578604)); +#150= IFCDIRECTION((0.99995181,-0.00981704)); +#151= IFCAXIS2PLACEMENT2D(#149,#150); +#152= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#151,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(50.1784915348274),#54); +#153= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#152)); +#154= IFCPRODUCTDEFINITIONSHAPE($,$,(#153)); +#155= IFCCARTESIANPOINT((294.554565,127.086)); +#156= IFCDIRECTION((1.0,0.0)); +#157= IFCAXIS2PLACEMENT2D(#155,#156); +#158= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#157,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(11.522986),#54); +#159= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#158)); +#160= IFCPRODUCTDEFINITIONSHAPE($,$,(#159)); +#161= IFCCARTESIANPOINT((306.077551,127.086)); +#162= IFCDIRECTION((0.99999377,-0.00352979)); +#163= IFCAXIS2PLACEMENT2D(#161,#162); +#164= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#163,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(192.513888479332),#54); +#165= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#164)); +#166= IFCPRODUCTDEFINITIONSHAPE($,$,(#165)); +#167= IFCCARTESIANPOINT((498.59024,126.406467)); +#168= IFCDIRECTION((0.99999377,-0.00352979)); +#169= IFCAXIS2PLACEMENT2D(#167,#168); +#170= IFCCIRCLE(#7,5000.0); +#171= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#169,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(-0.00305509818642019),#170); +#172= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#171)); +#173= IFCPRODUCTDEFINITIONSHAPE($,$,(#172)); +#174= IFCCARTESIANPOINT((513.86553,126.329214)); +#175= IFCDIRECTION((0.99997832,-0.00658485)); +#176= IFCAXIS2PLACEMENT2D(#174,#175); +#177= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#176,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(78.3609647380861),#54); +#178= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#177)); +#179= IFCPRODUCTDEFINITIONSHAPE($,$,(#178)); +#180= IFCCARTESIANPOINT((592.224796,125.813219)); +#181= IFCDIRECTION((0.99997832,-0.00658485)); +#182= IFCAXIS2PLACEMENT2D(#180,#181); +#183= IFCCIRCLE(#7,1300.0); +#184= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#182,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCPARAMETERVALUE(0.00800800365444606),#183); +#185= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#184)); +#186= IFCPRODUCTDEFINITIONSHAPE($,$,(#185)); +#187= IFCCARTESIANPOINT((602.635138,125.786351)); +#188= IFCDIRECTION((0.99999899,0.00142311)); +#189= IFCAXIS2PLACEMENT2D(#187,#188); +#190= IFCCURVESEGMENT(.CONTSAMEGRADIENTSAMECURVATURE.,#189,IFCNONNEGATIVELENGTHMEASURE(0.0),IFCNONNEGATIVELENGTHMEASURE(13.8073690591555),#54); +#191= IFCSHAPEREPRESENTATION(#60,'Axis','Curve2D',(#190)); +#192= IFCPRODUCTDEFINITIONSHAPE($,$,(#191)); +#193= IFCGRADIENTCURVE((#126,#133,#139,#146,#152,#158,#164,#171,#177,#184,#190),.U.,#96,$); +#194= IFCSHAPEREPRESENTATION(#60,'Axis','Curve3D',(#193)); +#195= IFCPRODUCTDEFINITIONSHAPE($,$,(#194)); +#196= IFCSHAPEREPRESENTATION(#60,'Axis','Curve3D',(#193)); +#197= IFCPRODUCTDEFINITIONSHAPE($,$,(#196)); +#198= IFCPROPERTYSINGLEVALUE('state',$,IFCIDENTIFIER('proposed'),$); +#199= IFCPROPERTYSET('1lf3$ojeXENeMMmuDejpya',$,'landXML_Alignment',$,(#198)); +#200= IFCRELDEFINESBYPROPERTIES('3$NwrSvbH6df0$Z67Fhrb9',$,$,$,(#20),#199); +#201= IFCPROJECTEDCRS('EPSG:3878',$,$,$,$,$,$); +#202= IFCMAPCONVERSION(#56,#201,0.0,0.0,0.0,$,$,$,$,$); +ENDSEC; + +END-ISO-10303-21; diff --git a/E1a-ARSE/ALIN03/README.md b/E1a-ARSE/ALIN03/README.md index 77aad9b..1a66226 100644 --- a/E1a-ARSE/ALIN03/README.md +++ b/E1a-ARSE/ALIN03/README.md @@ -1,37 +1,22 @@ # Test Instruction -| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | -| ------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | -| IFC4.3AbRV_E1a_ALIN | Alignment Infrastructure Curves | E1a | ALIN | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | ------------------------------- | ------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALIN03 | Alignment Infrastructure Curves | E1a | ALIN03 | Lars Wikström | FTIA? | 1.0 | 07.01.2022 | ## Summary (Intent) -*Include a short description of the test case. This description should include a summary of the capabilities and data representations being tested by the defined data set.* +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN06](../ALIN05) and adds a geometric definition in the shape of a 3D polyline. -With these instructions the infrastructure (e.g. Road) alignment exchange is established. -This includes basic alignment geometry featuring the common layout: - -- horizontal -- vertical - -The valid geometry segment types for horizontal are the following: - -- Arc -- Clothoid -- Linear -- *Check if other transition curves are being used* - -The valid geometry segment types for vertical: - -- Linear -- Circular Arc -- Parabolic Arc -- *Check if there are cases with transition curves (don't think that there are)* - -... - -We could use the alignment geometry from [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2). However, that would need elaboration (there are no clothoids and no parabolic arcs). +| Info | | +| ---------------------------- | --------------------------- | +| Number of alignment(s) | 1 | +| Properties of segments | no | +| Horizontal layout | Straight Line, Circular Arc | +| Vertical layout | Straight Line, Circular Arc | +| Geometric representation | IfcPolyline | +| IFC reference file available | Yes | The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. @@ -45,35 +30,31 @@ The Test instruction addresses the import and export of the following IFC Entiti :construction: under construction :construction:
IFC Entities - These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *IfcAlignment* -- *IfcAlignmentHorizontal* -- *IfcAlignmentVertical* -- *IfcAlignmentSegment* -- *IfcAlignmentHorizontalSegment* -- *IfcAlignmentVerticalSegment* -- *IfcAxis2PlacementLinear* -- *IfcAxis2Placement2D* -- *IfcAxis2Placement3D* -- *IfcCircle* -- *IfcClothoid* -- *IfcCompositeCurve* -- *IfcCurveSegment* -- *IfcLine* -- *IfcLinearPlacement* -- *IfcLocalPlacement* -- *IfcGeometricRepresentationContext* -- *IfcGeometricRepresentationSubContext* -- *IfcGradientCurve* -- *IfcMapConversion* -- *IfcPolyline* -- *IfcProject* -- *IfcProjectedCRS* -- *IfcProductDefinitionShape* -- *IfcSite* -- *IfcShapeRepresentation* +- Inherited from imported tests + + - Model setup + - IfcSite + - IfcRoad + - IfcRepresentationContext + - IfcMapConversion + - IfcProjectedCRS + - IfcUnitAssignment + +- For this test instruction + + - Alignment + + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + + - *IfcPolyline* +
@@ -81,11 +62,17 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Layout* -- *Alignment Geometry* -- *Alignment Geometry Gradient* -- *Project Global Positioning* -- *Spatial Containment* +- Inherited from imported tests: + - *Project Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Project Global Positioning* +- For this test instruction + - *Alignment Decomposition* + - *Alignment Geometry* @@ -108,17 +95,39 @@ The following itemised restrictions and constraints shall be placed on IFC Entit :construction: under construction :construction:
Semantic Usages, Constraints & Logic - The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria -- IfcSomething - - *Constraint* +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | --------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_00 | Alignment layout structure is verified | See below for further specification | | +| SITE_00 | Alignment shall always be contained in a Site | na | | + +ALIG_00: Alignment layout structure is verified + +> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` +> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` +> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` +> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` +> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` +> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` +> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` +> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` +> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical`
Model Geometry The Test case requires the following additional checks related to Model Geometry: +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | +| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | + + +> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcPolyline` +> 1. Geometric representations shall correspond to the semantic definitions with a tolerance of xxxx. + + - *Constraint*
@@ -163,13 +172,30 @@ Considering the aim of this test, other **optional** results, not subject to the -### Some Concept Group +### Road alignment + +
Click to expand + + +| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | +| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | +| ALIG_01 | Alignments contained in file | 1 | | +| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | +| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcPolyline. | | | +| ALIG_06 | The IfcPolyline shall match the semantic definitions with a tolerance of xxx | | | + +
+ +### Spatial containment
Click to expand -Criteria around the representation of 'Some Concept' +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. + -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|------------------------------------------|-------------| -| XXXX_01 | A Criteria to follow | its expected value or outcome | | +| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | +| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | +| IfcSite | | 1 | 1 | IfcAlignment | Road alignment |
diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index ef569a8..dcdac6d 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -7,16 +7,16 @@ ## Summary (Intent) -With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN02](../ALIN02) and adds a geometric definition. +With these instructions the infrastructure (e.g. Road) alignment exchange is established. -| Info | | -| ---------------------------- | ------------------------------------- | -| Number of alignment(s) | 1 | -| Properties of segments | no | -| Horizontal layout | Straight Line, Circular Arc, Clothoid | -| Vertical layout | Straight Line, Circular Arc | -| Geometric representation | IfcCompositeCurve, IfcGradientCurve | -| IFC reference file available | Yes | +| Info | | +| ---------------------------- | ----------------------------------- | +| Number of alignment(s) | 1 | +| Properties of segments | no | +| Horizontal layout | Straight Line, Circular Arc | +| Vertical layout | Straight Line, Circular Arc | +| Geometric representation | IfcCompositeCurve, IfcGradientCurve | +| IFC reference file available | Yes | The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. @@ -40,7 +40,6 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - IfcMapConversion - IfcProjectedCRS - IfcUnitAssignment - - Alignment - *IfcAlignment* - *IfcAlignmentHorizontal* @@ -52,7 +51,6 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - IfcGradientCurve - IfcCurveSegment - IfcLine - - IfcClothoid - IfcCircle From dbd70c616452a73b4db1e4f1548fd6ddb9e52939 Mon Sep 17 00:00:00 2001 From: larswik Date: Thu, 24 Feb 2022 09:55:08 +0100 Subject: [PATCH 16/37] Introduced global positioning parameters --- E1a-ARSE/ALIN01/README.md | 19 ++-- E1a-ARSE/ALIN02/README.md | 66 ++++++++++---- .../Dataset/AlignmentHorizontalParameters.csv | 8 -- .../Dataset/HorizontalAlignmentParameters.csv | 8 ++ E1a-ARSE/ALIN03/Dataset/README.md | 16 ++-- ...rs.csv => VerticalAlignmentParameters.csv} | 0 E1a-ARSE/ALIN03/README.md | 54 +++++++++--- E1a-ARSE/ALIN04/README.md | 19 ++-- E1a-ARSE/ALIN05/README.md | 75 ++++++++++------ .../Dataset/HorizontalAlignmentParameters.csv | 8 ++ E1a-ARSE/ALIN06/Dataset/README.md | 14 +-- .../Dataset/VerticalAlignmentParameters.csv | 12 +++ E1a-ARSE/ALIN06/README.md | 88 +++++++++++++------ 13 files changed, 263 insertions(+), 124 deletions(-) delete mode 100644 E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv create mode 100644 E1a-ARSE/ALIN03/Dataset/HorizontalAlignmentParameters.csv rename E1a-ARSE/ALIN03/Dataset/{AlignmentVerticalParameters.csv => VerticalAlignmentParameters.csv} (100%) create mode 100644 E1a-ARSE/ALIN06/Dataset/HorizontalAlignmentParameters.csv create mode 100644 E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 9bb5ef9..240e72e 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -35,12 +35,12 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* - For this test instruction - Alignment @@ -69,7 +69,7 @@ These concept templates represent a test-specific subset of the wider AbRV_Ex ex - *Project Global Positioning* - For this test instruction - *Alignment Decomposition* - + - *Spatial Containment* @@ -179,10 +179,13 @@ Considering the aim of this test, other **optional** results, not subject to the | --------------- | -------------------- | ------- | ------- | ------------ | -------------- | | IfcSite | | 1 | 1 | IfcAlignment | Road alignment | + + ### Project global positioning
Click to expand -> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. +> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. + | Element | Attribute | Value | Comment | | ---------------- | ---------------- | --------- | ------- | diff --git a/E1a-ARSE/ALIN02/README.md b/E1a-ARSE/ALIN02/README.md index f26e419..2552e4f 100644 --- a/E1a-ARSE/ALIN02/README.md +++ b/E1a-ARSE/ALIN02/README.md @@ -33,21 +33,22 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment - -- Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* +- Inherited from imported tests + - Model setup + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- For this test instruction + - Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment*
@@ -56,9 +57,17 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Decomposition* -- *Project Global Positioning* -- *Spatial Containment* +- Inherited from imported tests: + - *Project Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Project Global Positioning* +- For this test instruction + - *Alignment Decomposition* + - *Spatial Containment* @@ -169,3 +178,24 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcSite | | 1 | 1 | IfcAlignment | Road alignment | + +### Project global positioning + +
Click to expand +> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. + + + +| Element | Attribute | Value | Comment | +| ---------------- | ---------------- | --------- | ------- | +| IfcMapConversion | Eastings | 0 | | +| IfcMapConversion | Northings | 0 | | +| IfcMapConversion | OrthogonalHeight | 0 | | +| IfcMapConversion | XAxisAbscissa | 1 | | +| IfcMapConversion | XAxisOrdinate | 0 | | +| IfcMapConversion | Scale | 1 | | +| IfcProjectedCRS | Name | EPSG:3011 | | +| IfcProjectedCRS | GeodeticDatum | SWEREF99 | | +| IfcProjectedCRS | VerticalDatum | EPSG:5615 | | + +
diff --git a/E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv b/E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv deleted file mode 100644 index 24c39d8..0000000 --- a/E1a-ARSE/ALIN03/Dataset/AlignmentHorizontalParameters.csv +++ /dev/null @@ -1,8 +0,0 @@ -Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type -H1;IfcAlignmentHorizontalSegment;24525276,867419;6876935,549267;0,00172462248684613;0;0;229,405681;LINE -H2;IfcAlignmentHorizontalSegment;24525506,272759;6876935,944905;0,00172462964706543;-110;-110;15,594208;CIRCULARARC -H3;IfcAlignmentHorizontalSegment;24525521,816666;6876934,8682;6,14314439461041;0;0;91,725737;LINE -H4;IfcAlignmentHorizontalSegment;24525612,644434;6876922,064789;6,14314439896281;-110;-110;120,80482;CIRCULARARC -H5;IfcAlignmentHorizontalSegment;24525701,264387;6876849,049537;5,04491873079937;0;0;25,538554;LINE -H6;IfcAlignmentHorizontalSegment;24525709,601071;6876824,909996;5,04491876114541;110;110;49,633636;CIRCULARARC -H7;IfcAlignmentHorizontalSegment;24525735,66497;6876783,164849;5,49613363003069;0;0;83,739856;LINE diff --git a/E1a-ARSE/ALIN03/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN03/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..edcdc81 --- /dev/null +++ b/E1a-ARSE/ALIN03/Dataset/HorizontalAlignmentParameters.csv @@ -0,0 +1,8 @@ +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;276,867419000715;935,549266999587;0,00172462248684613;0;0;229,405681;LINE +H2;IfcAlignmentHorizontalSegment;506,272759001702;935,944904999807;0,00172462964706543;-110;-110;15,594208;CIRCULARARC +H3;IfcAlignmentHorizontalSegment;521,816665999591;934,868200000376;6,14314439461041;0;0;91,725737;LINE +H4;IfcAlignmentHorizontalSegment;612,644434001297;922,064788999967;6,14314439896281;-110;-110;120,80482;CIRCULARARC +H5;IfcAlignmentHorizontalSegment;701,264387000352;849,049537000246;5,04491873079937;0;0;25,538554;LINE +H6;IfcAlignmentHorizontalSegment;709,601071000099;824,909996000119;5,04491876114541;110;110;49,633636;CIRCULARARC +H7;IfcAlignmentHorizontalSegment;735,664969999343;783,164849000052;5,49613363003069;0;0;83,739856;LINE diff --git a/E1a-ARSE/ALIN03/Dataset/README.md b/E1a-ARSE/ALIN03/Dataset/README.md index 86fd052..6c94b59 100644 --- a/E1a-ARSE/ALIN03/Dataset/README.md +++ b/E1a-ARSE/ALIN03/Dataset/README.md @@ -25,20 +25,20 @@ Alignment: | Name | Type | ObjectPlacement | Representation | | ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | | A1 | IfcAlignment | IfcLocalPlacement | IfcPolyline
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | -| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | | +| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcPolyline
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | | AV1 | IfcAlignmentVertical | IfcLocalPlacement | | Horizontal segments nested into AH1 in the following order: | Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | | ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 24525276,87 | 6876935,549 | 0,001724622 | 0 | 0 | 229,405681 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 24525506,27 | 6876935,945 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | -| H3 | IfcAlignmentHorizontalSegment | 24525521,82 | 6876934,868 | 6,143144395 | 0 | 0 | 91,725737 | LINE | -| H4 | IfcAlignmentHorizontalSegment | 24525612,64 | 6876922,065 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | -| H5 | IfcAlignmentHorizontalSegment | 24525701,26 | 6876849,05 | 5,044918731 | 0 | 0 | 25,538554 | LINE | -| H6 | IfcAlignmentHorizontalSegment | 24525709,6 | 6876824,91 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | -| H7 | IfcAlignmentHorizontalSegment | 24525735,66 | 6876783,165 | 5,49613363 | 0 | 0 | 83,739856 | LINE | +| H1 | IfcAlignmentHorizontalSegment | 276,867419 | 935,549267 | 0,001724622 | 0 | 0 | 229,405681 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 506,272759 | 935,944905 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | +| H3 | IfcAlignmentHorizontalSegment | 521,816666 | 934,8682 | 6,143144395 | 0 | 0 | 91,725737 | LINE | +| H4 | IfcAlignmentHorizontalSegment | 612,644434 | 922,064789 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | +| H5 | IfcAlignmentHorizontalSegment | 701,264387 | 849,049537 | 5,044918731 | 0 | 0 | 25,538554 | LINE | +| H6 | IfcAlignmentHorizontalSegment | 709,601071 | 824,909996 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | +| H7 | IfcAlignmentHorizontalSegment | 735,66497 | 783,164849 | 5,49613363 | 0 | 0 | 83,739856 | LINE | Vertical segments nested into AV1 in the following order: diff --git a/E1a-ARSE/ALIN03/Dataset/AlignmentVerticalParameters.csv b/E1a-ARSE/ALIN03/Dataset/VerticalAlignmentParameters.csv similarity index 100% rename from E1a-ARSE/ALIN03/Dataset/AlignmentVerticalParameters.csv rename to E1a-ARSE/ALIN03/Dataset/VerticalAlignmentParameters.csv diff --git a/E1a-ARSE/ALIN03/README.md b/E1a-ARSE/ALIN03/README.md index 1a66226..1a32f6e 100644 --- a/E1a-ARSE/ALIN03/README.md +++ b/E1a-ARSE/ALIN03/README.md @@ -7,7 +7,7 @@ ## Summary (Intent) -With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN06](../ALIN05) and adds a geometric definition in the shape of a 3D polyline. +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN06](../ALIN06) and adds a geometric definition in the shape of a 3D polyline and a 2D polyline. | Info | | | ---------------------------- | --------------------------- | @@ -35,12 +35,12 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* - For this test instruction @@ -124,8 +124,13 @@ The Test case requires the following additional checks related to Model Geometry | ALIG_01 | Alignment geometric representation is verified | See below for further specification | | -> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcPolyline` -> 1. Geometric representations shall correspond to the semantic definitions with a tolerance of xxxx. +> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing an `IfcPolyline`. The polyline may be generated as below: +> 1. Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description. +> 1. Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. +> 1. The z-value at each point shall match the z value according to the vertical layout in the Dataset description. +> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing an `IfcPolyline`. The polyline may be generated as below: +> 1. Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description. +> 1. Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. - *Constraint* @@ -141,8 +146,9 @@ For certification of capabilities the only source will be: - n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of ... -- CSV export of ... +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters +- CSV or e.g. GPX export of the polyline geometries --- @@ -183,8 +189,8 @@ Considering the aim of this test, other **optional** results, not subject to the | ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | | ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | | ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcPolyline. | | | -| ALIG_06 | The IfcPolyline shall match the semantic definitions with a tolerance of xxx | | | +| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcPolyline.
Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description.
Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. The z-value at each point shall match the z value according to the vertical layout in the Dataset description. | | | +| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcPolyline.
Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description.
Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. | | | @@ -199,3 +205,25 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcSite | | 1 | 1 | IfcAlignment | Road alignment | + +### Project global positioning + +
Click to expand +> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. + + + +| Element | Attribute | Value | Comment | +| ---------------- | ---------------- | --------- | ------- | +| IfcMapConversion | Eastings | 24525000 | | +| IfcMapConversion | Northings | 6876000 | | +| IfcMapConversion | OrthogonalHeight | 0 | | +| IfcMapConversion | XAxisAbscissa | 1 | | +| IfcMapConversion | XAxisOrdinate | 0 | | +| IfcMapConversion | Scale | 1 | | +| IfcProjectedCRS | Name | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | VerticalDatum | EPSG:3900 | | + +
+ diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md index 324da11..56c7ea9 100644 --- a/E1a-ARSE/ALIN04/README.md +++ b/E1a-ARSE/ALIN04/README.md @@ -35,12 +35,12 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* - For this test instruction - Alignment - *IfcAlignment* @@ -73,10 +73,8 @@ These concept templates represent a test-specific subset of the wider AbRV_Ex ex - For this test instruction - *Alignment Decomposition* - *Alignment Geometry Gradient* - - *Project Global Positioning* - *Spatial containment* - ## Test Case Imports @@ -131,7 +129,7 @@ The Test case requires the following additional checks related to Model Geometry > 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` > 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` -> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` (the same instance as is referred from the owning `IfcAlignment` instance). > 1. Geometric representations shall correspond to the semantic definitions. @@ -207,7 +205,8 @@ Considering the aim of this test, other **optional** results, not subject to the ### Project global positioning
Click to expand -> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. +> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. + | Element | Attribute | Value | Comment | diff --git a/E1a-ARSE/ALIN05/README.md b/E1a-ARSE/ALIN05/README.md index 4e1ae75..4066d0d 100644 --- a/E1a-ARSE/ALIN05/README.md +++ b/E1a-ARSE/ALIN05/README.md @@ -33,27 +33,22 @@ The Test instruction addresses the import and export of the following IFC Entiti These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment - -- Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* - - IfcCompositeCurve - - IfcGradientCurve - - IfcCurveSegment - - IfcLine - - IfcClothoid - - IfcPolynomialCurve +- Inherited from imported tests + - Model setup + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- For this test instruction + - Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment*
@@ -62,10 +57,18 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Decomposition* -- *Alignment Geometry Gradient* -- *Project Global Positioning* -- *Spatial Containment* +- Inherited from imported tests: + - *Project Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Project Global Positioning* +- For this test instruction + - *Alignment Decomposition* + - *Alignment Geometry Gradient* + - *Spatial Containment* @@ -121,7 +124,7 @@ The Test case requires the following additional checks related to Model Geometry > 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` > 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` -> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` (the same instance as referred to by IfcAlignment) > 1. Geometric representations shall correspond to the semantic definitions. @@ -195,3 +198,23 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcSite | | 1 | 1 | IfcAlignment | Road alignment | + +### Project global positioning + +
Click to expand +> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. + + + + +| Element | Attribute | Value | Comment | +| ---------------- | ---------------- | --------- | ------- | +| IfcMapConversion | Eastings | 0 | | +| IfcMapConversion | Northings | 0 | | +| IfcMapConversion | OrthogonalHeight | 0 | | +| IfcMapConversion | XAxisAbscissa | 1 | | +| IfcMapConversion | XAxisOrdinate | 0 | | +| IfcMapConversion | Scale | 1 | | +| IfcProjectedCRS | Name | EPSG:3011 | | +| IfcProjectedCRS | GeodeticDatum | SWEREF99 | | +| IfcProjectedCRS | VerticalDatum | EPSG:5615 | | diff --git a/E1a-ARSE/ALIN06/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALIN06/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..edcdc81 --- /dev/null +++ b/E1a-ARSE/ALIN06/Dataset/HorizontalAlignmentParameters.csv @@ -0,0 +1,8 @@ +Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type +H1;IfcAlignmentHorizontalSegment;276,867419000715;935,549266999587;0,00172462248684613;0;0;229,405681;LINE +H2;IfcAlignmentHorizontalSegment;506,272759001702;935,944904999807;0,00172462964706543;-110;-110;15,594208;CIRCULARARC +H3;IfcAlignmentHorizontalSegment;521,816665999591;934,868200000376;6,14314439461041;0;0;91,725737;LINE +H4;IfcAlignmentHorizontalSegment;612,644434001297;922,064788999967;6,14314439896281;-110;-110;120,80482;CIRCULARARC +H5;IfcAlignmentHorizontalSegment;701,264387000352;849,049537000246;5,04491873079937;0;0;25,538554;LINE +H6;IfcAlignmentHorizontalSegment;709,601071000099;824,909996000119;5,04491876114541;110;110;49,633636;CIRCULARARC +H7;IfcAlignmentHorizontalSegment;735,664969999343;783,164849000052;5,49613363003069;0;0;83,739856;LINE diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md index 1d53404..a86c8a5 100644 --- a/E1a-ARSE/ALIN06/Dataset/README.md +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -32,13 +32,13 @@ Horizontal segments nested into AH1 in the following order: | Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | | ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 24525276,87 | 6876935,549 | 0,001724622 | 0 | 0 | 229,405681 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 24525506,27 | 6876935,945 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | -| H3 | IfcAlignmentHorizontalSegment | 24525521,82 | 6876934,868 | 6,143144395 | 0 | 0 | 91,725737 | LINE | -| H4 | IfcAlignmentHorizontalSegment | 24525612,64 | 6876922,065 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | -| H5 | IfcAlignmentHorizontalSegment | 24525701,26 | 6876849,05 | 5,044918731 | 0 | 0 | 25,538554 | LINE | -| H6 | IfcAlignmentHorizontalSegment | 24525709,6 | 6876824,91 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | -| H7 | IfcAlignmentHorizontalSegment | 24525735,66 | 6876783,165 | 5,49613363 | 0 | 0 | 83,739856 | LINE | +| H1 | IfcAlignmentHorizontalSegment | 276,867419 | 935,549267 | 0,001724622 | 0 | 0 | 229,405681 | LINE | +| H2 | IfcAlignmentHorizontalSegment | 506,272759 | 935,944905 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | +| H3 | IfcAlignmentHorizontalSegment | 521,816666 | 934,8682 | 6,143144395 | 0 | 0 | 91,725737 | LINE | +| H4 | IfcAlignmentHorizontalSegment | 612,644434 | 922,064789 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | +| H5 | IfcAlignmentHorizontalSegment | 701,264387 | 849,049537 | 5,044918731 | 0 | 0 | 25,538554 | LINE | +| H6 | IfcAlignmentHorizontalSegment | 709,601071 | 824,909996 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | +| H7 | IfcAlignmentHorizontalSegment | 735,66497 | 783,164849 | 5,49613363 | 0 | 0 | 83,739856 | LINE | Vertical segments nested into AV1 in the following order: diff --git a/E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv new file mode 100644 index 0000000..752814a --- /dev/null +++ b/E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv @@ -0,0 +1,12 @@ +Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type +V1;IfcAlignmentVerticalSegment;135,557;10,8424694551669;125,687614;0,0341613100938614;0,0341613100938614;0;CONSTANTGRADIENT +V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0341613100938614;-1300;CIRCULARARC +V3;IfcAlignmentVerticalSegment;164,511752065819;40,8330580844944;126,550404440385;0,0202129972966548;0,0202129972966548;0;CONSTANTGRADIENT +V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;0,0202129972966548;-1300;CIRCULARARC +V5;IfcAlignmentVerticalSegment;244,378491480952;50,1760735190479;127,578604224343;-0,00981751240776929;-0,00981751240776929;0;CONSTANTGRADIENT +V6;IfcAlignmentVerticalSegment;294,554565;11,522986;127,086;0;0;0;CONSTANTGRADIENT +V7;IfcAlignmentVerticalSegment;306,077551;192,512689171019;127,086;-0,00352981070589252;-0,00352981070589252;0;CONSTANTGRADIENT +V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,00352981070589252;-5000;CIRCULARARC +V9;IfcAlignmentVerticalSegment;513,865529814159;78,3592658459091;126,329213578221;-0,0065849894096037;-0,0065849894096037;0;CONSTANTGRADIENT +V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;-0,0065849894096037;1300;CIRCULARARC +V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index dcdac6d..58e2877 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -7,7 +7,7 @@ ## Summary (Intent) -With these instructions the infrastructure (e.g. Road) alignment exchange is established. +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN03](../ALIN03) and adds a geometric definition in the shape of a combination of `IfcCompositeCurve` and `IfcGradientCurve`. | Info | | | ---------------------------- | ----------------------------------- | @@ -30,28 +30,33 @@ The Test instruction addresses the import and export of the following IFC Entiti :construction: under construction :construction:
IFC Entities - These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Model setup - - IfcSite - - IfcRoad - - IfcRepresentationContext - - IfcMapConversion - - IfcProjectedCRS - - IfcUnitAssignment -- Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* - - IfcCompositeCurve - - IfcGradientCurve - - IfcCurveSegment - - IfcLine - - IfcCircle +- Inherited from imported tests + + - Model setup + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* + +- For this test instruction + + - Alignment + + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - *IfcCompositeCurve* + - *IfcGradientCurve* + - *IfcCurveSegment* + - *IfcLine* + - *IfcCircle*
@@ -60,10 +65,19 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- *Alignment Decomposition* -- *Alignment Geometry Gradient* -- *Project Global Positioning* -- *Spatial Containment* +- Inherited from imported tests: + - *Project Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Project Global Positioning* +- For this test instruction + - *Alignment Decomposition* + - *Alignment Geometry* + - *Alignment Geometry Gradient* + - *Spatial Containment*
@@ -119,7 +133,7 @@ The Test case requires the following additional checks related to Model Geometry > 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` > 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` -> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` +> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` (where the *IfcGradientCurve* is the same instance as the one referred by *IfcAlignment*) > 1. Geometric representations shall correspond to the semantic definitions. @@ -193,3 +207,25 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcSite | | 1 | 1 | IfcAlignment | Road alignment | + +### Project global positioning + +
Click to expand +> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. + + + + +| Element | Attribute | Value | Comment | +| ---------------- | ---------------- | --------- | ------- | +| IfcMapConversion | Eastings | 24525000 | | +| IfcMapConversion | Northings | 6876000 | | +| IfcMapConversion | OrthogonalHeight | 0 | | +| IfcMapConversion | XAxisAbscissa | 1 | | +| IfcMapConversion | XAxisOrdinate | 0 | | +| IfcMapConversion | Scale | 1 | | +| IfcProjectedCRS | Name | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | VerticalDatum | EPSG:3900 | | + +
From 2789c36e5a5b3a1e03b416f3c7104134dc38504b Mon Sep 17 00:00:00 2001 From: larswik Date: Thu, 24 Feb 2022 10:36:38 +0100 Subject: [PATCH 17/37] Removed old files --- .../ALIN06/Dataset/AlignmentHorizontalParameters.csv | 8 -------- .../ALIN06/Dataset/AlignmentVerticalParameters.csv | 12 ------------ 2 files changed, 20 deletions(-) delete mode 100644 E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv delete mode 100644 E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv diff --git a/E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv b/E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv deleted file mode 100644 index 24c39d8..0000000 --- a/E1a-ARSE/ALIN06/Dataset/AlignmentHorizontalParameters.csv +++ /dev/null @@ -1,8 +0,0 @@ -Name;Type;StartPointX;StartPointY;StartDirection;StartRadius;EndRadius;Length;Type -H1;IfcAlignmentHorizontalSegment;24525276,867419;6876935,549267;0,00172462248684613;0;0;229,405681;LINE -H2;IfcAlignmentHorizontalSegment;24525506,272759;6876935,944905;0,00172462964706543;-110;-110;15,594208;CIRCULARARC -H3;IfcAlignmentHorizontalSegment;24525521,816666;6876934,8682;6,14314439461041;0;0;91,725737;LINE -H4;IfcAlignmentHorizontalSegment;24525612,644434;6876922,064789;6,14314439896281;-110;-110;120,80482;CIRCULARARC -H5;IfcAlignmentHorizontalSegment;24525701,264387;6876849,049537;5,04491873079937;0;0;25,538554;LINE -H6;IfcAlignmentHorizontalSegment;24525709,601071;6876824,909996;5,04491876114541;110;110;49,633636;CIRCULARARC -H7;IfcAlignmentHorizontalSegment;24525735,66497;6876783,164849;5,49613363003069;0;0;83,739856;LINE diff --git a/E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv b/E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv deleted file mode 100644 index 752814a..0000000 --- a/E1a-ARSE/ALIN06/Dataset/AlignmentVerticalParameters.csv +++ /dev/null @@ -1,12 +0,0 @@ -Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type -V1;IfcAlignmentVerticalSegment;135,557;10,8424694551669;125,687614;0,0341613100938614;0,0341613100938614;0;CONSTANTGRADIENT -V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0341613100938614;-1300;CIRCULARARC -V3;IfcAlignmentVerticalSegment;164,511752065819;40,8330580844944;126,550404440385;0,0202129972966548;0,0202129972966548;0;CONSTANTGRADIENT -V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;0,0202129972966548;-1300;CIRCULARARC -V5;IfcAlignmentVerticalSegment;244,378491480952;50,1760735190479;127,578604224343;-0,00981751240776929;-0,00981751240776929;0;CONSTANTGRADIENT -V6;IfcAlignmentVerticalSegment;294,554565;11,522986;127,086;0;0;0;CONSTANTGRADIENT -V7;IfcAlignmentVerticalSegment;306,077551;192,512689171019;127,086;-0,00352981070589252;-0,00352981070589252;0;CONSTANTGRADIENT -V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,00352981070589252;-5000;CIRCULARARC -V9;IfcAlignmentVerticalSegment;513,865529814159;78,3592658459091;126,329213578221;-0,0065849894096037;-0,0065849894096037;0;CONSTANTGRADIENT -V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;-0,0065849894096037;1300;CIRCULARARC -V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT From 6f6c648ba163b3f9ae96e84842824681443ade90 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 1 Mar 2022 14:19:41 +0100 Subject: [PATCH 18/37] Corrected according to comments from @pjanck --- E1a-ARSE/ALIN01/Dataset/README.md | 18 +++++++++--------- .../Dataset/VerticalAlignmentParameters.csv | 18 +++++++++--------- E1a-ARSE/ALIN01/README.md | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 8077b6c..526ab14 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -62,21 +62,21 @@ Vertical segments nested into AV1 in the following order: | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | | V1 | IfcAlignmentVerticalSegment | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,007734105 | -300 | CIRCULARARC | +| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,093338018 | -300 | CIRCULARARC | | V3 | IfcAlignmentVerticalSegment | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,093338018 | 300 | CIRCULARARC | +| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,020657799 | 300 | CIRCULARARC | | V5 | IfcAlignmentVerticalSegment | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | CONSTANTGRADIENT | -| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | -0,020657799 | 2000 | CIRCULARARC | +| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | 0,007812811 | 2000 | CIRCULARARC | | V7 | IfcAlignmentVerticalSegment | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,007812811 | 2500 | CIRCULARARC | +| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,048630199 | 2500 | CIRCULARARC | | V9 | IfcAlignmentVerticalSegment | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | 0,048630199 | -1000 | CIRCULARARC | +| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | -0,01545787 | -1000 | CIRCULARARC | | V11 | IfcAlignmentVerticalSegment | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | CONSTANTGRADIENT | -| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,01545787 | -1000 | CIRCULARARC | -| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | -0,071486276 | 1000 | CIRCULARARC | +| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,071486276 | -1000 | CIRCULARARC | +| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | 0,005320833 | 1000 | CIRCULARARC | | V14 | IfcAlignmentVerticalSegment | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | CONSTANTGRADIENT | -| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,005320833 | 2000 | CIRCULARARC | -| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | 0,023736122 | -1000 | CIRCULARARC | +| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,023736122 | 2000 | CIRCULARARC | +| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | -0,028845118 | -1000 | CIRCULARARC | | V17 | IfcAlignmentVerticalSegment | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) diff --git a/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv index 8e9d0b2..366b22e 100644 --- a/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN01/Dataset/VerticalAlignmentParameters.csv @@ -1,18 +1,18 @@ Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type V1;IfcAlignmentVerticalSegment;0;67,9666275938242;43,475329;-0,00773410503537014;-0,00773410503537014;0;CONSTANTGRADIENT -V2;IfcAlignmentVerticalSegment;67,9666275938242;25,56006049186;42,9496679632888;-0,00773410503537014;-0,00773410503537014;-300;CIRCULARARC +V2;IfcAlignmentVerticalSegment;67,9666275938242;25,56006049186;42,9496679632888;-0,00773410503537014;-0,0933380176556316;-300;CIRCULARARC V3;IfcAlignmentVerticalSegment;93,5266880856841;20,3985317664884;41,6603192684821;-0,0933380176556316;-0,0933380176556316;0;CONSTANTGRADIENT -V4;IfcAlignmentVerticalSegment;113,925219852173;21,6842049028376;39,7563607503138;-0,0933380176556316;-0,0933380176556316;300;CIRCULARARC +V4;IfcAlignmentVerticalSegment;113,925219852173;21,6842049028376;39,7563607503138;-0,0933380176556316;-0,0206577987550277;300;CIRCULARARC V5;IfcAlignmentVerticalSegment;135,60942475501;68,6257430776865;38,5220312181138;-0,0206577987550277;-0,0206577987550277;0;CONSTANTGRADIENT -V6;IfcAlignmentVerticalSegment;204,235167832697;56,9319301335483;37,1043744281956;-0,0206577987550277;-0,0206577987550277;2000;CIRCULARARC +V6;IfcAlignmentVerticalSegment;204,235167832697;56,9319301335483;37,1043744281956;-0,0206577987550277;0,00781281114018211;2000;CIRCULARARC V7;IfcAlignmentVerticalSegment;261,167097966245;46,449675607139;36,7388035371268;0,00781281114018211;0,00781281114018211;0;CONSTANTGRADIENT -V8;IfcAlignmentVerticalSegment;307,616773573384;101,90056287711;37,101706080191;0,00781281114018211;0,00781281114018211;2500;CIRCULARARC +V8;IfcAlignmentVerticalSegment;307,616773573384;101,90056287711;37,101706080191;0,00781281114018211;0,0486301987513986;2500;CIRCULARARC V9;IfcAlignmentVerticalSegment;409,517336450494;30,5916549869268;39,9762969622553;0,0486301987513986;0,0486301987513986;0;CONSTANTGRADIENT -V10;IfcAlignmentVerticalSegment;440,108991437421;64,0288214133387;41,4639752243932;0,0486301987513986;0,0486301987513986;-1000;CIRCULARARC +V10;IfcAlignmentVerticalSegment;440,108991437421;64,0288214133387;41,4639752243932;0,0486301987513986;-0,0154578700237117;-1000;CIRCULARARC V11;IfcAlignmentVerticalSegment;504,13781285076;203,571683667725;42,5248787225931;-0,0154578700237117;-0,0154578700237117;0;CONSTANTGRADIENT -V12;IfcAlignmentVerticalSegment;707,709496518485;55,8482922569574;39,3780940959472;-0,0154578700237117;-0,0154578700237117;-1000;CIRCULARARC -V13;IfcAlignmentVerticalSegment;763,557781493212;76,6250733893689;36,9521538451958;-0,0714862764285531;-0,0714862764285531;1000;CIRCULARARC +V12;IfcAlignmentVerticalSegment;707,709496518485;55,8482922569574;39,3780940959472;-0,0154578700237117;-0,0714862764285531;-1000;CIRCULARARC +V13;IfcAlignmentVerticalSegment;763,557781493212;76,6250733893689;36,9521538451958;-0,0714862764285531;0,00532083289209283;1000;CIRCULARARC V14;IfcAlignmentVerticalSegment;840,182854882581;152,344654262115;34,4209169381877;0,00532083289209283;0,00532083289209283;0;CONSTANTGRADIENT -V15;IfcAlignmentVerticalSegment;992,527509144696;36,8173619984802;35,2315173854975;0,00532083289209283;0,00532083289209283;2000;CIRCULARARC -V16;IfcAlignmentVerticalSegment;1029,34487722718;52,5625639402238;35,7663724122683;0,0237361222562795;0,0237361222562795;-1000;CIRCULARARC +V15;IfcAlignmentVerticalSegment;992,527509144696;36,8173619984802;35,2315173854975;0,00532083289209283;0,0237361222562795;2000;CIRCULARARC +V16;IfcAlignmentVerticalSegment;1029,34487722718;52,5625639402238;35,7663724122683;0,0237361222562795;-0,0288451180418102;-1000;CIRCULARARC V17;IfcAlignmentVerticalSegment;1081,90744116741;188,501540832592;35,6321941963812;-0,0288451180418207;-0,0288451180418207;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 240e72e..f50c58e 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -196,7 +196,7 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcMapConversion | XAxisOrdinate | 0 | | | IfcMapConversion | Scale | 1 | | | IfcProjectedCRS | Name | EPSG:3878 | | -| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | ETRS89 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | From a6730971deaf9c62a6109aa9960b6223bb810947 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 1 Mar 2022 16:01:19 +0100 Subject: [PATCH 19/37] Updated geodetic datum (use EPSG) and corrected vertical alignment parameters --- E1a-ARSE/ALIN01/README.md | 2 +- E1a-ARSE/ALIN02/Dataset/README.md | 14 +++++++------- .../Dataset/VerticalAlignmentParameters.csv | 14 +++++++------- E1a-ARSE/ALIN02/README.md | 2 +- E1a-ARSE/ALIN03/Dataset/README.md | 8 ++++---- .../Dataset/VerticalAlignmentParameters.csv | 8 ++++---- E1a-ARSE/ALIN03/README.md | 2 +- E1a-ARSE/ALIN04/Dataset/README.md | 18 +++++++++--------- .../Dataset/VerticalAlignmentParameters.csv | 18 +++++++++--------- E1a-ARSE/ALIN04/README.md | 2 +- E1a-ARSE/ALIN05/Dataset/README.md | 14 +++++++------- .../Dataset/VerticalAlignmentParameters.csv | 14 +++++++------- E1a-ARSE/ALIN05/README.md | 2 +- E1a-ARSE/ALIN06/Dataset/README.md | 8 ++++---- .../Dataset/VerticalAlignmentParameters.csv | 8 ++++---- E1a-ARSE/ALIN06/README.md | 2 +- 16 files changed, 68 insertions(+), 68 deletions(-) diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index f50c58e..5a5a0ba 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -196,7 +196,7 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcMapConversion | XAxisOrdinate | 0 | | | IfcMapConversion | Scale | 1 | | | IfcProjectedCRS | Name | EPSG:3878 | | -| IfcProjectedCRS | GeodeticDatum | ETRS89 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:6258 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | diff --git a/E1a-ARSE/ALIN02/Dataset/README.md b/E1a-ARSE/ALIN02/Dataset/README.md index 21a8072..c5fcdd2 100644 --- a/E1a-ARSE/ALIN02/Dataset/README.md +++ b/E1a-ARSE/ALIN02/Dataset/README.md @@ -53,18 +53,18 @@ Vertical segments nested into AV1 in the following order: | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------------ | ---------------- | | V1 | IfcAlignmentVerticalSegment | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,009739982 | 1549,998375 | PARABOLICARC | -| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,023047408 | -5000,004241 | PARABOLICARC | +| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,023047408 | 1549,998375 | PARABOLICARC | +| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,016859621 | -5000,004241 | PARABOLICARC | | V4 | IfcAlignmentVerticalSegment | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | CONSTANTGRADIENT | -| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,016859621 | -3000,015228 | PARABOLICARC | +| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,012637385 | -3000,015228 | PARABOLICARC | | V6 | IfcAlignmentVerticalSegment | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | CONSTANTGRADIENT | -| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,012637385 | 3000,021522 | PARABOLICARC | +| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,017293222 | 3000,021522 | PARABOLICARC | | V8 | IfcAlignmentVerticalSegment | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | CONSTANTGRADIENT | -| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,017293222 | 2999,990831 | PARABOLICARC | +| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,023106068 | 2999,990831 | PARABOLICARC | | V10 | IfcAlignmentVerticalSegment | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | CONSTANTGRADIENT | -| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,023106068 | 2950,001197 | PARABOLICARC | +| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,045000824 | 2950,001197 | PARABOLICARC | | V12 | IfcAlignmentVerticalSegment | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | CONSTANTGRADIENT | -| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,045000824 | -3000,000288 | PARABOLICARC | +| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,030824882 | -3000,000288 | PARABOLICARC | | V14 | IfcAlignmentVerticalSegment | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | CONSTANTGRADIENT | | V15 | IfcAlignmentVerticalSegment | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | CONSTANTGRADIENT | | V16 | IfcAlignmentVerticalSegment | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | CONSTANTGRADIENT | diff --git a/E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv index e241289..d5cea53 100644 --- a/E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN02/Dataset/VerticalAlignmentParameters.csv @@ -1,17 +1,17 @@ Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type V1;IfcAlignmentVerticalSegment;85;1,41860494999992;15,82;0,00973998216308436;0,00973998216308436;0;CONSTANTGRADIENT -V2;IfcAlignmentVerticalSegment;86,4186049499999;20,6264881;15,8338171869095;0,00973998216308436;0,00973998216308436;1549,99837548427;PARABOLICARC -V3;IfcAlignmentVerticalSegment;107,04509375;30,9389625;16,1719615573674;0,0230474077876794;0,0230474077876794;-5000,00424133629;PARABOLICARC +V2;IfcAlignmentVerticalSegment;86,4186049499999;20,6264881;15,8338171869095;0,00973998216308436;0,0230474077876794;1549,99837548427;PARABOLICARC +V3;IfcAlignmentVerticalSegment;107,04509375;30,9389625;16,1719615573674;0,0230474077876794;0,0168596205365767;-5000,00424133629;PARABOLICARC V4;IfcAlignmentVerticalSegment;137,98405625;66,8933770000001;16,7893025837727;0,0168596205365767;0,0168596205365767;0;CONSTANTGRADIENT -V5;IfcAlignmentVerticalSegment;204,87743325;12,6667695;17,9170995364029;0,0168596205365767;0,0168596205365767;-3000,01522750735;PARABOLICARC +V5;IfcAlignmentVerticalSegment;204,87743325;12,6667695;17,9170995364029;0,0168596205365767;0,0126373854679485;-3000,01522750735;PARABOLICARC V6;IfcAlignmentVerticalSegment;217,54420275;4,4678965999999;18,1039154244026;0,0126373854679485;0,0126373854679485;0;CONSTANTGRADIENT -V7;IfcAlignmentVerticalSegment;222,01209935;13,9676113;18,1603779559677;0,0126373854679485;0,0126373854679485;3000,02152240574;PARABOLICARC +V7;IfcAlignmentVerticalSegment;222,01209935;13,9676113;18,1603779559677;0,0126373854679485;0,0172932224996773;3000,02152240574;PARABOLICARC V8;IfcAlignmentVerticalSegment;235,97971065;29,55312205;18,369407505;0,0172932224996773;0,0172932224996773;0;CONSTANTGRADIENT -V9;IfcAlignmentVerticalSegment;265,5328327;17,4384826;18,8804762201707;0,0172932224996773;0,0172932224996773;2999,99083137358;PARABOLICARC +V9;IfcAlignmentVerticalSegment;265,5328327;17,4384826;18,8804762201707;0,0172932224996773;0,0231060677982796;2999,99083137358;PARABOLICARC V10;IfcAlignmentVerticalSegment;282,9713153;12,9163156;19,2327273806274;0,0231060677982796;0,0231060677982796;0;CONSTANTGRADIENT -V11;IfcAlignmentVerticalSegment;295,8876309;64,5895582;19,5311726445849;0,0231060677982796;0,0231060677982796;2950,00119712944;PARABOLICARC +V11;IfcAlignmentVerticalSegment;295,8876309;64,5895582;19,5311726445849;0,0231060677982796;0,0450008244047686;2950,00119712944;PARABOLICARC V12;IfcAlignmentVerticalSegment;360,4771891;0,0557456000001366;21,7306696834699;0,0450008244047686;0,0450008244047686;0;CONSTANTGRADIENT -V13;IfcAlignmentVerticalSegment;360,5329347;42,5278306;21,7331782814268;0,0450008244047686;0,0450008244047686;-3000,00028832373;PARABOLICARC +V13;IfcAlignmentVerticalSegment;360,5329347;42,5278306;21,7331782814268;0,0450008244047686;0,0308248822338554;-3000,00028832373;PARABOLICARC V14;IfcAlignmentVerticalSegment;403,0607653;126,9386947;23,3455296849532;0,0308248822338554;0,0308248822338554;0;CONSTANTGRADIENT V15;IfcAlignmentVerticalSegment;529,99946;10;27,2584;0,0286679999999997;0,0286679999999997;0;CONSTANTGRADIENT V16;IfcAlignmentVerticalSegment;539,99946;10;27,54508;0,0272920000000003;0,0272920000000003;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN02/README.md b/E1a-ARSE/ALIN02/README.md index 2552e4f..7c03ec7 100644 --- a/E1a-ARSE/ALIN02/README.md +++ b/E1a-ARSE/ALIN02/README.md @@ -195,7 +195,7 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcMapConversion | XAxisOrdinate | 0 | | | IfcMapConversion | Scale | 1 | | | IfcProjectedCRS | Name | EPSG:3011 | | -| IfcProjectedCRS | GeodeticDatum | SWEREF99 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:6619 | | | IfcProjectedCRS | VerticalDatum | EPSG:5615 | | diff --git a/E1a-ARSE/ALIN03/Dataset/README.md b/E1a-ARSE/ALIN03/Dataset/README.md index 6c94b59..e5ad567 100644 --- a/E1a-ARSE/ALIN03/Dataset/README.md +++ b/E1a-ARSE/ALIN03/Dataset/README.md @@ -45,15 +45,15 @@ Vertical segments nested into AV1 in the following order: | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | | V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,03416131 | -1300 | CIRCULARARC | +| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | CIRCULARARC | | V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | 0,020212997 | -1300 | CIRCULARARC | +| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | CIRCULARARC | | V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | | V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | | V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,003529811 | -5000 | CIRCULARARC | +| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | CIRCULARARC | | V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | -0,006584989 | 1300 | CIRCULARARC | +| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | CIRCULARARC | | V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) diff --git a/E1a-ARSE/ALIN03/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN03/Dataset/VerticalAlignmentParameters.csv index 752814a..fc0b572 100644 --- a/E1a-ARSE/ALIN03/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN03/Dataset/VerticalAlignmentParameters.csv @@ -1,12 +1,12 @@ Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type V1;IfcAlignmentVerticalSegment;135,557;10,8424694551669;125,687614;0,0341613100938614;0,0341613100938614;0;CONSTANTGRADIENT -V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0341613100938614;-1300;CIRCULARARC +V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0202129972966548;-1300;CIRCULARARC V3;IfcAlignmentVerticalSegment;164,511752065819;40,8330580844944;126,550404440385;0,0202129972966548;0,0202129972966548;0;CONSTANTGRADIENT -V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;0,0202129972966548;-1300;CIRCULARARC +V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;-0,00981751240776929;-1300;CIRCULARARC V5;IfcAlignmentVerticalSegment;244,378491480952;50,1760735190479;127,578604224343;-0,00981751240776929;-0,00981751240776929;0;CONSTANTGRADIENT V6;IfcAlignmentVerticalSegment;294,554565;11,522986;127,086;0;0;0;CONSTANTGRADIENT V7;IfcAlignmentVerticalSegment;306,077551;192,512689171019;127,086;-0,00352981070589252;-0,00352981070589252;0;CONSTANTGRADIENT -V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,00352981070589252;-5000;CIRCULARARC +V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,0065849894096037;-5000;CIRCULARARC V9;IfcAlignmentVerticalSegment;513,865529814159;78,3592658459091;126,329213578221;-0,0065849894096037;-0,0065849894096037;0;CONSTANTGRADIENT -V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;-0,0065849894096037;1300;CIRCULARARC +V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;0,00142311038270447;1300;CIRCULARARC V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN03/README.md b/E1a-ARSE/ALIN03/README.md index 1a32f6e..04d2046 100644 --- a/E1a-ARSE/ALIN03/README.md +++ b/E1a-ARSE/ALIN03/README.md @@ -222,7 +222,7 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcMapConversion | XAxisOrdinate | 0 | | | IfcMapConversion | Scale | 1 | | | IfcProjectedCRS | Name | EPSG:3878 | | -| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:6258 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | diff --git a/E1a-ARSE/ALIN04/Dataset/README.md b/E1a-ARSE/ALIN04/Dataset/README.md index b62b879..015d474 100644 --- a/E1a-ARSE/ALIN04/Dataset/README.md +++ b/E1a-ARSE/ALIN04/Dataset/README.md @@ -62,21 +62,21 @@ Vertical segments nested into AV1 in the following order: | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | | V1 | IfcAlignmentVerticalSegment | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,007734105 | -300 | CIRCULARARC | +| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,093338018 | -300 | CIRCULARARC | | V3 | IfcAlignmentVerticalSegment | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,093338018 | 300 | CIRCULARARC | +| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,020657799 | 300 | CIRCULARARC | | V5 | IfcAlignmentVerticalSegment | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | CONSTANTGRADIENT | -| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | -0,020657799 | 2000 | CIRCULARARC | +| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | 0,007812811 | 2000 | CIRCULARARC | | V7 | IfcAlignmentVerticalSegment | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,007812811 | 2500 | CIRCULARARC | +| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,048630199 | 2500 | CIRCULARARC | | V9 | IfcAlignmentVerticalSegment | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | 0,048630199 | -1000 | CIRCULARARC | +| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | -0,01545787 | -1000 | CIRCULARARC | | V11 | IfcAlignmentVerticalSegment | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | CONSTANTGRADIENT | -| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,01545787 | -1000 | CIRCULARARC | -| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | -0,071486276 | 1000 | CIRCULARARC | +| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,071486276 | -1000 | CIRCULARARC | +| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | 0,005320833 | 1000 | CIRCULARARC | | V14 | IfcAlignmentVerticalSegment | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | CONSTANTGRADIENT | -| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,005320833 | 2000 | CIRCULARARC | -| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | 0,023736122 | -1000 | CIRCULARARC | +| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,023736122 | 2000 | CIRCULARARC | +| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | -0,028845118 | -1000 | CIRCULARARC | | V17 | IfcAlignmentVerticalSegment | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) diff --git a/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv index 8e9d0b2..366b22e 100644 --- a/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN04/Dataset/VerticalAlignmentParameters.csv @@ -1,18 +1,18 @@ Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type V1;IfcAlignmentVerticalSegment;0;67,9666275938242;43,475329;-0,00773410503537014;-0,00773410503537014;0;CONSTANTGRADIENT -V2;IfcAlignmentVerticalSegment;67,9666275938242;25,56006049186;42,9496679632888;-0,00773410503537014;-0,00773410503537014;-300;CIRCULARARC +V2;IfcAlignmentVerticalSegment;67,9666275938242;25,56006049186;42,9496679632888;-0,00773410503537014;-0,0933380176556316;-300;CIRCULARARC V3;IfcAlignmentVerticalSegment;93,5266880856841;20,3985317664884;41,6603192684821;-0,0933380176556316;-0,0933380176556316;0;CONSTANTGRADIENT -V4;IfcAlignmentVerticalSegment;113,925219852173;21,6842049028376;39,7563607503138;-0,0933380176556316;-0,0933380176556316;300;CIRCULARARC +V4;IfcAlignmentVerticalSegment;113,925219852173;21,6842049028376;39,7563607503138;-0,0933380176556316;-0,0206577987550277;300;CIRCULARARC V5;IfcAlignmentVerticalSegment;135,60942475501;68,6257430776865;38,5220312181138;-0,0206577987550277;-0,0206577987550277;0;CONSTANTGRADIENT -V6;IfcAlignmentVerticalSegment;204,235167832697;56,9319301335483;37,1043744281956;-0,0206577987550277;-0,0206577987550277;2000;CIRCULARARC +V6;IfcAlignmentVerticalSegment;204,235167832697;56,9319301335483;37,1043744281956;-0,0206577987550277;0,00781281114018211;2000;CIRCULARARC V7;IfcAlignmentVerticalSegment;261,167097966245;46,449675607139;36,7388035371268;0,00781281114018211;0,00781281114018211;0;CONSTANTGRADIENT -V8;IfcAlignmentVerticalSegment;307,616773573384;101,90056287711;37,101706080191;0,00781281114018211;0,00781281114018211;2500;CIRCULARARC +V8;IfcAlignmentVerticalSegment;307,616773573384;101,90056287711;37,101706080191;0,00781281114018211;0,0486301987513986;2500;CIRCULARARC V9;IfcAlignmentVerticalSegment;409,517336450494;30,5916549869268;39,9762969622553;0,0486301987513986;0,0486301987513986;0;CONSTANTGRADIENT -V10;IfcAlignmentVerticalSegment;440,108991437421;64,0288214133387;41,4639752243932;0,0486301987513986;0,0486301987513986;-1000;CIRCULARARC +V10;IfcAlignmentVerticalSegment;440,108991437421;64,0288214133387;41,4639752243932;0,0486301987513986;-0,0154578700237117;-1000;CIRCULARARC V11;IfcAlignmentVerticalSegment;504,13781285076;203,571683667725;42,5248787225931;-0,0154578700237117;-0,0154578700237117;0;CONSTANTGRADIENT -V12;IfcAlignmentVerticalSegment;707,709496518485;55,8482922569574;39,3780940959472;-0,0154578700237117;-0,0154578700237117;-1000;CIRCULARARC -V13;IfcAlignmentVerticalSegment;763,557781493212;76,6250733893689;36,9521538451958;-0,0714862764285531;-0,0714862764285531;1000;CIRCULARARC +V12;IfcAlignmentVerticalSegment;707,709496518485;55,8482922569574;39,3780940959472;-0,0154578700237117;-0,0714862764285531;-1000;CIRCULARARC +V13;IfcAlignmentVerticalSegment;763,557781493212;76,6250733893689;36,9521538451958;-0,0714862764285531;0,00532083289209283;1000;CIRCULARARC V14;IfcAlignmentVerticalSegment;840,182854882581;152,344654262115;34,4209169381877;0,00532083289209283;0,00532083289209283;0;CONSTANTGRADIENT -V15;IfcAlignmentVerticalSegment;992,527509144696;36,8173619984802;35,2315173854975;0,00532083289209283;0,00532083289209283;2000;CIRCULARARC -V16;IfcAlignmentVerticalSegment;1029,34487722718;52,5625639402238;35,7663724122683;0,0237361222562795;0,0237361222562795;-1000;CIRCULARARC +V15;IfcAlignmentVerticalSegment;992,527509144696;36,8173619984802;35,2315173854975;0,00532083289209283;0,0237361222562795;2000;CIRCULARARC +V16;IfcAlignmentVerticalSegment;1029,34487722718;52,5625639402238;35,7663724122683;0,0237361222562795;-0,0288451180418102;-1000;CIRCULARARC V17;IfcAlignmentVerticalSegment;1081,90744116741;188,501540832592;35,6321941963812;-0,0288451180418207;-0,0288451180418207;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md index 56c7ea9..f9a0677 100644 --- a/E1a-ARSE/ALIN04/README.md +++ b/E1a-ARSE/ALIN04/README.md @@ -218,7 +218,7 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcMapConversion | XAxisOrdinate | 0 | | | IfcMapConversion | Scale | 1 | | | IfcProjectedCRS | Name | EPSG:3878 | | -| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:6258 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | diff --git a/E1a-ARSE/ALIN05/Dataset/README.md b/E1a-ARSE/ALIN05/Dataset/README.md index 6d9a6b5..af6553a 100644 --- a/E1a-ARSE/ALIN05/Dataset/README.md +++ b/E1a-ARSE/ALIN05/Dataset/README.md @@ -54,18 +54,18 @@ Vertical segments nested into AV1 in the following order: | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------------ | ---------------- | | V1 | IfcAlignmentVerticalSegment | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,009739982 | 1549,998375 | PARABOLICARC | -| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,023047408 | -5000,004241 | PARABOLICARC | +| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,023047408 | 1549,998375 | PARABOLICARC | +| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,016859621 | -5000,004241 | PARABOLICARC | | V4 | IfcAlignmentVerticalSegment | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | CONSTANTGRADIENT | -| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,016859621 | -3000,015228 | PARABOLICARC | +| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,012637385 | -3000,015228 | PARABOLICARC | | V6 | IfcAlignmentVerticalSegment | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | CONSTANTGRADIENT | -| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,012637385 | 3000,021522 | PARABOLICARC | +| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,017293222 | 3000,021522 | PARABOLICARC | | V8 | IfcAlignmentVerticalSegment | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | CONSTANTGRADIENT | -| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,017293222 | 2999,990831 | PARABOLICARC | +| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,023106068 | 2999,990831 | PARABOLICARC | | V10 | IfcAlignmentVerticalSegment | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | CONSTANTGRADIENT | -| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,023106068 | 2950,001197 | PARABOLICARC | +| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,045000824 | 2950,001197 | PARABOLICARC | | V12 | IfcAlignmentVerticalSegment | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | CONSTANTGRADIENT | -| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,045000824 | -3000,000288 | PARABOLICARC | +| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,030824882 | -3000,000288 | PARABOLICARC | | V14 | IfcAlignmentVerticalSegment | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | CONSTANTGRADIENT | | V15 | IfcAlignmentVerticalSegment | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | CONSTANTGRADIENT | | V16 | IfcAlignmentVerticalSegment | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | CONSTANTGRADIENT | diff --git a/E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv index e241289..d5cea53 100644 --- a/E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN05/Dataset/VerticalAlignmentParameters.csv @@ -1,17 +1,17 @@ Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type V1;IfcAlignmentVerticalSegment;85;1,41860494999992;15,82;0,00973998216308436;0,00973998216308436;0;CONSTANTGRADIENT -V2;IfcAlignmentVerticalSegment;86,4186049499999;20,6264881;15,8338171869095;0,00973998216308436;0,00973998216308436;1549,99837548427;PARABOLICARC -V3;IfcAlignmentVerticalSegment;107,04509375;30,9389625;16,1719615573674;0,0230474077876794;0,0230474077876794;-5000,00424133629;PARABOLICARC +V2;IfcAlignmentVerticalSegment;86,4186049499999;20,6264881;15,8338171869095;0,00973998216308436;0,0230474077876794;1549,99837548427;PARABOLICARC +V3;IfcAlignmentVerticalSegment;107,04509375;30,9389625;16,1719615573674;0,0230474077876794;0,0168596205365767;-5000,00424133629;PARABOLICARC V4;IfcAlignmentVerticalSegment;137,98405625;66,8933770000001;16,7893025837727;0,0168596205365767;0,0168596205365767;0;CONSTANTGRADIENT -V5;IfcAlignmentVerticalSegment;204,87743325;12,6667695;17,9170995364029;0,0168596205365767;0,0168596205365767;-3000,01522750735;PARABOLICARC +V5;IfcAlignmentVerticalSegment;204,87743325;12,6667695;17,9170995364029;0,0168596205365767;0,0126373854679485;-3000,01522750735;PARABOLICARC V6;IfcAlignmentVerticalSegment;217,54420275;4,4678965999999;18,1039154244026;0,0126373854679485;0,0126373854679485;0;CONSTANTGRADIENT -V7;IfcAlignmentVerticalSegment;222,01209935;13,9676113;18,1603779559677;0,0126373854679485;0,0126373854679485;3000,02152240574;PARABOLICARC +V7;IfcAlignmentVerticalSegment;222,01209935;13,9676113;18,1603779559677;0,0126373854679485;0,0172932224996773;3000,02152240574;PARABOLICARC V8;IfcAlignmentVerticalSegment;235,97971065;29,55312205;18,369407505;0,0172932224996773;0,0172932224996773;0;CONSTANTGRADIENT -V9;IfcAlignmentVerticalSegment;265,5328327;17,4384826;18,8804762201707;0,0172932224996773;0,0172932224996773;2999,99083137358;PARABOLICARC +V9;IfcAlignmentVerticalSegment;265,5328327;17,4384826;18,8804762201707;0,0172932224996773;0,0231060677982796;2999,99083137358;PARABOLICARC V10;IfcAlignmentVerticalSegment;282,9713153;12,9163156;19,2327273806274;0,0231060677982796;0,0231060677982796;0;CONSTANTGRADIENT -V11;IfcAlignmentVerticalSegment;295,8876309;64,5895582;19,5311726445849;0,0231060677982796;0,0231060677982796;2950,00119712944;PARABOLICARC +V11;IfcAlignmentVerticalSegment;295,8876309;64,5895582;19,5311726445849;0,0231060677982796;0,0450008244047686;2950,00119712944;PARABOLICARC V12;IfcAlignmentVerticalSegment;360,4771891;0,0557456000001366;21,7306696834699;0,0450008244047686;0,0450008244047686;0;CONSTANTGRADIENT -V13;IfcAlignmentVerticalSegment;360,5329347;42,5278306;21,7331782814268;0,0450008244047686;0,0450008244047686;-3000,00028832373;PARABOLICARC +V13;IfcAlignmentVerticalSegment;360,5329347;42,5278306;21,7331782814268;0,0450008244047686;0,0308248822338554;-3000,00028832373;PARABOLICARC V14;IfcAlignmentVerticalSegment;403,0607653;126,9386947;23,3455296849532;0,0308248822338554;0,0308248822338554;0;CONSTANTGRADIENT V15;IfcAlignmentVerticalSegment;529,99946;10;27,2584;0,0286679999999997;0,0286679999999997;0;CONSTANTGRADIENT V16;IfcAlignmentVerticalSegment;539,99946;10;27,54508;0,0272920000000003;0,0272920000000003;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN05/README.md b/E1a-ARSE/ALIN05/README.md index 4066d0d..c5cd3e1 100644 --- a/E1a-ARSE/ALIN05/README.md +++ b/E1a-ARSE/ALIN05/README.md @@ -216,5 +216,5 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcMapConversion | XAxisOrdinate | 0 | | | IfcMapConversion | Scale | 1 | | | IfcProjectedCRS | Name | EPSG:3011 | | -| IfcProjectedCRS | GeodeticDatum | SWEREF99 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:6619 | | | IfcProjectedCRS | VerticalDatum | EPSG:5615 | | diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md index a86c8a5..4a7181e 100644 --- a/E1a-ARSE/ALIN06/Dataset/README.md +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -45,15 +45,15 @@ Vertical segments nested into AV1 in the following order: | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | | V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,03416131 | -1300 | CIRCULARARC | +| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | CIRCULARARC | | V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | 0,020212997 | -1300 | CIRCULARARC | +| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | CIRCULARARC | | V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | | V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | | V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,003529811 | -5000 | CIRCULARARC | +| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | CIRCULARARC | | V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | -0,006584989 | 1300 | CIRCULARARC | +| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | CIRCULARARC | | V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | ## Drawings (Visualisations) diff --git a/E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv index 752814a..fc0b572 100644 --- a/E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv +++ b/E1a-ARSE/ALIN06/Dataset/VerticalAlignmentParameters.csv @@ -1,12 +1,12 @@ Name;Type;StartDistAlong;HorizontalLength;StartHeight;StartGradient;EndGradient;Radius;Type V1;IfcAlignmentVerticalSegment;135,557;10,8424694551669;125,687614;0,0341613100938614;0,0341613100938614;0;CONSTANTGRADIENT -V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0341613100938614;-1300;CIRCULARARC +V2;IfcAlignmentVerticalSegment;146,399469455167;18,112282610652;126,05800696124;0,0341613100938614;0,0202129972966548;-1300;CIRCULARARC V3;IfcAlignmentVerticalSegment;164,511752065819;40,8330580844944;126,550404440385;0,0202129972966548;0,0202129972966548;0;CONSTANTGRADIENT -V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;0,0202129972966548;-1300;CIRCULARARC +V4;IfcAlignmentVerticalSegment;205,344810150313;39,033681330639;127,37576293306;0,0202129972966548;-0,00981751240776929;-1300;CIRCULARARC V5;IfcAlignmentVerticalSegment;244,378491480952;50,1760735190479;127,578604224343;-0,00981751240776929;-0,00981751240776929;0;CONSTANTGRADIENT V6;IfcAlignmentVerticalSegment;294,554565;11,522986;127,086;0;0;0;CONSTANTGRADIENT V7;IfcAlignmentVerticalSegment;306,077551;192,512689171019;127,086;-0,00352981070589252;-0,00352981070589252;0;CONSTANTGRADIENT -V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,00352981070589252;-5000;CIRCULARARC +V8;IfcAlignmentVerticalSegment;498,590240171019;15,2752896431409;126,406466648677;-0,00352981070589252;-0,0065849894096037;-5000;CIRCULARARC V9;IfcAlignmentVerticalSegment;513,865529814159;78,3592658459091;126,329213578221;-0,0065849894096037;-0,0065849894096037;0;CONSTANTGRADIENT -V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;-0,0065849894096037;1300;CIRCULARARC +V10;IfcAlignmentVerticalSegment;592,224795660069;10,4103422623946;125,813218642574;-0,0065849894096037;0,00142311038270447;1300;CIRCULARARC V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 58e2877..baf7e6a 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -225,7 +225,7 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcMapConversion | XAxisOrdinate | 0 | | | IfcMapConversion | Scale | 1 | | | IfcProjectedCRS | Name | EPSG:3878 | | -| IfcProjectedCRS | GeodeticDatum | EPSG:3878 | | +| IfcProjectedCRS | GeodeticDatum | EPSG:6258 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | From 53d6ee8e56f638e518618db751b33f44229fed69 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 15 Mar 2022 08:29:28 +0100 Subject: [PATCH 20/37] No placement when no shape representation According to comment from @pjanck --- E1a-ARSE/ALIN01/Dataset/README.md | 10 +++++----- E1a-ARSE/ALIN02/Dataset/README.md | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 526ab14..a489b41 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -31,11 +31,11 @@ The following tables lists the entities that shall be present in the dataset in Alignment: -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | ----------------- | -------------- | -| A1 | IfcAlignment | IfcLocalPlacement | None | -| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | None | -| AV1 | IfcAlignmentVertical | IfcLocalPlacement | None | +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | --------------- | -------------- | +| A1 | IfcAlignment | None | None | +| AH1 | IfcAlignmentHorizontal | None | None | +| AV1 | IfcAlignmentVertical | None | None | Horizontal segments nested into AH1 in the following order: diff --git a/E1a-ARSE/ALIN02/Dataset/README.md b/E1a-ARSE/ALIN02/Dataset/README.md index c5fcdd2..c215526 100644 --- a/E1a-ARSE/ALIN02/Dataset/README.md +++ b/E1a-ARSE/ALIN02/Dataset/README.md @@ -28,11 +28,11 @@ The following tables lists the entities that shall be present in the dataset in Alignment: -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | ----------------- | -------------- | -| A1 | IfcAlignment | IfcLocalPlacement | None | -| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | None | -| AV1 | IfcAlignmentVertical | IfcLocalPlacement | None | +| Name | Type | ObjectPlacement | Representation | +| ---- | ---------------------- | --------------- | -------------- | +| A1 | IfcAlignment | None | None | +| AH1 | IfcAlignmentHorizontal | None | None | +| AV1 | IfcAlignmentVertical | None | None | Horizontal segments nested into AH1 in the following order: From 862c0d803ac9cad847d4dc3eee51f89786cd9100 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 15 Mar 2022 08:33:52 +0100 Subject: [PATCH 21/37] "Crest"/"Sag" instead of "cw" and "ccw" in description of vertical layout According to comment from @pjanck --- E1a-ARSE/ALIN01/Dataset/README.md | 4 ++-- E1a-ARSE/ALIN04/Dataset/README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index a489b41..312b28e 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -24,8 +24,8 @@ This test case utilises the following dataset: - The vertical layout has the following sequences of elements: - Line => Circular arc => Line - - Line => Circular arc (cw) => Circular arc (ccw) => Line - - Line => Circular arc (ccw) => Circular arc (cw) => Line + - Line => Circular arc (crest) => Circular arc (sag) => Line + - Line => Circular arc (sag) => Circular arc (crest) => Line The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : diff --git a/E1a-ARSE/ALIN04/Dataset/README.md b/E1a-ARSE/ALIN04/Dataset/README.md index 015d474..6b4732a 100644 --- a/E1a-ARSE/ALIN04/Dataset/README.md +++ b/E1a-ARSE/ALIN04/Dataset/README.md @@ -24,8 +24,8 @@ This test case utilises the following dataset: - The vertical layout has the following sequences of elements: - Line => Circular arc => Line - - Line => Circular arc (cw) => Circular arc (ccw) => Line - - Line => Circular arc (ccw) => Circular arc (cw) => Line + - Line => Circular arc (crest) => Circular arc (sag) => Line + - Line => Circular arc (sag) => Circular arc (crest) => Line The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : From 750da5ba8d5d27abe394f23e3387b9dbaa7c94db Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 15 Mar 2022 08:41:31 +0100 Subject: [PATCH 22/37] Moved IfcSite and IfcRoad to subsection "Spatial structure" under Entities section According to comment from @pjanck --- E1a-ARSE/ALIN01/README.md | 9 ++++----- E1a-ARSE/ALIN02/README.md | 6 ++++-- E1a-ARSE/ALIN03/README.md | 7 ++++--- E1a-ARSE/ALIN04/README.md | 6 ++++-- E1a-ARSE/ALIN05/README.md | 6 ++++-- E1a-ARSE/ALIN06/README.md | 7 ++++--- 6 files changed, 24 insertions(+), 17 deletions(-) diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 5a5a0ba..d6b859f 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -35,13 +35,14 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - *IfcSite* - - *IfcRoad* + - *IfcProject* - *IfcRepresentationContext* - *IfcMapConversion* - *IfcProjectedCRS* - *IfcUnitAssignment* - + - Spatial structure + - *IfcSite* + - *IfcRoad* - For this test instruction - Alignment - *IfcAlignment* @@ -51,8 +52,6 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - *IfcAlignmentHorizontalSegment* - *IfcAlignmentVerticalSegment* - -
Concept Templates diff --git a/E1a-ARSE/ALIN02/README.md b/E1a-ARSE/ALIN02/README.md index 7c03ec7..c10178b 100644 --- a/E1a-ARSE/ALIN02/README.md +++ b/E1a-ARSE/ALIN02/README.md @@ -35,12 +35,14 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - *IfcSite* - - *IfcRoad* + - *IfcProject* - *IfcRepresentationContext* - *IfcMapConversion* - *IfcProjectedCRS* - *IfcUnitAssignment* + - Spatial structure + - *IfcSite* + - *IfcRoad* - For this test instruction - Alignment - *IfcAlignment* diff --git a/E1a-ARSE/ALIN03/README.md b/E1a-ARSE/ALIN03/README.md index 04d2046..d2c7314 100644 --- a/E1a-ARSE/ALIN03/README.md +++ b/E1a-ARSE/ALIN03/README.md @@ -35,13 +35,14 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - *IfcSite* - - *IfcRoad* + - *IfcProject* - *IfcRepresentationContext* - *IfcMapConversion* - *IfcProjectedCRS* - *IfcUnitAssignment* - + - Spatial structure + - *IfcSite* + - *IfcRoad* - For this test instruction - Alignment diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md index f9a0677..bf87def 100644 --- a/E1a-ARSE/ALIN04/README.md +++ b/E1a-ARSE/ALIN04/README.md @@ -35,12 +35,14 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - *IfcSite* - - *IfcRoad* + - *IfcProject* - *IfcRepresentationContext* - *IfcMapConversion* - *IfcProjectedCRS* - *IfcUnitAssignment* + - Spatial structure + - *IfcSite* + - *IfcRoad* - For this test instruction - Alignment - *IfcAlignment* diff --git a/E1a-ARSE/ALIN05/README.md b/E1a-ARSE/ALIN05/README.md index c5cd3e1..4961932 100644 --- a/E1a-ARSE/ALIN05/README.md +++ b/E1a-ARSE/ALIN05/README.md @@ -35,12 +35,14 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - *IfcSite* - - *IfcRoad* + - *IfcProject* - *IfcRepresentationContext* - *IfcMapConversion* - *IfcProjectedCRS* - *IfcUnitAssignment* + - Spatial structure + - *IfcSite* + - *IfcRoad* - For this test instruction - Alignment - *IfcAlignment* diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index baf7e6a..cb5ecfe 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -35,13 +35,14 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an - Inherited from imported tests - Model setup - - *IfcSite* - - *IfcRoad* + - *IfcProject* - *IfcRepresentationContext* - *IfcMapConversion* - *IfcProjectedCRS* - *IfcUnitAssignment* - + - Spatial structure + - *IfcSite* + - *IfcRoad* - For this test instruction - Alignment From ee98d44d209da0076756f52367a3c5b1a62dbe52 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 29 Mar 2022 15:51:36 +0200 Subject: [PATCH 23/37] Updated according to the ValidationCriteriaMaster Kept tables (dataset definition) in the Dataset/Readme --- E1a-ARSE/ALIN06/Dataset/README.md | 125 ++++++++++------ E1a-ARSE/ALIN06/README.md | 238 ++++++++++++++---------------- 2 files changed, 186 insertions(+), 177 deletions(-) diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md index 4a7181e..cbee1ff 100644 --- a/E1a-ARSE/ALIN06/Dataset/README.md +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -9,67 +9,94 @@ The Following occurrence variations need to be checked and certified in relation ## Model Dataset -- - This test case utilises the following dataset: - - One alignment layout including geometric representation - - The alignment is composed of one horizontal alignment layout and one vertical alignment layout - - The horizontal layout contains lines and circular arcs - - - The vertical layout contains lines and circular arcs - - +This test case utilizes the following dataset. -The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : +- One alignment layout including geometric representation +- The alignment is composed of one horizontal alignment layout and one vertical alignment layout +- The horizontal layout contains lines and circular arcs -Alignment: +- The vertical layout contains lines and circular arcs -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | -| A1 | IfcAlignment | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | -| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcCompositeCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | -| AV1 | IfcAlignmentVertical | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./TOI-M14334-0000A.xml) | LandXML-file representing the alignment | + +## Dataset specification + +### Entities table + +| **Element** | **Attribute** | **Value** | **Notes** | +| ---------------------- | ------------- | ----------- | --------- | +| IfcProject | Name | Alin06 | | +| IfcSite | Name | Alin06.Site | | +| IfcAlignment | Name | A1 | | +| IfcRoad | Name | Alin06.Road | | +| IfcAlignmentHorizontal | Name | AH1 | | +| IfcAlignmentVertical | Name | AV1 | | + +### Horizontal segments table Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | -| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 276,867419 | 935,549267 | 0,001724622 | 0 | 0 | 229,405681 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 506,272759 | 935,944905 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | -| H3 | IfcAlignmentHorizontalSegment | 521,816666 | 934,8682 | 6,143144395 | 0 | 0 | 91,725737 | LINE | -| H4 | IfcAlignmentHorizontalSegment | 612,644434 | 922,064789 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | -| H5 | IfcAlignmentHorizontalSegment | 701,264387 | 849,049537 | 5,044918731 | 0 | 0 | 25,538554 | LINE | -| H6 | IfcAlignmentHorizontalSegment | 709,601071 | 824,909996 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | -| H7 | IfcAlignmentHorizontalSegment | 735,66497 | 783,164849 | 5,49613363 | 0 | 0 | 83,739856 | LINE | +| Entity | PredefinedType | Name | Start Point X | Start Point Y | Start Direction | Start Radius Of Curvature | End Radius Of Curvature | Segment Length | +| ----------------------------- | -------------- | ---- | ------------- | ------------- | --------------- | ------------------------- | ----------------------- | -------------- | +| IfcAlignmentHorizontalSegment | LINE | H1 | 276,867419 | 935,549267 | 0,001724622 | 0 | 0 | 229,405681 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H2 | 506,272759 | 935,944905 | 0,00172463 | -110 | -110 | 15,594208 | +| IfcAlignmentHorizontalSegment | LINE | H3 | 521,816666 | 934,8682 | 6,143144395 | 0 | 0 | 91,725737 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H4 | 612,644434 | 922,064789 | 6,143144399 | -110 | -110 | 120,80482 | +| IfcAlignmentHorizontalSegment | LINE | H5 | 701,264387 | 849,049537 | 5,044918731 | 0 | 0 | 25,538554 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H6 | 709,601071 | 824,909996 | 5,044918761 | 110 | 110 | 49,633636 | +| IfcAlignmentHorizontalSegment | LINE | H7 | 735,66497 | 783,164849 | 5,49613363 | 0 | 0 | 83,739856 | + +**NOTE**: + +- Please note the Project Global Positioning and unit parameters specified in the main Readme file + +### Vertical segments table Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | -| V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | CIRCULARARC | -| V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | CIRCULARARC | -| V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | -| V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | -| V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | CIRCULARARC | -| V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | CIRCULARARC | -| V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | +| Entity | PredefinedType | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | +| --------------------------- | ---------------- | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | +| IfcAlignmentVerticalSegment | CIRCULARARC | V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | CIRCULARARC | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | +| IfcAlignmentVerticalSegment | CIRCULARARC | V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | CIRCULARARC | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | +| IfcAlignmentVerticalSegment | CIRCULARARC | V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | CIRCULARARC | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | +| IfcAlignmentVerticalSegment | CIRCULARARC | V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | CIRCULARARC | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | -## Drawings (Visualisations) +### Spatial (De)Composition table -The following Drawings and visualisations describe the test case dataset to be modelled and certified. +| **Parent Element** | **Parent Element Type** | **Parent Element Name** | **MinSize** | **MaxSize** | **Child Element** | **Child Element Type** | **Child Element Name** | +| ------------------ | ----------------------- | ----------------------- | ----------- | ----------- | ----------------- | ---------------------- | ---------------------- | +| IfcProject | | Alin06 | 1 | 1 | IfcSite | | Alin06.Site | +| IfcSite | | Alin06.Site | 1 | 1 | IfcRoad | | Allin06.Road | -| Filename | Description | -| ------------------- | -------------------------------------------- | -| Insert map here | Planar view of the horizontal alignment | -| Insert profile here | Long section (profile) view of the alignment | +### Spatial Containment table +| **Spatial Element** | **Spatial Element Type** | **Spatial Element Name** | **MinSize** | **MaxSize** | **Element** | **Element Type** | **Element Name** | +| ------------------- | ------------------------ | ------------------------ | ----------- | ----------- | ------------ | ---------------- | ---------------- | +| IfcSite | | Alin06.Site | 1 | 1 | IfcAlignment | | A1 | -## Supporting files +### Product Geometric Representation table -| Filename | Description | -| ------------------------------------------------------------ | --------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [LandXML](./TOI-M14334-0000A.xml) | LandXML-file representing the alignment | \ No newline at end of file +| **Product** | **Product Type** | **Product Name** | **Representation Identifier** | **Representation Type** | **Items** | +| ---------------------- | ---------------- | ---------------- | ----------------------------- | ----------------------- | ------------------- | +| IfcAlignment | na | A1 | Axis | Curve3D | 1 IfcGradientCurve | +| IfcAlignmentHorizontal | na | AH1 | Axis | Curve2D | 1 IfcCompositeCurve | +| IfcAlignmentVertical | na | AV1 | Axis | Curve2D | 1 IfcGradientCurve | + +### Product Placement table + +| **Product** | **Product Type** | **Product Name** | **Object Placement** | Relative Placement Product | Relative Placement Product Type | Relative Placement Product Name | +| ------------ | ---------------- | ---------------- | -------------------- | -------------------------- | ------------------------------- | ------------------------------- | +| IfcAlignment | | A1 | IfcLocalPlacement | IfcSite | na | Alin06.Site | + +## \ No newline at end of file diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index cb5ecfe..970519d 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -18,47 +18,40 @@ With these instructions the infrastructure (e.g. Road) alignment exchange is est | Geometric representation | IfcCompositeCurve, IfcGradientCurve | | IFC reference file available | Yes | -The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. -:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: +- The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. -## Itemised Roots -*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* +- :zap: This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test :zap: +## Itemised Roots The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: -:construction: under construction :construction: -
IFC Entities These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** - -- Inherited from imported tests - - - Model setup - - *IfcProject* - - *IfcRepresentationContext* - - *IfcMapConversion* - - *IfcProjectedCRS* - - *IfcUnitAssignment* - - Spatial structure - - *IfcSite* - - *IfcRoad* -- For this test instruction - - - Alignment - - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* - - *IfcCompositeCurve* - - *IfcGradientCurve* - - *IfcCurveSegment* - - *IfcLine* - - *IfcCircle* - +- Model setup + - *IfcProject* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- Spatial structure + - *IfcSite* + - *IfcRoad* + +- Alignment + + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - *IfcCompositeCurve* + - *IfcGradientCurve* + - *IfcCurveSegment* + - *IfcLine* + - *IfcCircle*
@@ -66,78 +59,38 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests: +- Project Context - *Project Units* - *Project Representation Context* - *Project Global Positioning* - - *Spatial Decomposition* - - *Spatial Composition* - - *Spatial Container* - *Project Global Positioning* -- For this test instruction +- Object Composition - *Alignment Decomposition* - - *Alignment Geometry* - - *Alignment Geometry Gradient* + - *Spatial Decomposition* +- Object Connectivity - *Spatial Containment* -
- -## Test Case Imports -Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. - -:construction: under construction :construction: - -
Imports & Reuses - -| TI Code | Test Instruction Title | Comments | -| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | -| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | +- Product Shape + - Product Geometric Representation + - *Alignment Geometry* + - *Alignment Geometry Gradient*
-## Usages, Constraints & Logic -The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: - -:construction: under construction :construction: - -
Semantic Usages, Constraints & Logic -The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria - -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | --------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_00 | Alignment layout structure is verified | See below for further specification | | -| SITE_00 | Alignment shall always be contained in a Site | na | | - -ALIG_00: Alignment layout structure is verified +## Model Dataset -> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` -> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` -> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` -> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` -> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` -> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` -> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` -> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` -> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` +This test case utilises the dataset collected in the Dataset folder and summarised in the table below. **For more details on each item see [Dataset description](Dataset/README.md).** --
+| Filename | Type (format) | Description | +| ----------------------------- | ------------- | -------------------------------------------- | +| HorizontalAlignmentParameters | csv | Alignment parameters for horizontal segments | +| VerticalAlignmentParameters | csv | Alignment parameters for vertical segments | +| TOI-M14334-0000A | xml | LandXML representation of the alignment | -
Model Geometry -The Test case requires the following additional checks related to Model Geometry: - - - -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | - - -> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` -> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` -> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` (where the *IfcGradientCurve* is the same instance as the one referred by *IfcAlignment*) -> 1. Geometric representations shall correspond to the semantic definitions. +## Test Case Imports +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. -
+No test cases are imported for this test case. All necessary data and criteria are included. ## Expected Results @@ -154,51 +107,77 @@ Considering the aim of this test, other **optional** results, not subject to the --- ## Validation criteria -:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: +:zap: For this test case to be considered passed **all capabilities listed in this section**, and **the ones of pre-required tests** shall be verified, with no exception. :zap: -:construction: under construction :construction: +### General -### General & Imports +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| GENE_00 | All validation criteria of precondition's tests shall be verified | | na | na | +| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/Readme.md) | na | na | -
Click to expand +### Road alignment -- All the concept templates must be correctly implemented as presented in the validation criteria -- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. +**Acceptance criteria**: For the **Railway alignment (without cant)** capability, the validation procedure must verify that **all** the following validation criteria are satisfied. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ---------------------------------------------- | -------------------------- | ---------------------- | +| SITE_00 | All IfcAlignment shall always be contained in an IfcSite | | | Spatial Containment | +| ALIG_00 | Alignment layout structure is verified | See steps | | Alignment Layout | +| ALIG_01 | Number of alignments contained in file | [1] | | | +| ALIG_02 | Parameters of alignment segments are verified | As per Alignment Table | | | +| ALIG_03 | Alignment geometric compliance is verified | As per Alignment geometric compliance document | | | -#### Imports -| **TI Code** | **Criteria Codes** | *COMMENT** | -|--------------------|--------------------|----------------------------------------------------| -| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | +
ALIG_00 steps -#### General -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|-----------------------------------------------|-------------| -| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | +| **STEP ID** | **STEP** | +| ----------- | ------------------------------------------------------------ | +| ALIG_00.1 | Each IfcAlignment must nest exactly 1 IfcAlignmentHorizontal | +| ALIG_00.2 | Each IfcAlignment must nest at most 1 IfcAlignmentVertical | +| ALIG_00.3 | Each IfcAlignment must nest exactly 1 IfcAlignmentVertical | +| ALIG_00.6 | Each IfcAlignmentHorizontal must be nested only by 1 IfcAlignment | +| ALIG_00.7 | Each IfcAlignmentVertical must be nested only by 1 IfcAlignment | +| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical, IfcAlignmentCant, IfcReferent, IfcAlignment | +| ALIG_00.10 | Each IfcAlignmentHorizontal nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentHorizontalSegment | +| ALIG_00.11 | Each IfcAlignmentVertical nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentVerticalSegment |
-### Road alignment +### Spatial (De)Composition -
Click to expand -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | -| ALIG_01 | Alignments contained in file | 1 | | -| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | -| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve. | | | -| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcCompositeCurve. | | | -| ALIG_07 | The IfcAlignmentVertical shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve (same instance as referred to by IfcAlignment). | | | -| ALIG_06 | The IfcGradientCurve shall have the IfcCompositeCurve as BaseCurve | | | -| ALIG_07 | The IfcGradientCurve shall have Segments that exactly match the corresponding vertical segments in the IfcAlignmentVertical and in the same order | | | -| ALIG_08 | The IfcCompositeCurve shall have Segments that exactly match the corresponding horizontal segments in the IfcAlignmentHorizontal and in the same order | | | +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | --------------------------------- | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/Readme.md) | na | Spatial Decomposition | + +> **Acceptance criteria**: For the **Spatial decomposition** capability, the validation procedure must verify that a Parent Element of the requested type aggregates (via `IfcRelAggregates`) exactly a given number of Child Elements of the requested type, no more and no less. + +
SDEC_01 details: Spatial decomposition is verified + + +> - Given a set of elements taken from the [Spatial (De)Composition Table](#Spatial-(De)Composition-Table) +> - Then the Parent Element, and optionally the Parent Element Type, exists +> - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element
-### Spatial containment +### Spatial Containment + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------- | -------------------------------- | -------------------------- | ---------------------- | +| SCON_01 | Spatial containment is verified | As per Spatial Containment Table | na | Spatial Containment | + +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. + +
SCON_01 details: Spatial containment is verified + + +> - Given a set of elements taken from the [Spatial Containment Table](#Spatial-Containment-Table) +> - Then the Spatial Element, and optionally the Spatial Element Type, exists +> - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element + +
Click to expand > **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. @@ -209,13 +188,18 @@ Considering the aim of this test, other **optional** results, not subject to the
-### Project global positioning - -
Click to expand -> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. - +### Project Setup +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ----------------------------------------------- | -------------------- | -------------------------- | -------------------------- | +| ORIG_01 | Origin of Coordinate System is set as requested | [(0., 0., 0.)] | | Project Global Positioning | +| ORIG_02 | True north is set as requested | [(0., 1., 0.)] | | Project Global Positioning | +| DIST_01 | Unit of measure for all distances | [meter] | | Project Units | +| ANGL_01 | Unit of measure all angles | [radian] | | Project Units | +| DIST_02 | Required precision for distances | [0,0001] | all alignment segments | na | +| ANGL_02 | Required precision for angles and slope | [0,000001] | | na | +### Project global positioning | Element | Attribute | Value | Comment | | ---------------- | ---------------- | --------- | ------- | @@ -228,5 +212,3 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcProjectedCRS | Name | EPSG:3878 | | | IfcProjectedCRS | GeodeticDatum | EPSG:6258 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | - -
From ccb56592540824f61b41bed3077653150b73fae3 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 29 Mar 2022 16:13:10 +0200 Subject: [PATCH 24/37] Update README.md --- E1a-ARSE/ALIN06/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 970519d..661bd93 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -29,6 +29,7 @@ The Test instruction addresses the import and export of the following IFC Entiti
IFC Entities These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** + - Model setup - *IfcProject* - *IfcRepresentationContext* From b0c3f4a4e26e356a54715a161ff31274c16c01bd Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 29 Mar 2022 17:13:33 +0200 Subject: [PATCH 25/37] Update README.md Update links --- E1a-ARSE/ALIN06/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 661bd93..75e3201 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -115,7 +115,7 @@ Considering the aim of this test, other **optional** results, not subject to the | **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | | ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | ---------------------- | | GENE_00 | All validation criteria of precondition's tests shall be verified | | na | na | -| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/Readme.md) | na | na | +| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/README.md) | na | na | ### Road alignment @@ -150,7 +150,7 @@ Considering the aim of this test, other **optional** results, not subject to the | **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | | ----------- | --------------------------------- | ------------------------------------------------------------ | -------------------------- | ---------------------- | -| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/Readme.md) | na | Spatial Decomposition | +| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/README.md) | na | Spatial Decomposition | > **Acceptance criteria**: For the **Spatial decomposition** capability, the validation procedure must verify that a Parent Element of the requested type aggregates (via `IfcRelAggregates`) exactly a given number of Child Elements of the requested type, no more and no less. From 3c57e01d95f791fb23ff5925106c0598c5e57605 Mon Sep 17 00:00:00 2001 From: larswik Date: Tue, 29 Mar 2022 17:14:55 +0200 Subject: [PATCH 26/37] Update README.md --- E1a-ARSE/ALIN06/Dataset/README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md index cbee1ff..8a7f82f 100644 --- a/E1a-ARSE/ALIN06/Dataset/README.md +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -1,12 +1,3 @@ -## Variations -The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: - -- IfcAlignmentHorizontalSegment - *The test shall include linear and circular arc segments* -- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* -- Alignment Decomposition: - - The horizontal alignment shall be decomposed with element sequences containing lines and both clockwise and counter-clockwise turns - - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns - ## Model Dataset This test case utilizes the following dataset. @@ -14,9 +5,16 @@ This test case utilizes the following dataset. - One alignment layout including geometric representation - The alignment is composed of one horizontal alignment layout and one vertical alignment layout - The horizontal layout contains lines and circular arcs - - The vertical layout contains lines and circular arcs +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- IfcAlignmentHorizontalSegment - *The test shall include linear and circular arc segments* +- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* +- Alignment Decomposition: + - The horizontal alignment shall be decomposed with element sequences containing lines and both clockwise and counter-clockwise turns + - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns + | Filename | Description | | ------------------------------------------------------------ | --------------------------------------------- | | [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | From 41806d0da913f8a45044de282ad8f4f5a591e61c Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 12:58:42 +0200 Subject: [PATCH 27/37] Updates according to ValidationCriteriaMaster --- E1a-ARSE/ALIN01/Dataset/README.md | 116 +++++++++-------- E1a-ARSE/ALIN01/README.md | 200 ++++++++++++++++-------------- E1a-ARSE/ALIN06/Dataset/README.md | 26 ++-- E1a-ARSE/ALIN06/README.md | 39 +++++- 4 files changed, 215 insertions(+), 166 deletions(-) diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 312b28e..018fdb0 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -1,14 +1,3 @@ -## Variations -The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: - -- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* -- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* -- Alignment Decomposition: - - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns - - The horizontal alignment shall also be decomposed with element sequences lacking clothoid transition curves including both clockwise and counter-clockwise turns where a clockwise and counter-clockwise turn are joined together (forming an "S" curve) - - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns - - The vertical alignment shall also be decomposed with element sequences where circular arcs follows directly after each other (forming an "S" curve) - ## Model Dataset This test case utilises the following dataset: @@ -27,57 +16,76 @@ This test case utilises the following dataset: - Line => Circular arc (crest) => Circular arc (sag) => Line - Line => Circular arc (sag) => Circular arc (crest) => Line -The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : -Alignment: -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | --------------- | -------------- | -| A1 | IfcAlignment | None | None | -| AH1 | IfcAlignmentHorizontal | None | None | -| AV1 | IfcAlignmentVertical | None | None | +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | + +## Dataset specification + +### Entities table + +| **Element** | **Attribute** | **Value** | **Notes** | +| ---------------------- | ------------- | ----------- | --------- | +| IfcProject | Name | Alin01 | | +| IfcSite | Name | Alin01.Site | | +| IfcAlignment | Name | A1 | | +| IfcRoad | Name | Alin01.Road | | +| IfcAlignmentHorizontal | Name | AH1 | | +| IfcAlignmentVertical | Name | AV1 | | + +### Horizontal segments table Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | -| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 0,283714 | 18,750471 | 0,712199896 | 0 | 0 | 193,4232 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 146,690778 | 145,152631 | 0,712199906 | 0 | 200 | 63,845 | CLOTHOID | -| H3 | IfcAlignmentHorizontalSegment | 192,677965 | 189,335669 | 0,871812399 | 200 | 200 | 34,420584 | CIRCULARARC | -| H4 | IfcAlignmentHorizontalSegment | 212,454617 | 217,455754 | 1,043915278 | 200 | 0 | 63,845 | CLOTHOID | -| H5 | IfcAlignmentHorizontalSegment | 238,485471 | 275,673937 | 1,203527843 | 0 | 0 | 21,346852 | LINE | -| H6 | IfcAlignmentHorizontalSegment | 246,15043 | 295,597202 | 1,20352782 | 0 | -200 | 63,845 | CLOTHOID | -| H7 | IfcAlignmentHorizontalSegment | 272,181284 | 353,815386 | 1,04391532 | -200 | -200 | 85,355704 | CIRCULARARC | -| H8 | IfcAlignmentHorizontalSegment | 329,316712 | 416,355174 | 0,617136819 | -200 | 0 | 63,845 | CLOTHOID | -| H9 | IfcAlignmentHorizontalSegment | 384,951684 | 447,527472 | 0,457524298 | 0 | 0 | 192,323738 | LINE | -| H10 | IfcAlignmentHorizontalSegment | 557,494701 | 532,482327 | 0,457524293 | 200 | 200 | 82,814142 | CIRCULARARC | -| H11 | IfcAlignmentHorizontalSegment | 622,220317 | 583,190771 | 0,871595018 | -200 | -200 | 100,11889 | CIRCULARARC | -| H12 | IfcAlignmentHorizontalSegment | 702,781991 | 640,862461 | 0,371000558 | 0 | 0 | 58,659577 | LINE | -| H13 | IfcAlignmentHorizontalSegment | 757,450667 | 662,129379 | 0,371000555 | -200 | -200 | 115,440984 | CIRCULARARC | -| H14 | IfcAlignmentHorizontalSegment | 870,909519 | 671,499388 | 6,076980939 | 200 | 200 | 102,335082 | CIRCULARARC | -| H15 | IfcAlignmentHorizontalSegment | 972,00724 | 676,521331 | 0,305471033 | 0 | 0 | 28,790227 | LINE | +| Entity | PredefinedType | Name | Start Point X | Start Point Y | Start Direction | Start Radius Of Curvature | End Radius Of Curvature | Segment Length | +| ----------------------------- | -------------- | ---- | ------------- | ------------- | --------------- | ------------------------- | ----------------------- | -------------- | +| IfcAlignmentHorizontalSegment | LINE | H1 | 0,283714 | 18,750471 | 0,712199896 | 0 | 0 | 193,4232 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H2 | 146,690778 | 145,152631 | 0,712199906 | 0 | 200 | 63,845 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H3 | 192,677965 | 189,335669 | 0,871812399 | 200 | 200 | 34,420584 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H4 | 212,454617 | 217,455754 | 1,043915278 | 200 | 0 | 63,845 | +| IfcAlignmentHorizontalSegment | LINE | H5 | 238,485471 | 275,673937 | 1,203527843 | 0 | 0 | 21,346852 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H6 | 246,15043 | 295,597202 | 1,20352782 | 0 | -200 | 63,845 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H7 | 272,181284 | 353,815386 | 1,04391532 | -200 | -200 | 85,355704 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H8 | 329,316712 | 416,355174 | 0,617136819 | -200 | 0 | 63,845 | +| IfcAlignmentHorizontalSegment | LINE | H9 | 384,951684 | 447,527472 | 0,457524298 | 0 | 0 | 192,323738 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H10 | 557,494701 | 532,482327 | 0,457524293 | 200 | 200 | 82,814142 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H11 | 622,220317 | 583,190771 | 0,871595018 | -200 | -200 | 100,11889 | +| IfcAlignmentHorizontalSegment | LINE | H12 | 702,781991 | 640,862461 | 0,371000558 | 0 | 0 | 58,659577 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H13 | 757,450667 | 662,129379 | 0,371000555 | -200 | -200 | 115,440984 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H14 | 870,909519 | 671,499388 | 6,076980939 | 200 | 200 | 102,335082 | +| IfcAlignmentHorizontalSegment | LINE | H15 | 972,00724 | 676,521331 | 0,305471033 | 0 | 0 | 28,790227 | + +**NOTE**: + +- Please note the Project Global Positioning and unit parameters specified in the main Readme file + +### Vertical segments table Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | -| V1 | IfcAlignmentVerticalSegment | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,093338018 | -300 | CIRCULARARC | -| V3 | IfcAlignmentVerticalSegment | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,020657799 | 300 | CIRCULARARC | -| V5 | IfcAlignmentVerticalSegment | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | CONSTANTGRADIENT | -| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | 0,007812811 | 2000 | CIRCULARARC | -| V7 | IfcAlignmentVerticalSegment | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,048630199 | 2500 | CIRCULARARC | -| V9 | IfcAlignmentVerticalSegment | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | -0,01545787 | -1000 | CIRCULARARC | -| V11 | IfcAlignmentVerticalSegment | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | CONSTANTGRADIENT | -| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,071486276 | -1000 | CIRCULARARC | -| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | 0,005320833 | 1000 | CIRCULARARC | -| V14 | IfcAlignmentVerticalSegment | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | CONSTANTGRADIENT | -| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,023736122 | 2000 | CIRCULARARC | -| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | -0,028845118 | -1000 | CIRCULARARC | -| V17 | IfcAlignmentVerticalSegment | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | CONSTANTGRADIENT | +| Entity | PredefinedType | Name | Start Dist Along | Horizontal Length | Start Height | Start Gradient | End Gradient | RadiusOfCurvature | +| --------------------------- | ---------------- | ---- | ---------------- | ----------------- | ------------ | -------------- | ------------ | ----------------- | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V2 | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,093338018 | -300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V3 | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V4 | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,020657799 | 300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V5 | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V6 | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | 0,007812811 | 2000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V7 | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V8 | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,048630199 | 2500 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V9 | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V10 | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | -0,01545787 | -1000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V11 | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V12 | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,071486276 | -1000 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V13 | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | 0,005320833 | 1000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V14 | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V15 | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,023736122 | 2000 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V16 | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | -0,028845118 | -1000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V17 | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | ## Drawings (Visualisations) diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index d6b859f..4be5b4a 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -18,39 +18,36 @@ With these instructions the infrastructure (e.g. Road) alignment exchange is est | Geometric representation | No | | IFC reference file available | Yes | -The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. -:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: +- The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. -## Itemised Roots -*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* +- :zap: This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test :zap: +## Itemised Roots The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: -:construction: under construction :construction: -
IFC Entities - These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests - - Model setup - - *IfcProject* - - *IfcRepresentationContext* - - *IfcMapConversion* - - *IfcProjectedCRS* - - *IfcUnitAssignment* - - Spatial structure - - *IfcSite* - - *IfcRoad* -- For this test instruction - - Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* + +- Model setup + - *IfcProject* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- Spatial structure + - *IfcSite* + - *IfcRoad* +- Alignment + + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment*
@@ -58,133 +55,144 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests: +- Project Context - *Project Units* - *Project Representation Context* - *Project Global Positioning* - - *Spatial Decomposition* - - *Spatial Composition* - - *Spatial Container* - *Project Global Positioning* -- For this test instruction +- Object Composition - *Alignment Decomposition* + - *Spatial Decomposition* +- Object Connectivity - *Spatial Containment*
+## Model Dataset + +This test case utilises the dataset collected in the Dataset folder and summarised in the table below. **For more details on each item see [Dataset description](Dataset/README.md).** + +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | + ## Test Case Imports + Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. -:construction: under construction :construction: +No test cases are imported for this test case. All necessary data and criteria are included. -
Imports & Reuses +## Expected Results -| TI Code | Test Instruction Title | Comments | -| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | -| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | +For certification of capabilities the only source will be: -
+- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) -## Usages, Constraints & Logic -The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters -:construction: under construction :construction: +--- -
Semantic Usages, Constraints & Logic -The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria +## Validation criteria +:zap: For this test case to be considered passed **all capabilities listed in this section**, and **the ones of pre-required tests** shall be verified, with no exception. :zap: -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | --------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_00 | Alignment layout structure is verified | See below for further specification | | -| SITE_00 | Alignment shall always be contained in a Site | na | | +### General -ALIG_00: Alignment layout structure is verified +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| GENE_00 | All validation criteria of precondition's tests shall be verified | | na | na | +| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/README.md) | na | na | -> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` -> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` -> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` -> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` -> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` -> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` -> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` -> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` -> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` +### Road alignment --
+**Acceptance criteria**: For the **Railway alignment (without cant)** capability, the validation procedure must verify that **all** the following validation criteria are satisfied. -
Model Geometry -The Test case requires no additional checks related to Model Geometry +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ---------------------- | -------------------------- | ---------------------- | +| SITE_00 | All IfcAlignment shall always be contained in an IfcSite | | | Spatial Containment | +| ALIG_00 | Alignment layout structure is verified | See steps | | Alignment Layout | +| ALIG_01 | Number of alignments contained in file | [1] | | | +| ALIG_02 | Parameters of alignment segments are verified | As per Alignment Table | | | -
+
ALIG_00 steps -## Expected Results -For certification of capabilities the only source will be: -:construction: under construction :construction: +| **STEP ID** | **STEP** | +| ----------- | ------------------------------------------------------------ | +| ALIG_00.1 | Each IfcAlignment must nest exactly 1 IfcAlignmentHorizontal | +| ALIG_00.2 | Each IfcAlignment must nest at most 1 IfcAlignmentVertical | +| ALIG_00.3 | Each IfcAlignment must nest exactly 1 IfcAlignmentVertical | +| ALIG_00.6 | Each IfcAlignmentHorizontal must be nested only by 1 IfcAlignment | +| ALIG_00.7 | Each IfcAlignmentVertical must be nested only by 1 IfcAlignment | +| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical | +| ALIG_00.10 | Each IfcAlignmentHorizontal nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentHorizontalSegment | +| ALIG_00.11 | Each IfcAlignmentVertical nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentVerticalSegment | -- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) +
-Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of a planar view and a "long section" similar to the provided examples -- CSV export of the horizontal and vertical alignment segment parameters +### Spatial (De)Composition ---- -## Validation criteria -:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | --------------------------------- | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/README.md) | na | Spatial Decomposition | -:construction: under construction :construction: +> **Acceptance criteria**: For the **Spatial decomposition** capability, the validation procedure must verify that a Parent Element of the requested type aggregates (via `IfcRelAggregates`) exactly a given number of Child Elements of the requested type, no more and no less. -### General & Imports +
SDEC_01 details: Spatial decomposition is verified -
Click to expand -- All the concept templates must be correctly implemented as presented in the validation criteria -- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. +> - Given a set of elements taken from the [Spatial (De)Composition Table](#Spatial-(De)Composition-Table) +> - Then the Parent Element, and optionally the Parent Element Type, exists +> - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element -#### Imports -| **TI Code** | **Criteria Codes** | *COMMENT** | -|--------------------|--------------------|----------------------------------------------------| -| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | +
+### Spatial Containment -#### General -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|-----------------------------------------------|-------------| -| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------- | -------------------------------- | -------------------------- | ---------------------- | +| SCON_01 | Spatial containment is verified | As per Spatial Containment Table | na | Spatial Containment | -
+> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. + +
SCON_01 details: Spatial containment is verified -### Road alignment -
Click to expand -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | -| ALIG_01 | Alignments contained in file | 1 | | -| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | -| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | +> - Given a set of elements taken from the [Spatial Containment Table](#Spatial-Containment-Table) +> - Then the Spatial Element, and optionally the Spatial Element Type, exists +> - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element
-### Spatial containment
Click to expand > **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. + | Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | | --------------- | -------------------- | ------- | ------- | ------------ | -------------- | | IfcSite | | 1 | 1 | IfcAlignment | Road alignment |
-### Project global positioning +### Project Setup -
Click to expand -> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ----------------------------------------------- | -------------------- | -------------------------- | -------------------------- | +| ORIG_01 | Origin of Coordinate System is set as requested | [(0., 0., 0.)] | | Project Global Positioning | +| ORIG_02 | True north is set as requested | [(0., 1., 0.)] | | Project Global Positioning | +| DIST_01 | Unit of measure for all distances | [meter] | | Project Units | +| ANGL_01 | Unit of measure all angles | [radian] | | Project Units | +| DIST_02 | Required precision for distances | [0,0001] | all alignment segments | na | +| ANGL_02 | Required precision for angles and slope | [0,000001] | | na | +### Project global positioning | Element | Attribute | Value | Comment | | ---------------- | ---------------- | --------- | ------- | @@ -198,4 +206,4 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcProjectedCRS | GeodeticDatum | EPSG:6258 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | -
+### diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md index 8a7f82f..9e11edd 100644 --- a/E1a-ARSE/ALIN06/Dataset/README.md +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -56,19 +56,19 @@ Horizontal segments nested into AH1 in the following order: Vertical segments nested into AV1 in the following order: -| Entity | PredefinedType | Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | -| --------------------------- | ---------------- | ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | -| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | -| IfcAlignmentVerticalSegment | CIRCULARARC | V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | CIRCULARARC | -| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | -| IfcAlignmentVerticalSegment | CIRCULARARC | V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | CIRCULARARC | -| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | -| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | -| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | -| IfcAlignmentVerticalSegment | CIRCULARARC | V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | CIRCULARARC | -| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | -| IfcAlignmentVerticalSegment | CIRCULARARC | V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | CIRCULARARC | -| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | +| Entity | PredefinedType | Name | Type | Start Dist Along | Horizontal Length | Start Height | Start Gradient | End Gradient | RadiusOfCurvature | +| --------------------------- | ---------------- | ---- | --------------------------- | ---------------- | ----------------- | ------------ | -------------- | ------------ | ----------------- | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | ### Spatial (De)Composition table diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 75e3201..99d4044 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -97,8 +97,6 @@ No test cases are imported for this test case. All necessary data and criteria a For certification of capabilities the only source will be: -:construction: under construction :construction: - - n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: @@ -139,7 +137,7 @@ Considering the aim of this test, other **optional** results, not subject to the | ALIG_00.3 | Each IfcAlignment must nest exactly 1 IfcAlignmentVertical | | ALIG_00.6 | Each IfcAlignmentHorizontal must be nested only by 1 IfcAlignment | | ALIG_00.7 | Each IfcAlignmentVertical must be nested only by 1 IfcAlignment | -| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical, IfcAlignmentCant, IfcReferent, IfcAlignment | +| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical | | ALIG_00.10 | Each IfcAlignmentHorizontal nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentHorizontalSegment | | ALIG_00.11 | Each IfcAlignmentVertical nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentVerticalSegment | @@ -189,6 +187,41 @@ Considering the aim of this test, other **optional** results, not subject to the
+### Product geometric representation + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------ | --------------------------------------------- | -------------------------- | ----------------------------------------------------- | +| PREP_01 | Geometric representation of products is verified | As per Product Geometric Representation Table | | Product Geometric Representation and its subtemplates | + +> **Acceptance criteria**: For the **Group Geometric Representation** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has an IfcShapeRepresentation with the requested Representation Identifier, Representation Type and Items. + +
PREP_01 details: Geometric representation of products is verified + + +> - Given a set of products taken from the [Product Geometric Representation Table](#Product-Geometric-Representation-Table) +> - Then the Product, and optionally the Product Type, exists +> - And the Product must have an IfcShapeRepresentation (via IfcProductDefinitionShape) with the requested Representation Identifier, Representation Type and Items. + +
+ +### Product placement + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------ | -------------------------- | ------------------------------ | +| PPLA_01 | Placement of products is verified | As per Product Placement Table | | Product Placement subtemplates | +| PPLA_02 | For a product that has ObjectPlacement as IfcLinearPlacement, the CartesianPosition of IfcLinearPlacement shall be available | depends on cases | | Product Linear Placement | + +> **Acceptance criteria**: For the **Product Placement** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has the requested Object Placement, and optionally the Object Placement has PlacementRelTo reference to the Object Placement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name. + +
PPLA_01 details: Placement of products is verified + + +> - Given a set of products taken from the [Product Geometric Representation Table](#Product-Geometric-Representation-Table) +> - Then the Product with Product Type and Product Name, exists +> - And the Product must have Object Placement, and the Object Placement has PlacementRelTo reference to the ObjectPlacement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name. + +
+ ### Project Setup | **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | From c5cb64d89959d0761e0166fc7d719226b1c7d9a1 Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 13:02:53 +0200 Subject: [PATCH 28/37] Update README.md --- E1a-ARSE/ALIN01/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 4be5b4a..81dac82 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -74,9 +74,9 @@ This test case utilises the dataset collected in the Dataset folder and summaris | Filename | Description | | ------------------------------------------------------------ | --------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | +| [HorizontalAlignmentParameters](Dataset/HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](Dataset/VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](Dataset/Testi_101_ml.xml) | LandXML-file representing the alignment | ## Test Case Imports From 5d16e98b0083559b8051e5e35b95c4f5f88ec40e Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 13:07:55 +0200 Subject: [PATCH 29/37] Adding Spatial Containment and Spatial Decomposition and Cleaning up --- E1a-ARSE/ALIN01/Dataset/README.md | 13 +++++++++++++ E1a-ARSE/ALIN01/README.md | 10 ---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 018fdb0..0884acf 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -87,6 +87,19 @@ Vertical segments nested into AV1 in the following order: | IfcAlignmentVerticalSegment | CIRCULARARC | V16 | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | -0,028845118 | -1000 | | IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V17 | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | +### Spatial (De)Composition table + +| **Parent Element** | **Parent Element Type** | **Parent Element Name** | **MinSize** | **MaxSize** | **Child Element** | **Child Element Type** | **Child Element Name** | +| ------------------ | ----------------------- | ----------------------- | ----------- | ----------- | ----------------- | ---------------------- | ---------------------- | +| IfcProject | | Alin01 | 1 | 1 | IfcSite | | Alin01.Site | +| IfcSite | | Alin01.Site | 1 | 1 | IfcRoad | | Allin01.Road | + +### Spatial Containment table + +| **Spatial Element** | **Spatial Element Type** | **Spatial Element Name** | **MinSize** | **MaxSize** | **Element** | **Element Type** | **Element Name** | +| ------------------- | ------------------------ | ------------------------ | ----------- | ----------- | ------------ | ---------------- | ---------------- | +| IfcSite | | Alin01.Site | 1 | 1 | IfcAlignment | | A1 | + ## Drawings (Visualisations) The following Drawings and visualisations describe the test case dataset to be modelled and certified. diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 81dac82..0e724f7 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -171,16 +171,6 @@ Considering the aim of this test, other **optional** results, not subject to the
-
Click to expand -> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. - - -| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | -| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | -| IfcSite | | 1 | 1 | IfcAlignment | Road alignment | - -
- ### Project Setup | **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | From b106edbebc6dcd1cbf6c561440e791bef140596c Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 13:10:00 +0200 Subject: [PATCH 30/37] Update README.md --- E1a-ARSE/ALIN01/Dataset/README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/E1a-ARSE/ALIN01/Dataset/README.md b/E1a-ARSE/ALIN01/Dataset/README.md index 0884acf..f8c4249 100644 --- a/E1a-ARSE/ALIN01/Dataset/README.md +++ b/E1a-ARSE/ALIN01/Dataset/README.md @@ -110,10 +110,4 @@ The following Drawings and visualisations describe the test case dataset to be m | [Testi_ml_profiles](./Testi_ml_profiles.pdf) | Long section (profile) view of the test case | -## Supporting files - -| Filename | Description | -| ------------------------------------------------------------ | --------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | \ No newline at end of file +## From e35c0dac7682df2634822182be2f43bbd8d5b00b Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 13:12:21 +0200 Subject: [PATCH 31/37] Update README.md --- E1a-ARSE/ALIN06/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 99d4044..7b4e951 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -172,7 +172,7 @@ Considering the aim of this test, other **optional** results, not subject to the
SCON_01 details: Spatial containment is verified -> - Given a set of elements taken from the [Spatial Containment Table](#Spatial-Containment-Table) +> - Given a set of elements taken from the [Spatial Containment Table](Dataset/README.md#Spatial-Containment-Table) > - Then the Spatial Element, and optionally the Spatial Element Type, exists > - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element @@ -198,7 +198,7 @@ Considering the aim of this test, other **optional** results, not subject to the
PREP_01 details: Geometric representation of products is verified -> - Given a set of products taken from the [Product Geometric Representation Table](#Product-Geometric-Representation-Table) +> - Given a set of products taken from the [Product Geometric Representation Table](Dataset/README.md#Product-Geometric-Representation-Table) > - Then the Product, and optionally the Product Type, exists > - And the Product must have an IfcShapeRepresentation (via IfcProductDefinitionShape) with the requested Representation Identifier, Representation Type and Items. From f1c081b6ab6dce5da1ed5318f00a6ec48b3d4376 Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 13:14:27 +0200 Subject: [PATCH 32/37] Updating links --- E1a-ARSE/ALIN06/README.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 7b4e951..3cf68cd 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -155,7 +155,7 @@ Considering the aim of this test, other **optional** results, not subject to the
SDEC_01 details: Spatial decomposition is verified -> - Given a set of elements taken from the [Spatial (De)Composition Table](#Spatial-(De)Composition-Table) +> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Spatial-(De)Composition-Table) > - Then the Parent Element, and optionally the Parent Element Type, exists > - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element @@ -178,15 +178,6 @@ Considering the aim of this test, other **optional** results, not subject to the
-
Click to expand -> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. - -| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | -| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | -| IfcSite | | 1 | 1 | IfcAlignment | Road alignment | - -
- ### Product geometric representation | **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | From 82d173605c27393d9d2e1e0b632f05361478df31 Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 13:15:53 +0200 Subject: [PATCH 33/37] Update README.md --- E1a-ARSE/ALIN06/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 3cf68cd..ed234f2 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -155,7 +155,7 @@ Considering the aim of this test, other **optional** results, not subject to the
SDEC_01 details: Spatial decomposition is verified -> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Spatial-(De)Composition-Table) +> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Dataset/README.md#spatial-decomposition-table) > - Then the Parent Element, and optionally the Parent Element Type, exists > - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element From 13e3e77b31c8509a055f46767c727a470ee5aacb Mon Sep 17 00:00:00 2001 From: larswik Date: Wed, 30 Mar 2022 13:18:03 +0200 Subject: [PATCH 34/37] Update README.md --- E1a-ARSE/ALIN01/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/E1a-ARSE/ALIN01/README.md b/E1a-ARSE/ALIN01/README.md index 0e724f7..91376bc 100644 --- a/E1a-ARSE/ALIN01/README.md +++ b/E1a-ARSE/ALIN01/README.md @@ -147,7 +147,7 @@ Considering the aim of this test, other **optional** results, not subject to the -> - Given a set of elements taken from the [Spatial (De)Composition Table](#Spatial-(De)Composition-Table) +> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Dataset/README.md#spatial-decomposition-table) > - Then the Parent Element, and optionally the Parent Element Type, exists > - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element @@ -165,7 +165,7 @@ Considering the aim of this test, other **optional** results, not subject to the -> - Given a set of elements taken from the [Spatial Containment Table](#Spatial-Containment-Table) +> - Given a set of elements taken from the [Spatial Containment Table](Dataset/README.md#Spatial-Containment-Table) > - Then the Spatial Element, and optionally the Spatial Element Type, exists > - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element From 237aa8a44c733f2b57a79723d62ee31426ea6af8 Mon Sep 17 00:00:00 2001 From: larswik Date: Fri, 1 Apr 2022 12:03:44 +0200 Subject: [PATCH 35/37] Updated according to ValidationCriteriaMaster --- E1a-ARSE/ALIN02/Dataset/README.md | 142 ++++++++-------- E1a-ARSE/ALIN02/README.md | 207 ++++++++++++------------ E1a-ARSE/ALIN03/Dataset/README.md | 126 +++++++++------ E1a-ARSE/ALIN03/README.md | 258 ++++++++++++++++------------- E1a-ARSE/ALIN04/Dataset/README.md | 149 ++++++++++------- E1a-ARSE/ALIN04/README.md | 261 +++++++++++++++++------------- E1a-ARSE/ALIN05/Dataset/README.md | 154 ++++++++++-------- E1a-ARSE/ALIN05/README.md | 255 ++++++++++++++++------------- E1a-ARSE/ALIN06/Dataset/README.md | 2 - 9 files changed, 864 insertions(+), 690 deletions(-) diff --git a/E1a-ARSE/ALIN02/Dataset/README.md b/E1a-ARSE/ALIN02/Dataset/README.md index c215526..50dd465 100644 --- a/E1a-ARSE/ALIN02/Dataset/README.md +++ b/E1a-ARSE/ALIN02/Dataset/README.md @@ -1,15 +1,3 @@ -## Variations -The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: - -- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* -- IfcAlignmentVerticalSegment - *The test shall include linear and parabolic arc segments* -- Alignment Decomposition: - - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns - - The horizontal alignment shall also be decomposed with sequences of clothoid transition curves forming "S" curves - - The vertical alignment shall be decomposed with element sequences containing linear and parabolic arc segments including both clockwise and counter-clockwise turns - - The vertical alignment shall also be decomposed into parabolic arcs followed by parabolic arcs forming "S" curves - - The vertical alignment shall also be decomposed with element sequences where linear elements follows directly after each other - ## Model Dataset This test case utilises the following dataset: @@ -21,64 +9,90 @@ This test case utilises the following dataset: - The vertical layout has the following sequences of elements: - Line => Parabolic arc => Line - - Line => Parabolic arc => Parabolic arc => Line + - Line => Parabolic arc => Parabolic arc => Line (crest and sag) - Line => Line => Line => ... -The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./T616AAC0.ifc) | LandXML-file representing the alignment | + +## Dataset specification + +### Entities table -Alignment: +| **Element** | **Attribute** | **Value** | **Notes** | +| ---------------------- | ------------- | ----------- | --------- | +| IfcProject | Name | Alin02 | | +| IfcSite | Name | Alin02.Site | | +| IfcAlignment | Name | A1 | | +| IfcRoad | Name | Alin02.Road | | +| IfcAlignmentHorizontal | Name | AH1 | | +| IfcAlignmentVertical | Name | AV1 | | -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | --------------- | -------------- | -| A1 | IfcAlignment | None | None | -| AH1 | IfcAlignmentHorizontal | None | None | -| AV1 | IfcAlignmentVertical | None | None | +### Horizontal segments table Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | -| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | ----------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 145685,8552 | 6591370,142 | 3,817860174 | 0 | 0 | 47,36403 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 145648,9153 | 6591340,498 | 3,817860159 | 0 | 185 | 84,45946 | CLOTHOID | -| H3 | IfcAlignmentHorizontalSegment | 145587,3939 | 6591282,917 | 4,046128984 | 185 | 185 | 137,211623 | CIRCULARARC | -| H4 | IfcAlignmentHorizontalSegment | 145548,3555 | 6591154,638 | 4,78781345 | 185 | 0 | 59,594595 | CLOTHOID | -| H5 | IfcAlignmentHorizontalSegment | 145559,1771 | 6591096,104 | 4,948879761 | 0 | -203,799988 | 55,65383 | CLOTHOID | -| H6 | IfcAlignmentHorizontalSegment | 145569,7329 | 6591041,507 | 4,812339587 | -203,799988 | -203,799988 | 25,757113 | CIRCULARARC | -| H7 | IfcAlignmentHorizontalSegment | 145570,6789 | 6591015,784 | 4,68595602 | -203,799988 | 0 | 125,614636 | CLOTHOID | -| H8 | IfcAlignmentHorizontalSegment | 145541,9224 | 6590894,05 | 4,377775936 | 0 | 851,999999 | 118,881381 | CLOTHOID | -| H9 | IfcAlignmentHorizontalSegment | 145505,5107 | 6590780,909 | 4,447541815 | 851,999999 | 851,999999 | 2,84745 | CIRCULARARC | +| Entity | PredefinedType | Name | Start Point X | Start Point Y | Start Direction | Start Radius Of Curvature | End Radius Of Curvature | Segment Length | +| ----------------------------- | -------------- | ---- | ------------- | ------------- | --------------- | ------------------------- | ----------------------- | -------------- | +| IfcAlignmentHorizontalSegment | LINE | H1 | 145685,8552 | 6591370,142 | 3,817860174 | 0 | 0 | 47,36403 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H2 | 145648,9153 | 6591340,498 | 3,817860159 | 0 | 185 | 84,45946 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H3 | 145587,3939 | 6591282,917 | 4,046128984 | 185 | 185 | 137,211623 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H4 | 145548,3555 | 6591154,638 | 4,78781345 | 185 | 0 | 59,594595 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H5 | 145559,1771 | 6591096,104 | 4,948879761 | 0 | -203,799988 | 55,65383 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H6 | 145569,7329 | 6591041,507 | 4,812339587 | -203,799988 | -203,799988 | 25,757113 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H7 | 145570,6789 | 6591015,784 | 4,68595602 | -203,799988 | 0 | 125,614636 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H8 | 145541,9224 | 6590894,05 | 4,377775936 | 0 | 851,999999 | 118,881381 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H9 | 145505,5107 | 6590780,909 | 4,447541815 | 851,999999 | 851,999999 | 2,84745 | + +### Vertical segments table Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------------ | ---------------- | -| V1 | IfcAlignmentVerticalSegment | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,023047408 | 1549,998375 | PARABOLICARC | -| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,016859621 | -5000,004241 | PARABOLICARC | -| V4 | IfcAlignmentVerticalSegment | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | CONSTANTGRADIENT | -| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,012637385 | -3000,015228 | PARABOLICARC | -| V6 | IfcAlignmentVerticalSegment | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | CONSTANTGRADIENT | -| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,017293222 | 3000,021522 | PARABOLICARC | -| V8 | IfcAlignmentVerticalSegment | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | CONSTANTGRADIENT | -| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,023106068 | 2999,990831 | PARABOLICARC | -| V10 | IfcAlignmentVerticalSegment | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | CONSTANTGRADIENT | -| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,045000824 | 2950,001197 | PARABOLICARC | -| V12 | IfcAlignmentVerticalSegment | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | CONSTANTGRADIENT | -| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,030824882 | -3000,000288 | PARABOLICARC | -| V14 | IfcAlignmentVerticalSegment | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | CONSTANTGRADIENT | -| V15 | IfcAlignmentVerticalSegment | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | CONSTANTGRADIENT | -| V16 | IfcAlignmentVerticalSegment | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | CONSTANTGRADIENT | -| V17 | IfcAlignmentVerticalSegment | 549,99946 | 10 | 27,818 | 0,026832 | 0,026832 | 0 | CONSTANTGRADIENT | -| V18 | IfcAlignmentVerticalSegment | 559,99946 | 10 | 28,08632 | 0,026325 | 0,026325 | 0 | CONSTANTGRADIENT | -| V19 | IfcAlignmentVerticalSegment | 569,99946 | 10 | 28,34957 | 0,02537 | 0,02537 | 0 | CONSTANTGRADIENT | -| V20 | IfcAlignmentVerticalSegment | 579,99946 | 10 | 28,60327 | 0,020813 | 0,020813 | 0 | CONSTANTGRADIENT | -| V21 | IfcAlignmentVerticalSegment | 589,99946 | 10 | 28,8114 | 0,020176 | 0,020176 | 0 | CONSTANTGRADIENT | -| V22 | IfcAlignmentVerticalSegment | 599,99946 | 10 | 29,01316 | 0,019498 | 0,019498 | 0 | CONSTANTGRADIENT | -| V23 | IfcAlignmentVerticalSegment | 609,99946 | 10 | 29,20814 | 0,018781 | 0,018781 | 0 | CONSTANTGRADIENT | -| V24 | IfcAlignmentVerticalSegment | 619,99946 | 10 | 29,39595 | 0,018022 | 0,018022 | 0 | CONSTANTGRADIENT | -| V25 | IfcAlignmentVerticalSegment | 629,99946 | 10 | 29,57617 | 0,017226 | 0,017226 | 0 | CONSTANTGRADIENT | -| V26 | IfcAlignmentVerticalSegment | 639,99946 | 10 | 29,74843 | 0,01639 | 0,01639 | 0 | CONSTANTGRADIENT | -| V27 | IfcAlignmentVerticalSegment | 649,99946 | 7,384658 | 29,91233 | 0,015674389 | 0,015674389 | 0 | CONSTANTGRADIENT | +| Entity | PredefinedType | Name | Start Dist Along | Horizontal Length | Start Height | Start Gradient | End Gradient | RadiusOfCurvature | +| --------------------------- | ---------------- | ---- | ---------------- | ----------------- | ------------ | -------------- | ------------ | ----------------- | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V2 | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,023047408 | 1549,998375 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V3 | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,016859621 | -5000,004241 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V4 | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V5 | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,012637385 | -3000,015228 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V6 | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V7 | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,017293222 | 3000,021522 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V8 | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V9 | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,023106068 | 2999,990831 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V10 | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V11 | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,045000824 | 2950,001197 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V12 | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V13 | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,030824882 | -3000,000288 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V14 | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V15 | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V16 | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V17 | 549,99946 | 10 | 27,818 | 0,026832 | 0,026832 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V18 | 559,99946 | 10 | 28,08632 | 0,026325 | 0,026325 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V19 | 569,99946 | 10 | 28,34957 | 0,02537 | 0,02537 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V20 | 579,99946 | 10 | 28,60327 | 0,020813 | 0,020813 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V21 | 589,99946 | 10 | 28,8114 | 0,020176 | 0,020176 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V22 | 599,99946 | 10 | 29,01316 | 0,019498 | 0,019498 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V23 | 609,99946 | 10 | 29,20814 | 0,018781 | 0,018781 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V24 | 619,99946 | 10 | 29,39595 | 0,018022 | 0,018022 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V25 | 629,99946 | 10 | 29,57617 | 0,017226 | 0,017226 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V26 | 639,99946 | 10 | 29,74843 | 0,01639 | 0,01639 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V27 | 649,99946 | 7,384658 | 29,91233 | 0,015674389 | 0,015674389 | 0 | + +### Spatial (De)Composition table + +| **Parent Element** | **Parent Element Type** | **Parent Element Name** | **MinSize** | **MaxSize** | **Child Element** | **Child Element Type** | **Child Element Name** | +| ------------------ | ----------------------- | ----------------------- | ----------- | ----------- | ----------------- | ---------------------- | ---------------------- | +| IfcProject | | Alin02 | 1 | 1 | IfcSite | | Alin02.Site | +| IfcSite | | Alin02.Site | 1 | 1 | IfcRoad | | Allin02.Road | + +### Spatial Containment table + +| **Spatial Element** | **Spatial Element Type** | **Spatial Element Name** | **MinSize** | **MaxSize** | **Element** | **Element Type** | **Element Name** | +| ------------------- | ------------------------ | ------------------------ | ----------- | ----------- | ------------ | ---------------- | ---------------- | +| IfcSite | | Alin02.Site | 1 | 1 | IfcAlignment | | A1 | ## Drawings (Visualisations) @@ -90,10 +104,4 @@ The following Drawings and visualisations describe the test case dataset to be m | [Vertical](./T616AAC0_profile.pdf) | Long section (profile) view of the alignment | -## Supporting files - -| Filename | Description | -| ------------------------------------------------------------ | --------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [LandXML](./T616AAC0.ifc) | LandXML-file representing the alignment | \ No newline at end of file +## diff --git a/E1a-ARSE/ALIN02/README.md b/E1a-ARSE/ALIN02/README.md index c10178b..0b98573 100644 --- a/E1a-ARSE/ALIN02/README.md +++ b/E1a-ARSE/ALIN02/README.md @@ -18,105 +18,72 @@ With these instructions the infrastructure (e.g. Road) alignment exchange is est | Geometric representation | No | | IFC reference file available | Yes | -The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. -:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: +- The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. -## Itemised Roots -*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* +- :zap: This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test :zap: +## Itemised Roots The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: -:construction: under construction :construction: -
IFC Entities - These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests - - Model setup - - *IfcProject* - - *IfcRepresentationContext* - - *IfcMapConversion* - - *IfcProjectedCRS* - - *IfcUnitAssignment* - - Spatial structure - - *IfcSite* - - *IfcRoad* -- For this test instruction - - Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* +- Model setup + - *IfcProject* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- Spatial structure + - *IfcSite* + - *IfcRoad* +- Alignment + + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* +
Concept Templates + These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests: +- Project Context - *Project Units* - *Project Representation Context* - *Project Global Positioning* - - *Spatial Decomposition* - - *Spatial Composition* - - *Spatial Container* - - *Project Global Positioning* -- For this test instruction +- Object Composition - *Alignment Decomposition* + - *Spatial Decomposition* +- Object Connectivity - *Spatial Containment*
-## Test Case Imports -Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. +## Model Dataset -:construction: under construction :construction: - -
Imports & Reuses - -| TI Code | Test Instruction Title | Comments | -| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | -| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | - -
- -## Usages, Constraints & Logic -The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: +This test case utilises the dataset collected in the Dataset folder and summarised in the table below. **For more details on each item see [Dataset description](Dataset/README.md).** -:construction: under construction :construction: - -
Semantic Usages, Constraints & Logic -The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria - -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | --------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_00 | Alignment layout structure is verified | See below for further specification | | -| SITE_00 | Alignment shall always be contained in a Site | na | | +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](Dataset/HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](Dataset/VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](Dataset/T616AAC0.ifc) | LandXML-file representing the alignment | -ALIG_00: Alignment layout structure is verified - -> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` -> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` -> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` -> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` -> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` -> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` -> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` -> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` -> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` - --
+## Test Case Imports -
Model Geometry -The Test case requires no additional checks related to Model Geometry +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. -
+No test cases are imported for this test case. All necessary data and criteria are included. ## Expected Results @@ -133,60 +100,97 @@ Considering the aim of this test, other **optional** results, not subject to the --- ## Validation criteria -:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: +## Validation criteria -:construction: under construction :construction: +:zap: For this test case to be considered passed **all capabilities listed in this section**, and **the ones of pre-required tests** shall be verified, with no exception. :zap: -### General & Imports +### General + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| GENE_00 | All validation criteria of precondition's tests shall be verified | | na | na | +| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/README.md) | na | na | + +### Road alignment -
Click to expand +**Acceptance criteria**: For the **Railway alignment (without cant)** capability, the validation procedure must verify that **all** the following validation criteria are satisfied. -- All the concept templates must be correctly implemented as presented in the validation criteria -- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ---------------------- | -------------------------- | ---------------------- | +| SITE_00 | All IfcAlignment shall always be contained in an IfcSite | | | Spatial Containment | +| ALIG_00 | Alignment layout structure is verified | See steps | | Alignment Layout | +| ALIG_01 | Number of alignments contained in file | [1] | | | +| ALIG_02 | Parameters of alignment segments are verified | As per Alignment Table | | | +
ALIG_00 steps -#### Imports -| **TI Code** | **Criteria Codes** | *COMMENT** | -|--------------------|--------------------|----------------------------------------------------| -| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | -#### General -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|-----------------------------------------------|-------------| -| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | + +| **STEP ID** | **STEP** | +| ----------- | ------------------------------------------------------------ | +| ALIG_00.1 | Each IfcAlignment must nest exactly 1 IfcAlignmentHorizontal | +| ALIG_00.2 | Each IfcAlignment must nest at most 1 IfcAlignmentVertical | +| ALIG_00.3 | Each IfcAlignment must nest exactly 1 IfcAlignmentVertical | +| ALIG_00.6 | Each IfcAlignmentHorizontal must be nested only by 1 IfcAlignment | +| ALIG_00.7 | Each IfcAlignmentVertical must be nested only by 1 IfcAlignment | +| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical | +| ALIG_00.10 | Each IfcAlignmentHorizontal nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentHorizontalSegment | +| ALIG_00.11 | Each IfcAlignmentVertical nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentVerticalSegment |
-### Road alignment +### Spatial (De)Composition + + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | --------------------------------- | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/README.md) | na | Spatial Decomposition | + +> **Acceptance criteria**: For the **Spatial decomposition** capability, the validation procedure must verify that a Parent Element of the requested type aggregates (via `IfcRelAggregates`) exactly a given number of Child Elements of the requested type, no more and no less. + +
SDEC_01 details: Spatial decomposition is verified -
Click to expand -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | -| ALIG_01 | Alignments contained in file | 1 | | -| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | -| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | + + +> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Dataset/README.md#spatial-decomposition-table) +> - Then the Parent Element, and optionally the Parent Element Type, exists +> - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element
-### Spatial containment -
Click to expand +### Spatial Containment + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------- | -------------------------------- | -------------------------- | ---------------------- | +| SCON_01 | Spatial containment is verified | As per Spatial Containment Table | na | Spatial Containment | + > **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. -| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | -| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | -| IfcSite | | 1 | 1 | IfcAlignment | Road alignment | +
SCON_01 details: Spatial containment is verified -
-### Project global positioning -
Click to expand -> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. +> - Given a set of elements taken from the [Spatial Containment Table](Dataset/README.md#Spatial-Containment-Table) +> - Then the Spatial Element, and optionally the Spatial Element Type, exists +> - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element +
+ +### Project Setup + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ----------------------------------------------- | -------------------- | -------------------------- | -------------------------- | +| ORIG_01 | Origin of Coordinate System is set as requested | [(0., 0., 0.)] | | Project Global Positioning | +| ORIG_02 | True north is set as requested | [(0., 1., 0.)] | | Project Global Positioning | +| DIST_01 | Unit of measure for all distances | [meter] | | Project Units | +| ANGL_01 | Unit of measure all angles | [radian] | | Project Units | +| DIST_02 | Required precision for distances | [0,0001] | all alignment segments | na | +| ANGL_02 | Required precision for angles and slope | [0,000001] | | na | + +### Project global positioning | Element | Attribute | Value | Comment | | ---------------- | ---------------- | --------- | ------- | @@ -200,4 +204,3 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcProjectedCRS | GeodeticDatum | EPSG:6619 | | | IfcProjectedCRS | VerticalDatum | EPSG:5615 | | -
diff --git a/E1a-ARSE/ALIN03/Dataset/README.md b/E1a-ARSE/ALIN03/Dataset/README.md index e5ad567..0abebbf 100644 --- a/E1a-ARSE/ALIN03/Dataset/README.md +++ b/E1a-ARSE/ALIN03/Dataset/README.md @@ -1,4 +1,12 @@ -## Variations +## Model Dataset + +This test case utilizes the following dataset. + +- One alignment layout including geometric representation +- The alignment is composed of one horizontal alignment layout and one vertical alignment layout +- The horizontal layout contains lines and circular arcs +- The vertical layout contains lines and circular arcs + The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: - IfcAlignmentHorizontalSegment - *The test shall include linear and circular arc segments* @@ -7,69 +15,85 @@ The Following occurrence variations need to be checked and certified in relation - The horizontal alignment shall be decomposed with element sequences containing lines and both clockwise and counter-clockwise turns - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns -## Model Dataset +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./TOI-M14334-0000A.xml) | LandXML-file representing the alignment | -- - This test case utilises the following dataset: - - One alignment layout including geometric representation - - The alignment is composed of one horizontal alignment layout and one vertical alignment layout - - The horizontal layout contains lines and circular arcs - - - The vertical layout contains lines and circular arcs - - +## Dataset specification -The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : +### Entities table -Alignment: +| **Element** | **Attribute** | **Value** | **Notes** | +| ---------------------- | ------------- | ----------- | --------- | +| IfcProject | Name | Alin03 | | +| IfcSite | Name | Alin03.Site | | +| IfcAlignment | Name | A1 | | +| IfcRoad | Name | Alin03.Road | | +| IfcAlignmentHorizontal | Name | AH1 | | +| IfcAlignmentVertical | Name | AV1 | | -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | -| A1 | IfcAlignment | IfcLocalPlacement | IfcPolyline
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | -| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcPolyline
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | -| AV1 | IfcAlignmentVertical | IfcLocalPlacement | | +### Horizontal segments table Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | -| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 276,867419 | 935,549267 | 0,001724622 | 0 | 0 | 229,405681 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 506,272759 | 935,944905 | 0,00172463 | -110 | -110 | 15,594208 | CIRCULARARC | -| H3 | IfcAlignmentHorizontalSegment | 521,816666 | 934,8682 | 6,143144395 | 0 | 0 | 91,725737 | LINE | -| H4 | IfcAlignmentHorizontalSegment | 612,644434 | 922,064789 | 6,143144399 | -110 | -110 | 120,80482 | CIRCULARARC | -| H5 | IfcAlignmentHorizontalSegment | 701,264387 | 849,049537 | 5,044918731 | 0 | 0 | 25,538554 | LINE | -| H6 | IfcAlignmentHorizontalSegment | 709,601071 | 824,909996 | 5,044918761 | 110 | 110 | 49,633636 | CIRCULARARC | -| H7 | IfcAlignmentHorizontalSegment | 735,66497 | 783,164849 | 5,49613363 | 0 | 0 | 83,739856 | LINE | +| Entity | PredefinedType | Name | Start Point X | Start Point Y | Start Direction | Start Radius Of Curvature | End Radius Of Curvature | Segment Length | +| ----------------------------- | -------------- | ---- | ------------- | ------------- | --------------- | ------------------------- | ----------------------- | -------------- | +| IfcAlignmentHorizontalSegment | LINE | H1 | 276,867419 | 935,549267 | 0,001724622 | 0 | 0 | 229,405681 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H2 | 506,272759 | 935,944905 | 0,00172463 | -110 | -110 | 15,594208 | +| IfcAlignmentHorizontalSegment | LINE | H3 | 521,816666 | 934,8682 | 6,143144395 | 0 | 0 | 91,725737 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H4 | 612,644434 | 922,064789 | 6,143144399 | -110 | -110 | 120,80482 | +| IfcAlignmentHorizontalSegment | LINE | H5 | 701,264387 | 849,049537 | 5,044918731 | 0 | 0 | 25,538554 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H6 | 709,601071 | 824,909996 | 5,044918761 | 110 | 110 | 49,633636 | +| IfcAlignmentHorizontalSegment | LINE | H7 | 735,66497 | 783,164849 | 5,49613363 | 0 | 0 | 83,739856 | + +**NOTE**: + +- Please note the Project Global Positioning and unit parameters specified in the main Readme file + +### Vertical segments table Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | -| V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | CIRCULARARC | -| V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | CIRCULARARC | -| V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | CONSTANTGRADIENT | -| V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | CONSTANTGRADIENT | -| V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | CIRCULARARC | -| V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | CIRCULARARC | -| V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | CONSTANTGRADIENT | +| Entity | PredefinedType | Name | Type | Start Dist Along | Horizontal Length | Start Height | Start Gradient | End Gradient | RadiusOfCurvature | +| --------------------------- | ---------------- | ---- | --------------------------- | ---------------- | ----------------- | ------------ | -------------- | ------------ | ----------------- | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | IfcAlignmentVerticalSegment | 135,557 | 10,84246946 | 125,687614 | 0,03416131 | 0,03416131 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V2 | IfcAlignmentVerticalSegment | 146,3994695 | 18,11228261 | 126,058007 | 0,03416131 | 0,020212997 | -1300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V3 | IfcAlignmentVerticalSegment | 164,5117521 | 40,83305808 | 126,5504044 | 0,020212997 | 0,020212997 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V4 | IfcAlignmentVerticalSegment | 205,3448102 | 39,03368133 | 127,3757629 | 0,020212997 | -0,009817512 | -1300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V5 | IfcAlignmentVerticalSegment | 244,3784915 | 50,17607352 | 127,5786042 | -0,009817512 | -0,009817512 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V6 | IfcAlignmentVerticalSegment | 294,554565 | 11,522986 | 127,086 | 0 | 0 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V7 | IfcAlignmentVerticalSegment | 306,077551 | 192,5126892 | 127,086 | -0,003529811 | -0,003529811 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V8 | IfcAlignmentVerticalSegment | 498,5902402 | 15,27528964 | 126,4064666 | -0,003529811 | -0,006584989 | -5000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V9 | IfcAlignmentVerticalSegment | 513,8655298 | 78,35926585 | 126,3292136 | -0,006584989 | -0,006584989 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V10 | IfcAlignmentVerticalSegment | 592,2247957 | 10,41034226 | 125,8132186 | -0,006584989 | 0,00142311 | 1300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V11 | IfcAlignmentVerticalSegment | 602,6351379 | 13,80735508 | 125,7863506 | 0,00142311 | 0,00142311 | 0 | -## Drawings (Visualisations) +### Spatial (De)Composition table -The following Drawings and visualisations describe the test case dataset to be modelled and certified. +| **Parent Element** | **Parent Element Type** | **Parent Element Name** | **MinSize** | **MaxSize** | **Child Element** | **Child Element Type** | **Child Element Name** | +| ------------------ | ----------------------- | ----------------------- | ----------- | ----------- | ----------------- | ---------------------- | ---------------------- | +| IfcProject | | Alin06 | 1 | 1 | IfcSite | | Alin03.Site | +| IfcSite | | Alin06.Site | 1 | 1 | IfcRoad | | Allin03.Road | -| Filename | Description | -| ------------------- | -------------------------------------------- | -| Insert map here | Planar view of the horizontal alignment | -| Insert profile here | Long section (profile) view of the alignment | +### Spatial Containment table +| **Spatial Element** | **Spatial Element Type** | **Spatial Element Name** | **MinSize** | **MaxSize** | **Element** | **Element Type** | **Element Name** | +| ------------------- | ------------------------ | ------------------------ | ----------- | ----------- | ------------ | ---------------- | ---------------- | +| IfcSite | | Alin03.Site | 1 | 1 | IfcAlignment | | A1 | -## Supporting files +### Product Geometric Representation table + +| **Product** | **Product Type** | **Product Name** | **Representation Identifier** | **Representation Type** | **Items** | +| ---------------------- | ---------------- | ---------------- | ----------------------------- | ----------------------- | ------------- | +| IfcAlignment | na | A1 | Axis | Curve3D | 1 IfcPolyline | +| IfcAlignmentHorizontal | na | AH1 | Axis | Curve2D | 1 IfcPolyline | +| IfcAlignmentVertical | na | AV1 | Axis | Curve2D | 1 IfcPolyline | + +### Product Placement table + +| **Product** | **Product Type** | **Product Name** | **Object Placement** | Relative Placement Product | Relative Placement Product Type | Relative Placement Product Name | +| ------------ | ---------------- | ---------------- | -------------------- | -------------------------- | ------------------------------- | ------------------------------- | +| IfcAlignment | | A1 | IfcLocalPlacement | IfcSite | na | Alin03.Site | -| Filename | Description | -| ------------------------------------------------------------ | --------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [LandXML](./TOI-M14334-0000A.xml) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALIN03/README.md b/E1a-ARSE/ALIN03/README.md index d2c7314..167d8e0 100644 --- a/E1a-ARSE/ALIN03/README.md +++ b/E1a-ARSE/ALIN03/README.md @@ -18,9 +18,11 @@ With these instructions the infrastructure (e.g. Road) alignment exchange is est | Geometric representation | IfcPolyline | | IFC reference file available | Yes | -The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. -:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: +- The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. + +- :zap: This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test :zap: ## Itemised Roots *This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* @@ -32,29 +34,27 @@ The Test instruction addresses the import and export of the following IFC Entiti
IFC Entities These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests - - Model setup - - *IfcProject* - - *IfcRepresentationContext* - - *IfcMapConversion* - - *IfcProjectedCRS* - - *IfcUnitAssignment* - - Spatial structure - - *IfcSite* - - *IfcRoad* -- For this test instruction +- Model setup + - *IfcProject* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- Spatial structure + - *IfcSite* + - *IfcRoad* - - Alignment +- Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* - - *IfcPolyline* + - *IfcPolyline*
@@ -63,155 +63,193 @@ These entities represent a test-specific subset of the wider AbRV_Ex exchange an These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests: +- Project Context - *Project Units* - *Project Representation Context* - *Project Global Positioning* +- Object Composition - *Spatial Decomposition* - - *Spatial Composition* - - *Spatial Container* - - *Project Global Positioning* -- For this test instruction - *Alignment Decomposition* - - *Alignment Geometry* +- Object Connectivity + - *Spatial Containment* + +- Product Shape + - Product Geometric Representation + - *Alignment Geometry*
+## Model Dataset + +This test case utilises the dataset collected in the Dataset folder and summarised in the table below. **For more details on each item see [Dataset description](Dataset/README.md).** + +| Filename | Type (format) | Description | +| ------------------------------------------------------------ | --------------------------------------------- | ----------- | +| [HorizontalAlignmentParameters](Dataset/HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | | +| [VerticalAlignmentParameters](Dataset/VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | | +| [LandXML](Dataset/TOI-M14334-0000A.xml) | LandXML-file representing the alignment | | + ## Test Case Imports + Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. -:construction: under construction :construction: +No test cases are imported for this test case. All necessary data and criteria are included. -
Imports & Reuses +## Expected Results -| TI Code | Test Instruction Title | Comments | -| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | -| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | +For certification of capabilities the only source will be: -
+:construction: under construction :construction: -## Usages, Constraints & Logic -The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) -:construction: under construction :construction: +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters +- CSV or e.g. GPX export of the polyline geometries + +--- -
Semantic Usages, Constraints & Logic -The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria +## Validation criteria -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | --------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_00 | Alignment layout structure is verified | See below for further specification | | -| SITE_00 | Alignment shall always be contained in a Site | na | | +:zap: For this test case to be considered passed **all capabilities listed in this section**, and **the ones of pre-required tests** shall be verified, with no exception. :zap: -ALIG_00: Alignment layout structure is verified +### General -> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` -> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` -> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` -> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` -> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` -> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` -> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` -> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` -> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| GENE_00 | All validation criteria of precondition's tests shall be verified | | na | na | +| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/README.md) | na | na | -
+### Road alignment -
Model Geometry -The Test case requires the following additional checks related to Model Geometry: +**Acceptance criteria**: For the **Railway alignment (without cant)** capability, the validation procedure must verify that **all** the following validation criteria are satisfied. -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ---------------------------------------------- | -------------------------- | ---------------------- | +| SITE_00 | All IfcAlignment shall always be contained in an IfcSite | | | Spatial Containment | +| ALIG_00 | Alignment layout structure is verified | See steps | | Alignment Layout | +| ALIG_01 | Number of alignments contained in file | [1] | | | +| ALIG_02 | Parameters of alignment segments are verified | As per Alignment Table | | | +| ALIG_03 | Alignment geometric compliance is verified | As per Alignment geometric compliance document | | | +
ALIG_00 steps -> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing an `IfcPolyline`. The polyline may be generated as below: -> 1. Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description. -> 1. Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. -> 1. The z-value at each point shall match the z value according to the vertical layout in the Dataset description. -> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing an `IfcPolyline`. The polyline may be generated as below: -> 1. Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description. -> 1. Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. -- *Constraint* +| **STEP ID** | **STEP** | +| ----------- | ------------------------------------------------------------ | +| ALIG_00.1 | Each IfcAlignment must nest exactly 1 IfcAlignmentHorizontal | +| ALIG_00.2 | Each IfcAlignment must nest at most 1 IfcAlignmentVertical | +| ALIG_00.3 | Each IfcAlignment must nest exactly 1 IfcAlignmentVertical | +| ALIG_00.6 | Each IfcAlignmentHorizontal must be nested only by 1 IfcAlignment | +| ALIG_00.7 | Each IfcAlignmentVertical must be nested only by 1 IfcAlignment | +| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical | +| ALIG_00.10 | Each IfcAlignmentHorizontal nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentHorizontalSegment | +| ALIG_00.11 | Each IfcAlignmentVertical nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentVerticalSegment |
-## Expected Results +### Spatial (De)Composition -For certification of capabilities the only source will be: -:construction: under construction :construction: +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | --------------------------------- | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/README.md) | na | Spatial Decomposition | -- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) +> **Acceptance criteria**: For the **Spatial decomposition** capability, the validation procedure must verify that a Parent Element of the requested type aggregates (via `IfcRelAggregates`) exactly a given number of Child Elements of the requested type, no more and no less. -Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of a planar view and a "long section" similar to the provided examples -- CSV export of the horizontal and vertical alignment segment parameters -- CSV or e.g. GPX export of the polyline geometries +
SDEC_01 details: Spatial decomposition is verified ---- -## Validation criteria -:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: -:construction: under construction :construction: +> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Dataset/README.md#spatial-decomposition-table) +> - Then the Parent Element, and optionally the Parent Element Type, exists +> - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element -### General & Imports +
+ +### Spatial Containment -
Click to expand +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------- | -------------------------------- | -------------------------- | ---------------------- | +| SCON_01 | Spatial containment is verified | As per Spatial Containment Table | na | Spatial Containment | -- All the concept templates must be correctly implemented as presented in the validation criteria -- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. +
SCON_01 details: Spatial containment is verified -#### Imports -| **TI Code** | **Criteria Codes** | *COMMENT** | -|--------------------|--------------------|----------------------------------------------------| -| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | -#### General -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|-----------------------------------------------|-------------| -| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | +> - Given a set of elements taken from the [Spatial Containment Table](Dataset/README.md#Spatial-Containment-Table) +> - Then the Spatial Element, and optionally the Spatial Element Type, exists +> - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element
-### Road alignment +### Product geometric representation + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------ | --------------------------------------------- | -------------------------- | ----------------------------------------------------- | +| PREP_01 | Geometric representation of products is verified | As per Product Geometric Representation Table | | Product Geometric Representation and its subtemplates | + +> **Acceptance criteria**: For the **Group Geometric Representation** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has an IfcShapeRepresentation with the requested Representation Identifier, Representation Type and Items. -
Click to expand +
PREP_01 details: Geometric representation of products is verified -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | -| ALIG_01 | Alignments contained in file | 1 | | -| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | -| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcPolyline.
Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description.
Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. The z-value at each point shall match the z value according to the vertical layout in the Dataset description. | | | -| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcPolyline.
Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the Dataset description.
Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the Dataset description. | | | + +> - Given a set of products taken from the [Product Geometric Representation Table](Dataset/README.md#Product-Geometric-Representation-Table) +> +> - Then the Product, and optionally the Product Type, exists +> +> - And the Product must have an IfcShapeRepresentation (via IfcProductDefinitionShape) with the requested Representation Identifier, Representation Type and Items. +> +> - 2D IfcPolyline for IfcAlignmentHorizontal: +> +> Line segments: each as one segment in the polyline. Segment start and end points must match exactly the horizontal layout in the [Dataset description](Dataset/README.md). +> +> Curve segments: each as at least two equal length segments in the polyline. Segment start and end points must match exactly the curve start, end and intermediate point(s) according to the horizontal layout in the [Dataset description](Dataset/README.md). +> +> (No clothoids in the Dataset, but the same is sufficient for clothoid segments…) +> +> - 3D IfcPolyline for IfcAlignment: +> +> Same as 2D IfcPolyline for IfcAlignmentHorizontal, but z-values at each polyline segment start and end point must match exactly the z-value according to the vertical layout in the Dataset description.
-### Spatial containment +### Product placement -
Click to expand -> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------ | -------------------------- | ------------------------------ | +| PPLA_01 | Placement of products is verified | As per Product Placement Table | | Product Placement subtemplates | +| PPLA_02 | For a product that has ObjectPlacement as IfcLinearPlacement, the CartesianPosition of IfcLinearPlacement shall be available | depends on cases | | Product Linear Placement | + +> **Acceptance criteria**: For the **Product Placement** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has the requested Object Placement, and optionally the Object Placement has PlacementRelTo reference to the Object Placement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name. +
PPLA_01 details: Placement of products is verified -| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | -| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | -| IfcSite | | 1 | 1 | IfcAlignment | Road alignment | + + +> - Given a set of products taken from the [Product Geometric Representation Table](#Product-Geometric-Representation-Table) +> - Then the Product with Product Type and Product Name, exists +> - And the Product must have Object Placement, and the Object Placement has PlacementRelTo reference to the ObjectPlacement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name.
-### Project global positioning +### Project Setup -
Click to expand -> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ----------------------------------------------- | -------------------- | -------------------------- | -------------------------- | +| ORIG_01 | Origin of Coordinate System is set as requested | [(0., 0., 0.)] | | Project Global Positioning | +| ORIG_02 | True north is set as requested | [(0., 1., 0.)] | | Project Global Positioning | +| DIST_01 | Unit of measure for all distances | [meter] | | Project Units | +| ANGL_01 | Unit of measure all angles | [radian] | | Project Units | +| DIST_02 | Required precision for distances | [0,0001] | all alignment segments | na | +| ANGL_02 | Required precision for angles and slope | [0,000001] | | na | +### Project global positioning | Element | Attribute | Value | Comment | @@ -226,5 +264,5 @@ Considering the aim of this test, other **optional** results, not subject to the | IfcProjectedCRS | GeodeticDatum | EPSG:6258 | | | IfcProjectedCRS | VerticalDatum | EPSG:3900 | | -
+ diff --git a/E1a-ARSE/ALIN04/Dataset/README.md b/E1a-ARSE/ALIN04/Dataset/README.md index 6b4732a..6c04745 100644 --- a/E1a-ARSE/ALIN04/Dataset/README.md +++ b/E1a-ARSE/ALIN04/Dataset/README.md @@ -1,14 +1,3 @@ -## Variations -The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: - -- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* -- IfcAlignmentVerticalSegment - *The test shall include linear and circular arc segments* -- Alignment Decomposition: - - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns - - The horizontal alignment shall also be decomposed with element sequences lacking clothoid transition curves including both clockwise and counter-clockwise turns where a clockwise and counter-clockwise turn are joined together (forming an "S" curve) - - The vertical alignment shall be decomposed with element sequences containing linear and circular arc segments including both clockwise and counter-clockwise turns - - The vertical alignment shall also be decomposed with element sequences where circular arcs follows directly after each other (forming an "S" curve) - ## Model Dataset This test case utilises the following dataset: @@ -27,57 +16,101 @@ This test case utilises the following dataset: - Line => Circular arc (crest) => Circular arc (sag) => Line - Line => Circular arc (sag) => Circular arc (crest) => Line -The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | + +## Dataset specification -Alignment: +### Entities table -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | -| A1 | IfcAlignment | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | -| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcCompositeCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | -| AV1 | IfcAlignmentVertical | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | +| **Element** | **Attribute** | **Value** | **Notes** | +| ---------------------- | ------------- | ----------- | --------- | +| IfcProject | Name | Alin04 | | +| IfcSite | Name | Alin04.Site | | +| IfcAlignment | Name | A1 | | +| IfcRoad | Name | Alin04.Road | | +| IfcAlignmentHorizontal | Name | AH1 | | +| IfcAlignmentVertical | Name | AV1 | | + +### Horizontal segments table Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | -| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | --------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 0,283714 | 18,750471 | 0,712199896 | 0 | 0 | 193,4232 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 146,690778 | 145,152631 | 0,712199906 | 0 | 200 | 63,845 | CLOTHOID | -| H3 | IfcAlignmentHorizontalSegment | 192,677965 | 189,335669 | 0,871812399 | 200 | 200 | 34,420584 | CIRCULARARC | -| H4 | IfcAlignmentHorizontalSegment | 212,454617 | 217,455754 | 1,043915278 | 200 | 0 | 63,845 | CLOTHOID | -| H5 | IfcAlignmentHorizontalSegment | 238,485471 | 275,673937 | 1,203527843 | 0 | 0 | 21,346852 | LINE | -| H6 | IfcAlignmentHorizontalSegment | 246,15043 | 295,597202 | 1,20352782 | 0 | -200 | 63,845 | CLOTHOID | -| H7 | IfcAlignmentHorizontalSegment | 272,181284 | 353,815386 | 1,04391532 | -200 | -200 | 85,355704 | CIRCULARARC | -| H8 | IfcAlignmentHorizontalSegment | 329,316712 | 416,355174 | 0,617136819 | -200 | 0 | 63,845 | CLOTHOID | -| H9 | IfcAlignmentHorizontalSegment | 384,951684 | 447,527472 | 0,457524298 | 0 | 0 | 192,323738 | LINE | -| H10 | IfcAlignmentHorizontalSegment | 557,494701 | 532,482327 | 0,457524293 | 200 | 200 | 82,814142 | CIRCULARARC | -| H11 | IfcAlignmentHorizontalSegment | 622,220317 | 583,190771 | 0,871595018 | -200 | -200 | 100,11889 | CIRCULARARC | -| H12 | IfcAlignmentHorizontalSegment | 702,781991 | 640,862461 | 0,371000558 | 0 | 0 | 58,659577 | LINE | -| H13 | IfcAlignmentHorizontalSegment | 757,450667 | 662,129379 | 0,371000555 | -200 | -200 | 115,440984 | CIRCULARARC | -| H14 | IfcAlignmentHorizontalSegment | 870,909519 | 671,499388 | 6,076980939 | 200 | 200 | 102,335082 | CIRCULARARC | -| H15 | IfcAlignmentHorizontalSegment | 972,00724 | 676,521331 | 0,305471033 | 0 | 0 | 28,790227 | LINE | +| Entity | PredefinedType | Name | Start Point X | Start Point Y | Start Direction | Start Radius Of Curvature | End Radius Of Curvature | Segment Length | +| ----------------------------- | -------------- | ---- | ------------- | ------------- | --------------- | ------------------------- | ----------------------- | -------------- | +| IfcAlignmentHorizontalSegment | LINE | H1 | 0,283714 | 18,750471 | 0,712199896 | 0 | 0 | 193,4232 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H2 | 146,690778 | 145,152631 | 0,712199906 | 0 | 200 | 63,845 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H3 | 192,677965 | 189,335669 | 0,871812399 | 200 | 200 | 34,420584 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H4 | 212,454617 | 217,455754 | 1,043915278 | 200 | 0 | 63,845 | +| IfcAlignmentHorizontalSegment | LINE | H5 | 238,485471 | 275,673937 | 1,203527843 | 0 | 0 | 21,346852 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H6 | 246,15043 | 295,597202 | 1,20352782 | 0 | -200 | 63,845 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H7 | 272,181284 | 353,815386 | 1,04391532 | -200 | -200 | 85,355704 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H8 | 329,316712 | 416,355174 | 0,617136819 | -200 | 0 | 63,845 | +| IfcAlignmentHorizontalSegment | LINE | H9 | 384,951684 | 447,527472 | 0,457524298 | 0 | 0 | 192,323738 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H10 | 557,494701 | 532,482327 | 0,457524293 | 200 | 200 | 82,814142 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H11 | 622,220317 | 583,190771 | 0,871595018 | -200 | -200 | 100,11889 | +| IfcAlignmentHorizontalSegment | LINE | H12 | 702,781991 | 640,862461 | 0,371000558 | 0 | 0 | 58,659577 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H13 | 757,450667 | 662,129379 | 0,371000555 | -200 | -200 | 115,440984 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H14 | 870,909519 | 671,499388 | 6,076980939 | 200 | 200 | 102,335082 | +| IfcAlignmentHorizontalSegment | LINE | H15 | 972,00724 | 676,521331 | 0,305471033 | 0 | 0 | 28,790227 | + +**NOTE**: + +- Please note the Project Global Positioning and unit parameters specified in the main Readme file + +### Vertical segments table Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ------------ | ------ | ---------------- | -| V1 | IfcAlignmentVerticalSegment | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,093338018 | -300 | CIRCULARARC | -| V3 | IfcAlignmentVerticalSegment | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | CONSTANTGRADIENT | -| V4 | IfcAlignmentVerticalSegment | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,020657799 | 300 | CIRCULARARC | -| V5 | IfcAlignmentVerticalSegment | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | CONSTANTGRADIENT | -| V6 | IfcAlignmentVerticalSegment | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | 0,007812811 | 2000 | CIRCULARARC | -| V7 | IfcAlignmentVerticalSegment | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | CONSTANTGRADIENT | -| V8 | IfcAlignmentVerticalSegment | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,048630199 | 2500 | CIRCULARARC | -| V9 | IfcAlignmentVerticalSegment | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | CONSTANTGRADIENT | -| V10 | IfcAlignmentVerticalSegment | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | -0,01545787 | -1000 | CIRCULARARC | -| V11 | IfcAlignmentVerticalSegment | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | CONSTANTGRADIENT | -| V12 | IfcAlignmentVerticalSegment | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,071486276 | -1000 | CIRCULARARC | -| V13 | IfcAlignmentVerticalSegment | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | 0,005320833 | 1000 | CIRCULARARC | -| V14 | IfcAlignmentVerticalSegment | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | CONSTANTGRADIENT | -| V15 | IfcAlignmentVerticalSegment | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,023736122 | 2000 | CIRCULARARC | -| V16 | IfcAlignmentVerticalSegment | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | -0,028845118 | -1000 | CIRCULARARC | -| V17 | IfcAlignmentVerticalSegment | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | CONSTANTGRADIENT | +| Entity | PredefinedType | Name | Start Dist Along | Horizontal Length | Start Height | Start Gradient | End Gradient | RadiusOfCurvature | +| --------------------------- | ---------------- | ---- | ---------------- | ----------------- | ------------ | -------------- | ------------ | ----------------- | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | 0 | 67,96662759 | 43,475329 | -0,007734105 | -0,007734105 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V2 | 67,96662759 | 25,56006049 | 42,94966796 | -0,007734105 | -0,093338018 | -300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V3 | 93,52668809 | 20,39853177 | 41,66031927 | -0,093338018 | -0,093338018 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V4 | 113,9252199 | 21,6842049 | 39,75636075 | -0,093338018 | -0,020657799 | 300 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V5 | 135,6094248 | 68,62574308 | 38,52203122 | -0,020657799 | -0,020657799 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V6 | 204,2351678 | 56,93193013 | 37,10437443 | -0,020657799 | 0,007812811 | 2000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V7 | 261,167098 | 46,44967561 | 36,73880354 | 0,007812811 | 0,007812811 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V8 | 307,6167736 | 101,9005629 | 37,10170608 | 0,007812811 | 0,048630199 | 2500 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V9 | 409,5173365 | 30,59165499 | 39,97629696 | 0,048630199 | 0,048630199 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V10 | 440,1089914 | 64,02882141 | 41,46397522 | 0,048630199 | -0,01545787 | -1000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V11 | 504,1378129 | 203,5716837 | 42,52487872 | -0,01545787 | -0,01545787 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V12 | 707,7094965 | 55,84829226 | 39,3780941 | -0,01545787 | -0,071486276 | -1000 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V13 | 763,5577815 | 76,62507339 | 36,95215385 | -0,071486276 | 0,005320833 | 1000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V14 | 840,1828549 | 152,3446543 | 34,42091694 | 0,005320833 | 0,005320833 | 0 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V15 | 992,5275091 | 36,817362 | 35,23151739 | 0,005320833 | 0,023736122 | 2000 | +| IfcAlignmentVerticalSegment | CIRCULARARC | V16 | 1029,344877 | 52,56256394 | 35,76637241 | 0,023736122 | -0,028845118 | -1000 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V17 | 1081,907441 | 188,5015408 | 35,6321942 | -0,028845118 | -0,028845118 | 0 | + +### Spatial (De)Composition table + +| **Parent Element** | **Parent Element Type** | **Parent Element Name** | **MinSize** | **MaxSize** | **Child Element** | **Child Element Type** | **Child Element Name** | +| ------------------ | ----------------------- | ----------------------- | ----------- | ----------- | ----------------- | ---------------------- | ---------------------- | +| IfcProject | | Alin04 | 1 | 1 | IfcSite | | Alin04.Site | +| IfcSite | | Alin04.Site | 1 | 1 | IfcRoad | | Allin04.Road | + +### Spatial Containment table + +| **Spatial Element** | **Spatial Element Type** | **Spatial Element Name** | **MinSize** | **MaxSize** | **Element** | **Element Type** | **Element Name** | +| ------------------- | ------------------------ | ------------------------ | ----------- | ----------- | ------------ | ---------------- | ---------------- | +| IfcSite | | Alin04.Site | 1 | 1 | IfcAlignment | | A1 | + +### Product Geometric Representation table + +| **Product** | **Product Type** | **Product Name** | **Representation Identifier** | **Representation Type** | **Items** | +| ---------------------- | ---------------- | ---------------- | ----------------------------- | ----------------------- | ------------------- | +| IfcAlignment | na | A1 | Axis | Curve3D | 1 IfcGradientCurve | +| IfcAlignmentHorizontal | na | AH1 | Axis | Curve2D | 1 IfcCompositeCurve | +| IfcAlignmentVertical | na | AV1 | Axis | Curve2D | 1 IfcGradientCurve | + +### Product Placement table + +| **Product** | **Product Type** | **Product Name** | **Object Placement** | Relative Placement Product | Relative Placement Product Type | Relative Placement Product Name | +| ------------ | ---------------- | ---------------- | -------------------- | -------------------------- | ------------------------------- | ------------------------------- | +| IfcAlignment | | A1 | IfcLocalPlacement | IfcSite | na | Alin04.Site | ## Drawings (Visualisations) @@ -89,10 +122,4 @@ The following Drawings and visualisations describe the test case dataset to be m | [Testi_ml_profiles](./Testi_ml_profiles.pdf) | Long section (profile) view of the test case | -## Supporting files - -| Filename | Description | -| ------------------------------------------------------------ | --------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [LandXML](./Testi_101_ml.xml) | LandXML-file representing the alignment | \ No newline at end of file +## diff --git a/E1a-ARSE/ALIN04/README.md b/E1a-ARSE/ALIN04/README.md index bf87def..d4b734d 100644 --- a/E1a-ARSE/ALIN04/README.md +++ b/E1a-ARSE/ALIN04/README.md @@ -18,191 +18,220 @@ With these instructions the infrastructure (e.g. Road) alignment exchange is est | Geometric representation | IfcCompositeCurve, IfcGradientCurve | | IFC reference file available | Yes | -The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. -:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: +- The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. -## Itemised Roots -*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* +- :zap: This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test :zap: +## Itemised Roots The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: -:construction: under construction :construction: -
IFC Entities - These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests - - Model setup - - *IfcProject* - - *IfcRepresentationContext* - - *IfcMapConversion* - - *IfcProjectedCRS* - - *IfcUnitAssignment* - - Spatial structure - - *IfcSite* - - *IfcRoad* -- For this test instruction - - Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* - - *IfcCompositeCurve* - - *IfcGradientCurve* - - *IfcCurveSegment* - - *IfcLine* - - *IfcClothoid* - - *IfcCircle* + +- Model setup + - *IfcProject* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- Spatial structure + - *IfcSite* + - *IfcRoad* + +- Alignment + + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - *IfcCompositeCurve* + - *IfcGradientCurve* + - *IfcCurveSegment* + - *IfcLine* + - *IfcCircle*
Concept Templates + These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests: +- Project Context - *Project Units* - *Project Representation Context* - *Project Global Positioning* - - *Spatial Decomposition* - - *Spatial Composition* - - *Spatial Container* - *Project Global Positioning* -- For this test instruction +- Object Composition - *Alignment Decomposition* - - *Alignment Geometry Gradient* - - *Spatial containment* + - *Spatial Decomposition* +- Object Connectivity + - *Spatial Containment* + +- Product Shape + - Product Geometric Representation + - *Alignment Geometry* + - *Alignment Geometry Gradient*
+## Model Dataset + +This test case utilises the dataset collected in the Dataset folder and summarised in the table below. **For more details on each item see [Dataset description](Dataset/README.md).** + +| Filename | Type (format) | Description | +| ------------------------------------------------------------ | ------------- | -------------------------------------------- | +| [HorizontalAlignmentParameters](Dataset/HorizontalAlignmentParameters.csv) | csv | Alignment parameters for horizontal segments | +| [VerticalAlignmentParameters](Dataset/VerticalAlignmentParameters.csv) | csv | Alignment parameters for vertical segments | +| [Testi_101_ml](Dataset/Testi_101_ml.xml) | xml | LandXML representation of the alignment | + ## Test Case Imports + Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. -:construction: under construction :construction: +No test cases are imported for this test case. All necessary data and criteria are included. -
Imports & Reuses +## Expected Results -| TI Code | Test Instruction Title | Comments | -| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | -| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | +For certification of capabilities the only source will be: -
+- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) -## Usages, Constraints & Logic -The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters -:construction: under construction :construction: +--- -
Semantic Usages, Constraints & Logic -The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria +## Validation criteria -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | --------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_00 | Alignment layout structure is verified | See below for further specification | | -| SITE_00 | Alignment shall always be contained in a Site | na | | +:zap: For this test case to be considered passed **all capabilities listed in this section**, and **the ones of pre-required tests** shall be verified, with no exception. :zap: -ALIG_00: Alignment layout structure is verified +### General -> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` -> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` -> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` -> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` -> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` -> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` -> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` -> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` -> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| GENE_00 | All validation criteria of precondition's tests shall be verified | | na | na | +| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/README.md) | na | na | --
+### Road alignment -
Model Geometry -The Test case requires the following additional checks related to Model Geometry: +**Acceptance criteria**: For the **Railway alignment (without cant)** capability, the validation procedure must verify that **all** the following validation criteria are satisfied. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ---------------------------------------------- | -------------------------- | ---------------------- | +| SITE_00 | All IfcAlignment shall always be contained in an IfcSite | | | Spatial Containment | +| ALIG_00 | Alignment layout structure is verified | See steps | | Alignment Layout | +| ALIG_01 | Number of alignments contained in file | [1] | | | +| ALIG_02 | Parameters of alignment segments are verified | As per Alignment Table | | | +| ALIG_03 | Alignment geometric compliance is verified | As per Alignment geometric compliance document | | | +
ALIG_00 steps -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | -> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` -> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` -> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` (the same instance as is referred from the owning `IfcAlignment` instance). -> 1. Geometric representations shall correspond to the semantic definitions. +| **STEP ID** | **STEP** | +| ----------- | ------------------------------------------------------------ | +| ALIG_00.1 | Each IfcAlignment must nest exactly 1 IfcAlignmentHorizontal | +| ALIG_00.2 | Each IfcAlignment must nest at most 1 IfcAlignmentVertical | +| ALIG_00.3 | Each IfcAlignment must nest exactly 1 IfcAlignmentVertical | +| ALIG_00.6 | Each IfcAlignmentHorizontal must be nested only by 1 IfcAlignment | +| ALIG_00.7 | Each IfcAlignmentVertical must be nested only by 1 IfcAlignment | +| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical | +| ALIG_00.10 | Each IfcAlignmentHorizontal nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentHorizontalSegment | +| ALIG_00.11 | Each IfcAlignmentVertical nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentVerticalSegment |
-## Expected Results +### Spatial (De)Composition -For certification of capabilities the only source will be: -:construction: under construction :construction: +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | --------------------------------- | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/README.md) | na | Spatial Decomposition | -- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) +> **Acceptance criteria**: For the **Spatial decomposition** capability, the validation procedure must verify that a Parent Element of the requested type aggregates (via `IfcRelAggregates`) exactly a given number of Child Elements of the requested type, no more and no less. -Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of a planar view and a "long section" similar to the provided examples -- CSV export of the horizontal and vertical alignment segment parameters +
SDEC_01 details: Spatial decomposition is verified ---- -## Validation criteria -:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: -:construction: under construction :construction: +> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Dataset/README.md#spatial-decomposition-table) +> - Then the Parent Element, and optionally the Parent Element Type, exists +> - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element -### General & Imports +
-
Click to expand +### Spatial Containment -- All the concept templates must be correctly implemented as presented in the validation criteria -- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------- | -------------------------------- | -------------------------- | ---------------------- | +| SCON_01 | Spatial containment is verified | As per Spatial Containment Table | na | Spatial Containment | +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. + +
SCON_01 details: Spatial containment is verified -#### Imports -| **TI Code** | **Criteria Codes** | *COMMENT** | -|--------------------|--------------------|----------------------------------------------------| -| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | -#### General -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|-----------------------------------------------|-------------| -| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | +> - Given a set of elements taken from the [Spatial Containment Table](Dataset/README.md#Spatial-Containment-Table) +> - Then the Spatial Element, and optionally the Spatial Element Type, exists +> - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element
-### Road alignment +### Product geometric representation -
Click to expand +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------ | --------------------------------------------- | -------------------------- | ----------------------------------------------------- | +| PREP_01 | Geometric representation of products is verified | As per Product Geometric Representation Table | | Product Geometric Representation and its subtemplates | + +> **Acceptance criteria**: For the **Group Geometric Representation** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has an IfcShapeRepresentation with the requested Representation Identifier, Representation Type and Items. + +
PREP_01 details: Geometric representation of products is verified -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | -| ALIG_01 | Alignments contained in file | 1 | | -| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | -| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve. | | | -| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcCompositeCurve. | | | -| ALIG_07 | The IfcAlignmentVertical shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve (same instance as referred to by IfcAlignment). | | | -| ALIG_06 | The IfcGradientCurve shall have the IfcCompositeCurve as BaseCurve | | | -| ALIG_07 | The IfcGradientCurve shall have Segments that exactly match the corresponding vertical segments in the IfcAlignmentVertical and in the same order | | | -| ALIG_08 | The IfcCompositeCurve shall have Segments that exactly match the corresponding horizontal segments in the IfcAlignmentHorizontal and in the same order | | | + + +> - Given a set of products taken from the [Product Geometric Representation Table](Dataset/README.md#Product-Geometric-Representation-Table) +> - Then the Product, and optionally the Product Type, exists +> - And the Product must have an IfcShapeRepresentation (via IfcProductDefinitionShape) with the requested Representation Identifier, Representation Type and Items.
-### Spatial containment +### Product placement -
Click to expand -> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------ | -------------------------- | ------------------------------ | +| PPLA_01 | Placement of products is verified | As per Product Placement Table | | Product Placement subtemplates | +| PPLA_02 | For a product that has ObjectPlacement as IfcLinearPlacement, the CartesianPosition of IfcLinearPlacement shall be available | depends on cases | | Product Linear Placement | + +> **Acceptance criteria**: For the **Product Placement** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has the requested Object Placement, and optionally the Object Placement has PlacementRelTo reference to the Object Placement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name. + +
PPLA_01 details: Placement of products is verified + + + +> - Given a set of products taken from the [Product Geometric Representation Table](#Product-Geometric-Representation-Table) +> - Then the Product with Product Type and Product Name, exists +> - And the Product must have Object Placement, and the Object Placement has PlacementRelTo reference to the ObjectPlacement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name. + +
+ +### Project Setup -| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | -| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | -| IfcSite | | 1 | 1 | IfcAlignment | Road alignment | +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ----------------------------------------------- | -------------------- | -------------------------- | -------------------------- | +| ORIG_01 | Origin of Coordinate System is set as requested | [(0., 0., 0.)] | | Project Global Positioning | +| ORIG_02 | True north is set as requested | [(0., 1., 0.)] | | Project Global Positioning | +| DIST_01 | Unit of measure for all distances | [meter] | | Project Units | +| ANGL_01 | Unit of measure all angles | [radian] | | Project Units | +| DIST_02 | Required precision for distances | [0,0001] | all alignment segments | na | +| ANGL_02 | Required precision for angles and slope | [0,000001] | | na | ### Project global positioning diff --git a/E1a-ARSE/ALIN05/Dataset/README.md b/E1a-ARSE/ALIN05/Dataset/README.md index af6553a..c4890db 100644 --- a/E1a-ARSE/ALIN05/Dataset/README.md +++ b/E1a-ARSE/ALIN05/Dataset/README.md @@ -1,15 +1,3 @@ -## Variations -The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: - -- IfcAlignmentHorizontalSegment - *The test shall include linear, clothoid and circular arc segments* -- IfcAlignmentVerticalSegment - *The test shall include linear and parabolic arc segments* -- Alignment Decomposition: - - The horizontal alignment shall be decomposed with element sequences containing clothoid transition curves including both clockwise and counter-clockwise turns - - The horizontal alignment shall also be decomposed with sequences of clothoid transition curves forming "S" curves - - The vertical alignment shall be decomposed with element sequences containing linear and parabolic arc segments including both clockwise and counter-clockwise turns - - The vertical alignment shall also be decomposed into parabolic arcs followed by parabolic arcs forming "S" curves - - The vertical alignment shall also be decomposed with element sequences where linear elements follows directly after each other - ## Model Dataset - - This test case utilises the following dataset: @@ -25,61 +13,101 @@ The Following occurrence variations need to be checked and certified in relation - Line => Line => Line => ... -The following tables lists the entities that shall be present in the dataset in addition to the imported entities for model setup : +| Filename | Description | +| ------------------------------------------------------------ | --------------------------------------------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | +| [LandXML](./T616AAC0.xml) | LandXML-file representing the alignment | + +## Dataset specification + +### Entities table -Alignment: +| **Element** | **Attribute** | **Value** | **Notes** | +| ---------------------- | ------------- | ----------- | --------- | +| IfcProject | Name | Alin05 | | +| IfcSite | Name | Alin05.Site | | +| IfcAlignment | Name | A1 | | +| IfcRoad | Name | Alin05.Road | | +| IfcAlignmentHorizontal | Name | AH1 | | +| IfcAlignmentVertical | Name | AV1 | | -| Name | Type | ObjectPlacement | Representation | -| ---- | ---------------------- | ----------------- | ------------------------------------------------------------ | -| A1 | IfcAlignment | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | -| AH1 | IfcAlignmentHorizontal | IfcLocalPlacement | IfcCompositeCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve2D" | -| AV1 | IfcAlignmentVertical | IfcLocalPlacement | IfcGradientCurve
RepresentationIdentifier="Axis"
RepresentationType="Curve3D" | +### Horizontal segments table Horizontal segments nested into AH1 in the following order: -| Name | Type | StartPointX | StartPointY | StartDirection | StartRadius | EndRadius | Length | Type_1 | -| ---- | ----------------------------- | ----------- | ----------- | -------------- | ----------- | ----------- | ---------- | ----------- | -| H1 | IfcAlignmentHorizontalSegment | 145685,8552 | 6591370,142 | 3,817860174 | 0 | 0 | 47,36403 | LINE | -| H2 | IfcAlignmentHorizontalSegment | 145648,9153 | 6591340,498 | 3,817860159 | 0 | 185 | 84,45946 | CLOTHOID | -| H3 | IfcAlignmentHorizontalSegment | 145587,3939 | 6591282,917 | 4,046128984 | 185 | 185 | 137,211623 | CIRCULARARC | -| H4 | IfcAlignmentHorizontalSegment | 145548,3555 | 6591154,638 | 4,78781345 | 185 | 0 | 59,594595 | CLOTHOID | -| H5 | IfcAlignmentHorizontalSegment | 145559,1771 | 6591096,104 | 4,948879761 | 0 | -203,799988 | 55,65383 | CLOTHOID | -| H6 | IfcAlignmentHorizontalSegment | 145569,7329 | 6591041,507 | 4,812339587 | -203,799988 | -203,799988 | 25,757113 | CIRCULARARC | -| H7 | IfcAlignmentHorizontalSegment | 145570,6789 | 6591015,784 | 4,68595602 | -203,799988 | 0 | 125,614636 | CLOTHOID | -| H8 | IfcAlignmentHorizontalSegment | 145541,9224 | 6590894,05 | 4,377775936 | 0 | 851,999999 | 118,881381 | CLOTHOID | -| H9 | IfcAlignmentHorizontalSegment | 145505,5107 | 6590780,909 | 4,447541815 | 851,999999 | 851,999999 | 2,84745 | CIRCULARARC | +| Entity | PredefinedType | Name | Start Point X | Start Point Y | Start Direction | Start Radius Of Curvature | End Radius Of Curvature | Segment Length | +| ----------------------------- | -------------- | ---- | ------------- | ------------- | --------------- | ------------------------- | ----------------------- | -------------- | +| IfcAlignmentHorizontalSegment | LINE | H1 | 145685,8552 | 6591370,142 | 3,817860174 | 0 | 0 | 47,36403 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H2 | 145648,9153 | 6591340,498 | 3,817860159 | 0 | 185 | 84,45946 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H3 | 145587,3939 | 6591282,917 | 4,046128984 | 185 | 185 | 137,211623 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H4 | 145548,3555 | 6591154,638 | 4,78781345 | 185 | 0 | 59,594595 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H5 | 145559,1771 | 6591096,104 | 4,948879761 | 0 | -203,799988 | 55,65383 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H6 | 145569,7329 | 6591041,507 | 4,812339587 | -203,799988 | -203,799988 | 25,757113 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H7 | 145570,6789 | 6591015,784 | 4,68595602 | -203,799988 | 0 | 125,614636 | +| IfcAlignmentHorizontalSegment | CLOTHOID | H8 | 145541,9224 | 6590894,05 | 4,377775936 | 0 | 851,999999 | 118,881381 | +| IfcAlignmentHorizontalSegment | CIRCULARARC | H9 | 145505,5107 | 6590780,909 | 4,447541815 | 851,999999 | 851,999999 | 2,84745 | + +### Vertical segments table Vertical segments nested into AV1 in the following order: -| Name | Type | StartDistAlong | HorizontalLength | StartHeight | StartGradient | EndGradient | Radius | Type_1 | -| ---- | --------------------------- | -------------- | ---------------- | ----------- | ------------- | ----------- | ------------ | ---------------- | -| V1 | IfcAlignmentVerticalSegment | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | CONSTANTGRADIENT | -| V2 | IfcAlignmentVerticalSegment | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,023047408 | 1549,998375 | PARABOLICARC | -| V3 | IfcAlignmentVerticalSegment | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,016859621 | -5000,004241 | PARABOLICARC | -| V4 | IfcAlignmentVerticalSegment | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | CONSTANTGRADIENT | -| V5 | IfcAlignmentVerticalSegment | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,012637385 | -3000,015228 | PARABOLICARC | -| V6 | IfcAlignmentVerticalSegment | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | CONSTANTGRADIENT | -| V7 | IfcAlignmentVerticalSegment | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,017293222 | 3000,021522 | PARABOLICARC | -| V8 | IfcAlignmentVerticalSegment | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | CONSTANTGRADIENT | -| V9 | IfcAlignmentVerticalSegment | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,023106068 | 2999,990831 | PARABOLICARC | -| V10 | IfcAlignmentVerticalSegment | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | CONSTANTGRADIENT | -| V11 | IfcAlignmentVerticalSegment | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,045000824 | 2950,001197 | PARABOLICARC | -| V12 | IfcAlignmentVerticalSegment | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | CONSTANTGRADIENT | -| V13 | IfcAlignmentVerticalSegment | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,030824882 | -3000,000288 | PARABOLICARC | -| V14 | IfcAlignmentVerticalSegment | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | CONSTANTGRADIENT | -| V15 | IfcAlignmentVerticalSegment | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | CONSTANTGRADIENT | -| V16 | IfcAlignmentVerticalSegment | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | CONSTANTGRADIENT | -| V17 | IfcAlignmentVerticalSegment | 549,99946 | 10 | 27,818 | 0,026832 | 0,026832 | 0 | CONSTANTGRADIENT | -| V18 | IfcAlignmentVerticalSegment | 559,99946 | 10 | 28,08632 | 0,026325 | 0,026325 | 0 | CONSTANTGRADIENT | -| V19 | IfcAlignmentVerticalSegment | 569,99946 | 10 | 28,34957 | 0,02537 | 0,02537 | 0 | CONSTANTGRADIENT | -| V20 | IfcAlignmentVerticalSegment | 579,99946 | 10 | 28,60327 | 0,020813 | 0,020813 | 0 | CONSTANTGRADIENT | -| V21 | IfcAlignmentVerticalSegment | 589,99946 | 10 | 28,8114 | 0,020176 | 0,020176 | 0 | CONSTANTGRADIENT | -| V22 | IfcAlignmentVerticalSegment | 599,99946 | 10 | 29,01316 | 0,019498 | 0,019498 | 0 | CONSTANTGRADIENT | -| V23 | IfcAlignmentVerticalSegment | 609,99946 | 10 | 29,20814 | 0,018781 | 0,018781 | 0 | CONSTANTGRADIENT | -| V24 | IfcAlignmentVerticalSegment | 619,99946 | 10 | 29,39595 | 0,018022 | 0,018022 | 0 | CONSTANTGRADIENT | -| V25 | IfcAlignmentVerticalSegment | 629,99946 | 10 | 29,57617 | 0,017226 | 0,017226 | 0 | CONSTANTGRADIENT | -| V26 | IfcAlignmentVerticalSegment | 639,99946 | 10 | 29,74843 | 0,01639 | 0,01639 | 0 | CONSTANTGRADIENT | -| V27 | IfcAlignmentVerticalSegment | 649,99946 | 7,384658 | 29,91233 | 0,015674389 | 0,015674389 | 0 | CONSTANTGRADIENT | +| Entity | PredefinedType | Name | Start Dist Along | Horizontal Length | Start Height | Start Gradient | End Gradient | RadiusOfCurvature | +| --------------------------- | ---------------- | ---- | ---------------- | ----------------- | ------------ | -------------- | ------------ | ----------------- | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V1 | 85 | 1,41860495 | 15,82 | 0,009739982 | 0,009739982 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V2 | 86,41860495 | 20,6264881 | 15,83381719 | 0,009739982 | 0,023047408 | 1549,998375 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V3 | 107,0450938 | 30,9389625 | 16,17196156 | 0,023047408 | 0,016859621 | -5000,004241 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V4 | 137,9840563 | 66,893377 | 16,78930258 | 0,016859621 | 0,016859621 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V5 | 204,8774333 | 12,6667695 | 17,91709954 | 0,016859621 | 0,012637385 | -3000,015228 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V6 | 217,5442028 | 4,4678966 | 18,10391542 | 0,012637385 | 0,012637385 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V7 | 222,0120994 | 13,9676113 | 18,16037796 | 0,012637385 | 0,017293222 | 3000,021522 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V8 | 235,9797107 | 29,55312205 | 18,36940751 | 0,017293222 | 0,017293222 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V9 | 265,5328327 | 17,4384826 | 18,88047622 | 0,017293222 | 0,023106068 | 2999,990831 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V10 | 282,9713153 | 12,9163156 | 19,23272738 | 0,023106068 | 0,023106068 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V11 | 295,8876309 | 64,5895582 | 19,53117264 | 0,023106068 | 0,045000824 | 2950,001197 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V12 | 360,4771891 | 0,0557456 | 21,73066968 | 0,045000824 | 0,045000824 | 0 | +| IfcAlignmentVerticalSegment | PARABOLICARC | V13 | 360,5329347 | 42,5278306 | 21,73317828 | 0,045000824 | 0,030824882 | -3000,000288 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V14 | 403,0607653 | 126,9386947 | 23,34552968 | 0,030824882 | 0,030824882 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V15 | 529,99946 | 10 | 27,2584 | 0,028668 | 0,028668 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V16 | 539,99946 | 10 | 27,54508 | 0,027292 | 0,027292 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V17 | 549,99946 | 10 | 27,818 | 0,026832 | 0,026832 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V18 | 559,99946 | 10 | 28,08632 | 0,026325 | 0,026325 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V19 | 569,99946 | 10 | 28,34957 | 0,02537 | 0,02537 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V20 | 579,99946 | 10 | 28,60327 | 0,020813 | 0,020813 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V21 | 589,99946 | 10 | 28,8114 | 0,020176 | 0,020176 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V22 | 599,99946 | 10 | 29,01316 | 0,019498 | 0,019498 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V23 | 609,99946 | 10 | 29,20814 | 0,018781 | 0,018781 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V24 | 619,99946 | 10 | 29,39595 | 0,018022 | 0,018022 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V25 | 629,99946 | 10 | 29,57617 | 0,017226 | 0,017226 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V26 | 639,99946 | 10 | 29,74843 | 0,01639 | 0,01639 | 0 | +| IfcAlignmentVerticalSegment | CONSTANTGRADIENT | V27 | 649,99946 | 7,384658 | 29,91233 | 0,015674389 | 0,015674389 | 0 | + +### Spatial (De)Composition table + +| **Parent Element** | **Parent Element Type** | **Parent Element Name** | **MinSize** | **MaxSize** | **Child Element** | **Child Element Type** | **Child Element Name** | +| ------------------ | ----------------------- | ----------------------- | ----------- | ----------- | ----------------- | ---------------------- | ---------------------- | +| IfcProject | | Alin05 | 1 | 1 | IfcSite | | Alin05.Site | +| IfcSite | | Alin05.Site | 1 | 1 | IfcRoad | | Allin05.Road | + +### Spatial Containment table + +| **Spatial Element** | **Spatial Element Type** | **Spatial Element Name** | **MinSize** | **MaxSize** | **Element** | **Element Type** | **Element Name** | +| ------------------- | ------------------------ | ------------------------ | ----------- | ----------- | ------------ | ---------------- | ---------------- | +| IfcSite | | Alin05.Site | 1 | 1 | IfcAlignment | | A1 | + +### Product Geometric Representation table + +| **Product** | **Product Type** | **Product Name** | **Representation Identifier** | **Representation Type** | **Items** | +| ---------------------- | ---------------- | ---------------- | ----------------------------- | ----------------------- | ------------------- | +| IfcAlignment | na | A1 | Axis | Curve3D | 1 IfcGradientCurve | +| IfcAlignmentHorizontal | na | AH1 | Axis | Curve2D | 1 IfcCompositeCurve | +| IfcAlignmentVertical | na | AV1 | Axis | Curve2D | 1 IfcGradientCurve | + +### Product Placement table + +| **Product** | **Product Type** | **Product Name** | **Object Placement** | Relative Placement Product | Relative Placement Product Type | Relative Placement Product Name | +| ------------ | ---------------- | ---------------- | -------------------- | -------------------------- | ------------------------------- | ------------------------------- | +| IfcAlignment | | A1 | IfcLocalPlacement | IfcSite | na | Alin05.Site | ## Drawings (Visualisations) @@ -91,10 +119,4 @@ The following Drawings and visualisations describe the test case dataset to be m | [Vertical](./T616AAC0_profile.pdf) | Long section (profile) view of the alignment | -## Supporting files - -| Filename | Description | -| ------------------------------------------------------------ | --------------------------------------------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | -| [LandXML](./T616AAC0.xml) | LandXML-file representing the alignment | \ No newline at end of file +## diff --git a/E1a-ARSE/ALIN05/README.md b/E1a-ARSE/ALIN05/README.md index 4961932..5efe4a9 100644 --- a/E1a-ARSE/ALIN05/README.md +++ b/E1a-ARSE/ALIN05/README.md @@ -18,196 +18,221 @@ With these instructions the infrastructure (e.g. Road) alignment exchange is est | Geometric representation | IfcCompositeCurve, IfcGradientCurve | | IFC reference file available | Yes | -The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. -:zap: **This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test** :zap: +- The [Expected Results](#Expected-Results) section lists the material that will be used to assess the fulfilment of capabilities. -## Itemised Roots -*This section lists the primary entities and concept templates being validated by this test instruction, these are listed to understand the scope of the data entities being addressed. this is the documentation of the data placed within BIMQ* +- :zap: This is a test-driven process: refer to the [Validation Criteria](#Validation-Criteria) to understand what is required by the test :zap: +## Itemised Roots The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: -:construction: under construction :construction: -
IFC Entities - These entities represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests - - Model setup - - *IfcProject* - - *IfcRepresentationContext* - - *IfcMapConversion* - - *IfcProjectedCRS* - - *IfcUnitAssignment* - - Spatial structure - - *IfcSite* - - *IfcRoad* -- For this test instruction - - Alignment - - *IfcAlignment* - - *IfcAlignmentHorizontal* - - *IfcAlignmentVertical* - - *IfcAlignmentSegment* - - *IfcAlignmentHorizontalSegment* - - *IfcAlignmentVerticalSegment* +- Model setup + - *IfcProject* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* +- Spatial structure + - *IfcSite* + - *IfcRoad* + +- Alignment + + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - *IfcCompositeCurve* + - *IfcGradientCurve* + - *IfcCurveSegment* + - *IfcLine* + - *IfcCircle*
Concept Templates + These concept templates represent a test-specific subset of the wider AbRV_Ex exchange and the overall AbRV MVD, that must be correctly exported to meet the validation criteria. **The scope of the test shall not be used as a definitive scope of the exchange, or of the entire MVD.** -- Inherited from imported tests: +- Project Context - *Project Units* - *Project Representation Context* - *Project Global Positioning* - - *Spatial Decomposition* - - *Spatial Composition* - - *Spatial Container* - *Project Global Positioning* -- For this test instruction +- Object Composition - *Alignment Decomposition* - - *Alignment Geometry Gradient* + - *Spatial Decomposition* +- Object Connectivity - *Spatial Containment* +- Product Shape + - Product Geometric Representation + - *Alignment Geometry* + - *Alignment Geometry Gradient* +
+## Model Dataset + +This test case utilises the dataset collected in the Dataset folder and summarised in the table below. **For more details on each item see [Dataset description](Dataset/README.md).** + +| Filename | Type (format) | Description | +| ------------------------------------------------------------ | --------------------------------------------- | ----------- | +| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | | +| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | | +| [LandXML](./T616AAC0.xml) | LandXML-file representing the alignment | | + ## Test Case Imports -Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. -:construction: under construction :construction: +Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. -
Imports & Reuses +No test cases are imported for this test case. All necessary data and criteria are included. -| TI Code | Test Instruction Title | Comments | -| ---------------------------------------- | ----------------------- | ------------------------------------------------------------ | -| [IFC4.3AbRV_E0_SSRD](../../E0-SSRD/SSRD) | Spatial Structures Road | Spatial structure for road incuding the dependencies (E0_SSSI, E0_MSTP) | +## Expected Results -
+For certification of capabilities the only source will be: -## Usages, Constraints & Logic -The following itemised restrictions and constraints shall be placed on IFC Entities & Concept Templates: +- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) -:construction: under construction :construction: +Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: +- Screen-shot of a planar view and a "long section" similar to the provided examples +- CSV export of the horizontal and vertical alignment segment parameters -
Semantic Usages, Constraints & Logic -The following itemised Usages, Constraints & Logic are normative entries within the AbRV MVD and MUST be satisfied to meet the defined validation criteria +--- -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | --------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_00 | Alignment layout structure is verified | See below for further specification | | -| SITE_00 | Alignment shall always be contained in a Site | na | | +## Validation criteria +:zap: For this test case to be considered passed **all capabilities listed in this section**, and **the ones of pre-required tests** shall be verified, with no exception. :zap: -ALIG_00: Alignment layout structure is verified +### General -> 1. Each `IfcAlignment` must nest exactly 1 `IfcAlignmentHorizontal` -> 2. Each `IfcAlignment` must nest at most 1 `IfcAlignmentVertical` -> 3. Each `IfcAlignmentHorizontal` must be nested only by 1 `IfcAlignment` -> 4. Each `IfcAlignmentVertical` must be nested only by 1 `IfcAlignment` -> 5. Each `IfcAlignment` must nest only `IfcAlignmentHorizontal`, or `IfcAlignmentVertical` -> 6. Each `IfcAlignmentHorizontal` must nest only `IfcAlignmentHorizontalSegment` -> 7. Each `IfcAlignmentVertical` must nest only `IfcAlignmentVerticalSegment` -> 8. Each `IfcAlignmentHorizontalSegment` must be nested only by 1 `IfcAlignmentHorizontal` -> 9. Each `IfcAlignmentVerticalSegment` must be nested only by 1 `IfcAlignmentVertical` +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| GENE_00 | All validation criteria of precondition's tests shall be verified | | na | na | +| GENE_01 | All requested entities (and attributes) exist in file | As per Entities Table. See [Dataset description](Dataset/README.md) | na | na | --
+### Road alignment -
Model Geometry -The Test case requires the following additional checks related to Model Geometry: +**Acceptance criteria**: For the **Railway alignment (without cant)** capability, the validation procedure must verify that **all** the following validation criteria are satisfied. +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ---------------------------------------------- | -------------------------- | ---------------------- | +| SITE_00 | All IfcAlignment shall always be contained in an IfcSite | | | Spatial Containment | +| ALIG_00 | Alignment layout structure is verified | See steps | | Alignment Layout | +| ALIG_01 | Number of alignments contained in file | [1] | | | +| ALIG_02 | Parameters of alignment segments are verified | As per Alignment Table | | | +| ALIG_03 | Alignment geometric compliance is verified | As per Alignment geometric compliance document | | | +
ALIG_00 steps -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ---------------------------------------------- | ----------------------------------- | ----------- | -| ALIG_01 | Alignment geometric representation is verified | See below for further specification | | -> 1. Each `IfcAlignment` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` -> 1. Each `IfcAlignmentHorizontal` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve2D" referencing 1 `IfcCompositeCurve` -> 1. Each `IfcAlignmentVertical` shall have one Representation with RepresentationIdentifier="Axis" and RepresentationType="Curve3D" referencing 1 `IfcGradientCurve` (the same instance as referred to by IfcAlignment) -> 1. Geometric representations shall correspond to the semantic definitions. +| **STEP ID** | **STEP** | +| ----------- | ------------------------------------------------------------ | +| ALIG_00.1 | Each IfcAlignment must nest exactly 1 IfcAlignmentHorizontal | +| ALIG_00.2 | Each IfcAlignment must nest at most 1 IfcAlignmentVertical | +| ALIG_00.3 | Each IfcAlignment must nest exactly 1 IfcAlignmentVertical | +| ALIG_00.6 | Each IfcAlignmentHorizontal must be nested only by 1 IfcAlignment | +| ALIG_00.7 | Each IfcAlignmentVertical must be nested only by 1 IfcAlignment | +| ALIG_00.9 | Each IfcAlignment must nest only the following entities: IfcAlignmentHorizontal, IfcAlignmentVertical | +| ALIG_00.10 | Each IfcAlignmentHorizontal nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentHorizontalSegment | +| ALIG_00.11 | Each IfcAlignmentVertical nests a list of IfcAlignmentSegment, each of which has DesignParameters typed as IfcAlignmentVerticalSegment |
-## Expected Results +### Spatial (De)Composition -For certification of capabilities the only source will be: -:construction: under construction :construction: +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | --------------------------------- | ------------------------------------------------------------ | -------------------------- | ---------------------- | +| SDEC_01 | Spatial decomposition is verified | As per Spatial (De)Composition Table. See [Dataset description](Dataset/README.md) | na | Spatial Decomposition | -- n. 1 IFC file containing the information as requested. The file shall be named using the following syntax: `MVDCode`-`ExchangeCode`-`TestCode`-`SoftwareVendor`.`ifc` (Example: `IFC4.3_AbRV-E2b-ASTPC-AmazingSoft.ifc`) +> **Acceptance criteria**: For the **Spatial decomposition** capability, the validation procedure must verify that a Parent Element of the requested type aggregates (via `IfcRelAggregates`) exactly a given number of Child Elements of the requested type, no more and no less. -Considering the aim of this test, other **optional** results, not subject to the bSI certification process, yet usefull to illustrate test results are: -- Screen-shot of a planar view and a "long section" similar to the provided examples -- CSV export of the horizontal and vertical alignment segment parameters +
SDEC_01 details: Spatial decomposition is verified ---- -## Validation criteria -:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: -:construction: under construction :construction: +> - Given a set of elements taken from the [Spatial (De)Composition Table](Dataset/README.md#Dataset/README.md#spatial-decomposition-table) +> - Then the Parent Element, and optionally the Parent Element Type, exists +> - And the Parent Element must aggregate at least a number within [MinSize..MaxSize] of the requested Child Element + +
-### General & Imports +### Spatial Containment -
Click to expand +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------- | -------------------------------- | -------------------------- | ---------------------- | +| SCON_01 | Spatial containment is verified | As per Spatial Containment Table | na | Spatial Containment | -- All the concept templates must be correctly implemented as presented in the validation criteria -- At least 1 instance of each entity listed in [Itemised Roots](#Itemised-Roots) is present in the file. +> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. +
SCON_01 details: Spatial containment is verified -#### Imports -| **TI Code** | **Criteria Codes** | *COMMENT** | -|--------------------|--------------------|----------------------------------------------------| -| IFC4.3AbRV_E0_MSTP | ALL CRITERIA | As outlined in the dataset [Imported Entities Table](Dataset/README.md#Imported-Entities-Table) | -#### General -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -|---------|-----------------------------------------------------|-----------------------------------------------|-------------| -| GENE_01 | All requested entities are present in the IFC model | per [Entities Table](Dataset/README.md#Entities-Table) | | +> - Given a set of elements taken from the [Spatial Containment Table](Dataset/README.md#Spatial-Containment-Table) +> - Then the Spatial Element, and optionally the Spatial Element Type, exists +> - And the Spatial Element must contain at least a number within [MinSize..MaxSize] of the requested Element
-### Road alignment +### Product geometric representation -
Click to expand - -| **ID** | **CRITERIA** | **VALUE** | **COMMENT** | -| ------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------- | -| ALIG_01 | Alignments contained in file | 1 | | -| ALIG_02 | Components for Alignment | 1 horizontal, 1 vertical | | -| ALIG_03 | The horizontal (H) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_04 | The vertical (V) layout matches exactly the layout specified in the [Dataset description](./Dataset/README.md) | See [Dataset description](./Dataset/README.md) | | -| ALIG_05 | The IfcAlignment shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve. | | | -| ALIG_06 | The IfcAlignmentHorizontal shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve2D" and having one Item of type IfcCompositeCurve. | | | -| ALIG_07 | The IfcAlignmentVertical shall have one Representation of type IfcProductShapeRepresentation having one Representation of type IfcShapeRepresentation having RepresentationIdentifier="Axis" and RepresentationType="Curve3D" and having one Item of type IfcGradientCurve (same instance as referred to by IfcAlignment). | | | -| ALIG_06 | The IfcGradientCurve shall have the IfcCompositeCurve as BaseCurve | | | -| ALIG_07 | The IfcGradientCurve shall have Segments that exactly match the corresponding vertical segments in the IfcAlignmentVertical and in the same order | | | -| ALIG_08 | The IfcCompositeCurve shall have Segments that exactly match the corresponding horizontal segments in the IfcAlignmentHorizontal and in the same order | | | +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------ | --------------------------------------------- | -------------------------- | ----------------------------------------------------- | +| PREP_01 | Geometric representation of products is verified | As per Product Geometric Representation Table | | Product Geometric Representation and its subtemplates | -
+> **Acceptance criteria**: For the **Group Geometric Representation** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has an IfcShapeRepresentation with the requested Representation Identifier, Representation Type and Items. + +
PREP_01 details: Geometric representation of products is verified -### Spatial containment -
Click to expand -> **Acceptance criteria**: For the **Spatial containment** capability, the validation procedure must verify that a Spatial Element of the requested type contains (via `IfcRelContainedInSpatialStructure`) exactly a given number of Elements of the requested type, no more and no less. -| Spatial Element | Spatial Element Type | Minimum | Maximum | Element | Element Type | -| --------------- | -------------------- | ------- | ------- | ------------ | -------------- | -| IfcSite | | 1 | 1 | IfcAlignment | Road alignment | +> - Given a set of products taken from the [Product Geometric Representation Table](Dataset/README.md#Product-Geometric-Representation-Table) +> - Then the Product, and optionally the Product Type, exists +> - And the Product must have an IfcShapeRepresentation (via IfcProductDefinitionShape) with the requested Representation Identifier, Representation Type and Items.
-### Project global positioning +### Product placement + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ------------------------------------------------------------ | ------------------------------ | -------------------------- | ------------------------------ | +| PPLA_01 | Placement of products is verified | As per Product Placement Table | | Product Placement subtemplates | +| PPLA_02 | For a product that has ObjectPlacement as IfcLinearPlacement, the CartesianPosition of IfcLinearPlacement shall be available | depends on cases | | Product Linear Placement | + +> **Acceptance criteria**: For the **Product Placement** capability, the validation procedure must verify that a Product of the requested type (and optionally a requested name) has the requested Object Placement, and optionally the Object Placement has PlacementRelTo reference to the Object Placement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name. + +
PPLA_01 details: Placement of products is verified -
Click to expand -> **Acceptance criteria**: For the **Project global positioning** capability, the validation procedure must verify that there is an IfcMapConversion with the given parameters associated with the IfcGeometricRepresentationContext (via `HasCoordinateOperation`). Furthermore, the IfcMapConversion shall have an association with an IfcProjectedCRS (via `HasCoordinateOperation`) with the given parameters. +> - Given a set of products taken from the [Product Geometric Representation Table](#Product-Geometric-Representation-Table) +> - Then the Product with Product Type and Product Name, exists +> - And the Product must have Object Placement, and the Object Placement has PlacementRelTo reference to the ObjectPlacement of Relative Placement Product with requested Relative Placement Product Type and Relative Placement Product Name. +
+ +### Project Setup + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ----------------------------------------------- | -------------------- | -------------------------- | -------------------------- | +| ORIG_01 | Origin of Coordinate System is set as requested | [(0., 0., 0.)] | | Project Global Positioning | +| ORIG_02 | True north is set as requested | [(0., 1., 0.)] | | Project Global Positioning | +| DIST_01 | Unit of measure for all distances | [meter] | | Project Units | +| ANGL_01 | Unit of measure all angles | [radian] | | Project Units | +| DIST_02 | Required precision for distances | [0,0001] | all alignment segments | na | +| ANGL_02 | Required precision for angles and slope | [0,000001] | | na | + +### Project global positioning | Element | Attribute | Value | Comment | | ---------------- | ---------------- | --------- | ------- | diff --git a/E1a-ARSE/ALIN06/Dataset/README.md b/E1a-ARSE/ALIN06/Dataset/README.md index 9e11edd..73c75a2 100644 --- a/E1a-ARSE/ALIN06/Dataset/README.md +++ b/E1a-ARSE/ALIN06/Dataset/README.md @@ -96,5 +96,3 @@ Vertical segments nested into AV1 in the following order: | **Product** | **Product Type** | **Product Name** | **Object Placement** | Relative Placement Product | Relative Placement Product Type | Relative Placement Product Name | | ------------ | ---------------- | ---------------- | -------------------- | -------------------------- | ------------------------------- | ------------------------------- | | IfcAlignment | | A1 | IfcLocalPlacement | IfcSite | na | Alin06.Site | - -## \ No newline at end of file From 298713049d9c82f401c7862b46095978de5d2e36 Mon Sep 17 00:00:00 2001 From: larswik Date: Mon, 4 Apr 2022 08:33:09 +0200 Subject: [PATCH 36/37] Fixed some links --- E1a-ARSE/ALIN05/README.md | 6 +++--- E1a-ARSE/ALIN06/README.md | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/E1a-ARSE/ALIN05/README.md b/E1a-ARSE/ALIN05/README.md index 5efe4a9..10e4182 100644 --- a/E1a-ARSE/ALIN05/README.md +++ b/E1a-ARSE/ALIN05/README.md @@ -86,9 +86,9 @@ This test case utilises the dataset collected in the Dataset folder and summaris | Filename | Type (format) | Description | | ------------------------------------------------------------ | --------------------------------------------- | ----------- | -| [HorizontalAlignmentParameters](./HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | | -| [VerticalAlignmentParameters](./VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | | -| [LandXML](./T616AAC0.xml) | LandXML-file representing the alignment | | +| [HorizontalAlignmentParameters](Dataset/HorizontalAlignmentParameters.csv) | Parameters for the horizontal segments as csv | | +| [VerticalAlignmentParameters](Dataset/VerticalAlignmentParameters.csv) | Parameters for the vertical segments as csv | | +| [LandXML](Dataset/T616AAC0.xml) | LandXML-file representing the alignment | | ## Test Case Imports diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index ed234f2..9b9d62a 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -82,11 +82,11 @@ These concept templates represent a test-specific subset of the wider AbRV_Ex ex This test case utilises the dataset collected in the Dataset folder and summarised in the table below. **For more details on each item see [Dataset description](Dataset/README.md).** -| Filename | Type (format) | Description | -| ----------------------------- | ------------- | -------------------------------------------- | -| HorizontalAlignmentParameters | csv | Alignment parameters for horizontal segments | -| VerticalAlignmentParameters | csv | Alignment parameters for vertical segments | -| TOI-M14334-0000A | xml | LandXML representation of the alignment | +| Filename | Type (format) | Description | +| ------------------------------------------------------------ | ------------- | -------------------------------------------- | +| [HorizontalAlignmentParameters](Dataset/HorizontalAlignmentParameters.csv) | csv | Alignment parameters for horizontal segments | +| [VerticalAlignmentParameters](Datsaset/VerticalAlignmentParameters.csv) | csv | Alignment parameters for vertical segments | +| [TOI-M14334-0000A](Dataset/TOI-M14334-0000A.xml) | xml | LandXML representation of the alignment | ## Test Case Imports Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria. From 5bd3bbc4b4fcc52c68c70679a8e17fde6efa735c Mon Sep 17 00:00:00 2001 From: larswik Date: Mon, 4 Apr 2022 08:34:21 +0200 Subject: [PATCH 37/37] Update README.md --- E1a-ARSE/ALIN06/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/E1a-ARSE/ALIN06/README.md b/E1a-ARSE/ALIN06/README.md index 9b9d62a..6771534 100644 --- a/E1a-ARSE/ALIN06/README.md +++ b/E1a-ARSE/ALIN06/README.md @@ -86,7 +86,7 @@ This test case utilises the dataset collected in the Dataset folder and summaris | ------------------------------------------------------------ | ------------- | -------------------------------------------- | | [HorizontalAlignmentParameters](Dataset/HorizontalAlignmentParameters.csv) | csv | Alignment parameters for horizontal segments | | [VerticalAlignmentParameters](Datsaset/VerticalAlignmentParameters.csv) | csv | Alignment parameters for vertical segments | -| [TOI-M14334-0000A](Dataset/TOI-M14334-0000A.xml) | xml | LandXML representation of the alignment | +| [TOI-M14334-0000A](Dataset/TOI-M14334-0000A.XML) | xml | LandXML representation of the alignment | ## Test Case Imports Test instructions are defined with a modular approach to reduce repetition of validation criteria and test content, and improve vendors ability to solve issues and bugs. therefore this test instruction *imports/reuses* the following Test instructions and entities with the relevant associated validation criteria.

&l)W!g>yms)B~4aYI5QegXXmCGv{KBixS6`B*# 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