IFC 4.3.1.0 (IFC4X3_ADD1) development

Annex E Examples - SpatialStructure_3

Example overview

SpatialStructure_3

Intent

This UT establishes a simple spatial structure for a level crossing (road/railway).

It is based on the storyline SLLC-DD.

Prerequisites

This scenario builds upon following other scenarios: - ProjectSetup_1

Content

This scenario covers the following concepts and/or IFC entities: - spatial structure - IfcSite - IfcRailway - IfcRoad - IfcFacilityPart with correct PredefinedType - IfcRelInterferesElements

Situation

Figure 5f041bc7-4bce-42a3-8293-c067ec20a530

Project Breakdown

To represent the project breakdown for this unit test, we envision the following project structure:

* the PredefinedType enumeration is selected through "IfcFacilityPartTypeSelect".


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:

  1. Screen-shot of the spatial structure breakdown as represented in the native application,
  2. 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:

Figure d86a1d9e-5edf-42bb-9614-d2489e3e6489

Supporting files

Following files correspond to this scenario:

Filename Description
SpatialStructure_3.ifc IFC file with the content
Figure 1 - Situation.png picture showing a map view of the situation
Figure 2 - result.png picture showing possible result
IFCTreeView.png picture showing file structure in IFCTreeView
Table f8ee25f4-07ae-4955-bef5-428e61acb332

Images

  • Figure 7419f136-1536-447b-9a00-d0fead74499f
  • Figure c561e84d-db4b-4e41-a1a5-cb67995052b0
  • Figure 1483ce03-bfc5-4e1e-828e-8b9da46342e9
  • Figure 26e04847-3317-4547-9512-8eb5cb13f4e4

IFC-SPF source

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [Ifc4X3NotAssigned]'),'2;1');
FILE_NAME(
/* name */ 'UT_RSS_2_RD.ifc',
/* time_stamp */ '2020-11-24T08:45:25',
/* 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_2 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('3aT5HrPXr7ngZste8y1Cys',#10,'A.a Site',$,$,#3,$,$,$,$,$,$,$,$);
#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.,1606203924,$,$,1606203924);
#11= IFCPROJECT('2JbM09ptr5SRkGdojkjLdj',#10,'UT_RSS_2',$,$,$,$,(#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('22oqctZZ95DRRIKQ5FlGRP',#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= IFCROAD('2ThS5Zzgr6meykdTzXJWSw',#10,'A.a.1 Road',$,$,#3,$,$,$);
#27= IFCRELAGGREGATES('1hoOjrxzz0APVTkiZGpE3s',#10,$,$,#4,(#26,#41));
#28= IFCCARTESIANPOINT((0.0,0.0,0.0));
#29= IFCAXIS2PLACEMENT3D(#28,$,$);
#30= IFCLOCALPLACEMENT(#3,#29);
#31= IFCFACILITYPART('1HDSYpfy9ErgGeNoKHiIlP',#10,'A.a.1.1',$,$,#30,$,$,$,IFCROADPARTTYPEENUM(.ROADSEGMENT.),.LONGITUDINAL.);
#32= IFCRELAGGREGATES('3eu1iTqoH3RgpRX$osb8Sf',#10,$,$,#26,(#31,#36,#40));
#33= IFCCARTESIANPOINT((0.0,0.0,0.0));
#34= IFCAXIS2PLACEMENT3D(#33,$,$);
#35= IFCLOCALPLACEMENT(#3,#34);
#36= IFCFACILITYPART('3t6Tql5cT8oAB9Q3DyUyls',#10,'A.a.1.2',$,$,#35,$,$,$,IFCFACILITYPARTCOMMONTYPEENUM(.LEVELCROSSING.),.LONGITUDINAL.);
#37= IFCCARTESIANPOINT((0.0,0.0,0.0));
#38= IFCAXIS2PLACEMENT3D(#37,$,$);
#39= IFCLOCALPLACEMENT(#3,#38);
#40= IFCFACILITYPART('2nvZS4udzFE9Nw_J5VXqJ3',#10,'A.a.1.3',$,$,#39,$,$,$,IFCROADPARTTYPEENUM(.ROADSEGMENT.),.LONGITUDINAL.);
#41= IFCRAILWAY('3kjzYIOwPCTxLYbGVHb6tk',#10,'A.a.2 Railway',$,$,#3,$,$,$);
#42= IFCCARTESIANPOINT((0.0,0.0,0.0));
#43= IFCAXIS2PLACEMENT3D(#42,$,$);
#44= IFCLOCALPLACEMENT(#3,#43);
#45= IFCFACILITYPART('063C1pbAr4DPfZ0j_Nv0aS',#10,'A.a.2.1',$,$,#44,$,$,$,IFCRAILWAYPARTTYPEENUM(.TRACKSTRUCTUREPART.),.LONGITUDINAL.);
#46= IFCRELAGGREGATES('0Z0tiCSHj8z8mfjiCJk1M8',#10,$,$,#41,(#45,#50,#54));
#47= IFCCARTESIANPOINT((0.0,0.0,0.0));
#48= IFCAXIS2PLACEMENT3D(#47,$,$);
#49= IFCLOCALPLACEMENT(#3,#48);
#50= IFCFACILITYPART('3k4A9vX2r8Pwg2Qwwxsk23',#10,'A.a.2.2',$,$,#49,$,$,$,IFCFACILITYPARTCOMMONTYPEENUM(.LEVELCROSSING.),.LONGITUDINAL.);
#51= IFCCARTESIANPOINT((0.0,0.0,0.0));
#52= IFCAXIS2PLACEMENT3D(#51,$,$);
#53= IFCLOCALPLACEMENT(#3,#52);
#54= IFCFACILITYPART('1H0wLuVEf6BOm6m611WE4V',#10,'A.a.2.3',$,$,#53,$,$,$,IFCRAILWAYPARTTYPEENUM(.TRACKSTRUCTUREPART.),.LONGITUDINAL.);
#55= IFCRELINTERFERESELEMENTS('2ZxY1voD9ENfzHS6C$5ONf',#10,$,$,#36,#50,$,'Crosses',.U.);
ENDSEC;

END-ISO-10303-21;

Edit on Github


Is this page difficult to understand? Let us know!