#0001143: Boolean Cut Fails with Extruded Shapestring

This commit is contained in:
wmayer
2013-06-13 12:14:24 +02:00
parent b36ffe63fd
commit b97266a341
3 changed files with 77 additions and 3 deletions

View File

@@ -3782,12 +3782,23 @@ class _ShapeString(_DraftObject):
p = w.Vertexes[0].Point
u,v = face.Surface.parameter(p)
if face.isPartOfDomain(u,v):
if face.Orientation == w.Orientation:
w.reverse()
f = Part.Face(w)
if face.Orientation == f.Orientation:
if f.Surface.Axis * face.Surface.Axis < 0:
w.reverse()
else:
if f.Surface.Axis * face.Surface.Axis > 0:
w.reverse()
wire2Face.append(w)
else:
compFaces.append(Part.Face(w))
f = Part.Face(w)
if f.Surface.Axis.z < 0.0:
f.reverse()
compFaces.append(f)
face = Part.Face(wire2Face)
face.validate()
if face.Surface.Axis.z < 0.0:
face.reverse()
compFaces.append(face)
ret = Part.Compound(compFaces)
return ret