Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UT Cross Disciplinary 1 #65

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
28 changes: 28 additions & 0 deletions CrossDisciplinary-1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

### Intent

Test the interaction / interference with different domains spatial structures.

### Prerequisites

This scenario builds upon following other scenarios:

- Spatial Structure

### Content

This scenario covers the following concepts and/or IFC entities:

- IFCROAD
- IFCRAILWAY
- IFCBRIDGE
- IFCFACILITYPART
- IFCRELINTERFERESELEMENTS

### Supporting files

Following files correspond to this scenario:

| Filename | Description |
|-----------------------------------|-------------------------------------------|
| UT-CrossDisciplinary-1.ifc | IFC model with Bridge, Road and Railway facilities. |
47 changes: 47 additions & 0 deletions CrossDisciplinary-1/UT-CrossDisciplinary-1.ifc
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION (('ViewDefinition [Ifc4X3NotAssigned]'), '2;1');
FILE_NAME ('UT-CrossDisciplinary-1.ifc', '2021-05-26T11:45:42', (), (), 'ACCA_IFC.dll Version 500', 'ACCA IfcInfraGenerator', $);
FILE_SCHEMA (('IFC4X3_RC3'));
ENDSEC;
DATA;
#1 = IFCOWNERHISTORY(#2, #6, $, .NOCHANGE., $, $, $, 1612804549);
#2 = IFCPERSONANDORGANIZATION(#3, #4, $);
#3 = IFCPERSON($, 'Cianciulli', 'Michelangelo', $, $, $, $, $);
#4 = IFCORGANIZATION($, 'ACCA software', $, $, $);
#5 = IFCORGANIZATION($, 'ACCA software', $, $, $);
#6 = IFCAPPLICATION(#5, '100', 'ACCA IfcInfraGenerator', 'ACCA IfcInfraGenerator');
#7 = IFCPROJECT('3TkAlDBHHF$xq2dgZCH3rI', #1, 'Default Project', $, $, $, $, (#16), #8);
#8 = IFCUNITASSIGNMENT((#9, #10, #11, #12));
#9 = IFCSIUNIT(*, .LENGTHUNIT., $, .METRE.);
#10 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.);
#11 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.);
#12 = IFCCONVERSIONBASEDUNIT(#13, .PLANEANGLEUNIT., 'DEGREE', #14);
#13 = IFCDIMENSIONALEXPONENTS(0, 0, 0, 0, 0, 0, 0);
#14 = IFCMEASUREWITHUNIT(IFCRATIOMEASURE(1.74532925E-2), #15);
#15 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.);
#16 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.E-4, #17, #19);
#17 = IFCAXIS2PLACEMENT3D(#18, $, $);
#18 = IFCCARTESIANPOINT((0., 0., 0.));
#19 = IFCDIRECTION((0., 1.));
#20 = IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body', 'Model', *, *, *, *, #16, $, .MODEL_VIEW., $);
#21 = IFCSITE('3t2PewUcHA5fz9fmoiszqp', #1, 'Default Site', $, $, #22, $, $, .ELEMENT., (0, 0, 0), (0, 0, 0), 0., $, $);
#22 = IFCLOCALPLACEMENT($, #25);
#23 = IFCDIRECTION((0., 0., 1.));
#24 = IFCDIRECTION((1., 0., 0.));
#25 = IFCAXIS2PLACEMENT3D(#18, #23, #24);
#26 = IFCROAD('0DN9cEmCPFUgDDXQbLxZvD', #1, 'a road', $, $, $, $, $, .ELEMENT., $);
#27 = IFCFACILITYPART('0yFg1D40940PDUfPFz$nBF', #1, 'a road part', $, $, $, $, $, .ELEMENT., IFCROADPARTTYPEENUM(.ROADSEGMENT.), .LONGITUDINAL.);
#28 = IFCFACILITYPART('0$8P9TLaP4YBOMwGhnb2_4', #1, 'a road intersection part', $, $, $, $, $, .ELEMENT., IFCROADPARTTYPEENUM(.RAILWAYCROSSING.), .LATERAL.);
#29 = IFCRELAGGREGATES('2BaK0$xkP6bxJT_huGqpQE', #1, 'Facility Container', 'Facility to Facility Parts(s)', #26, (#27, #28));
#30 = IFCRAILWAY('1WV4LHx696d9NMU3EKsxnl', #1, 'a railway', $, $, $, $, $, .ELEMENT., $);
#31 = IFCFACILITYPART('1tBZz5I9X9xxVQUnDpblqx', #1, 'a railway part', $, $, $, $, $, .ELEMENT., IFCROADPARTTYPEENUM(.RAILWAYCROSSING.), .NOTDEFINED.);
#32 = IFCRELAGGREGATES('3eUeDpbR58FuV5O7uWofv5', #1, 'Facility Container', 'Facility to Facility Parts(s)', #30, (#31));
#33 = IFCBRIDGE('0lkLAjfTH4VvYnWYwPXxp7', #1, 'a bridge', $, $, $, $, $, .ELEMENT., .NOTDEFINED.);
#34 = IFCRELAGGREGATES('2ocfYp2vT1kfdwG_pOCGW8', #1, 'Site Container', 'Site to Facilities', #21, (#26, #30, #33));
#35 = IFCRELAGGREGATES('1$R2J$E6r598daBHeZ7A5a', #1, 'Project Container', 'Project to Spatial Element', #7, (#21));
#36 = IFCRELINTERFERESELEMENTS('1KGxl_MJzCugAzAbkkkI95', #1, $, $, #33, #26, $, 'PassesOver', .U.);
#37 = IFCRELINTERFERESELEMENTS('258z1l3OLB2AfN2jNMLr8D', #1, $, $, #33, #30, $, 'PassesUnder', .U.);
Copy link
Collaborator

@AlexBrad1eyCT AlexBrad1eyCT Jun 8, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per the developing Documentation around IfcRelInterferesElements PassesOver and PassesUnder is directional in nature so it should be as below.

  • PassesOver: the RelatingElement is passing over the RelatedElement (e.g a bridge passing over a water canal)
  • PassesUnder: the RelatingElement is passing under the RelatedElement (e.g a Pipe passing under a road)

therefore your relationships are currently backwards (e.g. Bridge passesOver Road... :P)

link to developing docs: IfcRelInterferesElements Documentation

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okkk! Let's see if I got this right!

#38 = IFCRELINTERFERESELEMENTS('0SvjQsc2TCzuPvCU3Or7Wi', #1, $, $, #31, #28, $, 'Crosses', .U.);
ENDSEC;
END-ISO-10303-21;