Annex E Examples - UT_SpatialStructure_4
Example overview
UT_SpatialStructure_4
Intent
This UT establishes a spatial structure for the level crossing storyline. The intention is to serve as a skeleton for upcoming unit tests for this storyline.
It is based on the storylines SLLC-DD (IFC Rail phase 2) and bSFi_IR_SLRD_DD (IFC Infra Deployment)
Prerequisites
None
Content
This scenario covers the following concepts and/or IFC entities:
- Georeferencing
- IfcProjectedCRS
- IfcMapConversion
- Spatial structure
- IfcSite
- IfcRailway
- IfcRoad
- IfcFacilityPart
with correct PredefinedType
- IfcRelInterferesElements
- Geometry
- IfcExtrudedAreaSolid
- IfcBoundingBox
Situation
The figure below shows the extent of the IfcSite and its georeferenced location.
The figures below shows the spatial breakdown of the project into IfcFacility (blue) and IfcFacilityPart (turkoise).
Project Breakdown
To represent the project breakdown for this unit test, we envision the following project structure:
- A. IfcProject
- A.a IfcSite
- Representation=IfcBoundingBox
- A.a.1 IfcRoad (Sammalammintie)
- Representation=IfcExtrudedAreaSolid
- A.a.1.1 IfcFacilityPart (Sammalammintie segment 150 - 230)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.ROADSEGMENT
- UsageType=LONGITUDINAL
- A.a.1.2 IfcFacilityPart (Sammalammintie P盲ij盲nteentie intersection)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcFacilityPartCommonTypeEnum.INTERSECTION
- UsageType=LONGITUDINAL
- A.a.1.3 IfcFacilityPart (Sammalammintie segment 247 - 270)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.ROADSEGMENT
- UsageType=LONGITUDINAL
- A.a.1.4 IfcFacilityPart (Sammalammintie safety equipment road intersection)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.INTERSECTION
- UsageType=LONGITUDINAL
- A.a.1.5 IfcFacilityPart (Sammalamminitie level crossing)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.RAILWAYCROSSING
- UsageType=LONGITUDINAL
- A.a.1.6 IfcFacilityPart (Sammalammimtie segment 315 - 358)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.ROADSEGMENT
- UsageType=LONGITUDINAL
- A.a.1.7 IfcFacilityPart (Sammalammintie Road2 intersection)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.INTERSECTION
- UsageType=LONGITUDINAL
- A.a.1.8 IfcFacilityPart (Sammalammintie segment 386 - 620)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.ROADSEGMENT
- UsageType=LONGITUDINAL
- A.a.2 IfcRoad (Safety equipment road)
- Representation=IfcExtrudedAreaSolid
- A.a.2.1 IfcFacilityPart (Safety equipment terminal)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcFacilityPartCommonTypeEnum.TERMINAL
- UsageType=LONGITUDINAL
- A.a.2.2 IfcFacilityPart (Sammalammintie safety equipment road intersection)
- Representation=IfcExtrudedAreaSolid - Shared with A.a.1.4
- PredefinedType*=IfcRoadPartTypeEnum.INTERSECTION
- UsageType=LONGITUDINAL
- IfcRelInterferesElements
- InterferenceType=Crosses
- RelatingElement=#A.a.1.4
- RelatedElement=#A.a.2.2
- A.a.3 IfcRoad (Road2)
- Representation=IfcExtrudedAreaSolid
- A.a.3.1 IfcFacilityPart (Road2 segment 18 - 36)
- Representation=IfcExtrudedAreaSolid
- PredefinedType*=IfcRoadPartTypeEnum.ROADSEGMENT
- UsageType=LONGITUDINAL
- A.a.3.2 IfcFacilityPart (Sammalammintie Road2 intersection)
- Representation=IfcExtrudedAreaSolid - Shared with A.a.1.7
- PredefinedType*=IfcRoadPartTypeEnum.INTERSECTION
- UsageType=LONGITUDINAL
- IfcRelInterferesElements
- InterferenceType=Crosses
- RelatingElement=#A.a.1.7
- RelatedElement=#A.a.3.2
- A.a.4 IfcRailway (Railway)
- IfcExtrudedAreaSolid
- A.a.4.1 IfcFacilityPart (Railway part 1)
- Representation=-
- PredefinedType*=IfcRailwayPartTypeEnum.TRACKSTUCTUREPART
- UsageType=LONGITUDINAL
- A.a.4.2 IfcFacilityPart (Sammalamminitie level crossing)
- Representation=IfcExtrudedAreaSolid - Shared with A.a.1.5
- PredefinedType*=IfcFacilityPartCommonTypeEnum.LEVELCROSSING
- UsageType=LONGITUDINAL
- IfcRelInterferesElements
- InterferenceType=Crosses
- RelatingElement=#A.a.1.5
- RelatedElement=#A.a.4.2
- A.a.4.3 IfcFacilityPart (Railway part 3)
- Representation=-
- PredefinedType*=IfcRailwayPartTypeEnum.TRACKSTUCTUREPART
- UsageType=LONGITUDINAL
- A.a.4.4 IfcFacilityPart (Turvalaite Terminal)
- Representation=IfcExtrudedAreaSolid - Shared with A.1.2.1
- PredefinedType*=IfcFacilityPartCommonTypeEnum.TERMINAL
- UsageType=LONGITUDINAL
- IfcRelInterferesElements
- InterferenceType=Crosses
- RelatingElement=#A.a.2.1
- RelatedElement=#A.a.4.4
Expected Results
The aim of this Unit Test, as explained above, is to test the implementation of the project breakdown through the spatial structure concepts of IFC 4.3.
As such, the expected results are:
- Screen-shot of the spatial structure breakdown as represented in the native application,
- The resulting IFC file containing the spatial structure requested.
For example, the application should be able to display something like what is shown in the picture below:
Supporting files
Following files correspond to this scenario:
Filename | Description |
---|---|
UT_SpatialStructure_4.ifc |
IFC file with the content |
Figure 1 - Situation.png |
picture showing a map view of the situation |
Figure 2 - Toivola_area_borders.JPG |
picture showing a map over different facilities and parts - part1 |
Figure 3 - Toivola_area_borders2.JPG |
picture showing a map over different facilities and parts - part 2 |
Figure 4 - result.png |
picture showing possible result |
Toivola_area_borders.dwg |
dwg file as basis for figures 2 and 3 |
IFCTreeView.png |
picture showing file structure in IFCTreeView |
Images
IFC-SPF source
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1');
FILE_NAME(
/* name */ 'UT_SpatialStructure_4.ifc',
/* time_stamp */ '2021-01-21T14:36:20',
/* author */ ('lars'),
/* organization */ ('Unknown'),
/* preprocessor_version */ 'GeometryGymIFC v0.1.4.0 by Geometry Gym Pty Ltd built 2020-11-12T09:32:58',
/* originating_system */ 'UT_RSS_4 v1.0.0.0',
/* authorization */ 'None');
FILE_SCHEMA (('IFC4X3_RC2'));
ENDSEC;
DATA;
#1= IFCCARTESIANPOINT((0.0,0.0,0.0));
#2= IFCAXIS2PLACEMENT3D(#1,$,$);
#3= IFCLOCALPLACEMENT($,#2);
#4= IFCSITE('2NjC27sCn3gwpGGryTu_CQ',#10,'Site',$,$,#3,#31,$,$,$,$,$,$,$);
#5= IFCPERSON('lars','lars',$,$,$,$,$,$);
#6= IFCORGANIZATION($,'Unknown',$,$,$);
#7= IFCPERSONANDORGANIZATION(#5,#6,$);
#8= IFCAPPLICATION(#9,'0.1.4.0','UT_RSS_2 v1.0.0.0','UT_RSS_2 v1.0.0.0');
#9= IFCORGANIZATION($,'Geometry Gym Pty Ltd',$,$,$);
#10= IFCOWNERHISTORY(#7,#8,$,.ADDED.,1611236179,$,$,1611236179);
#11= IFCPROJECT('3NPL0sHqL37h1Ybzl4hNSg',#10,'Spatial structure skeleton for Level crossing storyline',$,$,$,$,(#24),#12);
#12= IFCUNITASSIGNMENT((#13,#14,#15,#16,#17));
#13= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#14= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#15= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#16= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#17= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#18= IFCRELAGGREGATES('0cZel8fzP8kQOdCyKs2vlv',#10,$,$,#11,(#4));
#19= IFCCARTESIANPOINT((0.0,0.0,0.0));
#20= IFCDIRECTION((0.0,0.0,1.0));
#21= IFCDIRECTION((1.0,0.0,0.0));
#22= IFCAXIS2PLACEMENT3D(#19,#20,#21);
#23= IFCDIRECTION((1.0,0.0,0.0));
#24= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.00000001,#22,#25);
#25= IFCDIRECTION((0.0,1.0));
#26= IFCPROJECTEDCRS('EPSG:3878',$,'European Terrestrial Reference System 1989','N2000',$,$,$);
#27= IFCMAPCONVERSION(#24,#26,24525000.0,6876000.0,0.0,1.0,0.0,1.0);
#28= IFCCARTESIANPOINT((400.0,700.0,100.0));
#29= IFCBOUNDINGBOX(#28,415.0,337.0,40.0);
#30= IFCSHAPEREPRESENTATION(#24,'Box','BoundingBox',(#29));
#31= IFCPRODUCTDEFINITIONSHAPE($,$,(#30));
#32= IFCROAD('3ZHPGICrH2Fu60GMv0tD4H',#10,'Sammalammintie',$,$,#3,#55,$,$);
#33= IFCCARTESIANPOINT((425.883,926.168));
#34= IFCCARTESIANPOINT((425.849,945.975));
#35= IFCCARTESIANPOINT((495.835,954.723));
#36= IFCCARTESIANPOINT((594.173,939.512));
#37= IFCCARTESIANPOINT((623.792,932.47));
#38= IFCCARTESIANPOINT((653.055,922.201));
#39= IFCCARTESIANPOINT((693.281,894.012));
#40= IFCCARTESIANPOINT((749.574,786.526));
#41= IFCCARTESIANPOINT((802.3,729.938));
#42= IFCCARTESIANPOINT((786.196,713.887));
#43= IFCCARTESIANPOINT((710.153,794.224));
#44= IFCCARTESIANPOINT((648.204,891.377));
#45= IFCCARTESIANPOINT((630.467,899.733));
#46= IFCCARTESIANPOINT((522.074,916.146));
#47= IFCCARTESIANPOINT((425.833,926.168));
#48= IFCPOLYLINE((#33,#34,#35,#36,#37,#38,#39,#40,#41,#42,#43,#44,#45,#46,#47));
#49= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammintie area',#48);
#50= IFCCARTESIANPOINT((0.0,0.0,100.0));
#51= IFCAXIS2PLACEMENT3D(#50,$,$);
#52= IFCDIRECTION((0.0,0.0,1.0));
#53= IFCEXTRUDEDAREASOLID(#49,#51,#52,40.0);
#54= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#53));
#55= IFCPRODUCTDEFINITIONSHAPE($,$,(#54));
#56= IFCRELAGGREGATES('3nLbaREiP08x82o5a7A6Z0',#10,$,$,#4,(#32,#217,#258,#300));
#57= IFCCARTESIANPOINT((0.0,0.0,0.0));
#58= IFCAXIS2PLACEMENT3D(#57,$,$);
#59= IFCLOCALPLACEMENT(#3,#58);
#60= IFCFACILITYPART('0BjWByapHE6gMux88pT_gs',#10,'Sammalammintie segment 150 - 230',$,$,#59,#74,$,$,IFCROADPARTTYPEENUM(.ROADSEGMENT.),.LONGITUDINAL.);
#61= IFCRELAGGREGATES('22pDz_ExT1pRk2eDPQPTNa',#10,$,$,#32,(#60,#78,#95,#112,#129,#146,#165,#187));
#62= IFCCARTESIANPOINT((426.881,927.17));
#63= IFCCARTESIANPOINT((426.85,944.977));
#64= IFCCARTESIANPOINT((496.852,945.098));
#65= IFCCARTESIANPOINT((496.882,927.291));
#66= IFCCARTESIANPOINT((426.881,927.17));
#67= IFCPOLYLINE((#62,#63,#64,#65,#66));
#68= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammintie segment 150 - 230 area',#67);
#69= IFCCARTESIANPOINT((0.0,0.0,100.0));
#70= IFCAXIS2PLACEMENT3D(#69,$,$);
#71= IFCDIRECTION((0.0,0.0,1.0));
#72= IFCEXTRUDEDAREASOLID(#68,#70,#71,40.0);
#73= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#72));
#74= IFCPRODUCTDEFINITIONSHAPE($,$,(#73));
#75= IFCCARTESIANPOINT((0.0,0.0,0.0));
#76= IFCAXIS2PLACEMENT3D(#75,$,$);
#77= IFCLOCALPLACEMENT(#3,#76);
#78= IFCFACILITYPART('28dpdn0vn3ce8IlyaoznfL',#10,'Sammalammintie P\X2\00E4\X0\ij\X2\00E4\X0\nteentie intersection',$,$,#77,#91,$,$,IFCROADPARTTYPEENUM(.INTERSECTION.),.LONGITUDINAL.);
#79= IFCCARTESIANPOINT((496.889,927.291));
#80= IFCCARTESIANPOINT((496.837,953.497));
#81= IFCCARTESIANPOINT((525.502,946.633));
#82= IFCCARTESIANPOINT((521.238,917.378));
#83= IFCCARTESIANPOINT((496.889,927.291));
#84= IFCPOLYLINE((#79,#80,#81,#82,#83));
#85= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammintie P\X2\00E4\X0\ij\X2\00E4\X0\nteentie intersection area',#84);
#86= IFCCARTESIANPOINT((0.0,0.0,100.0));
#87= IFCAXIS2PLACEMENT3D(#86,$,$);
#88= IFCDIRECTION((0.0,0.0,1.0));
#89= IFCEXTRUDEDAREASOLID(#85,#87,#88,40.0);
#90= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#89));
#91= IFCPRODUCTDEFINITIONSHAPE($,$,(#90));
#92= IFCCARTESIANPOINT((0.0,0.0,0.0));
#93= IFCAXIS2PLACEMENT3D(#92,$,$);
#94= IFCLOCALPLACEMENT(#3,#93);
#95= IFCFACILITYPART('2B5vbxWpv7KOcdJoB2Pp_7',#10,'Sammalammintie segment 247 - 270',$,$,#94,#108,$,$,IFCROADPARTTYPEENUM(.ROADSEGMENT.),.LONGITUDINAL.);
#96= IFCCARTESIANPOINT((521.907,922.13));
#97= IFCCARTESIANPOINT((524.835,942.895));
#98= IFCCARTESIANPOINT((547.74,939.666));
#99= IFCCARTESIANPOINT((544.813,918.901));
#100= IFCCARTESIANPOINT((521.907,922.13));
#101= IFCPOLYLINE((#96,#97,#98,#99,#100));
#102= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammintie segment 247 - 270 area',#101);
#103= IFCCARTESIANPOINT((0.0,0.0,100.0));
#104= IFCAXIS2PLACEMENT3D(#103,$,$);
#105= IFCDIRECTION((0.0,0.0,1.0));
#106= IFCEXTRUDEDAREASOLID(#102,#104,#105,40.0);
#107= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#106));
#108= IFCPRODUCTDEFINITIONSHAPE($,$,(#107));
#109= IFCCARTESIANPOINT((0.0,0.0,0.0));
#110= IFCAXIS2PLACEMENT3D(#109,$,$);
#111= IFCLOCALPLACEMENT(#3,#110);
#112= IFCFACILITYPART('235tSjkXT6bxgGk4RyA_dk',#10,'Sammalammintie safety equipment road intersection',$,$,#111,#125,$,$,IFCROADPARTTYPEENUM(.INTERSECTION.),.LONGITUDINAL.);
#113= IFCCARTESIANPOINT((544.68,917.959));
#114= IFCCARTESIANPOINT((547.95,941.155));
#115= IFCCARTESIANPOINT((570.844,937.928));
#116= IFCCARTESIANPOINT((567.575,914.732));
#117= IFCCARTESIANPOINT((544.68,917.959));
#118= IFCPOLYLINE((#113,#114,#115,#116,#117));
#119= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammintie safety equipment road intersection area',#118);
#120= IFCCARTESIANPOINT((0.0,0.0,100.0));
#121= IFCAXIS2PLACEMENT3D(#120,$,$);
#122= IFCDIRECTION((0.0,0.0,1.0));
#123= IFCEXTRUDEDAREASOLID(#119,#121,#122,40.0);
#124= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#123));
#125= IFCPRODUCTDEFINITIONSHAPE($,$,(#124));
#126= IFCCARTESIANPOINT((0.0,0.0,0.0));
#127= IFCAXIS2PLACEMENT3D(#126,$,$);
#128= IFCLOCALPLACEMENT(#3,#127);
#129= IFCFACILITYPART('0y4DVUY9n2rx2gP$zcuP6l',#10,'Sammalamminitie level crossing',$,$,#128,#142,$,$,IFCROADPARTTYPEENUM(.RAILWAYCROSSING.),.LONGITUDINAL.);
#130= IFCCARTESIANPOINT((567.67,915.406));
#131= IFCCARTESIANPOINT((571.39,941.709));
#132= IFCCARTESIANPOINT((593.043,938.661));
#133= IFCCARTESIANPOINT((589.335,912.352));
#134= IFCCARTESIANPOINT((567.67,915.406));
#135= IFCPOLYLINE((#130,#131,#132,#133,#134));
#136= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalamminitie level crossing area',#135);
#137= IFCCARTESIANPOINT((0.0,0.0,100.0));
#138= IFCAXIS2PLACEMENT3D(#137,$,$);
#139= IFCDIRECTION((0.0,0.0,1.0));
#140= IFCEXTRUDEDAREASOLID(#136,#138,#139,40.0);
#141= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#140));
#142= IFCPRODUCTDEFINITIONSHAPE($,$,(#141));
#143= IFCCARTESIANPOINT((0.0,0.0,0.0));
#144= IFCAXIS2PLACEMENT3D(#143,$,$);
#145= IFCLOCALPLACEMENT(#3,#144);
#146= IFCFACILITYPART('28J3XJCgj2Vg8u5oyIfIxn',#10,'Sammalammimtie segment 315 - 358',$,$,#145,#161,$,$,IFCROADPARTTYPEENUM(.ROADSEGMENT.),.LONGITUDINAL.);
#147= IFCCARTESIANPOINT((589.489,913.442));
#148= IFCCARTESIANPOINT((592.647,935.851));
#149= IFCCARTESIANPOINT((623.554,931.491));
#150= IFCCARTESIANPOINT((637.194,926.708));
#151= IFCCARTESIANPOINT((630.002,906.214));
#152= IFCCARTESIANPOINT((622.793,908.747));
#153= IFCCARTESIANPOINT((589.489,913.442));
#154= IFCPOLYLINE((#147,#148,#149,#150,#151,#152,#153));
#155= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammimtie segment 315 - 358 area',#154);
#156= IFCCARTESIANPOINT((0.0,0.0,100.0));
#157= IFCAXIS2PLACEMENT3D(#156,$,$);
#158= IFCDIRECTION((0.0,0.0,1.0));
#159= IFCEXTRUDEDAREASOLID(#155,#157,#158,40.0);
#160= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#159));
#161= IFCPRODUCTDEFINITIONSHAPE($,$,(#160));
#162= IFCCARTESIANPOINT((0.0,0.0,0.0));
#163= IFCAXIS2PLACEMENT3D(#162,$,$);
#164= IFCLOCALPLACEMENT(#3,#163);
#165= IFCFACILITYPART('28OcnhqhjAwQb_r7iirS2V',#10,'Sammalammintie Road2 intersection',$,$,#164,#183,$,$,IFCROADPARTTYPEENUM(.INTERSECTION.),.LONGITUDINAL.);
#166= IFCCARTESIANPOINT((630.002,906.214));
#167= IFCCARTESIANPOINT((637.194,926.708));
#168= IFCCARTESIANPOINT((652.593,921.304));
#169= IFCCARTESIANPOINT((663.834,913.389));
#170= IFCCARTESIANPOINT((651.804,895.266));
#171= IFCCARTESIANPOINT((650.426,896.181));
#172= IFCCARTESIANPOINT((647.878,892.636));
#173= IFCCARTESIANPOINT((631.677,900.268));
#174= IFCCARTESIANPOINT((633.164,905.102));
#175= IFCCARTESIANPOINT((630.002,906.214));
#176= IFCPOLYLINE((#166,#167,#168,#169,#170,#171,#172,#173,#174,#175));
#177= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammintie Road2 intersection area',#176);
#178= IFCCARTESIANPOINT((0.0,0.0,100.0));
#179= IFCAXIS2PLACEMENT3D(#178,$,$);
#180= IFCDIRECTION((0.0,0.0,1.0));
#181= IFCEXTRUDEDAREASOLID(#177,#179,#180,40.0);
#182= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#181));
#183= IFCPRODUCTDEFINITIONSHAPE($,$,(#182));
#184= IFCCARTESIANPOINT((0.0,0.0,0.0));
#185= IFCAXIS2PLACEMENT3D(#184,$,$);
#186= IFCLOCALPLACEMENT(#3,#185);
#187= IFCFACILITYPART('1_wCCpOyP73xUqV9rwGlcy',#10,'Sammalammintie segment 386 - 620',$,$,#186,#216,$,$,IFCROADPARTTYPEENUM(.ROADSEGMENT.),.LONGITUDINAL.);
#188= IFCCARTESIANPOINT((651.804,895.266));
#189= IFCCARTESIANPOINT((663.834,913.389));
#190= IFCCARTESIANPOINT((676.669,904.432));
#191= IFCCARTESIANPOINT((691.413,889.716));
#192= IFCCARTESIANPOINT((704.997,869.481));
#193= IFCCARTESIANPOINT((713.554,850.839));
#194= IFCCARTESIANPOINT((720.745,831.983));
#195= IFCCARTESIANPOINT((727.675,814.228));
#196= IFCCARTESIANPOINT((735.77,799.321));
#197= IFCCARTESIANPOINT((748.84,785.846));
#198= IFCCARTESIANPOINT((800.991,729.938));
#199= IFCCARTESIANPOINT((786.28,715.383));
#200= IFCCARTESIANPOINT((733.381,770.639));
#201= IFCCARTESIANPOINT((718.609,786.744));
#202= IFCCARTESIANPOINT((705.403,804.231));
#203= IFCCARTESIANPOINT((696.083,823.575));
#204= IFCCARTESIANPOINT((689.918,842.55));
#205= IFCCARTESIANPOINT((683.327,859.279));
#206= IFCCARTESIANPOINT((673.793,874.277));
#207= IFCCARTESIANPOINT((661.709,887.379));
#208= IFCCARTESIANPOINT((651.804,895.266));
#209= IFCPOLYLINE((#188,#189,#190,#191,#192,#193,#194,#195,#196,#197,#198,#199,#200,#201,#202,#203,#204,#205,#206,#207,#208));
#210= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Sammalammintie segment 386 - 620 area',#209);
#211= IFCCARTESIANPOINT((0.0,0.0,100.0));
#212= IFCAXIS2PLACEMENT3D(#211,$,$);
#213= IFCDIRECTION((0.0,0.0,1.0));
#214= IFCEXTRUDEDAREASOLID(#210,#212,#213,40.0);
#215= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#214));
#216= IFCPRODUCTDEFINITIONSHAPE($,$,(#215));
#217= IFCROAD('1o8KjZ6v9CNAPrdumHWA_F',#10,'Safety equipment road',$,$,#3,#232,$,$);
#218= IFCCARTESIANPOINT((543.551,917.108));
#219= IFCCARTESIANPOINT((547.1,942.285));
#220= IFCCARTESIANPOINT((556.134,941.011));
#221= IFCCARTESIANPOINT((557.797,952.54));
#222= IFCCARTESIANPOINT((573.633,950.255));
#223= IFCCARTESIANPOINT((568.423,913.581));
#224= IFCCARTESIANPOINT((543.551,917.108));
#225= IFCPOLYLINE((#218,#219,#220,#221,#222,#223,#224));
#226= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Safety equipment road area',#225);
#227= IFCCARTESIANPOINT((0.0,0.0,100.0));
#228= IFCAXIS2PLACEMENT3D(#227,$,$);
#229= IFCDIRECTION((0.0,0.0,1.0));
#230= IFCEXTRUDEDAREASOLID(#226,#228,#229,40.0);
#231= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#230));
#232= IFCPRODUCTDEFINITIONSHAPE($,$,(#231));
#233= IFCCARTESIANPOINT((0.0,0.0,0.0));
#234= IFCAXIS2PLACEMENT3D(#233,$,$);
#235= IFCLOCALPLACEMENT(#3,#234);
#236= IFCFACILITYPART('3RG7s1uWfBcBvmbxRdE$7l',#10,'Safety equipment terminal',$,$,#235,#250,$,$,IFCFACILITYPARTCOMMONTYPEENUM(.TERMINAL.),.LONGITUDINAL.);
#237= IFCRELAGGREGATES('1lEnire$DFVfnakY0Mxm_g',#10,$,$,#217,(#236,#254));
#238= IFCCARTESIANPOINT((556.981,939.882));
#239= IFCCARTESIANPOINT((558.644,951.408));
#240= IFCCARTESIANPOINT((572.501,949.408));
#241= IFCCARTESIANPOINT((570.844,937.928));
#242= IFCCARTESIANPOINT((556.981,939.882));
#243= IFCPOLYLINE((#238,#239,#240,#241,#242));
#244= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Safety equipment terminal area',#243);
#245= IFCCARTESIANPOINT((0.0,0.0,100.0));
#246= IFCAXIS2PLACEMENT3D(#245,$,$);
#247= IFCDIRECTION((0.0,0.0,1.0));
#248= IFCEXTRUDEDAREASOLID(#244,#246,#247,40.0);
#249= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#248));
#250= IFCPRODUCTDEFINITIONSHAPE($,$,(#249));
#251= IFCCARTESIANPOINT((0.0,0.0,0.0));
#252= IFCAXIS2PLACEMENT3D(#251,$,$);
#253= IFCLOCALPLACEMENT(#3,#252);
#254= IFCFACILITYPART('0m2ccjR$r5leaAaTc93cz4',#10,'Sammalammintie safety equipment road intersection',$,$,#253,#256,$,$,IFCROADPARTTYPEENUM(.INTERSECTION.),.LONGITUDINAL.);
#255= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#123));
#256= IFCPRODUCTDEFINITIONSHAPE($,$,(#255));
#257= IFCRELINTERFERESELEMENTS('19zglBh$b12ecc0p1bgaKn',#10,$,$,#112,#254,$,'Crosses',.U.);
#258= IFCROAD('22WEdPeHj1QhDP4vm5srTv',#10,'Road2',$,$,#3,#274,$,$);
#259= IFCCARTESIANPOINT((624.813,881.346));
#260= IFCCARTESIANPOINT((628.727,905.602));
#261= IFCCARTESIANPOINT((636.581,927.982));
#262= IFCCARTESIANPOINT((653.055,922.201));
#263= IFCCARTESIANPOINT((665.205,913.646));
#264= IFCCARTESIANPOINT((652.084,893.88));
#265= IFCCARTESIANPOINT((636.899,875.651));
#266= IFCCARTESIANPOINT((624.813,881.346));
#267= IFCPOLYLINE((#259,#260,#261,#262,#263,#264,#265,#266));
#268= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Road2 area',#267);
#269= IFCCARTESIANPOINT((0.0,0.0,100.0));
#270= IFCAXIS2PLACEMENT3D(#269,$,$);
#271= IFCDIRECTION((0.0,0.0,1.0));
#272= IFCEXTRUDEDAREASOLID(#268,#270,#271,40.0);
#273= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#272));
#274= IFCPRODUCTDEFINITIONSHAPE($,$,(#273));
#275= IFCCARTESIANPOINT((0.0,0.0,0.0));
#276= IFCAXIS2PLACEMENT3D(#275,$,$);
#277= IFCLOCALPLACEMENT(#3,#276);
#278= IFCFACILITYPART('3$v5XmQF9CQ8BnRbaINbu8',#10,'Road2 segment 18 - 36',$,$,#277,#292,$,$,IFCROADPARTTYPEENUM(.ROADSEGMENT.),.LONGITUDINAL.);
#279= IFCRELAGGREGATES('1Jwt9sRwLEY9aOH9JXtCNX',#10,$,$,#258,(#278,#296));
#280= IFCCARTESIANPOINT((626.024,881.881));
#281= IFCCARTESIANPOINT((631.677,900.268));
#282= IFCCARTESIANPOINT((647.878,892.636));
#283= IFCCARTESIANPOINT((636.573,876.91));
#284= IFCCARTESIANPOINT((626.024,881.881));
#285= IFCPOLYLINE((#280,#281,#282,#283,#284));
#286= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Road2 segment 18 - 36 area',#285);
#287= IFCCARTESIANPOINT((0.0,0.0,100.0));
#288= IFCAXIS2PLACEMENT3D(#287,$,$);
#289= IFCDIRECTION((0.0,0.0,1.0));
#290= IFCEXTRUDEDAREASOLID(#286,#288,#289,40.0);
#291= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#290));
#292= IFCPRODUCTDEFINITIONSHAPE($,$,(#291));
#293= IFCCARTESIANPOINT((0.0,0.0,0.0));
#294= IFCAXIS2PLACEMENT3D(#293,$,$);
#295= IFCLOCALPLACEMENT(#3,#294);
#296= IFCFACILITYPART('0FnkJcf_jAaf2IwREplWr3',#10,'Sammalammintie Road2 intersection',$,$,#295,#298,$,$,IFCROADPARTTYPEENUM(.INTERSECTION.),.LONGITUDINAL.);
#297= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#181));
#298= IFCPRODUCTDEFINITIONSHAPE($,$,(#297));
#299= IFCRELINTERFERESELEMENTS('1kVMJXnhj5$QuvcpWbeJxM',#10,$,$,#165,#296,$,'Crosses',.U.);
#300= IFCRAILWAY('1CWLdx$bDBleY2a_KBTJBy',#10,'Railway',$,$,#3,#314,$,$);
#301= IFCCARTESIANPOINT((560.762,875.053));
#302= IFCCARTESIANPOINT((576.255,982.428));
#303= IFCCARTESIANPOINT((599.756,979.115));
#304= IFCCARTESIANPOINT((594.173,939.512));
#305= IFCCARTESIANPOINT((584.602,871.613));
#306= IFCCARTESIANPOINT((560.762,875.053));
#307= IFCPOLYLINE((#301,#302,#303,#304,#305,#306));
#308= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Railway area',#307);
#309= IFCCARTESIANPOINT((0.0,0.0,100.0));
#310= IFCAXIS2PLACEMENT3D(#309,$,$);
#311= IFCDIRECTION((0.0,0.0,1.0));
#312= IFCEXTRUDEDAREASOLID(#308,#310,#311,40.0);
#313= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#312));
#314= IFCPRODUCTDEFINITIONSHAPE($,$,(#313));
#315= IFCCARTESIANPOINT((0.0,0.0,0.0));
#316= IFCAXIS2PLACEMENT3D(#315,$,$);
#317= IFCLOCALPLACEMENT(#3,#316);
#318= IFCFACILITYPART('3fka4UEY94gPadfNSYUCtf',#10,'Railway part 1',$,$,#317,$,$,$,IFCRAILWAYPARTTYPEENUM(.TRACKSTRUCTUREPART.),.LONGITUDINAL.);
#319= IFCRELAGGREGATES('3qVDiRciXE6v9qvzat9TK_',#10,$,$,#300,(#318,#323,#329,#334));
#320= IFCCARTESIANPOINT((0.0,0.0,0.0));
#321= IFCAXIS2PLACEMENT3D(#320,$,$);
#322= IFCLOCALPLACEMENT(#3,#321);
#323= IFCFACILITYPART('1kP4loal5FfAVrs$7Up$sn',#10,'Sammalamminitie level crossing',$,$,#322,#325,$,$,IFCFACILITYPARTCOMMONTYPEENUM(.LEVELCROSSING.),.LONGITUDINAL.);
#324= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#140));
#325= IFCPRODUCTDEFINITIONSHAPE($,$,(#324));
#326= IFCCARTESIANPOINT((0.0,0.0,0.0));
#327= IFCAXIS2PLACEMENT3D(#326,$,$);
#328= IFCLOCALPLACEMENT(#3,#327);
#329= IFCFACILITYPART('2ZOqRSqLb0KxLgfklcZOIS',#10,'Railway part 3',$,$,#328,$,$,$,IFCRAILWAYPARTTYPEENUM(.TRACKSTRUCTUREPART.),.LONGITUDINAL.);
#330= IFCRELINTERFERESELEMENTS('20bWx6nEf42ACBHvWuy8$g',#10,$,$,#129,#323,$,'Crosses',.U.);
#331= IFCCARTESIANPOINT((0.0,0.0,0.0));
#332= IFCAXIS2PLACEMENT3D(#331,$,$);
#333= IFCLOCALPLACEMENT(#3,#332);
#334= IFCFACILITYPART('2edfO2yIDB8Rl_8nwsK0i_',#10,'Turvalaite Terminal',$,$,#333,#336,$,$,IFCFACILITYPARTCOMMONTYPEENUM(.TERMINAL.),.LONGITUDINAL.);
#335= IFCSHAPEREPRESENTATION(#24,'Body','SweptSolid',(#248));
#336= IFCPRODUCTDEFINITIONSHAPE($,$,(#335));
#337= IFCRELINTERFERESELEMENTS('2AooRPOALAABK$zyUgG1pd',#10,$,$,#236,#334,$,'Crosses',.U.);
ENDSEC;
END-ISO-10303-21;