try to use Execptions in Draft module

This commit is contained in:
Sebastian Hoogen 2014-08-20 19:12:23 +02:00
parent 333e6e3155
commit d537fc9b53
5 changed files with 52 additions and 53 deletions

View File

@ -996,10 +996,10 @@ def makeCopy(obj,force=None,reparent=False):
if p in newobj.PropertiesList:
try:
setattr(newobj,p,obj.getPropertyByName(p))
except:
except AttributeError:
try:
setattr(newobj,p,obj.getPropertyByName(p).Value)
except:
except AttributeError:
pass
if reparent:
parents = obj.InList
@ -1536,7 +1536,7 @@ def offset(obj,delta,copy=False,bind=False,sym=False,occ=False):
if p:
newobj = makeWire(p)
newobj.Closed = obj.Shape.isClosed()
except:
except Part.OCCError:
pass
if not(newobj) and newwire:
newobj = FreeCAD.ActiveDocument.addObject("Part::Feature","Offset")
@ -2049,7 +2049,7 @@ def getSVG(obj,scale=1,linewidth=0.35,fontsize=12,fillstyle="shape color",direct
if gui:
try:
m = obj.ViewObject.DisplayMode
except:
except AttributeError:
m = None
if (m != "Wireframe"):
if fillstyle == "shape color":
@ -2461,7 +2461,7 @@ def upgrade(objects,delete=False,force=None):
sol = None
try:
sol = Part.makeSolid(obj.Shape)
except:
except Part.OCCError:
return None
else:
if sol:
@ -2582,7 +2582,7 @@ def upgrade(objects,delete=False,force=None):
for w in o.Shape.Wires:
try:
f = Part.Face(w)
except:
except Part.OCCError:
pass
else:
newobj = FreeCAD.ActiveDocument.addObject("Part::Feature","Face")
@ -2603,7 +2603,7 @@ def upgrade(objects,delete=False,force=None):
nedges = DraftGeomUtils.sortEdges(edges[:])
# for e in nedges: print "debug: ",e.Curve,e.Vertexes[0].Point,e.Vertexes[-1].Point
w = Part.Wire(nedges)
except:
except Part.OCCError:
return None
else:
if len(w.Edges) == len(edges):
@ -3349,7 +3349,7 @@ class _ViewProviderDimension(_ViewProviderDraft):
# setting text
try:
m = obj.ViewObject.DisplayMode
except:
except AttributeError:
m = ["2D","3D"][getParam("dimstyle",0)]
if m== "3D":
offset = offset.negative()
@ -3662,7 +3662,7 @@ class _ViewProviderAngularDimension(_ViewProviderDraft):
# check display mode
try:
m = obj.ViewObject.DisplayMode
except:
except AttributeError:
m = ["2D","3D"][getParam("dimstyle",0)]
# set the arc
@ -4008,7 +4008,7 @@ class _Wire(_DraftObject):
shape = Part.Face(shape)
else:
shape = Part.Face(shape)
except:
except Part.OCCError:
pass
else:
edges = []
@ -4020,7 +4020,7 @@ class _Wire(_DraftObject):
lp = p
try:
shape = Part.Wire(edges)
except:
except Part.OCCError:
shape = None
if "ChamferSize" in obj.PropertiesList:
if obj.ChamferSize.Value != 0:
@ -4248,7 +4248,7 @@ class _BSpline(_DraftObject):
shape = Part.Face(shape)
else:
shape = Part.Face(shape)
except:
except Part.OCCError:
pass
obj.Shape = shape
else:
@ -4339,7 +4339,7 @@ class _BezCurve(_DraftObject):
w = Part.Face(w)
else:
w = Part.Face(w)
except:
except Part.OCCError:
pass
fp.Shape = w
fp.Placement = plm
@ -4494,12 +4494,12 @@ class _Shape2DView(_DraftObject):
if (obj.ProjectionMode == "Cutfaces") and (sh.ShapeType == "Solid"):
try:
c = Part.Wire(DraftGeomUtils.sortEdges(c.Edges))
except:
except Part.OCCError:
pass
else:
try:
c = Part.Face(c)
except:
except Part.OCCError:
pass
cuts.append(c)
comp = Part.makeCompound(cuts)
@ -4711,7 +4711,7 @@ class _PathArray(_DraftObject):
n.normalize()
b = (t.cross(n))
b.normalize()
except: # no normal defined here
except FreeCAD.Base.FreeCADError: # no normal defined here
n = nullv
b = nullv
FreeCAD.Console.PrintLog ("Draft PathArray.orientShape - Shape not oriented (no normal).\n")
@ -4909,7 +4909,7 @@ class _ShapeString(_DraftObject):
if testWire.isClosed:
try:
testFace = Part.Face(testWire)
except:
except Part.OCCError:
sticky = True
else:
if not testFace.isValid():
@ -5031,7 +5031,7 @@ class _Facebinder(_DraftObject):
try:
fnum = int(f[1][4:])-1
faces.append(f[0].Shape.Faces[fnum])
except:
except IndexError,Part.OCCError:
print "Draft: wrong face index"
return
if not faces:
@ -5042,7 +5042,7 @@ class _Facebinder(_DraftObject):
for f in faces:
sh = sh.fuse(f)
sh = sh.removeSplitter()
except:
except Part.OCCError:
print "Draft: error building facebinder"
return
obj.Shape = sh

View File

@ -57,7 +57,7 @@ def insert(filename,docname):
groupname = os.path.splitext(os.path.basename(filename))[0]
try:
doc=FreeCAD.getDocument(docname)
except:
except NameError:
doc=FreeCAD.newDocument(docname)
importgroup = doc.addObject("App::DocumentObjectGroup",groupname)
importgroup.Label = decodeName(groupname)

View File

@ -51,7 +51,7 @@ if gui:
import FreeCADGui
try:
draftui = FreeCADGui.draftToolBar
except:
except AttributeError:
draftui = None
# check dxfLibrary version
@ -59,7 +59,7 @@ try:
import dxfLibrary
import dxfColorMap
import dxfReader
except:
except ImportError:
libsok = False
FreeCAD.Console.PrintWarning("DXF libraries not found. Downloading...\n")
else:
@ -81,7 +81,7 @@ if not libsok:
sys.path.append(FreeCAD.ConfigGet("UserAppData"))
try:
import dxfColorMap, dxfLibrary, dxfReader
except:
except ImportError:
dxfReader = None
dxfLibrary = None
@ -122,10 +122,10 @@ def deformat(text):
else:
try:
ns += ss.decode("utf8")
except:
except UnicodeError:
try:
ns += ss.decode("latin1")
except:
except UnicodeError:
print "unable to decode text: ",text
t = ns
# replace degrees, diameters chars
@ -318,7 +318,7 @@ def drawLine(line,forceShape=False):
return Draft.makeWire([v1,v2])
else:
return Part.Line(v1,v2).toShape()
except:
except Part.OCCError:
warn(line)
return None
@ -340,13 +340,13 @@ def drawPolyline(polyline,forceShape=False,num=None):
cv = calcBulge(v1,polyline.points[p].bulge,v2)
if DraftVecUtils.isColinear([v1,cv,v2]):
try: edges.append(Part.Line(v1,v2).toShape())
except: warn(polyline,num)
except Part.OCCError: warn(polyline,num)
else:
try: edges.append(Part.Arc(v1,cv,v2).toShape())
except: warn(polyline,num)
except Part.OCCError: warn(polyline,num)
else:
try: edges.append(Part.Line(v1,v2).toShape())
except: warn(polyline,num)
except Part.OCCError: warn(polyline,num)
verts.append(v2)
if polyline.closed:
p1 = polyline.points[len(polyline.points)-1]
@ -358,12 +358,12 @@ def drawPolyline(polyline,forceShape=False,num=None):
if DraftVecUtils.isColinear([v1,cv,v2]):
try:
edges.append(Part.Line(v1,v2).toShape())
except:
except Part.OCCError:
warn(polyline,num)
else:
try:
edges.append(Part.Arc(v1,cv,v2).toShape())
except:
except Part.OCCError:
warn(polyline,num)
if edges:
try:
@ -391,7 +391,7 @@ def drawPolyline(polyline,forceShape=False,num=None):
return(Part.Face(w))
else:
return Part.Wire(edges)
except:
except Part.OCCError:
warn(polyline,num)
return None
@ -410,7 +410,7 @@ def drawArc(arc,forceShape=False):
return Draft.makeCircle(arc.radius,pl,False,firstangle,lastangle)
else:
return circle.toShape(math.radians(firstangle),math.radians(lastangle))
except:
except Part.OCCError:
warn(arc)
return None
@ -427,7 +427,7 @@ def drawCircle(circle,forceShape=False):
return Draft.makeCircle(circle.radius,pl)
else:
return curve.toShape()
except:
except Part.OCCError:
warn(circle)
return None
@ -458,7 +458,7 @@ def drawEllipse(ellipse):
shape = el.toShape(start,end)
shape.Placement = pl
return shape
except:
except Part.OCCError:
warn(arc)
return None
@ -472,7 +472,7 @@ def drawFace(face):
try:
pol = Part.makePolygon(pl)
return Part.Face(pol)
except:
except Part.OCCError:
warn(face)
return None
@ -510,7 +510,7 @@ def drawMesh(mesh):
md.append([p1,p3,p4])
try:
return Mesh.Mesh(md)
except:
except FreeCAD.Base.FreeCADError:
warn(mesh)
return None
@ -536,12 +536,12 @@ def drawSolid(solid):
if p4 and (p4 != p3) and (p4 != p2) and (p4 != p1):
try:
return Part.Face(Part.makePolygon([p1,p2,p4,p3,p1]))
except:
except Part.OCCError:
warn(solid)
else:
try:
return Part.Face(Part.makePolygon([p1,p2,p3,p1]))
except:
except Part.OCCError:
warn(solid)
return None
@ -586,7 +586,7 @@ def drawSpline(spline,forceShape=False):
return Part.Face(sh)
else:
return sh
except:
except Part.OCCError:
warn(spline)
return None
@ -636,7 +636,7 @@ def drawBlock(blockref,num=None,createObject=False):
print "adding block text",text.value, " from ",blockref
addText(text)
try: shape = Part.makeCompound(shapes)
except: warn(blockref)
except Part.OCCError: warn(blockref)
if shape:
blockshapes[blockref.name]=shape
if createObject:
@ -693,12 +693,12 @@ def drawLayerBlock(objlist):
if (dxfCreateDraft or dxfCreateSketch):
try:
obj = Draft.makeBlock(objlist)
except:
except Part.OCCError:
pass
else:
try:
obj = Part.makeCompound(objlist)
except:
except Part.OCCError:
pass
return obj
@ -1104,7 +1104,7 @@ def processdxf(document,filename,getShapes=False):
d = rawValue(dim,50)
if d: angle = float(d)
else: angle = 0
except:
except ValueError:
warn(dim)
else:
lay=locateLayer(layer)
@ -1292,7 +1292,7 @@ def insert(filename,docname):
groupname = os.path.splitext(os.path.basename(filename))[0]
try:
doc=FreeCAD.getDocument(docname)
except:
except NameError:
doc=FreeCAD.newDocument(docname)
FreeCAD.setActiveDocument(docname)
importgroup = doc.addObject("App::DocumentObjectGroup",groupname)
@ -1314,7 +1314,7 @@ def projectShape(shape,direction):
edges = []
try:
groups = Drawing.projectEx(shape,direction)
except:
except OCCError:
print "unable to project shape on direction ",direction
return shape
else:

View File

@ -229,7 +229,7 @@ def open(filename):
def insert(filename,docname):
try:
doc=FreeCAD.getDocument(docname)
except:
except NameError:
doc=FreeCAD.newDocument(docname)
FreeCAD.ActiveDocument = doc
parse(filename,doc)

View File

@ -42,10 +42,10 @@ import xml.sax, string, FreeCAD, os, math, re, Draft, DraftVecUtils
from FreeCAD import Vector
try: import FreeCADGui
except: gui = False
except ImportError: gui = False
else: gui = True
try: draftui = FreeCADGui.draftToolBar
except: draftui = None
except AttributeError: draftui = None
if open.__module__ == '__builtin__':
pythonopen = open
@ -280,14 +280,13 @@ def getsize(length,mode='discard',base=1):
def makewire(path,checkclosed=False,donttry=False):
'''try to make a wire out of the list of edges. If the 'Wire' functions fails or the wire is not
closed if required the 'connectEdgesToWires' function is used'''
#ToDo Do not catch all exceptions
if not donttry:
try:
import DraftGeomUtils
sh = Part.Wire(DraftGeomUtils.sortEdges(path))
#sh = Part.Wire(path)
isok = (not checkclosed) or sh.isClosed()
except:# BRep_API:command not done
except Part.OCCError:# BRep_API:command not done
isok = False
if donttry or not isok:
#Code from wmayer forum p15549 to fix the tolerance problem
@ -752,7 +751,7 @@ class svgHandler(xml.sax.ContentHandler):
if not DraftVecUtils.equals(lastvec,firstvec):
try:
seg = Part.Line(lastvec,firstvec).toShape()
except:
except Part.OCCError:
pass
else:
path.append(seg)
@ -1108,7 +1107,7 @@ def open(filename):
def insert(filename,docname):
try:
doc=FreeCAD.getDocument(docname)
except:
except NameError:
doc=FreeCAD.newDocument(docname)
FreeCAD.ActiveDocument = doc
parser = xml.sax.make_parser()