utils: fix getElementPos() one line edge

Fixes #229
Related #225
This commit is contained in:
Zheng, Lei 2019-04-12 21:39:17 +08:00
parent 5b2583cddc
commit cad2e8f86a

View File

@ -315,11 +315,11 @@ def getElementPos(obj):
edge = getElementShape(obj,Part.Edge) edge = getElementShape(obj,Part.Edge)
if not edge: if not edge:
return FreeCAD.Vector() return FreeCAD.Vector()
if isinstance(edge.Curve,Part.Line): if isLine(edge.Curve):
return edge.Curve.Location try:
elif isinstance(edge.Curve,Part.LineSegment): return (edge.Vertex1.Point+edge.Vertex2.Point)*0.5
# pos = edge.Vertexes[-1].Point except Exception:
return (edge.Vertex1.Point+edge.Vertex2.Point)*0.5 return edge.Placement.Base
elif hasattr( edge.Curve, 'Center'): #circular curve elif hasattr( edge.Curve, 'Center'): #circular curve
return edge.Curve.Center return edge.Curve.Center
else: else: