diff --git a/src/Mod/Path/Gui/Resources/panels/TaskPathSimulator.ui b/src/Mod/Path/Gui/Resources/panels/TaskPathSimulator.ui
index b184337a6f..1b8734d1c8 100644
--- a/src/Mod/Path/Gui/Resources/panels/TaskPathSimulator.ui
+++ b/src/Mod/Path/Gui/Resources/panels/TaskPathSimulator.ui
@@ -38,7 +38,7 @@
Stop
-
+
:/icons/Path-BStop.svg:/icons/Path-BStop.svg
@@ -58,7 +58,7 @@
Play
-
+
:/icons/Path-BPlay.svg:/icons/Path-BPlay.svg
@@ -78,7 +78,7 @@
Pause
-
+
:/icons/Path-BPause.svg:/icons/Path-BPause.svg
@@ -98,7 +98,7 @@
Step
-
+
:/icons/Path-BStep.svg:/icons/Path-BStep.svg
@@ -118,7 +118,7 @@
Fast Forward
-
+
:/icons/Path-BFastForward.svg:/icons/Path-BFastForward.svg
@@ -163,6 +163,107 @@
+ -
+
+
+ 0
+
+
-
+
+
+
+ 50
+ 0
+
+
+
+ Speed:
+
+
+
+ -
+
+
+ 1
+
+
+ 100
+
+
+ 100
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+
+ 50
+ 0
+
+
+
+ G/s
+
+
+
+
+
+ -
+
+
+ 0
+
+
-
+
+
+
+ 50
+ 0
+
+
+
+ Accuracy:
+
+
+
+ -
+
+
+ 1
+
+
+ 10
+
+
+ 2
+
+
+ 10
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+
+ 50
+ 0
+
+
+
+ %
+
+
+
+
+
-
-
@@ -206,7 +307,7 @@
-
+
diff --git a/src/Mod/Path/PathScripts/PathSimulatorGui.py b/src/Mod/Path/PathScripts/PathSimulatorGui.py
index b8afe2cf7f..3666e83b1b 100644
--- a/src/Mod/Path/PathScripts/PathSimulatorGui.py
+++ b/src/Mod/Path/PathScripts/PathSimulatorGui.py
@@ -60,6 +60,10 @@ class PathSimulation:
self.Connect(form.toolButtonPause, self.SimPause)
self.Connect(form.toolButtonStep, self.SimStep)
self.Connect(form.toolButtonFF, self.SimFF)
+ form.sliderSpeed.valueChanged.connect(self.onSpeedBarChange)
+ self.onSpeedBarChange()
+ form.sliderAccuracy.valueChanged.connect(self.onAccuracyBarChange)
+ self.onAccuracyBarChange()
form.comboJobs.currentIndexChanged.connect(self.onJobChange)
jobList = FreeCAD.ActiveDocument.findObjects("Path::FeaturePython", "Job.*")
form.comboJobs.clear()
@@ -390,6 +394,14 @@ class PathSimulation:
listItem.setCheckState(QtCore.Qt.CheckState.Checked)
self.operations.append(op)
form.listOperations.addItem(listItem)
+
+ def onSpeedBarChange(self):
+ form = self.taskForm.form
+ form.labelGPerSec.setText(str(form.sliderSpeed.value()) + " G/s")
+
+ def onAccuracyBarChange(self):
+ form = self.taskForm.form
+ form.labelAccuracy.setText(str(1.1 - 0.1 * form.sliderAccuracy.value()) + "%")
def GuiBusy(self, isBusy):
form = self.taskForm.form