diff --git a/src/Mod/Arch/ArchComponent.py b/src/Mod/Arch/ArchComponent.py index a8039d9851..5a9329fa2b 100644 --- a/src/Mod/Arch/ArchComponent.py +++ b/src/Mod/Arch/ArchComponent.py @@ -615,6 +615,8 @@ class Component(ArchIFC.IfcProduct): # Get the object's normal. n = DraftGeomUtils.getNormal(shape[0]) + if (not n) or (not n.Length): + n = FreeCAD.Vector(0, 0, 1) # Reverse the normal if the hint vector and the normal vector have more # than a 90 degree angle between them. diff --git a/src/Mod/Arch/ArchStructure.py b/src/Mod/Arch/ArchStructure.py index 96daa3851c..2166a235a8 100644 --- a/src/Mod/Arch/ArchStructure.py +++ b/src/Mod/Arch/ArchStructure.py @@ -739,7 +739,7 @@ class _Structure(ArchComponent.Component): if obj.Base.Shape.Solids: return None elif obj.Base.Shape.Faces: - if not DraftGeomUtils.isCoplanar(obj.Base.Shape.Faces,tolerance=0.01): + if not DraftGeomUtils.isCoplanar(obj.Base.Shape.Faces,tol=0.01): return None else: base,placement = self.rebase(obj.Base.Shape)