diff --git a/E1a-ARSE/ALSE01/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALSE01/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..edcdc81 --- /dev/null +++ b/E1a-ARSE/ALSE01/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/ALSE01/Dataset/README.md b/E1a-ARSE/ALSE01/Dataset/README.md new file mode 100644 index 0000000..137e3be --- /dev/null +++ b/E1a-ARSE/ALSE01/Dataset/README.md @@ -0,0 +1,120 @@ +## Model Dataset + +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- Pset_Superelevation.Side - *The test shall include all possible values (LEFT, RIGHT and BOTH)* +- Pset_Superelevation.Superelevation - *The test shall include both positive and negative values* +- Pset_Superelevation.TransitionSuperelevation - *The test shall include only LINEAR transitions* + +| 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 + +The entities listed below are in addition to the entities listed for ALIN06. + +| **Element** | **Attribute** | **Value** | **Notes** | +| ------------- | -------------- | ------------------- | --------- | +| IfcAnnotation | Name | SE0 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE1 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE2 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE3 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE4 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE5 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE6 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE7 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE8 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE9 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE10 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE11 | | +| | PredefinedType | SUPERELEVATIONEVENT | | + +### Properties table + +| **Entity** | **Entity Type** | Entity Name | **PropertySet Name** | **Property Name** | **Property Value Type** | **Enumerated Values** | **Value type** | **Property Value** | +| ------------- | ------------------- | ----------- | -------------------- | ------------------------ | ----------------------- | --------------------- | -------------------------- | ------------------ | +| IfcAnnotation | SUPERELEVATIONEVENT | SE0 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,00 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| IfcAnnotation | SUPERELEVATIONEVENT | SE1 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,00 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| IfcAnnotation | SUPERELEVATIONEVENT | SE2 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE3 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE4 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE5 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE6 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE7 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE8 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE9 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE10 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE11 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | + +### Spatial Containment table + +| **Spatial Element** | **Spatial Element Type** | **MinSize** | **MaxSize** | **Element** | **Element Type** | +| ------------------- | ------------------------ | ----------- | ----------- | ------------- | ------------------- | +| IfcRoad | | 12 | 12 | IfcAnnotation | SUPERELEVATIONEVENT | + +### Product Relative Positioning table + +| **Product** | **Product Type** | **Size** | **Positioning Element** | **Positioning Element Type** | +| ------------- | ------------------- | -------- | ----------------------- | ---------------------------- | +| IfcAnnotation | SUPERELEVATIONEVENT | 12 | IfcAlignment | | + +### Product Placement table + +| **Product** | **Product Type** | **Product Name** | **Object Placement** | Relative Placement Product | Relative Placement Product Type | Relative Placement Product Name | +| ------------- | ------------------- | ---------------- | --------------------------------- | -------------------------- | ------------------------------- | ------------------------------- | +| IfcAnnotation | SUPERELEVATIONEVENT | SE0 | IfcLinearPlacement
at 298,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE1 | IfcLinearPlacement
at 301,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE2 | IfcLinearPlacement
at 331,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE3 | IfcLinearPlacement
at 331,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE4 | IfcLinearPlacement
at 443,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE5 | IfcLinearPlacement
at 443,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE6 | IfcLinearPlacement
at 503,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE7 | IfcLinearPlacement
at 503,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE8 | IfcLinearPlacement
at 513,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE9 | IfcLinearPlacement
at 513,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE10 | IfcLinearPlacement
at 573,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE11 | IfcLinearPlacement
at 573,00 | IfcAlignment | na | A1 (from ALIN06) | + +## Drawings (Visualisations) + +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + +| Filename | Description | +| -------------- | ------------------------- | +| Superelevation | ![](./Superelevation.png) | + + + diff --git a/E1a-ARSE/ALSE01/Dataset/Superelevation.png b/E1a-ARSE/ALSE01/Dataset/Superelevation.png new file mode 100644 index 0000000..2dd69ae Binary files /dev/null and b/E1a-ARSE/ALSE01/Dataset/Superelevation.png differ diff --git a/E1a-ARSE/ALSE01/Dataset/TOI-M14334-0000A.XML b/E1a-ARSE/ALSE01/Dataset/TOI-M14334-0000A.XML new file mode 100644 index 0000000..f63a694 --- /dev/null +++ b/E1a-ARSE/ALSE01/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/ALSE01/Dataset/TOI-M14334-0000A.ifc b/E1a-ARSE/ALSE01/Dataset/TOI-M14334-0000A.ifc new file mode 100644 index 0000000..ce4b25c --- /dev/null +++ b/E1a-ARSE/ALSE01/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/ALSE01/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALSE01/Dataset/VerticalAlignmentParameters.csv new file mode 100644 index 0000000..fc0b572 --- /dev/null +++ b/E1a-ARSE/ALSE01/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,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,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,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,00142311038270447;1300;CIRCULARARC +V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALSE01/README.md b/E1a-ARSE/ALSE01/README.md new file mode 100644 index 0000000..4e0831f --- /dev/null +++ b/E1a-ARSE/ALSE01/README.md @@ -0,0 +1,285 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | -------------------------------- | --------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALSE01 | Alignment Superelevation & Width | IFC4x3_AbRV-E1a | ALSE01 | Lars WIkström | FTIA | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN06](../ALIN06). + +The data comes from, and is a simplified version of, the IFC Infra Unit Test [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2) which in turn is extracted from the IFC Rail [Level Crossing storyline](https://github.com/IFCRail/IFC-Rail-Unit-Test/tree/master/8_Storylines%20Test%20(SL)/SL08_Level%20Crossing). + +| 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 | +| Superelevation | 12 IfcAnnotation/SUPERELEVATIONEVENT | +| Width | 0 | +| IFC reference file available | Yes | + +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. + +- 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 +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +
IFC Entities + +- Inherited from imported tests: + - Model setup + - IfcProject + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* + - Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - *IfcCompositeCurve* + - *IfcGradientCurve* + - *IfcCurveSegment* + - *IfcLine* + - *IfcCircle* +- For this test instruction: + - *IfcAnnotation* + - *IfcPropertySet* + - *IfcPropertySingleValue* + - *IfcPropertyEnumeratedValue* + - *IfcLinearPlacement* + +
+ +
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 Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Alignment Decomposition* + - *Alignment Geometry Gradient* + - *Product Local Placement* + +- For this test instruction: + - *Product Linear Placement* + - *Property Sets for Objects* + - Product Relative Positioning + +
+ +## 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 | +| [LandXML](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. + + +| TI Code | Test Instruction Title | Comments | +| ------------------------------------------------------------ | ------------------------------- | -------- | +| [**IFC4x3_AbRV-E1a-ALIN06**](https://github.com/bSI-InfraRoom/MVD-Infra-Test-Instructions/blob/develop/E1a-ARSE/ALIN06) | Alignment Infrastructure Curves | na | + +## Expected Results + +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 a planar view and a "long section" showing the superelevation changes + +--- + +## Validation criteria +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +### 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 specification](Dataset/README.md). | na | na | + +### Superelevation & Width + +| **ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ------- | ---------------------------------------- | ------------------------------------------------------------ | --------------------------------- | ---------------------------- | +| SEWI_00 | Superelevation representation verified | | IfcAnnotation/SUPERELEVATIONEVENT | | +| SEWI_01 | Width representation verified | | IfcAnnotation/WIDTHEVENT | | +| SEWI_02 | Superelevation linear placement verified | As per Product placement table. See [Dataset specification](Dataset/README.md). | | Product Linear Placement | +| SEWI_03 | Width linear placement verified | As per Product placement table. See [Dataset specification](Dataset/README.md). | | | +| SEWI_04 | Superelevation properties verified | As per Properties table. See [Dataset specification](Dataset/README.md). | | Property sets for objects | +| SEWI_05 | Width properties verified | As per Properties table. See [Dataset specification](Dataset/README.md). | | Property sets for objects | +| SEWI_06 | Relative Positioning verified | As per Product Relative Positioning table. See [Dataset specification](Dataset/README.md). | | Product Relative Positioning | + +> **Acceptance criteria**: For the **Superelevation & Width** capability, the validation procedure must verify that **all** the above validation criteria are satisfied. + +
SEWI_02 details: Superelevation event linear placement verified verified + + + +> - Given an `IfcAnnotation/SUPERELEVATIONEVENT` +> - Then the `IfcAnnotation/SUPERELEVATIONEVENT` has a linear placement that complies with the criteria in the [Product placement](#Product-placement) section and the specification in [Product Placement Table](Dataset/README.md#Product-Placement-Table) + +
+ +
SEWI_03 details: Width event linear placement verified verified + + + +> - Given an `IfcAnnotation/WIDTHEVENT` +> - Then the `IfcAnnotation/WIDTHEVENT` has a linear placement that complies with the criteria in the [Product placement](#Product-placement) section and the specification in [Product Placement Table](Dataset/README.md#Product-Placement-Table) + +
+ +
SEWI_04 details: Superelevation properties verified + + + +> - Given an `IfcAnnotation/SUPERELEVATIONEVENT` +> - Then `IfcAnnotation/SUPERELEVATIONEVENT` has a property set named `Pset_Superelevation` +> - And the property assignment for `Pset_Superelevation` complies with the criteria specified in the [Properties](#Properties) section and the specification in the [Properties table](Dataset/README.md#Properties-table) + +
+ +
SEWI_05 details: Width properties verified + + + +> - Given an `IfcAnnotation/WIDTHEVENT` +> - Then `IfcAnnotation/WIDTHEVENT` has a property set named `Pset_Width` +> - And the property assignment complies with the criteria specified in the [Properties](#Properties) section and the specification in the [Properties table](Dataset/README.md#Properties-table) + +
+ +
SEWI_06 details: Relative positioning verified + + + +> - Given an `IfcAnnotation/SUPERELEVATIONEVENT` or an `IfcAnnotation/WIDTHEVENT` having a linear placement relative to an alignment curve +> - This instance shall be verified according to the criteria in the [Product Relative Positioning](#Product-relative-positioning) section and the specification in the [Product Relative Positioning table](Dataset/README.md#Product-Relative-Positioning-table) + +
+ +### Product relative positioning + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ---------------------------------------- | ------------------------------------------------------------ | -------------------------- | ------------------------------------------------------ | +| PPOS_01 | Product relative positioning is verified | As per Product Relative Positioning Table. See [Dataset specification](Dataset/README.md). | na | Product Relative Positioning, Product Span Positioning | + +> **Acceptance criteria**: For the **Spatial relative positioning** capability, the validation procedure must verify that a Product of the requested type is positioned (via `IfcRelPositions`) exactly a given number of Positioning Elements of the requested type, no more and no less. + +
PPOS_01 details: Product relative positioning is verified + + +> - Given a set of products taken from the [Product Relative Positioning Table](Dataset/README.md#Product-Relative-Positioning-Table) +> - Then the Product, and optionally the Product Type, exists +> - And the Product must be positioned on exactly [Size] of the requested Positioning Element + +
+ +### Properties + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ------------------------------------------------------------ | -------------------------- | --------------------------------------------------- | +| PSET_01 | The model does not contain unrequested property sets | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PNAM_01 | The property set does not contain unrequested properties | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PTEX_01 | Property values belong to a list of values | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PVAL_01 | Property values are not null and not empty | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PVAL_02 | Requested property value types are found | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | + +> **Acceptance criteria**: For the **Properties for objects and object types** capability, the validation procedure must verify that both standard and custom property sets requested by the test case (including relative properties and values) are present in the IFC file. +> See below for further specification of each rule. + +
PSET_01: The model does not contain unrequested property sets + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - Then the IfcEntity is associated at most to the property set with the PropertySet Name +>
+ +
PNAM_01: The property set does not contain unrequested properties + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - Then the property set has at most the properties with the Property Name +>
+ +
PTEX_01: Property values belong to a list of values + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - And the property set has a property with the Property Name +> - Then the property value is part of the List Of Values +>
+ +
PVAL_01: Property values are not null and not empty + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - And the property set has a property with the Property Name +> - Then the property value is not null +> - And the property value is not empty +>
+ +
PVAL_02: Requested property value types are found + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - And the property set has a property with the Property Name +> - And the property value is not null +> - Then the property type is equal to the Property Value Type +>
+ +### 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. See [Dataset specification](Dataset/README.md). | | 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](Dataset/README.md#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. + +
diff --git a/E1a-ARSE/ALSE02/Dataset/HorizontalAlignmentParameters.csv b/E1a-ARSE/ALSE02/Dataset/HorizontalAlignmentParameters.csv new file mode 100644 index 0000000..edcdc81 --- /dev/null +++ b/E1a-ARSE/ALSE02/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/ALSE02/Dataset/README.md b/E1a-ARSE/ALSE02/Dataset/README.md new file mode 100644 index 0000000..98224e8 --- /dev/null +++ b/E1a-ARSE/ALSE02/Dataset/README.md @@ -0,0 +1,178 @@ +## Variations +- + +## Model Dataset + +The Following occurrence variations need to be checked and certified in relation to the targeted entities and concept templates: + +- Pset_Superelevation.Side - *The test shall include all possible values (LEFT, RIGHT and BOTH)* +- Pset_Superelevation.Superelevation - *The test shall include both positive and negative values* +- Pset_Superelevation.TransitionSuperelevation - *The test shall include only LINEAR transitions* +- Pset_Width.Side - *The test shall include all possible values (LEFT, RIGHT and BOTH)* +- Pset_Superelevation.TransitionWidth - *The test shall include LINEAR and CONST transitions* + +| 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 + +The entities listed below are in addition to the entities listed for ALIN06. + +| **Element** | **Attribute** | **Value** | **Notes** | +| ------------- | -------------- | ------------------- | --------- | +| IfcAnnotation | Name | SE0 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE1 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE2 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE3 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE4 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE5 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE6 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE7 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE8 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE9 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE10 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | SE11 | | +| | PredefinedType | SUPERELEVATIONEVENT | | +| IfcAnnotation | Name | WE1 | | +| | PredefinedType | WIDTHEVENT | | +| IfcAnnotation | Name | WE2 | | +| | PredefinedType | WIDTHEVENT | | +| IfcAnnotation | Name | WE3 | | +| | PredefinedType | WIDTHEVENT | | +| IfcAnnotation | Name | WE4 | | +| | PredefinedType | WIDTHEVENT | | +| IfcAnnotation | Name | WE5 | | +| | PredefinedType | WIDTHEVENT | | +| IfcAnnotation | Name | WE6 | | +| | PredefinedType | WIDTHEVENT | | +| IfcAnnotation | Name | WE7 | | +| | PredefinedType | WIDTHEVENT | | +| IfcAnnotation | Name | WE8 | | +| | PredefinedType | WIDTHEVENT | | + +### Properties table + +| **Entity** | **Entity Type** | Entity Name | **PropertySet Name** | **Property Name** | **Property Value Type** | **Enumerated Values** | **Value type** | **Property Value** | +| ------------- | ------------------- | ----------- | -------------------- | ------------------------ | --------------------------- | --------------------- | -------------------------- | ------------------ | +| IfcAnnotation | SUPERELEVATIONEVENT | SE0 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,00 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| IfcAnnotation | SUPERELEVATIONEVENT | SE1 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,00 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| IfcAnnotation | SUPERELEVATIONEVENT | SE2 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE3 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE4 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE5 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE6 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE7 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | SUPERELEVATIONEVENT | SE8 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE9 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | 0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE10 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| IfcAnnotation | SUPERELEVATIONEVENT | SE11 | Pset_Superelevation | Superelevation | IfcRatioMeasure | | IfcPropertySingleValue | -0,03 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| | | | | TransitionSuperelevation | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | WIDTHEVENT | WE0 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 3,0 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| IfcAnnotation | WIDTHEVENT | WE1 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 3,4 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| | | | | TransitionWidth | IfcLabel | | IfcPropertyEnumeratedValue | CONST | +| IfcAnnotation | WIDTHEVENT | WE2 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 3,7 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| | | | | TransitionWidth | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | WIDTHEVENT | WE3 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 3,6 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| | | | | TransitionWidth | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | +| IfcAnnotation | WIDTHEVENT | WE4 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 3,7 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | LEFT | +| IfcAnnotation | WIDTHEVENT | WE5 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 3,6 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | RIGHT | +| IfcAnnotation | WIDTHEVENT | WE6 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 3,05 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| | | | | TransitionWidth | IfcLabel | | IfcPropertyEnumeratedValue | CONST | +| IfcAnnotation | WIDTHEVENT | WE7 | Pset_Width | NominalWidth | IfcNonNegativeLengthMeasure | | IfcPropertySingleValue | 2,75 | +| | | | | Side | IfcLabel | | IfcPropertyEnumeratedValue | BOTH | +| | | | | TransitionWidth | IfcLabel | | IfcPropertyEnumeratedValue | LINEAR | + +### Spatial Containment table + +| **Spatial Element** | **Spatial Element Type** | **MinSize** | **MaxSize** | **Element** | **Element Type** | +| ------------------- | ------------------------ | ----------- | ----------- | ------------- | ------------------- | +| IfcRoad | | 12 | 12 | IfcAnnotation | SUPERELEVATIONEVENT | +| IIfcRoad | | 8 | 8 | IfcAnnotation | WIDTHEVENT | + +### Product Relative Positioning table + +| **Product** | **Product Type** | **Size** | **Positioning Element** | **Positioning Element Type** | +| ------------- | ------------------- | -------- | ----------------------- | ---------------------------- | +| IfcAnnotation | SUPERELEVATIONEVENT | 12 | IfcAlignment | | +| IfcAnnotation | WIDTHEVENT | 8 | IfcAlignment | | + +### Product Placement table + +| **Product** | **Product Type** | **Product Name** | **Object Placement** | Relative Placement Product | Relative Placement Product Type | Relative Placement Product Name | +| ------------- | ------------------- | ---------------- | --------------------------------- | -------------------------- | ------------------------------- | ------------------------------- | +| IfcAnnotation | SUPERELEVATIONEVENT | SE0 | IfcLinearPlacement
at 298,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE1 | IfcLinearPlacement
at 301,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE2 | IfcLinearPlacement
at 331,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE3 | IfcLinearPlacement
at 331,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE4 | IfcLinearPlacement
at 443,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE5 | IfcLinearPlacement
at 443,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE6 | IfcLinearPlacement
at 503,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE7 | IfcLinearPlacement
at 503,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE8 | IfcLinearPlacement
at 513,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE9 | IfcLinearPlacement
at 513,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE10 | IfcLinearPlacement
at 573,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | SUPERELEVATIONEVENT | SE11 | IfcLinearPlacement
at 573,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE0 | IfcLinearPlacement
at 298,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE1 | IfcLinearPlacement
at 301,82 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE2 | IfcLinearPlacement
at 336,73 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE3 | IfcLinearPlacement
at 336,73 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE4 | IfcLinearPlacement
at 503,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE5 | IfcLinearPlacement
at 503,00 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE6 | IfcLinearPlacement
at 532,70 | IfcAlignment | na | A1 (from ALIN06) | +| IfcAnnotation | WIDTHEVENT | WE7 | IfcLinearPlacement
at 583,00 | IfcAlignment | na | A1 (from ALIN06) | + +## Drawings (Visualisations) + +The following Drawings and visualisations describe the test case dataset to be modelled and certified. + +| Filename | Description | +| ------------------------ | ---------------------------------------------------------- | +| Superelevation and Width | ![image-20220221114609144](./Superelevation and Width.png) | + + +## 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](./TOI-M14334-0000A.xml) | LandXML-file representing the alignment | \ No newline at end of file diff --git a/E1a-ARSE/ALSE02/Dataset/Superelevation and Width.png b/E1a-ARSE/ALSE02/Dataset/Superelevation and Width.png new file mode 100644 index 0000000..37b0919 Binary files /dev/null and b/E1a-ARSE/ALSE02/Dataset/Superelevation and Width.png differ diff --git a/E1a-ARSE/ALSE02/Dataset/TOI-M14334-0000A.XML b/E1a-ARSE/ALSE02/Dataset/TOI-M14334-0000A.XML new file mode 100644 index 0000000..f63a694 --- /dev/null +++ b/E1a-ARSE/ALSE02/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/ALSE02/Dataset/TOI-M14334-0000A.ifc b/E1a-ARSE/ALSE02/Dataset/TOI-M14334-0000A.ifc new file mode 100644 index 0000000..ce4b25c --- /dev/null +++ b/E1a-ARSE/ALSE02/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/ALSE02/Dataset/VerticalAlignmentParameters.csv b/E1a-ARSE/ALSE02/Dataset/VerticalAlignmentParameters.csv new file mode 100644 index 0000000..fc0b572 --- /dev/null +++ b/E1a-ARSE/ALSE02/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,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,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,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,00142311038270447;1300;CIRCULARARC +V11;IfcAlignmentVerticalSegment;602,635137922463;13,8073550775368;125,786350609637;0,00142311038228749;0,00142311038228749;0;CONSTANTGRADIENT diff --git a/E1a-ARSE/ALSE02/README.md b/E1a-ARSE/ALSE02/README.md new file mode 100644 index 0000000..9056ead --- /dev/null +++ b/E1a-ARSE/ALSE02/README.md @@ -0,0 +1,303 @@ +# Test Instruction + +| Documentation Code | Title | Exchange Code | Test Code | Author | Data Owner | Version | Date | +| --------------------- | -------------------------------- | --------------- | --------- | ------------- | ---------- | ------- | ---------- | +| IFC4.3AbRV_E1a_ALSE02 | Alignment Superelevation & Width | IFC4x3_AbRV-E1a | ALSE02 | Lars WIkström | FTIA | 1.0 | 07.01.2022 | + + +## Summary (Intent) + +With these instructions the infrastructure (e.g. Road) alignment exchange is established. This test instruction use the same alignment definition as [ALIN06](../ALIN06). + +The data comes from, and is a simplified version of, the IFC Infra Unit Test [MCON-2](https://github.com/bSI-InfraRoom/IFC-infra-unit-test/tree/main/MCON-2) which in turn is extracted from the IFC Rail [Level Crossing storyline](https://github.com/IFCRail/IFC-Rail-Unit-Test/tree/master/8_Storylines%20Test%20(SL)/SL08_Level%20Crossing). + +| 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 | +| Superelevation | 12 IfcAnnotation/SUPERELEVATIONEVENT | +| Width | 8 IfcAnnotation/WIDTHEVENT | +| IFC reference file available | Yes | + +- Refer to [Test Case Imports](#Test-Case-Imports) to know the prerequisites for the present test. + +- 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 +The Test instruction addresses the import and export of the following IFC Entities & Concept Templates: + +
IFC Entities + + +- Inherited from imported tests: + - Model setup + - IfcProject + - *IfcSite* + - *IfcRoad* + - *IfcRepresentationContext* + - *IfcMapConversion* + - *IfcProjectedCRS* + - *IfcUnitAssignment* + - Alignment + - *IfcAlignment* + - *IfcAlignmentHorizontal* + - *IfcAlignmentVertical* + - *IfcAlignmentSegment* + - *IfcAlignmentHorizontalSegment* + - *IfcAlignmentVerticalSegment* + - *IfcCompositeCurve* + - *IfcGradientCurve* + - *IfcCurveSegment* + - *IfcLine* + - *IfcCircle* +- For this test instruction: + - *IfcAnnotation* + - *IfcPropertySet* + - *IfcPropertySingleValue* + - *IfcPropertyEnumeratedValue* + - *IfcLinearPlacement* + +
+ +
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 Units* + - *Project Representation Context* + - *Project Global Positioning* + - *Spatial Decomposition* + - *Spatial Composition* + - *Spatial Container* + - *Alignment Decomposition* + - *Alignment Geometry Gradient* + - *Product Local Placement* + +- For this test instruction: + - *Product Linear Placement* + - *Property Sets for Objects* + - Product Relative Positioning + +
+ +## 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. + + +| TI Code | Test Instruction Title | Comments | +| ------------------------------------------------------------ | ------------------------------- | -------- | +| [**IFC4x3_AbRV-E1a-ALIN06**](https://github.com/bSI-InfraRoom/MVD-Infra-Test-Instructions/blob/develop/E1a-ARSE/ALIN06) | Alignment Infrastructure Curves | na | + + +## 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 a planar view and a "long section" showing the superelevation and width changes or a table showing the same information + +--- + +## Validation criteria + +:zap: For this test case to be considered passed **all capabilities** listed in this section shall be verified, with no exception. :zap: + +### 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 specification](Dataset/README.md). | na | na | + +### Superelevation & Width + +| **ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ------- | ---------------------------------------- | ------------------------------------------------------------ | --------------------------------- | ---------------------------- | +| SEWI_00 | Superelevation representation verified | | IfcAnnotation/SUPERELEVATIONEVENT | | +| SEWI_01 | Width representation verified | | IfcAnnotation/WIDTHEVENT | | +| SEWI_02 | Superelevation linear placement verified | As per Product placement table. See [Dataset specification](Dataset/README.md). | | Product Linear Placement | +| SEWI_03 | Width linear placement verified | As per Product placement table. See [Dataset specification](Dataset/README.md). | | | +| SEWI_04 | Superelevation properties verified | As per Properties table. See [Dataset specification](Dataset/README.md). | | Property sets for objects | +| SEWI_05 | Width properties verified | As per Properties table. See [Dataset specification](Dataset/README.md). | | Property sets for objects | +| SEWI_06 | Relative Positioning verified | As per Product Relative Positioning table. See [Dataset specification](Dataset/README.md). | | Product Relative Positioning | + +> **Acceptance criteria**: For the **Superelevation & Width** capability, the validation procedure must verify that **all** the above validation criteria are satisfied. + +
SEWI_02 details: Superelevation event linear placement verified verified + + + + +> - Given an `IfcAnnotation/SUPERELEVATIONEVENT` +> - Then the `IfcAnnotation/SUPERELEVATIONEVENT` has a linear placement that complies with the criteria in the [Product placement](#Product-placement) section and the specification in [Product Placement Table](Dataset/README.md#Product-Placement-Table) + +
+ +
SEWI_03 details: Width event linear placement verified verified + + + + +> - Given an `IfcAnnotation/WIDTHEVENT` +> - Then the `IfcAnnotation/WIDTHEVENT` has a linear placement that complies with the criteria in the [Product placement](#Product-placement) section and the specification in [Product Placement Table](Dataset/README.md#Product-Placement-Table) + +
+ +
SEWI_04 details: Superelevation properties verified + + + + +> - Given an `IfcAnnotation/SUPERELEVATIONEVENT` +> - Then `IfcAnnotation/SUPERELEVATIONEVENT` has a property set named `Pset_Superelevation` +> - And the property assignment for `Pset_Superelevation` complies with the criteria specified in the [Properties](#Properties) section and the specification in the [Properties table](Dataset/README.md#Properties-table) + +
+ +
SEWI_05 details: Width properties verified + + + + +> - Given an `IfcAnnotation/WIDTHEVENT` +> - Then `IfcAnnotation/WIDTHEVENT` has a property set named `Pset_Width` +> - And the property assignment complies with the criteria specified in the [Properties](#Properties) section and the specification in the [Properties table](Dataset/README.md#Properties-table) + +
+ +
SEWI_06 details: Relative positioning verified + + + + +> - Given an `IfcAnnotation/SUPERELEVATIONEVENT` or an `IfcAnnotation/WIDTHEVENT` having a linear placement relative to an alignment curve +> - This instance shall be verified according to the criteria in the [Product Relative Positioning](#Product-relative-positioning) section and the specification in the [Product Relative Positioning table](Dataset/README.md#Product-Relative-Positioning-table) + +
+ +### Product relative positioning + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | ---------------------------------------- | ------------------------------------------------------------ | -------------------------- | ------------------------------------------------------ | +| PPOS_01 | Product relative positioning is verified | As per Product Relative Positioning Table. See [Dataset specification](Dataset/README.md). | na | Product Relative Positioning, Product Span Positioning | + +> **Acceptance criteria**: For the **Spatial relative positioning** capability, the validation procedure must verify that a Product of the requested type is positioned (via `IfcRelPositions`) exactly a given number of Positioning Elements of the requested type, no more and no less. + +
PPOS_01 details: Product relative positioning is verified + + + +> - Given a set of products taken from the [Product Relative Positioning Table](Dataset/README.md#Product-Relative-Positioning-Table) +> - Then the Product, and optionally the Product Type, exists +> - And the Product must be positioned on exactly [Size] of the requested Positioning Element + +
+ +### Properties + +| **RULE ID** | **CRITERIA** | **VALUE [examples]** | **ENTITY (if applicable)** | **CT (if applicable)** | +| ----------- | -------------------------------------------------------- | ------------------------------------------------------------ | -------------------------- | --------------------------------------------------- | +| PSET_01 | The model does not contain unrequested property sets | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PNAM_01 | The property set does not contain unrequested properties | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PTEX_01 | Property values belong to a list of values | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PVAL_01 | Property values are not null and not empty | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | +| PVAL_02 | Requested property value types are found | As per Properties Table. See [Dataset specification](Dataset/README.md). | na | Property Sets for Objects & Property Sets for Types | + +> **Acceptance criteria**: For the **Properties for objects and object types** capability, the validation procedure must verify that both standard and custom property sets requested by the test case (including relative properties and values) are present in the IFC file. +> See below for further specification of each rule. + +
PSET_01: The model does not contain unrequested property sets + + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - Then the IfcEntity is associated at most to the property set with the PropertySet Name +>
+ +
PNAM_01: The property set does not contain unrequested properties + + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - Then the property set has at most the properties with the Property Name +>
+ +
PTEX_01: Property values belong to a list of values + + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - And the property set has a property with the Property Name +> - Then the property value is part of the List Of Values +>
+ +
PVAL_01: Property values are not null and not empty + + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - And the property set has a property with the Property Name +> - Then the property value is not null +> - And the property value is not empty +>
+ +
PVAL_02: Requested property value types are found + + + +> - Given a set of properties taken from the [Properties Table](Dataset/README.md#Properties-Table) +> - When the IfcEntity, and optionally the Type, exists +> - And the IfcEntity is associated to a property set with the PropertySet Name +> - And the property set has a property with the Property Name +> - And the property value is not null +> - Then the property type is equal to the Property Value Type +>
+ +### 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. See [Dataset specification](Dataset/README.md). | | 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](Dataset/README.md#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. + +