diff --git a/src/Mod/Draft/draftfunctions/svg.py b/src/Mod/Draft/draftfunctions/svg.py index 875583e5d5..c6130c6b8e 100644 --- a/src/Mod/Draft/draftfunctions/svg.py +++ b/src/Mod/Draft/draftfunctions/svg.py @@ -1052,10 +1052,20 @@ def get_svg( pathname="%s_w%04d" % (obj.Name, i), ) wiredEdges.extend(w.Edges) + if len(wiredEdges) != len(obj.Shape.Edges): fill = "none" # Required if obj has a face. Edges processed here have no face. + + def get_edge_descriptor(edge): + return ( + str(edge.Curve), + str(edge.Vertexes[0].Point), + str(edge.Vertexes[-1].Point), + ) + + wiredEdgesSet = set([get_edge_descriptor(e) for e in wiredEdges]) for i, e in enumerate(obj.Shape.Edges): - if DraftGeomUtils.findEdge(e, wiredEdges) is None: + if get_edge_descriptor(e) not in wiredEdgesSet: svg += get_path( obj, plane,