Fixed py3 change of return type of

This commit is contained in:
Markus Lampert
2019-02-03 11:55:31 -08:00
committed by Yorik van Havre
parent 3a93be7c44
commit 2d798883c7

View File

@@ -31,6 +31,7 @@ import PathScripts.PathUtil as PathUtil
import PathScripts.PathUtils as PathUtils
import copy
import math
import sys
import traceback
from PathScripts.PathDressupTagPreferences import HoldingTagPreferences
@@ -176,12 +177,12 @@ class Tag:
def filterIntersections(self, pts, face):
if type(face.Surface) == Part.Cone or type(face.Surface) == Part.Cylinder or type(face.Surface) == Part.Toroid:
PathLog.track("it's a cone/cylinder, checking z")
return filter(lambda pt: pt.z >= self.bottom() and pt.z <= self.top(), pts)
return list(filter(lambda pt: pt.z >= self.bottom() and pt.z <= self.top(), pts))
if type(face.Surface) == Part.Plane:
PathLog.track("it's a plane, checking R")
c = face.Edges[0].Curve
if (type(c) == Part.Circle):
return filter(lambda pt: (pt - c.Center).Length <= c.Radius or PathGeom.isRoughly((pt - c.Center).Length, c.Radius), pts)
return list(filter(lambda pt: (pt - c.Center).Length <= c.Radius or PathGeom.isRoughly((pt - c.Center).Length, c.Radius), pts))
print("==== we got a %s" % face.Surface)
def isPointOnEdge(self, pt, edge):
@@ -325,14 +326,14 @@ class MapWireToTag:
if not self.entryEdges:
print("fill entryEdges ...")
self.realEntry = sorted(self.edgePoints, key=lambda p: (p - self.entry).Length)[0]
self.entryEdges = filter(lambda e: PathGeom.edgeConnectsTo(e, self.realEntry), edges)
self.entryEdges = list(filter(lambda e: PathGeom.edgeConnectsTo(e, self.realEntry), edges))
edges.append(Part.Edge(Part.LineSegment(self.entry, self.realEntry)))
else:
self.realEntry = None
if not self.exitEdges:
print("fill exitEdges ...")
self.realExit = sorted(self.edgePoints, key=lambda p: (p - self.exit).Length)[0]
self.exitEdges = filter(lambda e: PathGeom.edgeConnectsTo(e, self.realExit), edges)
self.exitEdges = list(filter(lambda e: PathGeom.edgeConnectsTo(e, self.realExit), edges))
edges.append(Part.Edge(Part.LineSegment(self.realExit, self.exit)))
else:
self.realExit = None
@@ -448,7 +449,10 @@ class MapWireToTag:
wire.add(edge)
shell = wire.extrude(FreeCAD.Vector(0, 0, self.tag.height + 1))
return shell.removeShape(filter(lambda f: PathGeom.isRoughly(f.Area, 0), shell.Faces))
nullFaces = list(filter(lambda f: PathGeom.isRoughly(f.Area, 0), shell.Faces))
if nullFaces:
return shell.removeShape(nullFaces)
return shell
def commandsForEdges(self):
global failures
@@ -474,7 +478,10 @@ class MapWireToTag:
return commands
except Exception as e:
PathLog.error("Exception during processing tag @(%.2f, %.2f) (%s) - disabling the tag" % (self.tag.x, self.tag.y, e.args[0]))
#traceback.print_exc(e)
#if sys.version_info.major < 3:
# traceback.print_exc(e)
#else:
# traceback.print_exc()
self.tag.enabled = False
commands = []
for e in self.edges:
@@ -545,7 +552,11 @@ class PathData:
wire = Part.Wire(bottom)
if wire.isClosed():
return wire
except:
except Exception as e:
#if sys.version_info.major < 3:
# traceback.print_exc(e)
#else:
# traceback.print_exc()
return None
def supportsTagGeneration(self):
@@ -825,7 +836,7 @@ class ObjectTagDressup:
return Path.Path(commands)
def problems(self):
return filter(lambda m: m.haveProblem, self.mappers)
return list(filter(lambda m: m.haveProblem, self.mappers))
def createTagsPositionDisabled(self, obj, positionsIn, disabledIn):
rawTags = []
@@ -903,6 +914,10 @@ class ObjectTagDressup:
self.processTags(obj)
except Exception as e:
PathLog.error("processing tags failed clearing all tags ... '%s'" % (e.args[0]))
#if sys.version_info.major < 3:
# traceback.print_exc(e)
#else:
# traceback.print_exc()
obj.Path = obj.Base.Path
# update disabled in case there are some additional ones
@@ -941,6 +956,10 @@ class ObjectTagDressup:
pathData = PathData(obj)
except ValueError:
PathLog.error(translate("Path_DressupTag", "Cannot insert holding tags for this path - please select a Profile path")+"\n")
#if sys.version_info.major < 3:
# traceback.print_exc(e)
#else:
# traceback.print_exc()
return None
self.toolRadius = PathDressup.toolController(obj.Base).Tool.Diameter / 2