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)