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

Geometry of terrain #29

Closed
Olivier-Berrier opened this issue Apr 14, 2023 · 4 comments
Closed

Geometry of terrain #29

Olivier-Berrier opened this issue Apr 14, 2023 · 4 comments
Assignees

Comments

@Olivier-Berrier
Copy link
Contributor

What is the recommended geometry to export the triangles of a terrain ?

Over the years, I found many IFC with different ways to export terrain :

  1. IfcSite + IfcFaceBasedSurfaceModel
  2. IfcSite + IfcFacetedBRep
  3. IfcSite + IfcTriangulatedFaceSet
  4. IfcGeographicElement 'TERRAIN' + IfcTriangulatedFaceSet
  5. IfcGeographicElement 'TERRAIN' + IfcTriangulatedIrregularNetwork
  6. IfcGeotechnicalStratum + IfcTriangulatedIrregularNetwork
  7. and I may have missed other combinations.

For IFC 4x3, what recommend the MVD about that ?

@aothms
Copy link

aothms commented Apr 14, 2023

Direct representations assigned to IfcSite (1,2,3) are discouraged for quite some time already (but I don't think it actually made it into the spec.....).

For non-geotechnic purposes I would recommend 4 or 5, which are mostly equivalent, except that we maybe need to look into some of the usage constraints of TINs.

Copy link
Collaborator

I have not very strong opinions about, but this is how we do this in Quadri:
#23 = IFCGEOTECHNICALSTRATUM('0yKw1rX3D5KxeHaDKsXVQE', #6, 'Ground Surface 1', $, $, #22, #27, $, .SOLID.);
#24 = IFCTRIANGULATEDFACESET(#25, $, $, ((1, 2, 3), (4, 5, 6), (7, 6, 8), (6, 7, 9), (10, 11, 12), (13, 14, 15), (14, 13, 16), (17, 16,
#25 = IFCCARTESIANPOINTLIST3D(((9
#26 = IFCSHAPEREPRESENTATION(#15, 'Surface', 'SurfaceModel', (#24));
#27 = IFCPRODUCTDEFINITIONSHAPE($, $, (#26));
#28 = IFCPRESENTATIONLAYERASSIGNMENT('Ground Surface 1', $, (#26), $);
#29 = IFCSITE('13V$k3uofDF8dVyRCokGkn', #6, 'Default Site', 'Description of Site', $, $, $, $, .ELEMENT., (10, 28, 53), (59, 54, 35), 20.9999215895414, $, $);
#30 = IFCGEOMODEL('3Bld0VjuDEnA6RcrzdD3Z7', #6, 'Default Geomodel Name', 'Description of GeoModel', $, $, $, $);
#31 = IFCRELAGGREGATES('0ZFuUSBYbADg2aHkS9_0PN', #6, $, $, #30, (#23));
#32 = IFCRELAGGREGATES('2rygnXEObDoA70EBtjUozd', #6, $, $, #19, (#29));
#33 = IFCRELCONTAINEDINSPATIALSTRUCTURE('0rmOCinEr2AB$OAFCuLbEx', #6, $, $, (#30), #19);

And I would say that it would be smart to discuss this with the IFC4.4 schema development team, like Lars Wikstrøm or Sergej e.g., because the expansion of the schema to better defining terrain, geotechnics and geology are important aspects of IFC 4.4 work.

@Samanii2
Copy link
Contributor

I think it would be lovely if a terrainmodel is easily identifiable that it is some kind of terrain surface that you might want to use for volume calculations and such. It helps to know that so we can import it to the proper type of object straight away.

I think some of the examples for JanErikHoel are really good when you easily can read ground surface but some of the files we have seen this is not easy to know.

@evandroAlfieri
Copy link
Contributor

See valid examples of terrain models here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants