diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index dd1ccddcbc..666a32db1e 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1488,17 +1488,17 @@ def cut(object1,object2): return obj -def moveVertex(object, vertex_index, vertex, vector): +def moveVertex(object, vertex_index, vector): points = object.Points - points[vertex_index] = object.Placement.inverse().multVec(vertex).add(vector) + points[vertex_index] = points[vertex_index].add(vector) object.Points = points def moveEdge(object, edge_index, vector): - moveVertex(object, edge_index, object.Placement.multVec(object.Points[edge_index]), vector) + moveVertex(object, edge_index, vector) if isClosedEdge(edge_index, object): - moveVertex(object, 0, object.Placement.multVec(object.Points[0]), vector) + moveVertex(object, 0, vector) else: - moveVertex(object, edge_index+1, object.Placement.multVec(object.Points[edge_index+1]), vector) + moveVertex(object, edge_index+1, vector) def copyEdges(copy_edge_arguments): copied_edges = [] diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index ec03ec286d..869fe30b52 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -2623,7 +2623,7 @@ class Move(Modifier): def handle_mouse_click_event(self, arg): if not self.ghosts: - self.set_ghost() + self.set_ghosts() if not self.point: return self.ui.redraw() @@ -2644,7 +2644,7 @@ class Move(Modifier): else: self.finish(cont=True) - def set_ghost(self): + def set_ghosts(self): if self.ui.isSubelementMode.isChecked(): return self.set_subelement_ghosts() self.ghosts = [ghostTracker(self.selected_objects)] @@ -2655,9 +2655,7 @@ class Move(Modifier): for subelement in object.SubObjects: if isinstance(subelement, Part.Vertex) \ or isinstance(subelement, Part.Edge): - ghost = ghostTracker(subelement) - ghost.on() - self.ghosts.append(ghost) + self.ghosts.append(ghostTracker(subelement)) def move(self): if self.ui.isSubelementMode.isChecked(): @@ -2697,10 +2695,9 @@ class Move(Modifier): for object in self.selected_subelements: for index, subelement in enumerate(object.SubObjects): if isinstance(subelement, Part.Vertex): - command.append('Draft.moveVertex(FreeCAD.ActiveDocument.{}, {}, {}, {})'.format( + command.append('Draft.moveVertex(FreeCAD.ActiveDocument.{}, {}, {})'.format( object.ObjectName, int(object.SubElementNames[index][len("Vertex"):])-1, - DraftVecUtils.toString(subelement.Point), DraftVecUtils.toString(self.vector) )) elif isinstance(subelement, Part.Edge):