From 88c504536893bc478374391f5c98b7d74d229742 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Sat, 11 Jan 2014 11:55:42 -0200 Subject: [PATCH] Arch:workaround for horizontal extrusions in IFC export --- src/Mod/Arch/importIFC.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Mod/Arch/importIFC.py b/src/Mod/Arch/importIFC.py index b3b88cde0..42685445c 100644 --- a/src/Mod/Arch/importIFC.py +++ b/src/Mod/Arch/importIFC.py @@ -963,7 +963,12 @@ def export(exportList,filename): elif obj.Role == "Foundation": role = "IfcFooting" if gdata: - ifc.addStructure( role, ifc.addExtrudedPolyline(gdata[0],gdata[1]), storey=parent, name=name ) + if FreeCAD.Vector(gdata[1]).getAngle(FreeCAD.Vector(0,0,1)) < .01: + # Workaround for non-Z extrusions, apparently not supported by ifc++ TODO: fix this + ifc.addStructure( role, ifc.addExtrudedPolyline(gdata[0],gdata[1]), storey=parent, name=name ) + else: + fdata = Arch.getBrepFacesData(obj,scaling) + ifc.addStructure( role, [ifc.addFacetedBrep(f) for f in fdata], storey=parent, name=name ) elif fdata: ifc.addStructure( role, [ifc.addFacetedBrep(f) for f in fdata], storey=parent, name=name )