diff --git a/src/Mod/Draft/Resources/ui/TaskSelectPlane.ui b/src/Mod/Draft/Resources/ui/TaskSelectPlane.ui
index 2d70caeff4..d515617690 100644
--- a/src/Mod/Draft/Resources/ui/TaskSelectPlane.ui
+++ b/src/Mod/Draft/Resources/ui/TaskSelectPlane.ui
@@ -171,7 +171,7 @@ will be moved to the center of the view
The spacing between the smaller grid lines
-
+ mm
diff --git a/src/Mod/Draft/draftguitools/gui_selectplane.py b/src/Mod/Draft/draftguitools/gui_selectplane.py
index 22d97e722d..a35571dd74 100644
--- a/src/Mod/Draft/draftguitools/gui_selectplane.py
+++ b/src/Mod/Draft/draftguitools/gui_selectplane.py
@@ -96,7 +96,10 @@ class Draft_SelectPlane:
# Fill values
self.taskd.form.checkCenter.setChecked(self.param.GetBool("CenterPlaneOnView", False))
- q = FreeCAD.Units.Quantity(self.param.GetFloat("gridSpacing", 1.0), FreeCAD.Units.Length)
+ try:
+ q = FreeCAD.Units.Quantity(self.param.GetString("gridSpacing", "1 mm"))
+ except ValueError:
+ q = FreeCAD.Units.Quantity("1 mm")
self.taskd.form.fieldGridSpacing.setText(q.UserString)
self.taskd.form.fieldGridMainLine.setValue(self.param.GetInt("gridEvery", 10))
self.taskd.form.fieldGridExtension.setValue(self.param.GetInt("gridSize", 100))
@@ -477,7 +480,7 @@ class Draft_SelectPlane:
except Exception:
pass
else:
- self.param.SetFloat("gridSpacing", q.Value)
+ self.param.SetString("gridSpacing", q.UserString)
if hasattr(FreeCADGui, "Snapper"):
FreeCADGui.Snapper.setGrid()
diff --git a/src/Mod/Draft/draftguitools/gui_trackers.py b/src/Mod/Draft/draftguitools/gui_trackers.py
index bcb055aa5e..c710566e0c 100644
--- a/src/Mod/Draft/draftguitools/gui_trackers.py
+++ b/src/Mod/Draft/draftguitools/gui_trackers.py
@@ -1210,7 +1210,10 @@ class gridTracker(Tracker):
def reset(self):
"""Reset the grid according to preferences settings."""
- self.space = Draft.getParam("gridSpacing", 1)
+ try:
+ self.space = FreeCAD.Units.Quantity(Draft.getParam("gridSpacing", "1 mm")).Value
+ except ValueError:
+ self.space = 1
self.mainlines = Draft.getParam("gridEvery", 10)
self.numlines = Draft.getParam("gridSize", 100)
self.update()
diff --git a/src/Mod/Draft/draftutils/utils.py b/src/Mod/Draft/draftutils/utils.py
index d85adadc8a..8e8aa5890a 100644
--- a/src/Mod/Draft/draftutils/utils.py
+++ b/src/Mod/Draft/draftutils/utils.py
@@ -172,9 +172,9 @@ def get_param_type(param):
elif param in ("constructiongroupname", "textfont",
"patternFile", "template", "snapModes",
"FontFile", "ClonePrefix", "overrideUnit",
- "labeltype") or "inCommandShortcut" in param:
+ "labeltype", "gridSpacing") or "inCommandShortcut" in param:
return "string"
- elif param in ("textheight", "tolerance", "gridSpacing",
+ elif param in ("textheight", "tolerance",
"arrowsize", "extlines", "dimspacing",
"dimovershoot", "extovershoot", "HatchPatternSize"):
return "float"