From 9af4df3ce5f2c0840640c33a11bca3c7832dde78 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Wed, 10 Sep 2014 15:56:50 -0300 Subject: [PATCH] Draft: minor fix in Shapestring --- src/Mod/Draft/Draft.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 487aa9e62..3f676608b 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -4915,9 +4915,11 @@ class _ShapeString(_DraftObject): def makeFaces(self, wireChar): import Part compFaces=[] + allEdges = [] wirelist=sorted(wireChar,key=(lambda shape: shape.BoundBox.DiagonalLength),reverse=True) fixedwire = [] for w in wirelist: + allEdges.extend(w.Edges) compEdges = Part.Compound(w.Edges) compEdges = compEdges.connectEdgesToWires() fixedwire.append(compEdges.Wires[0]) @@ -4953,13 +4955,18 @@ class _ShapeString(_DraftObject): sep_wirelist.append(w) wirelist = sep_wirelist sep_wirelist = [] - face = Part.Face(wire2Face) - face.validate() - if face.Surface.Axis.z < 0.0: - face.reverse() - compFaces.append(face) + try: + face = Part.Face(wire2Face) + face.validate() + if face.Surface.Axis.z < 0.0: + face.reverse() + except: + stick = True + wirelist = [] + else: + compFaces.append(face) if stick: - ret = Part.Compound(fixedwire) + ret = Part.Compound(allEdges) elif compFaces: ret = Part.Compound(compFaces) return ret