Autodesk / Autodesk/revit-ifc

IFCs with "sharp" triangulated faces cannot have spot elevations or spot coordinates

Open
#511 7 comments 0 reactions 0 assignees View on GitHub
geometry import problem Revit Triage
Dominant language
C#
Stars
637
Forks
225
PR merge metrics
No merged PRs in 30d

Description

We get IFCs from 12D of terrain and various civil things which naturally have TINs. Portions of the triangulated meshes which are fairly regular triangles work fine and we can use the Revit spot elevation / spot coordinate tool fine on them. However if even a portion of the TIN has very obtuse triangles (e.g. triangles where one of the three internal angles is < 0.3 degrees) then the entire mesh "breaks" in that although you can see the mesh, you cannot use the spot elevation / spot coordinate tool on it.

Right now to fix this consultants are running a custom script which detects all faces in the BReps (these are IFC2X3 files coming from 12D) and calculates the angles of each triangle, and if any angle is less than 0.3, the face gets deleted.

![image](https://user-images.githubusercontent.com/88302/189017093-99b96400-5905-42ca-a2a0-e2533213621f.png)

In the screenshot you can see a portion of a linked IFC selected in Revit. Portion circled in B is an IFC element which has fairly regular triangles. You can see the edges of the triangles very clearly in Revit and the spot annotation tools work. Portion cirlced in A is another IFC element which contains portions of highly squashed triangles. As a result you will notice instead of seeing triangle edges throughout, only portions of the triangles are displayed, and the rest of the triangle edges are invisible for some reason. The spot annotations won't work on portion A.

Contributor guide

Open the contributing guide

Research direction

No source file, test, or entry point is named. Start by reproducing the issue with an IFC2X3 terrain from 12D containing triangles below 0.3 degrees, then trace how the linked mesh is processed for Revit spot elevation and spot coordinate tools. Done means these tools work across the mesh without requiring consultants to delete sharp faces.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.