From 6ec53ed397aaedd36f2bcb431dec0aab38a8525c Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Tue, 13 May 2014 18:17:09 -0300 Subject: [PATCH] Arch: fix in IFC export or circles --- src/Mod/Arch/ifcWriter.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Mod/Arch/ifcWriter.py b/src/Mod/Arch/ifcWriter.py index 9b348e590..6ed2d8461 100644 --- a/src/Mod/Arch/ifcWriter.py +++ b/src/Mod/Arch/ifcWriter.py @@ -123,7 +123,7 @@ def create(ifcdoc=None,ifcname=None,arguments=[]): for i in range(len(arguments)): arg = arguments[i] if isinstance(arg,tuple): - if len(arg) == 3: + if len(arg) in [2,3]: arg = IfcImport.Doubles(arg) entity.set_argument(i,arg) return entity @@ -401,12 +401,14 @@ class IfcDocument(object): """addPlacement([reference,origin,xaxis,zaxis,local]): adds a placement. origin, xaxis and zaxis can be either tuples or 3d vectors. If local is False, a global placement is returned, otherwise a local one.""" - xvc = create(self._fileobject,"IfcDirection",getTuple(xaxis)) - zvc = create(self._fileobject,"IfcDirection",getTuple(zaxis)) - ovc = create(self._fileobject,"IfcCartesianPoint",getTuple(origin)) if flat: + xvc = create(self._fileobject,"IfcDirection",getTuple(xaxis)[:2]) + ovc = create(self._fileobject,"IfcCartesianPoint",getTuple(origin)[:2]) gpl = create(self._fileobject,"IfcAxis2Placement2D",[ovc,xvc]) else: + xvc = create(self._fileobject,"IfcDirection",getTuple(xaxis)) + zvc = create(self._fileobject,"IfcDirection",getTuple(zaxis)) + ovc = create(self._fileobject,"IfcCartesianPoint",getTuple(origin)) gpl = create(self._fileobject,"IfcAxis2Placement3D",[ovc,zvc,xvc]) if local: lpl = create(self._fileobject,"IfcLocalPlacement",[reference,gpl])