From 3569e77172b3ce8cfc98520615ff0e3547fd3ade Mon Sep 17 00:00:00 2001 From: Paul Lee Date: Fri, 19 Sep 2025 08:17:28 +0800 Subject: [PATCH] [ArchCurtainWall] Regression Curve Support Fix https://github.com/FreeCAD/FreeCAD/issues/23945 "Arch_CurtainWall results in an error when trying to create it based on a sketch consisting of spline or arc." This fixes the regression introduced in - https://github.com/FreeCAD/FreeCAD/commit/147e97d40740230e59f17397652cc8811ed98344#diff-b4849bbc0941a0f60f25d13c40d4bfeca94171f55bd78a6196362343c3fdcf6fR287 --- src/Mod/BIM/ArchCurtainWall.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Mod/BIM/ArchCurtainWall.py b/src/Mod/BIM/ArchCurtainWall.py index 3aeeb11ff7..90ad70fdb8 100644 --- a/src/Mod/BIM/ArchCurtainWall.py +++ b/src/Mod/BIM/ArchCurtainWall.py @@ -287,7 +287,8 @@ class CurtainWall(ArchComponent.Component): # Fix issue in 'Curtain wall vertical/horizontal mullion mix-up' # https://github.com/FreeCAD/FreeCAD/issues/21845 # - face_plane = face.findPlane() # Curve face (surface) seems return no Plane + face_plane = face.findPlane() + if face_plane: if -0.001 < face_plane.Axis[2] < 0.001: # i.e. face is vertical (normal pointing horizon) faceVert = True @@ -302,6 +303,9 @@ class CurtainWall(ArchComponent.Component): horizsec = obj.HorizontalSections else: faceVert = False + else: + # Curve extruded face (surface) seems return no Plane - need more robust algorithm + faceVert = False # Guess algorithm if face is not vertical if not faceVert: