diff --git a/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui b/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui
index e7424daadf..4245b83725 100644
--- a/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui
+++ b/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui
@@ -253,6 +253,9 @@
-
+
+ The resolution to draw the patterns in. Default value is 128. Higher values give better resolutions, lower values make drawing faster
+
512
@@ -269,6 +272,52 @@
+ -
+
+
-
+
+
+ Hatch Pattern default size
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ The default size of hatch patterns
+
+
+ 4
+
+
+ 0.000100000000000
+
+
+ 1.000000000000000
+
+
+ HatchPatternSize
+
+
+ Mod/Draft
+
+
+
+
+
-
-
@@ -508,6 +557,11 @@
QLineEdit
+
+ Gui::PrefDoubleSpinBox
+ QDoubleSpinBox
+
+
diff --git a/src/Mod/Draft/draftutils/utils.py b/src/Mod/Draft/draftutils/utils.py
index 571eb4957e..2bb3633ba3 100644
--- a/src/Mod/Draft/draftutils/utils.py
+++ b/src/Mod/Draft/draftutils/utils.py
@@ -176,7 +176,7 @@ def get_param_type(param):
return "string"
elif param in ("textheight", "tolerance", "gridSpacing",
"arrowsize", "extlines", "dimspacing",
- "dimovershoot", "extovershoot"):
+ "dimovershoot", "extovershoot","HatchPatternSize"):
return "float"
elif param in ("selectBaseObjects", "alwaysSnap", "grid",
"fillmode", "saveonexit", "maxSnap",
diff --git a/src/Mod/Draft/draftviewproviders/view_base.py b/src/Mod/Draft/draftviewproviders/view_base.py
index 82e1aedc71..812474287f 100644
--- a/src/Mod/Draft/draftviewproviders/view_base.py
+++ b/src/Mod/Draft/draftviewproviders/view_base.py
@@ -112,7 +112,7 @@ class ViewProviderDraft(object):
"PatternSize",
"Draft",
QT_TRANSLATE_NOOP("App::Property", _tip))
- vobj.PatternSize = 1
+ vobj.PatternSize = utils.get_param("HatchPatternSize", 1)
def __getstate__(self):
"""Return a tuple of all serializable objects or None.
@@ -286,8 +286,9 @@ class ViewProviderDraft(object):
if path and vobj.RootNode:
if vobj.RootNode.getChildren().getLength() > 2:
if vobj.RootNode.getChild(2).getChildren().getLength() > 0:
- if vobj.RootNode.getChild(2).getChild(0).getChildren().getLength() > 2:
- r = vobj.RootNode.getChild(2).getChild(0).getChild(2)
+ innodes = vobj.RootNode.getChild(2).getChild(0).getChildren().getLength()
+ if innodes > 2:
+ r = vobj.RootNode.getChild(2).getChild(0).getChild(innodes-1)
i = QtCore.QFileInfo(path)
if self.texture:
r.removeChild(self.texture)