diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py
index 5d0a1d9816..d977432fc1 100644
--- a/src/Mod/Draft/Draft.py
+++ b/src/Mod/Draft/Draft.py
@@ -3283,7 +3283,15 @@ class _ViewProviderDraft:
return False
def getIcon(self):
- return(":/icons/Draft_Draft.svg")
+ tp = self.Object.Proxy.Type
+ if tp in ('Line', 'Wire', 'Polyline'):
+ return ":/icons/Draft_N-Linear.svg"
+ elif tp in ('Rectangle', 'Polygon'):
+ return ":/icons/Draft_N-Polygon.svg"
+ elif tp in ('Circle', 'Ellipse', 'BSpline', 'BezCurve', 'Fillet'):
+ return ":/icons/Draft_N-Curve.svg"
+ else:
+ return ":/icons/Draft_Draft.svg"
def claimChildren(self):
objs = []
diff --git a/src/Mod/Draft/Resources/Draft.qrc b/src/Mod/Draft/Resources/Draft.qrc
index 0eef2df32e..4a807bf01d 100644
--- a/src/Mod/Draft/Resources/Draft.qrc
+++ b/src/Mod/Draft/Resources/Draft.qrc
@@ -48,6 +48,9 @@
icons/Draft_Macro.svg
icons/Draft_Mirror.svg
icons/Draft_Move.svg
+ icons/Draft_N-Curve.svg
+ icons/Draft_N-Linear.svg
+ icons/Draft_N-Polygon.svg
icons/Draft_Offset.svg
icons/Draft_PathArray.svg
icons/Draft_PathLinkArray.svg
diff --git a/src/Mod/Draft/Resources/icons/Draft_N-Curve.svg b/src/Mod/Draft/Resources/icons/Draft_N-Curve.svg
new file mode 100644
index 0000000000..08cfbe102c
--- /dev/null
+++ b/src/Mod/Draft/Resources/icons/Draft_N-Curve.svg
@@ -0,0 +1,112 @@
+
+
diff --git a/src/Mod/Draft/Resources/icons/Draft_N-Linear.svg b/src/Mod/Draft/Resources/icons/Draft_N-Linear.svg
new file mode 100644
index 0000000000..8ecf4b7a3c
--- /dev/null
+++ b/src/Mod/Draft/Resources/icons/Draft_N-Linear.svg
@@ -0,0 +1,222 @@
+
+
diff --git a/src/Mod/Draft/Resources/icons/Draft_N-Polygon.svg b/src/Mod/Draft/Resources/icons/Draft_N-Polygon.svg
new file mode 100644
index 0000000000..c95a62c35d
--- /dev/null
+++ b/src/Mod/Draft/Resources/icons/Draft_N-Polygon.svg
@@ -0,0 +1,136 @@
+
+