Open
Description
Revit version: 23.0.11.19
IFC version: 23.2.3.0
There is an issue with extrusions created from curtain wall panels. In attached rvt file, a number of curtain wall panels is "inverted" due to a hiatus in the extrusion logic. I debugged in the Revit IFC exporter code and found the cause, but I do not immediately see the best solution.
- Extrusion of curtain panels starts from a narrow side face. See picture below of red projected face on the extrusion base plane as constructed in ExtrusionExporter.CreateExtrusionWithClippingAndOpening. The extrusion direction is indicated with a red arrow.
- Due to the small protrusions on the left and the right of the panel (see zoomed in screen shots), none of the side faces of the actual panel coincides with the faces of the extruded solid. As a consequence, all the side faces of the panel are returned by GeometryUtil.GetCuttingElementFaces
- Even though all these faces are planar, planar clippings cannot be created by GeometryUtil.CreateClippingFromPlanarFaces (clipping of both extrusion start and end combined with opposite orientations of clippings)
- The logic falls back to using GeometryUtil.CreateOpeningFromFaces to create an opening based on the side faces of the original panel. This effectively cuts away the original panel from the extrusion and we end up with inverted curtain wall panels upon IFC import, see last picture.
Maybe the extrusion should be based on the main flat faces of the curtain panels instead of the small side faces? This would avoid the problem as none of the side faces would be classified as cutting element faces in that case.