diff --git a/src/Mod/Path/Gui/Resources/panels/PathEdit.ui b/src/Mod/Path/Gui/Resources/panels/PathEdit.ui index 9b3350643a..44eaed9f63 100644 --- a/src/Mod/Path/Gui/Resources/panels/PathEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PathEdit.ui @@ -6,8 +6,8 @@ 0 0 - 432 - 1160 + 478 + 1310 @@ -31,8 +31,8 @@ 0 0 - 412 - 1036 + 458 + 1186 @@ -112,8 +112,8 @@ 0 0 - 96 - 26 + 100 + 30 @@ -205,8 +205,8 @@ 0 0 - 418 - 1117 + 458 + 1186 @@ -659,8 +659,46 @@ Rotate - XY + + + + + 0 + + + + + -180.000000000000000 + + + 360.000000000000000 + + + 90.000000000000000 + + + + + + + Compound + + + true + + + + + + + + + 0 + 0 + + @@ -676,21 +714,14 @@ - - - - -180.000000000000000 - - - 360.000000000000000 - - - 90.000000000000000 - - - + + + 0 + 0 + + @@ -729,8 +760,8 @@ 0 0 - 352 - 350 + 458 + 1186 @@ -893,8 +924,8 @@ 0 0 - 312 - 169 + 458 + 1186 diff --git a/src/Mod/Path/PathScripts/PathJobGui.py b/src/Mod/Path/PathScripts/PathJobGui.py index e12b9df9cf..d4041e3518 100644 --- a/src/Mod/Path/PathScripts/PathJobGui.py +++ b/src/Mod/Path/PathScripts/PathJobGui.py @@ -877,9 +877,13 @@ class TaskPanel: def modelRotate(self, axis): angle = self.form.modelRotateValue.value() with selectionEx() as selection: - bb = PathStock.shapeBoundBox([sel.Object for sel in selection]) - for sel in selection: - Draft.rotate(sel.Object, angle, bb.Center, axis) + if self.form.modelRotateCompound.isChecked() and len(selection) > 1: + bb = PathStock.shapeBoundBox([sel.Object for sel in selection]) + for sel in selection: + Draft.rotate(sel.Object, angle, bb.Center, axis) + else: + for sel in selection: + Draft.rotate(sel.Object, angle, sel.Object.Shape.BoundBox.Center, axis) def alignSetOrigin(self): (obj, by) = self.alignMoveToOrigin() @@ -1020,6 +1024,7 @@ class TaskPanel: self.form.modelSetZ0.setEnabled(True) self.form.modelMoveGroup.setEnabled(True) self.form.modelRotateGroup.setEnabled(True) + self.form.modelRotateCompound.setEnabled(len(sel) > 1) else: self.form.modelSetX0.setEnabled(False) self.form.modelSetY0.setEnabled(False)